<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib, branch OTP-17.5</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Prepare release</title>
<updated>2015-03-31T10:24:04+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2015-03-31T10:24:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=62870c998955e1498e71bfc90607885e96ecaa27'/>
<id>62870c998955e1498e71bfc90607885e96ecaa27</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dgud/observer/fix-atom-tostr/OTP-12634' into maint</title>
<updated>2015-03-30T07:04:16+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2015-03-30T07:04:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=64bebeaf45403feeac45a8c2b6226d6bc8b71b72'/>
<id>64bebeaf45403feeac45a8c2b6226d6bc8b71b72</id>
<content type='text'>
* dgud/observer/fix-atom-tostr/OTP-12634:
  observer: Fix crash in process_window
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dgud/observer/fix-atom-tostr/OTP-12634:
  observer: Fix crash in process_window
</pre>
</div>
</content>
</entry>
<entry>
<title>observer: Fix crash in process_window</title>
<updated>2015-03-27T16:49:27+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2015-03-27T15:23:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=21a1802064b3c2293687f2ba4171eb2389377e47'/>
<id>21a1802064b3c2293687f2ba4171eb2389377e47</id>
<content type='text'>
Links can be to named processes, convert atom to list
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Links can be to named processes, convert atom to list
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'anders/diameter/hardening/OTP-12628' into maint</title>
<updated>2015-03-27T16:02:26+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-27T16:02:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=45f33f09d56af793a2142ab402d73868be30b223'/>
<id>45f33f09d56af793a2142ab402d73868be30b223</id>
<content type='text'>
* anders/diameter/hardening/OTP-12628:
  Remove potentially large error reason in call to diameter_lib:log/4
  Limit FQDN in DiameterURI to 255 octets
  Limit DiameterURI ports to 0-65535 digits on decode
  Add service_opt() incoming_maxlen
  Add guard to reject {spawn_opt, false} as transport/service_opt()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* anders/diameter/hardening/OTP-12628:
  Remove potentially large error reason in call to diameter_lib:log/4
  Limit FQDN in DiameterURI to 255 octets
  Limit DiameterURI ports to 0-65535 digits on decode
  Add service_opt() incoming_maxlen
  Add guard to reject {spawn_opt, false} as transport/service_opt()
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove potentially large error reason in call to diameter_lib:log/4</title>
<updated>2015-03-27T12:52:29+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-26T22:07:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=39acfdb005626ae1bf2f68808f9e8116637c7121'/>
<id>39acfdb005626ae1bf2f68808f9e8116637c7121</id>
<content type='text'>
The function is intended to be traced on, to see abnormalities (mostly)
without producing excessive output. In the case of decode failure, the
error reason can be things like {badmatch, HugeBinary}.

Missed in commit 0058430.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function is intended to be traced on, to see abnormalities (mostly)
without producing excessive output. In the case of decode failure, the
error reason can be things like {badmatch, HugeBinary}.

Missed in commit 0058430.
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit FQDN in DiameterURI to 255 octets</title>
<updated>2015-03-27T06:21:27+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-26T11:52:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7edb0dd681b09df8865855eda1150e4a92b54a0a'/>
<id>7edb0dd681b09df8865855eda1150e4a92b54a0a</id>
<content type='text'>
As for the port number in the parent commit, a FQDN can't be arbitrarily
long, at most 255 octets. Make decode fail if it's more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As for the port number in the parent commit, a FQDN can't be arbitrarily
long, at most 255 octets. Make decode fail if it's more.
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit DiameterURI ports to 0-65535 digits on decode</title>
<updated>2015-03-27T06:21:27+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-24T12:20:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f3e95a4d4278fda5a0648943020bdf0026219f7c'/>
<id>f3e95a4d4278fda5a0648943020bdf0026219f7c</id>
<content type='text'>
A port number is a 16-bit integer, but the regexp used to parse it in
commit 1590920 slavishly followed the RFC 6733 grammar in matching an
arbitrary number of digits. Make decode fail if it's anything more than
5, to avoid doing erlang:list_to_integer/1 on arbitrarily large lists.
Also make it fail if the resulting integer is outside of the expected
range.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A port number is a 16-bit integer, but the regexp used to parse it in
commit 1590920 slavishly followed the RFC 6733 grammar in matching an
arbitrary number of digits. Make decode fail if it's anything more than
5, to avoid doing erlang:list_to_integer/1 on arbitrarily large lists.
Also make it fail if the resulting integer is outside of the expected
range.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add service_opt() incoming_maxlen</title>
<updated>2015-03-27T06:21:26+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-25T06:21:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=545ff7783cebddc2ca5b2af67a6f13b1a01a4d03'/>
<id>545ff7783cebddc2ca5b2af67a6f13b1a01a4d03</id>
<content type='text'>
To bound the length of incoming messages that will be decoded. A message
longer than the specified number of bytes is discarded. An
incoming_maxlen_exceeded counter is incremented to make note of the
occurrence.

The motivation is to prevent a sufficiently malicious peer from
generating significant load by sending long messages with many AVPs for
diameter to decode. The 24-bit message length header accomodates

  (16#FFFFFF - 20) div 12 = 1398099

Unsigned32 AVPs for example, which the current record-valued decode is
too slow with in practice. A bound of 16#FFFF bytes allows for 5461
small AVPs, which is probably more than enough for the majority of
applications, but the default is the full 16#FFFFFF.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To bound the length of incoming messages that will be decoded. A message
longer than the specified number of bytes is discarded. An
incoming_maxlen_exceeded counter is incremented to make note of the
occurrence.

The motivation is to prevent a sufficiently malicious peer from
generating significant load by sending long messages with many AVPs for
diameter to decode. The 24-bit message length header accomodates

  (16#FFFFFF - 20) div 12 = 1398099

Unsigned32 AVPs for example, which the current record-valued decode is
too slow with in practice. A bound of 16#FFFF bytes allows for 5461
small AVPs, which is probably more than enough for the majority of
applications, but the default is the full 16#FFFFFF.
</pre>
</div>
</content>
</entry>
<entry>
<title>stdlib: Support upgrading from and to stdlib-2.3</title>
<updated>2015-03-26T11:23:41+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2015-03-26T11:23:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d477e5978d165d7496fa6b983f8933f5105f901f'/>
<id>d477e5978d165d7496fa6b983f8933f5105f901f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add guard to reject {spawn_opt, false} as transport/service_opt()</title>
<updated>2015-03-26T07:08:40+00:00</updated>
<author>
<name>Anders Svensson</name>
<email>anders@erlang.org</email>
</author>
<published>2015-03-25T05:27:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=aaff5f36b836c65a72fb38a27e31a88d199a3155'/>
<id>aaff5f36b836c65a72fb38a27e31a88d199a3155</id>
<content type='text'>
It was possible to configure the option, but doing so caused the service
to fail when starting a watchdog process:

   {function_clause,
       [{diameter_service,'-spawn_opts/1-lc$^0/1-0-',
            [false],
            [{file,"base/diameter_service.erl"},{line,846}]},
        {diameter_service,start,5,
            [{file,"base/diameter_service.erl"},{line,820}]},
        {diameter_service,start,3,
            [{file,"base/diameter_service.erl"},{line,782}]},
        {diameter_service,handle_call,3,
            [{file,"base/diameter_service.erl"},{line,385}]},
        {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,607}]},
        {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,639}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}

Tests for the option in the config suite were also missing.

Bungled in commit 78b3dc6.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was possible to configure the option, but doing so caused the service
to fail when starting a watchdog process:

   {function_clause,
       [{diameter_service,'-spawn_opts/1-lc$^0/1-0-',
            [false],
            [{file,"base/diameter_service.erl"},{line,846}]},
        {diameter_service,start,5,
            [{file,"base/diameter_service.erl"},{line,820}]},
        {diameter_service,start,3,
            [{file,"base/diameter_service.erl"},{line,782}]},
        {diameter_service,handle_call,3,
            [{file,"base/diameter_service.erl"},{line,385}]},
        {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,607}]},
        {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,639}]},
        {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]}

Tests for the option in the config suite were also missing.

Bungled in commit 78b3dc6.
</pre>
</div>
</content>
</entry>
</feed>
