Age | Commit message (Collapse) | Author |
|
* anders/diameter/3xxx_callback/OTP-10686:
Add 3xxx suite for testing application_opt() request_errors
Minor suite simplification
Add application_opt() request_errors
|
|
pan/unicode_printable_ranges
* hb/stdlib/unicode_corrections/OTP-10820:
Fix some Unicode issues
Conflicts:
lib/stdlib/test/shell_SUITE.erl
|
|
|
|
|
|
Also fixed otp_10302 to test both on a node with +pc unicode and
a node with +pc latin1.
|
|
This means that only UTF-8 characters in binaries that conform
to the printable_range are printed as <<"..."/utf8>> in io_lib_pretty.
|
|
|
|
This makes both io:format("~tp", ...) and
the shell honor the +pc setting and also reverts the shell to
the old behaviour of only interpreting latin1 strings as "strings"
by default. +pc unicode turns on the R16A behaviour. Doing
io:format("~tp~n", [[1024,1025]]).
will show you the difference when starting with +pc unicode.
|
|
This is the base for implementing configurable
~tp printouts, so that the user can define which
characters to view as actually printable in the shell and
by io_lib:format.
The functionality is neither documented nor used in this commit
|
|
|
|
|
|
Also let the Erlang shell use the new function io:printable_range().
|
|
|
|
* 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.
|
|
Observer table viewer crashes when attempts to display a term containing improper lists (e.g. dict). Quick way to reproduce: run
ets:insert(ets:new(test,[]), {1,[h|t]}).
then start observer and open test ETS in table viewer. Observer will crash.
|
|
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.
|
|
Running "open" on an HTTP URL will pass it to the system's configured
default browser.
|
|
|
|
|
|
|
|
* 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
|
|
|