From 62870c998955e1498e71bfc90607885e96ecaa27 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 31 Mar 2015 12:24:04 +0200 Subject: Prepare release --- lib/diameter/doc/src/notes.xml | 183 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) (limited to 'lib/diameter') diff --git a/lib/diameter/doc/src/notes.xml b/lib/diameter/doc/src/notes.xml index e6ac332c10..479fab21b2 100644 --- a/lib/diameter/doc/src/notes.xml +++ b/lib/diameter/doc/src/notes.xml @@ -42,6 +42,189 @@ first.

+
diameter 1.9 + +
Fixed Bugs and Malfunctions + + +

+ Don't discard outgoing answers unnecessarily.

+

+ Answers missing a Result-Code AVP or setting an E-bit + inappropriately were discarded even if encode was + successful.

+

+ Own Id: OTP-11492

+
+ +

+ Increase supervision timeouts.

+

+ At diameter application shutdown, DPR could be omitted on + open peer connections because of short supervision + timeouts.

+

+ Own Id: OTP-12412

+
+ +

+ Fix retransmission of messages sent as header/avps list.

+

+ Extracting End-to-End and Hop-by-Hop Identifiers resulted + in a function clause error, resulting in a handle_error + callback.

+

+ Own Id: OTP-12415

+
+ +

+ Fix diameter_avp decode of Grouped AVPs having decode + errors.

+

+ Components of such an AVP were not extracted, causing it + to be represented by a single diameter_avp record instead + of the intended list.

+

+ Dictionary files must be recompiled for the fix to have + effect.

+

+ Own Id: OTP-12475

+
+ +

+ Fix ordering of AVPs in relayed messages.

+

+ The order was reversed relative to the received order, + with a Route-Record AVP prepended.

+

+ Thanks to Andrzej TrawiƄski.

+

+ Own Id: OTP-12551

+
+ +

+ Fix issues with DiameterURI encode/decode.

+

+ RFC 6773 changed the default port and transport, but the + RFC 3588 defaults were used even if the RFC 6733 common + dictionary was in use. The RFC 3588 defaults are now only + used when the common dictionary is + diameter_gen_base_rfc3588.

+

+ Both RFC 3588 and 6733 disallow + transport=udp;protocol=diameter. Encode of the + combination now fails.

+

+ Decode of ports numbers outside the range 0-65535 and + fully qualified domain names longer than 255 octets now + fails.

+

+ Note that RFC 3588 is obsolete, and that there is a + diameter_gen_base_rfc6733. The change in defaults is a + potential interoperability problem when moving to RFC + 6733 with peers that do not send all URI components. The + fact that 6733 allows 5xxx result codes in answer + messages setting the E-bit, which RFC 3588 doesn't, is + another.

+

+ Own Id: OTP-12589

+
+
+
+ + +
Improvements and New Features + + +

+ Add service_opt() string_decode.

+

+ To disable the decode of potentially large binaries to + string. This prevents large strings from being copied + when incoming Diameter messages are passed between + processes, a vulnerability that can lead to memory being + exhausted given sufficiently malicious peers.

+

+ The value is a boolean(), true being the default for + backwards compatibility. Setting false causes both + diameter_caps records and decoded messages to contain + binary() in relevant places that previously had string(): + diameter_app(3) callbacks need to be prepared for the + change.

+

+ The Diameter types affected are OctetString and the + derived types UTF8String, DiameterIdentity, DiameterURI, + IPFilterRule, and QoSFilterRule. Time and Address are + unaffected.

+

+ Own Id: OTP-11952

+
+ +

+ Add transport_opt() pool_size.

+

+ To allow for pools of accepting transport processes, + which can better service multiple simultaneous peer + connections. The option can also be used with connecting + transports, to establish multiple connections to the same + peer without having to configure multiple transports.

+

+ Own Id: OTP-12428

+
+ +

+ Allow DPR to be sent with diameter:call/4.

+

+ It has been possible to send, but the answer was regarded + as unsolicited and discarded. DPA now causes the + transport process in question to be terminated, as for + DPR that diameter itself sends.

+

+ Own Id: OTP-12542

+
+ +

+ Discard requests after DPR.

+

+ RFC 6733 is imprecise, but the tone is that messages + received after DPR are an exception to be dealt with only + because of the possibility of unordered delivery over + SCTP. As a consequence, and because a request following + DPR is unlikely to be answered due to the impending loss + of the peer connection, discard outgoing requests + following an outgoing or incoming DPR. Incoming requests + are also discarded, with the exception of DPR itself. + Answers are sent and received as usual.

+

+ Own Id: OTP-12543

+
+ +

+ Add transport_opt() dpr_timeout.

+

+ To cause a peer connection to be closed following an + outgoing DPA when the peer fails to do so. It is the + recipient of DPA that should close the connection + according to RFC 6733.

+

+ Own Id: OTP-12609

+
+ +

+ Add service_opt() incoming_maxlen.

+

+ To bound the expected size of incoming Diameter messages. + Messages larger than the specified number of bytes are + discarded, to prevent a malicious peer from generating + excessive load.

+

+ Own Id: OTP-12628

+
+
+
+ +
+
diameter 1.8
Fixed Bugs and Malfunctions -- cgit v1.2.3