aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-06-18Fix decode of Grouped AVPs containing errorsAnders Svensson
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 impossible to identify the actual faulty AVP in all but simple case. This commit adapts the decode to the RFC, and implements the suggested single faulty AVP, nested in as many Grouped containers as required. The best-effort decode of Failed-AVP in answer messages, initially implemented in commit 0f9cdbaf, is also applied.
2015-06-17Simplify logicAnders Svensson
Testing is_failed() is unnecessary since put/2 a second time will return a previously put 'true'.
2015-06-17Simplify logicAnders Svensson
Failed == undefined implies is_failed() == true. This was true even when the code was written, in commit c2c00fdd.
2015-05-29Updated OTP versionOTP-17.5.5Erlang/OTP
2015-05-29Update release notesErlang/OTP
2015-05-29Merge branch 'anders/diameter/test/OTP-12767' into maint-17Erlang/OTP
* anders/diameter/test/OTP-12767: Replace config suite call to erlang:now/0 Fix incorrect suite usage of OTP 18 monotonic time Make tls suite crash more verbosely
2015-05-29Merge branch 'anders/diameter/17.5.5/OTP-12757' into maint-17Erlang/OTP
* anders/diameter/17.5.5/OTP-12757: vsn -> 1.9.2 Update appup for 17.5.5 Fix mangled release note
2015-05-29Merge branch 'anders/diameter/sctp/OTP-12744' into maint-17Erlang/OTP
* anders/diameter/sctp/OTP-12744: Fix diameter_sctp listener race Tweak transport suite failures Run traffic suite over SCTP
2015-05-29Merge branch 'anders/diameter/counters/OTP-12741' into maint-17Erlang/OTP
* anders/diameter/counters/OTP-12741: Fix counting of no_result_code/invalid_error_bit Count relayed answers Rename dictionary-related functions/variables Lift answer send up the call chain Count discarded incoming messages Include R-bit in unknown message counter keys Fix broken relay counters Fix broken result code counters Add counters testcase to relay suite
2015-05-24Fix diameter_sctp listener raceAnders Svensson
Commit 4b691d8d made it possible for accepting transport processes to be started concurrently, and commit 77c1b162 adapted diameter_sctp to this, but missed that the publication of the listener process in diameter_reg has to precede the return of its start function. As a result, concurrent starts could result in multiple listener processes.
2015-05-24Tweak transport suite failuresAnders Svensson
Make anything but a comm_up sctp_assoc_change crash. Make timeouts more reasonable.
2015-05-24Run traffic suite over SCTPAnders Svensson
Previously it was only run over TCP. Configure a pool of accepting processes since simultaneous connections are otherwise prone to rejection, as discussed in commit 4b691d8d. Tweak timeouts to more reasonable values.
2015-05-24Replace config suite call to erlang:now/0Anders Svensson
To remove a compilation warning with OTP 18.
2015-05-24Fix incorrect suite usage of OTP 18 monotonic timeAnders Svensson
Value was used as strictly increasing when it's only non-decreasing, causing testcases to fail.
2015-05-24Make tls suite crash more verboselyAnders Svensson
To see why it's failing on at least one test machine.
2015-05-23vsn -> 1.9.2Anders Svensson
2015-05-23Update appup for 17.5.5Anders Svensson
- OTP-12741: disfunctional counters - OTP-12744: diameter_sctp race No load order requirements.
2015-05-23Fix mangled release noteAnders Svensson
2015-05-18Fix counting of no_result_code/invalid_error_bitAnders Svensson
The message was regarded as unknown if the answer message in question set the E-bit and the application dictionary was not the common dictionary.
2015-05-18Count relayed answersAnders Svensson
That is, outgoing answer messages received in response to a handle_request callback having returned {relay, Opts}.
2015-05-18Rename dictionary-related functions/variablesAnders Svensson
To clarify what it is that's being computed, which isn't entirely obvious. No functional change, just renaming.
2015-05-18Lift answer send up the call chainAnders Svensson
As the first step in starting to count outgoing, relayed answer messages.
2015-05-18Count discarded incoming messagesAnders Svensson
An incoming Diameter message is either a request, an answer to an outstanding request, or an unexpected answer. The latter weren't counted, but are now counted on keys of this form: {pid(), {{unknown, 0}, recv, discarded}} The form of the second element is similar to those of other counters, like: {{relay, 0|1}, send|recv, invalid_error_bit} Compare this to the key used when counting known answers: {{ApplicationId, CommandCode, 0}, recv} The application id and command code aren't included so as not to count on arbitrary keys, a topic last visited in commit 49e8b11c.
2015-05-18Include R-bit in unknown message counter keysAnders Svensson
To differentiate between requests and answers, in analogy with relay counters. This isn't backwards compatible, but these counters aren't yet documented.
2015-05-18Fix broken relay countersAnders Svensson
Commit 49e8b11c broke the counting of relayed message, causing them to be accumulated as unknown messages.
2015-05-18Fix broken result code countersAnders Svensson
Commit a1df50b3 broke result code counters in the case of answer messages sent as a header/avp lists (unless the avps, untypically, set the name field), and for answers sent/received in the relay application.
2015-05-18Updated OTP versionOTP-17.5.4Erlang/OTP
2015-05-18Update release notesErlang/OTP
2015-05-18Merge branch 'hans/ssh/ssh_msg_debug_fun/OTP-12738' into maint-17Erlang/OTP
* hans/ssh/ssh_msg_debug_fun/OTP-12738: ssh: option for handling the SSH_MSG_DEBUG message's printouts
2015-05-18Merge branch 'hans/inets/bad_content_length/OTP-12739' into maint-17Erlang/OTP
* hans/inets/bad_content_length/OTP-12739: inets: reject negative content-length
2015-05-17Add counters testcase to relay suiteAnders Svensson
Which fails for a variety of reasons to be addressed in subsequent commits.
2015-05-13ssh: option for handling the SSH_MSG_DEBUG message's printoutsHans Nilsson
A fun could be given in the options that will be called whenever the SSH_MSG_DEBUG message arrives. This enables the user to format the printout or just discard it. The default is changed to not print the message. In RFC4253 printing is a SHOULD, but our new default is to protect logs from dos attacs.
2015-05-12inets: reject negative content-lengthHans Nilsson
2015-05-06Updated OTP versionOTP-17.5.3Erlang/OTP
2015-05-06Prepare releaseErlang/OTP
2015-05-06Merge branch 'anders/diameter/17.5.3/OTP-12702' into maint-17Erlang/OTP
* anders/diameter/17.5.3/OTP-12702: Fix broken pre-17.4 appup Update appup for 17.5.3 vsn -> 1.9.1
2015-05-06Merge branch 'anders/diameter/counters/OTP-12701' into maint-17Erlang/OTP
* anders/diameter/counters/OTP-12701: Add counters testcase to 3xxx suite Fix counting error with unknown application id Add missing doc wording
2015-05-06Merge branch 'anders/diameter/result_codes/OTP-12654' into maint-17Erlang/OTP
* anders/diameter/result_codes/OTP-12654: Fix broken traffic testcase Match harder in traffic suite Don't confuse Result-Code and Experimental-Result
2015-05-06Merge branch 'anders/diameter/extra_avp_bit/OTP-12642' into maint-17Erlang/OTP
* anders/diameter/extra_avp_bit/OTP-12642: Remove extra avp bit from diameter_avp decode
2015-05-06Merge branch 'dgud/common_test/netconf-user-caps/OTP-12707' into maint-17Erlang/OTP
* dgud/common_test/netconf-user-caps/OTP-12707: common_test: Add user capability option to hello
2015-05-06Merge branch 'peppe/common_test/ct_telnet_wait_for_prompt.maint' into maint-17Erlang/OTP
* peppe/common_test/ct_telnet_wait_for_prompt.maint: Introduce wait_for_prompt option
2015-05-06Merge branch 'peppe/common_test/timetrap_line.maint' into maint-17Erlang/OTP
* peppe/common_test/timetrap_line.maint: Fix problem with line number not always showing in log
2015-05-06Merge branch 'peppe/common_test/modify_vts.maint' into maint-17Erlang/OTP
* peppe/common_test/modify_vts.maint: Get the VTS mode working with private CT version of webtool Change order of ct_run help sections Prepare for webtool integration with CT
2015-05-06Merge branch 'peppe/common_test/longname_problem.maint' into maint-17Erlang/OTP
* peppe/common_test/longname_problem.maint: Fix error in ct_logs, not handling long names correctly
2015-05-06Merge branch 'peppe/test_tools_vsn.maint' into maint-17Erlang/OTP
* peppe/test_tools_vsn.maint: Bump version numbers
2015-05-06Merge branch 'dgud/common_test/netconf/OTP-12698' into maint-17Erlang/OTP
* dgud/common_test/netconf/OTP-12698: common_test: Recurse when there is more data in netconf
2015-05-06Merge branch 'raimo/snmp/net_if-port-0-with-fd-option/OTP-12669' into maint-17Erlang/OTP
* raimo/snmp/net_if-port-0-with-fd-option/OTP-12669: Improve agent fix as in manager Use port 0 with {fd,Fd}, use snmpm_fd in manager
2015-05-05common_test: Add user capability option to helloDan Gudmundsson
2015-05-05Fix broken traffic testcaseAnders Svensson
The send_error testcase tested that Session-Id in an answer-message was not undefined, but that's always the case since the AVP has arity 0 or 1. The correct test is that it's a list of length 1, to ensure that diameter has inserted the session id as expected.
2015-05-05Match harder in traffic suiteAnders Svensson
To ensure that the expected answer messages are received.