Age | Commit message (Collapse) | Author |
|
The workaround (commit 57d5564f) was to dialyzer only understanding
nowarn_unused_function on individual functions. This is no longer the
case as of R15B01 (commit 477fd95a).
|
|
* anders/diameter/5xxx_errors/OTP-10759:
Add testcases for application_opt() request_errors = answer
Answer 5xxx errors with application_opt() request_errors = answer
Comments and minor Result-Code fix
|
|
* anders/diameter/result_code/OTP-10761:
Add testcases to 3xxx suite
Minor traffic suite fix
Be less brutal in setting Result-Code/Failed-AVP
|
|
* anders/diameter/3xxx_callback/OTP-10686:
Add 3xxx suite for testing application_opt() request_errors
Minor suite simplification
Add application_opt() request_errors
|
|
|
|
|
|
|
|
* ia/odbc/port_info:
odbc: Use erlang:port_info to make sure test cases chooses the correct port
|
|
|
|
|
|
RFC 3588 allowed only 3xxx result codes in an answer-message (that is,
an answer that sets the E-bit) while RFC 6733 also allows 5xxx result
codes. Setting request_errors = answer tells diameter to answer 5xxx
errors itself. Returning {answer_message, integer()} from a
handle_request callback allows both 3xxx and 5xxx result codes to be
set. {protocol_error, integer()} is retained for 3xxx result codes.
|
|
In particular, don't put an error tuple in the errors field of
a #diameter_packet{} when Result-Code and the E-bit are in conflict, put
{integer(), #diameter_avp{}}.
|
|
|
|
|
|
When receiving a request for which errors have been detected during
decode, diameter previously used the errors list in the decoded
diameter_packet record to unconditionally set Result-Code and Failed-AVP
in the outgoing answer. It wasn't particularly delicate in doing so
however and would happily set a 5xxx Result-Code even if a
handle_request callback returned an answer-message, leading to an encode
error. This behaviour became even less endearing as of commit ac452e28,
which made it possible to handle_request to take place even for protocol
errors. (ie. When a callback typically should return an answer-message.)
This commit fixes the behaviour by only setting a value that's
appropriate for the answer in question, either a 3xxx or a 5xxx,
depending on if the answer's an answer-message or not. It also allows
handle_request to prevent diameter from setting anything by setting
errors = false in a returned diameter_packet. Ideally it should have
been errors = [] but the empty list is the default value for the errors
field and changing the default (ideally there shouldn't have been one)
would require recompilation of all modules including diameter.hrl:
choose the less attractive 'false' to avoid such backwards
incompatibility.
The request reception is also refactored somewhat to shorten some call
chains.
|
|
|
|
|
|
Configuring the value 'callback' all errors detected in incoming
requests to result in a handle_request callback. The default value
'answer_3xxx' is the previous behaviour in which diameter answers
protocol errors without a callback.
|
|
Also teach otp_SUITE:call_to_size/1 that calls to size/1 is no
longer allowed within the asn1 application.
|
|
It is recommended to use byte_size/1 or tuple_size/1 instead of
size/1.
|
|
|
|
|
|
|
|
* lukas/erts/add_sha_to_shell_title/OTP-10838:
Remove could not find warning
|
|
|
|
|
|
* origin/peppe/common_test/ct_master_evh:
Fix problem with hanging event handler
OTP-10634
|
|
|
|
|
|
* hb/stdlib/unicode_corrections/OTP-10820:
[stdlib] Add documentation of ~tp
[stdlib] Correct handling of Unicode filenames
|
|
A short description of how ~tp works now.
|
|
|
|
* hb/stdlib/new_l_modifier/otp-10755:
[stdlib] Add new SDTLIB application variable 'shell_strings'
[stdlib] Add control sequence modifier 'l'
|
|
Use the new function shell:strings/1 to toggle how the Erlang shell
outputs lists of integers.
|
|
The modifier 'l' can be used for turning off the string recognition of
~p and ~P.
|
|
|
|
* fredrik/ssh/versions-R16B:
Versions and appup ssh, R16B
|
|
|
|
* fredrik/ssh/better-error-messages/OTP-10553:
Added event/3 and clarified error message
Error msg to be returned together with Key exchange failed
Returning the actual reason why key exchange failed
|
|
|
|
|
|
|
|
writev will for large files return 0 indefinetely causing
the efile driver to go into an infinite loop.
|
|
* ks/xcomp-powerpc64-bgq/OTP-10849:
Add an xcomp file for Blue Gene/Q
|
|
* sc/gen_tcp_send_error_closed/OTP-10839:
Fix type of error Reason on gen_tcp:send/2
|
|
* rickard/erl_drv_consume_timeslice/OTP-10810:
Implement erl_drv_consume_timeslice()
|
|
* rickard/win-drv-bugfix/OTP-10807:
Fix flush of fd-driver on Windows
|
|
* rickard/win-drv-bugfix/OTP-10803:
Fix unsafe accesses to driver data from win32 fd/vanilla/spawn drivers
|
|
* rickard/win-drv-bugfix/OTP-10802:
Fix unsafe driver_select() from win32 vanilla/spawn drivers
|
|
* rickard/r16b/port-optimizations-fixes/OTP-10809:
Add erl_drv_busy_msgq_limits() to driver API on Windows
Fix driver port accesses
Fix port exit
|