Age | Commit message (Collapse) | Author |
|
* anders/diameter/grouped_errors/OTP-12721:
Fix decode of Grouped AVPs containing errors
Simplify logic
Simplify logic
|
|
Opaque types need to be expanded before record field types, otherwise
any() could be used for opaque types.
|
|
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.
|
|
Testing is_failed() is unnecessary since put/2 a second time will
return a previously put 'true'.
|
|
Failed == undefined implies is_failed() == true. This was true even when
the code was written, in commit c2c00fdd.
|
|
* egil/cuddle-tests:
kernel: Remove ?line macros in inet_SUITE:t_gethostbyaddr/1
erts: Tweak statistics_SUITE:scheduler_wall_time/1
|
|
* egil/license-compliance/OTP-12848:
Revert "lcnt: Let runq locks reflect actual call location"
Revert "Demote rare debug slogan of message discarding to debug build"
Revert "Add missing error string to syslog logging in epmd"
Revert "Add run queue index to process dump info"
Revert "Add thread index to allocator enomem dump slogan"
Revert "Add number of entries to mnesia copy debug message"
|
|
* legoscia/dbg-doc:
Fix markup in dbg.xml
|
|
Put the name of the functions linked to inside the seealso tag, not the word "see".
|
|
* egil/fix-compiler-beam_bool/OTP-12844:
compiler: Add regressions_SUITE
compiler: Fix beam_bool pass for get_map_elements
|
|
regressions_SUITE will have code snippets which previously crashed the compiler.
This commits includes a test for Maps crash in beam_bool.
|
|
Before beam_split the get_map_elements instruction is still in
blocks and the helper function in beam_jump did not reflect this.
Reported-by: Quviq twitter account
|
|
* nybek/fix_so_linger_zero__simple:
Update prim_inet.beam
Fix socket option {linger, {true, 0}} to abort TCP connections
Apply 'show_econnreset' socket option to send errors as well
Add 'show_econnreset' TCP socket option
|
|
* ia/ssl/test-cuddle:
ssl: Remove unnecessary suite callback
|
|
|
|
* nybek/fix_supervisor_get_childspec:
Fix supervisor:get_childspec/2 for simple_one_for_one
OTP-12841
|
|
* ia/ssh/doc/message-types:
ssh: Modernize type definitions
|
|
|
|
* mhssler/doc-os-unsetenv-unicode:
stdlib: Document os:unsetenv Unicode support
|
|
This reverts commit baad9722c84ecb41d2278ac9912d30e42c3b4409.
|
|
* ia/inets/deprecate:
inets: Fix race condition in httpc
inets: Remove use of httpd_conf:clean/1 and httpd_conf:custom_clean/3
inets: Remove use of httpd_conf:make_integer/1
inets: Deprecate functions in util module httpd_conf.erl
|
|
If the socket is closed by the peer do not try to close it again.
Solves OTP-11845
|
|
Internal use of the function white_space_clean/1 could probably be done
in a much better way using re-module and removing a lot of legacy code.
But we will have to do this later, due to lack of time, we want to make
this commit as little work as possible.
|
|
|
|
* peppe/common_test/ct_run_start_and_help:
Change default start actions and update documentation
OTP-12684
|
|
|
|
These functions should not be used, there exists better
functions in the standard libraries.
|
|
The test cases does not use any hooks and including the ts_install_cth
trips up the test case setup on some platforms cuasing the test cases
to fail with {error, enoent}
|
|
* sverk/ets-file2tab-preserve-opts/OTP-12814:
stdlib: Make ets:file2tab preserve read/write_concurrency
stdlib: Fix ets_SUITE:tabfile_ext4
|
|
* ia/ssl/test-fips:
ssl: Filter suites for openssl FIPS if necessary
|
|
The test t_is_none() does not check for opaque types (and this is most
likely how it should be), why t_opaque() should never be called with
none().
|
|
Comparing two operands for (in)equality is allowed if both operands
are of the same unknown opaque type. Since OTP 17, there is a warning
if the types of the operands have nothing in common (this cannot
happen before OTP 17). However, the warning says there is a test
between opaque types, which is wrong. The warning now states that the
comparison cannot evaluate to 'true', which is more consistent.
|
|
In OTP 17 it is possible to mix types such as dict:dict() and
dict:dict(_, _) outside of the dict module (and similarly for some
other opaque types in STDLIB), but the results are unfortunately
possibly invalid warnings in users' code. In OTP 18 parameterized
opaque types with the same name but with different number of
parameters are no longer compatible when seen from outside of the
module where the types are declared.
The types in STDLIB have been updated accordingly; for instance
-opaque dict() :: dict(_, _).
has been replaced by
-type dict() :: dict(_, _).
|
|
* ia/ssl/unknown-hash/OTP-12829:
ssl: Add unassigned values
ssl: Do not crash on proprietary hash_sign algorithms
|
|
* hans/ssh/cuddle_tests:
ssh: fix bad ssh_basic_SUITE dir_options group
ssh: add test case + corr for ssh_info:print/1
|
|
|
|
Conflicts:
lib/ssh/test/ssh_basic_SUITE.erl
|
|
* gomoripeti/tools/cover-no-beam/OTP-12806:
cover: handle undefined module when analysing to file
|
|
* bjorn/mnesia/doc:
Update asn1 documentation
|
|
|
|
Remove what it seems redundant checks.
|
|
The check that a modified type of a field is a subtype of the declared
type has been moved outside of the expansion of forms to avoid loops.
|
|
* dgud/emacs/bifs:
tools: Add new bifs to emacs highlighter
|
|
Before OTP 18, parentheses are kept by the Erlang Parser, and
converted by EDoc ('paren_type' to #t_paren{}). As of OTP 18, the
parser no longer keeps parentheses, why EDoc needs to insert them when
converting Erlang types and specs to EDoc types and specs. As it
seems, it is only annotations that sometimes require parentheses.
|
|
Add new functions erl_parse:type_inop_prec() and
erl_parse:type_preop_prec().
Get rid of paren_type used for parentheses in types.
|
|
|
|
* rickard/timer-improvement/OTP-12650:
Callback timer
Disable accessor timer option
Aux work flag descriptions
Fix test cases
|
|
* scrapinghub/proxy_addr_for_keeped_alive_request:
inets: set proxy address for requests from keep-alive queue
OTP-12822
|
|
* gomoripeti/observer_tv_no_refresh:
Don't refresh observer table view if there was no change
OTP-12819
|
|
* egil/fix-cover-error_logger/OTP-12818:
cover: Unstick modules before loading remote
kernel: Add module name to sticky_dir error message
kernel: Remove ?line macros in error_logger_warn_SUITE
|