[erlang-questions] Patch package OTP 17.5.6.3 released
Henrik Nord X
henrik.x.nord@REDACTED
Thu Aug 13 15:04:19 CEST 2015
Patch Package: OTP 17.5.6.3
Git Tag: OTP-17.5.6.3
Date: 2015-08-13
Trouble Report Id: OTP-12871, OTP-12879, OTP-12891, OTP-12902,
OTP-12912, OTP-12929, OTP-12930
Seq num:
System: OTP
Release: 17
Application: diameter-1.9.2.1
Predecessor: OTP 17.5.6.2
Check out the git tag OTP-17.5.6.3, and build a full OTP system
including documentation. Apply one or more applications from this
build as patches to your installation using the 'otp_patch_apply'
tool. For information on install requirements, see descriptions for
each application version below.
---------------------------------------------------------------------
--- diameter-1.9.2.1 ------------------------------------------------
---------------------------------------------------------------------
The diameter-1.9.2.1 application can be applied independently of
other applications on a full OTP 17 installation.
--- Fixed Bugs and Malfunctions ---
OTP-12871 Application(s): diameter
Don't report 5005 (DIAMETER_AVP_MISSING) errors
unnecessarily.
An AVP whose decode failed was reported as missing,
despite having been reported with another error as a
consequence of the failure.
OTP-12879 Application(s): diameter
Related Id(s): OTP-12475
Fix relay encode of nested, Grouped AVPs.
A fault in OTP-12475 caused encode to fail if the first
AVP in a Grouped AVP was itself Grouped.
OTP-12891 Application(s): diameter
Improve decode performance.
The time required to decode a message increased
quadratically with the number of AVPs in the worst
case, leading to extremely long execution times.
OTP-12902 Application(s): diameter
Match acceptable peer addresses case insensitively.
Regular expressions passed in an 'accept' tuple to
diameter_tcp or diameter_sctp inappropriately matched
case.
OTP-12912 Application(s): diameter
Improve watchdog and statistics performance.
Inefficient use of timers contributed to poor
performance at high load, as did ordering of the table
statistics are written to.
OTP-12929 Application(s): diameter
Fix start order of alternate transports.
A transport configured with diameter:add_transport/2
can be passed multiple
transport_module/transport_config tuples in order to
specify alternate configuration, modules being
attempted in order until one succeeds. This is
primarily for the connecting case; for example, to
allow a transport to be configured to first attempt
connection over SCTP, and then TCP in case SCTP fails.
Multiple module tuples can be paired with a single
config tuple, but in this case the start order was
reversed relative to the order in which the modules
were specifed.
OTP-12930 Application(s): diameter
Fix decode of Grouped AVPs containing errors.
RFC 6733 says this of Failed-AVP in 7.5:
-- In the case where the offending AVP is embedded
within a Grouped AVP, the Failed-AVP MAY contain the
grouped AVP, which in turn contains the single
offending AVP. The same method MAY be employed if the
grouped AVP itself is embedded in yet another grouped
AVP and so on. In this case, the Failed-AVP MAY contain
the grouped AVP hierarchy up to the single offending
AVP. This enables the recipient to detect the location
of the offending AVP when embedded in a group.
It says this of DIAMETER_INVALID_AVP_LENGTH in 7.1.5:
-- The request contained an AVP with an invalid length.
A Diameter message indicating this error MUST include
the offending AVPs within a Failed-AVP AVP. In cases
where the erroneous AVP length value exceeds the
message length or is less than the minimum AVP header
length, it is sufficient to include the offending AVP
header and a zero filled payload of the minimum
required length for the payloads data type. If the AVP
is a Grouped AVP, the Grouped AVP header with an empty
payload would be sufficient to indicate the offending
AVP. In the case where the offending AVP header cannot
be fully decoded when the AVP length is less than the
minimum AVP header length, it is sufficient to include
an offending AVP header that is formulated by padding
the incomplete AVP header with zero up to the minimum
AVP header length.
The AVPs placed in the errors field of a
diameter_packet record are intended to be appropriate
for inclusion in a Failed-AVP, but neither of the above
paragraphs has been followed in the Grouped case: the
entire faulty AVP (non-faulty components and all) has
been included. This made it difficult to identify the
actual faulty AVP in all but simple cases.
The decode is now adapted to the RFC, and implements
the suggested single faulty AVP, nested in as many
Grouped containers as required.
Full runtime dependencies of diameter-1.9.2.1: erts-6.0, kernel-3.0,
ssl-5.3.4, stdlib-2.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150813/e3b93227/attachment.htm>
More information about the erlang-questions
mailing list