aboutsummaryrefslogtreecommitdiffstats
path: root/lib/diameter/doc/src/notes.xml
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2015-08-13 12:34:10 +0200
committerErlang/OTP <[email protected]>2015-08-13 12:34:10 +0200
commit030f3cbd61217bcd3eb49ed19de9d05987d1e6b7 (patch)
tree6d35a501bacc2998e7325616fb84768f094bc848 /lib/diameter/doc/src/notes.xml
parent3a136b9ceebbb2450774641af2c08314b9669985 (diff)
downloadotp-030f3cbd61217bcd3eb49ed19de9d05987d1e6b7.tar.gz
otp-030f3cbd61217bcd3eb49ed19de9d05987d1e6b7.tar.bz2
otp-030f3cbd61217bcd3eb49ed19de9d05987d1e6b7.zip
Update release notes
Diffstat (limited to 'lib/diameter/doc/src/notes.xml')
-rw-r--r--lib/diameter/doc/src/notes.xml126
1 files changed, 126 insertions, 0 deletions
diff --git a/lib/diameter/doc/src/notes.xml b/lib/diameter/doc/src/notes.xml
index c5df63a7f0..7726d761bd 100644
--- a/lib/diameter/doc/src/notes.xml
+++ b/lib/diameter/doc/src/notes.xml
@@ -42,6 +42,132 @@ first.</p>
<!-- ===================================================================== -->
+<section><title>diameter 1.9.2.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ Don't report 5005 (DIAMETER_AVP_MISSING) errors
+ unnecessarily.</p>
+ <p>
+ An AVP whose decode failed was reported as missing,
+ despite having been reported with another error as a
+ consequence of the failure.</p>
+ <p>
+ Own Id: OTP-12871</p>
+ </item>
+ <item>
+ <p>
+ Fix relay encode of nested, Grouped AVPs.</p>
+ <p>
+ A fault in OTP-12475 caused encode to fail if the first
+ AVP in a Grouped AVP was itself Grouped.</p>
+ <p>
+ Own Id: OTP-12879 Aux Id: OTP-12475 </p>
+ </item>
+ <item>
+ <p>
+ Improve decode performance.</p>
+ <p>
+ The time required to decode a message increased
+ quadratically with the number of AVPs in the worst case,
+ leading to extremely long execution times.</p>
+ <p>
+ Own Id: OTP-12891</p>
+ </item>
+ <item>
+ <p>
+ Match acceptable peer addresses case insensitively.</p>
+ <p>
+ Regular expressions passed in an 'accept' tuple to
+ diameter_tcp or diameter_sctp inappropriately matched
+ case.</p>
+ <p>
+ Own Id: OTP-12902</p>
+ </item>
+ <item>
+ <p>
+ Improve watchdog and statistics performance.</p>
+ <p>
+ Inefficient use of timers contributed to poor performance
+ at high load, as did ordering of the table statistics are
+ written to.</p>
+ <p>
+ Own Id: OTP-12912</p>
+ </item>
+ <item>
+ <p>
+ Fix start order of alternate transports.</p>
+ <p>
+ 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.</p>
+ <p>
+ Own Id: OTP-12929</p>
+ </item>
+ <item>
+ <p>
+ Fix decode of Grouped AVPs containing errors.</p>
+ <p>
+ RFC 6733 says this of Failed-AVP in 7.5:</p>
+ <p>
+ <taglist><item><p><c> 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.</c></p></item></taglist></p>
+ <p>
+ It says this of DIAMETER_INVALID_AVP_LENGTH in 7.1.5:</p>
+ <p>
+ <taglist><item><p><c> 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.</c></p></item></taglist></p>
+ <p>
+ 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.</p>
+ <p>
+ The decode is now adapted to the RFC, and implements the
+ suggested single faulty AVP, nested in as many Grouped
+ containers as required.</p>
+ <p>
+ Own Id: OTP-12930</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>diameter 1.9.2</title>
<section><title>Fixed Bugs and Malfunctions</title>