From 030f3cbd61217bcd3eb49ed19de9d05987d1e6b7 Mon Sep 17 00:00:00 2001
From: Erlang/OTP
+ 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.
++ Own Id: OTP-12871
++ 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.
++ Own Id: OTP-12879 Aux Id: OTP-12475
++ 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.
++ Own Id: OTP-12891
++ Match acceptable peer addresses case insensitively.
++ Regular expressions passed in an 'accept' tuple to + diameter_tcp or diameter_sctp inappropriately matched + case.
++ Own Id: OTP-12902
++ 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.
++ Own Id: OTP-12912
++ 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.
++ Own Id: OTP-12929
++ Fix decode of Grouped AVPs containing errors.
++ RFC 6733 says this of Failed-AVP in 7.5:
+
+
+ It says this of DIAMETER_INVALID_AVP_LENGTH in 7.1.5:
+
+
+ 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.
++ Own Id: OTP-12930
+