Age | Commit message (Collapse) | Author |
|
Commit c2c00fdd didn't get it quite right: it only decoded failed AVPs
in the common dictionary since it's this dictionary an answer-message is
decoded in. An extra dictionary isn't something that's easily passed
through the decode without rewriting dictionary compilation however, and
that's no small job, so continue with the use/abuse of the process
dictionary by storing the dictionary module for the decode to retrieve.
This is one step worse than previous uses since the dictionary is put in
one module (diameter_codec) and got in another (the dictionary module),
but it's the lesser of two evils.
|
|
Commit 066544fa had the unintended consequence of breaking the decode of
Failed-AVP in answer-message as defined in the RFC 3588, since the
grammar doesn't list Failed-AVP as an explicit component AVP, in
contrast to the RFC 6733 grammar, which does. Handle this case
explicitly, as an exception, just as with Failed-AVP as parent AVP.
|
|
An answer message that sets the E-bit is encoded/decoded with Diameter
common dictionary, using the answer-message grammar specified in the
RFC. However, the dictionary of the application in question is the one
that knows the command code of the message. Commit df19c272 didn't make
this distinction when incrementing counters for an answer-message, using
the common dictionary for both purposes, causing the message to be
counted as unknown. This commit remedies that.
|
|
Instead of grouping them with 'unknown'. These messages were keyed on
{ApplicationId, CommandCode, Rbit} prior to commit df19c272, but
distinguishing between the relay application and others is probably more
useful.
The only reason for not including the R-bit in the unknown key is that
the key is also used elsewhere, and relay is an expected case while
unknown isn't.
|
|
As mentioned in the parent commit. The {Id, send, retransmission}
key is of the same form as the {Id, send|recv, error} key used for
encode/decode errors.
|
|
Commit df19c272 broke this in avoiding counting on arbitrary keys.
It didn't break it sufficiently for the only counters usage in the test
suites to fail however: watchdog counters worked as intended, but no
others, not even CER and DPR. More testcases are needed.
This commit does change/fix the previous semantics somewhat:
- Retransmissions are no longer counted. This previously made it
impossible to distinguish between these and unanswered requests, since
both counted as an outgoing request. There should probably be a
retransmission counter but it should be distinct from the sent request
counter.
- The counting is always on the node from which diameter:call/4 is
invoked, not the node on which the transport resides, as was previously
the case. (Although they're typically one and the same.)
Note that none of these semantics are documented as yet, so we're not
changing a documented interface.
|
|
|
|
* sverk/crypto-ec-mem-leak/OTP-11999:
crypto: Fix memory leak of EC "keys" and "points"
crypto: Fix crypto for debug and valgrind
|
|
|
|
* egil/fix-doc-links:
doc: Fix broken links in Installation Guide
doc: Fix broken links
|
|
* siri/cuddle-with-tests:
[reltool] Back out adaption to better quoting on windows
|
|
This commit only changes the test. It reverts commit 710a1fa
([reltool] Adapt tests to better quoting of paths on windows) because
the commit that actually changed the quoting behaviour on windows was
moved from the maint branch to master (9633e0e win32: Fix quoting of
paths).
|
|
* ia/inets/prep-for-release:
inets: Prepare for release
|
|
without relying on opt-version has been built.
Removed ASSERT to make crypto_callback.debug.so work without
dynamic linking to libcrypto.so.
|
|
|
|
|
|
|
|
|
|
|
|
This ticket is about records in Erlang code, and when to check the
fields against the (optional) types given when defining records.
Dialyzer operates on the Erlang Core format, where there are no trace
of records. The fix implemented is a Real Hack:
Given the new option 'dialyzer' erl_expand_records marks the line
number of records in a way that is undone by v3_core, which in turn
inserts annotations that can be recognized by Dialyzer.
|
|
* ia/ssl/revert-due-to-performance-issue:
Revert "ssl: Avoid creating a huge session table"
|
|
* bjorn/compiler/fix-latin1-fallback/OTP-11987:
Fix handling of latin1 characters in false ifdef branches
|
|
* bjorn/kernel/remove-file_info-vestiges/OTP-11982:
Remove documentation and stub for non-exist file:file_info/1
|
|
* siri/ct-and-cover/OTP-11971:
[test_server] Fix bug introduced in 5a3c466
|
|
This reverts commit fcc6a756277c8f041aae1b2aa431e43f9285c368.
|
|
This was detected by dialyzer - an '=' character too much had
erronously been inserted.
|
|
* siri/reltool-typo/OTP-11977:
Fix typo in error message in reltool_server
|
|
* peppe/common_test/ct_basic_html_error:
Fix problem with mismatching html tags when running basic_html log mode
OTP-11917
|
|
* peppe/common_test/ct_log_cache_error:
Force CT log cache to rescan entries with incomplete results
OTP-11988
|
|
The fallback to latin-1 encoding would not work if the invalid
UTF-8 characters occurred in a skipped branch in an -ifdef/-ifndef.
|
|
* dgud/wx/additional-functionality/OTP-11986:
wx: Fix destroy bug
wx: Add wxPopup(Transient)Window
wx: Fix non constant define (wxSL_LABELS)
wx: Add wxActivateEvent
wx: Add missing wxTextCtrl:changeValue
OTP-11985
|
|
Do not postpone deletion of wx*DC objects since they need to be
deleted directly. Otherwise, if inside showModal, causes an eternal
loop of wxPaint events on Windows.
|
|
* bjorn/asn1/dialyzer-warnings/OTP-11372: (23 commits)
BER: Eliminate dialyzer warnings for specialized decode functions
BER: Eliminate dialyzer warning for encoding of BIT STRINGs
BER: Optimize encoding of ENUMERATED
BER: Remove a redundant clause in encoding of open types
(U)PER: Fix decoding of named INTEGER
(U)PER: Fix encoding of a semi-constrained, named INTEGER
(U)PER: Optimize handling of named BIT STRING with a lower zero bound
PER: Optimize encoding of character strings with simple ranges
PER: Remove unnecessary clause for handling DEFAULT
(U)PER: Suppress dialyzer warnings for complete/1
Test suites: Add support for running Dialyzer on generated code
Improve tests of DEFAULT values
Correct OCTET STRING default when legacy_erlang_types is active
Remove old DEFAULT-checking code made obsolete in the previous commit
Rewrite the code for testing DEFAULT for DER
Test DEFAULT more thoroughly
Set.py: Correct illegal DEFAULT value
BER: Optimize decoding of ENUMERATED
BER: Suppress dialyzer warnings for encode_bit_string/4
BER: Inline testing of constraints when decoding
...
|
|
SSH_MSG_IGNORE
SSH_MSG_UNIMPLEMENTED
|
|
|
|
|
|
* gorillainduction/improve_mnesia_locker_complexity:
Optimize tid lock table
OTP-11981
|
|
* ia/ssl/test-cuddle:
ssl: Test case stability
|
|
* ia/ssl/dialyzer-specs:
ssl: Fix dialyzer specs to reflect reality
|
|
file:file_info/1 was removed a long time ago, but its
documentation was not removed.
|
|
|
|
|
|
|
|
|
|
|
|
* bjorn/kernel/stick-preloaded/OTP-11913:
Allow unsticking pre-loaded modules
|
|
Commit ed06dd12ea74018b902a2c4c7924313d23cedb75 made pre-loaded
modules (such as erlang) sticky, and also made it impossible to
unstick them to prevent them from ever be reloaded.
It turns out that there are tools that may want to instrument
the erlang module (such as concuerror), so making it
impossible to unstick modules is harsh. Therefore, revert the
part of the commit that prevented unsticking the pre-loaded
modules.
|
|
* ia/ssh/inet-option/OTP-11976:
ssh: Handle inet and inet6 option correctly
|
|
* ia/ssl/CSS/OTP-11975:
ssl: Make sure change cipher spec is correctly handled
|
|
|