Age | Commit message (Collapse) | Author |
|
Also state that maximum atom length is 255 characters.
|
|
|
|
|
|
Add macro erts_isfinite as an OS independent way to check
if a float is finite.
|
|
Add a check to enif_make_double to see if its double argument is
infinity or NaN, returning a badarg exception if it is. Change the
erl_nif documentation to specify that enif_make_double returns a
badarg exception if its double argument is either infinity or NaN. Add
tests to nif_SUITE for this change.
Add checks to the enif_make* functions for atoms to prevent the
creation of atoms whose name lengths are greater than the allowed
maximum atom length. The enif_make_atom and enif_make_atom_len
functions now return a badarg exception if the input string is too
long. The enif_make_existing_atom and enif_make_existing_atom_len
functions return false if the input string is too long. Change the
erl_nif documentation to reflect the changes to these functions. Add
tests to nif_SUITE for these changes.
Add a field to ErlNifEnv to track that a NIF has raised an exception
via enif_make_badarg. If a NIF calls enif_make_badarg but then ignores
its return value and instead tries to return a non-exception term as
its return value, the runtime still raises a badarg. This is needed to
prevent enif_make_badarg values resulting from calls to
enif_make_double, enif_make_atom, or enif_make_atom_len from being
erroneously stored within other terms and returned from a NIF. Calling
enif_make_badarg but not returning its return value has been
documented as being illegal ever since enif_make_badarg was added, but
the runtime has not enforced it until now. Add tests for regular and
dirty NIFs to ensure that calls to enif_make_badarg result in badarg
exceptions even if a NIF fails to return the result of
enif_make_badarg as its return value. Add documentation to
enif_make_badarg to specify that calling it raises a badarg even if a
NIF ignores its return value.
|
|
* mikpe/hipe-mfait-rwlock:
hipe: change mfa_info_table lock to rwmutex
OTP-12557
|
|
* mikpe/avoid-oversize-bignums:
don't leave a heap hole in erts_bs_get_integer_2
don't create oversize bignums in binary matching
OTP-12556
|
|
* bjorn/asn1/double-ellipses/OTP-12546:
asn1ct_gen: Correct generation of .hrl files for multiple ellipses
Fix BER code generation
|
|
* dgud/testcasecuddle:
mnesia: Flush late messages
Add Debug info
mnesia: better debug info when tests fail
mnesia: Ensure tables are loaded before testing them
|
|
* josevalim/jv-binary-ets:
Support binary standard input in ets:i/1
OTP-12550
|
|
* mururu/fix-type:
Fix typos in the public_key doc
OTP-12549
|
|
* erland/ssh/time/OTP-12444:
Update misleading comment in ssh_basic_SUITE
Update new time API and be back-compatible in ssh
Use new time API and be back-compatible in ssh otp_SUITE: Ignore undefined functions in ssh
|
|
* ia/public_key/crl/OTP-12547:
public_key: Improve CRL handling support
|
|
|
|
|
|
PKIX1Explicit-2009 did not compile.
This commit was cherry-picked from 3ab3b07a already
merged into master.
|
|
* peppe/common_test/makefile_issue:
Have make ignore the chmod command line in the makefile if it fails
OTP-12179
|
|
* peppe/common_test/ct_telnet_timeout_error:
Make sure total_timeout can get triggered before idle_timeout
OTP-12335
|
|
'origin/peppe/common_test/inconsistent_return_value' into maint
* origin/peppe/common_test/inconsistent_return_value:
Add tests
Make it possible to skip test case by returning skipped tag
OTP-12359
|
|
maint
* origin/peppe/common_test/on_tc_fail_log:
Modify some tests to verify that new functionality works
Make it possible to print in the test case log from on_tc_* hook funcs
OTP-12468
|
|
* leoliu/master:
Two minor fixes
OTP-12545
|
|
|
|
* anders/diameter/grouped_decode/OTP-12475:
Allow encode of decoded diameter_avp list
Add testcases for diameter_avp decode
Fix handling of length errors on Grouped AVPs
Don't discard component diameter_avp list on Grouped AVP decode error
Fix process dictionary manipulation during message decode
|
|
* egil/fix-break-printout/OTP-12537:
erts: Fix erroneous printout in crashdump
|
|
* egil/fix-ts_make-unicode/OTP-12536:
test_server: Let ts_make have a latin1 fallback
|
|
* ia/ssl/TLS_FALLBACK_SCSV/OTP-12458:
ssl: Implement support for TLS_FALLBACK_SCSV
|
|
* anders/diameter/17/time/OTP-12439:
Ignore undefined calls to OTP 18 time api in app suite
|
|
* anders/diameter/time/OTP-12439:
Use new time api in test suites
Use new time api in implementation
|
|
* anders/diameter/pool/OTP-12428:
Fix SCTP match blunder in suites
Be backwards compatible with diameter_sctp listener state
Add gen_tcp testcase that fails sporadically
Simplify transport suite
Remove (ancient) dead code
Don't orphan slave nodes in example suite
Refresh example code
Improve language consistency in diameter(1)
Add pool suite to test transport_opt() pool_size
Adapt tcp/sctp transport modules for pool_size > 1
Add transport_opt() pool_size
|
|
* anders/diameter/shutdown/OTP-12412:
Increase service shutdown timeout
Set shutdown = infinity for supervisor children
Monitor more efficiently at shutdown
|
|
* anders/diameter/retransmission/OTP-12415:
Fix retransmission of messages sent as header/avps list
|
|
* anders/diameter/answer_discard/OTP-11492:
Fix error matching in traffic suite
Don't discard outgoing answers with Result-Code/E-bit errors
|
|
The decode of an incoming request in a non-relay application results in
a deep list of diameter_avp records. Encoding such a list resulted in a
function_clause error in diameter_codec:pack_avp/1, which expected a
flat list. The list is only flat in the relay case, or in the absence of
AVPs of type Grouped.
This is also related to code that exists but isn't documented. It's
documented that a diameter_app(3) handle_request callback can return
{relay, Opts} to relay a request received in the relay application.
What's not documented is that it can also return {proxy|resend, Opts} in
a non-relay application, but this leads to encode failure when there are
Grouped AVPs. This shouldn't be interpreted as meaning that proxy|resend
are now supported: they aren't. The two extra terms are a historical
relic that should probably be removed. Neither are generally usable
since, for example, a proxy agent may want to modify a request before
resending it. A specific handle_request return is not needed to
implement a proxy agent. Even {relay, Opts} isn't strictly necessary.
|
|
|
|
The decode of a Grouped AVP ignored the case that extracting component
AVPs with diameter_codec:collect_avps/1 returned a tuple, in the case of
a truncated AVP header.
|
|
* raimo/inet_tcp_dist-priority-option/OTP-12476:
Document kernel inet_dist_{listen,connect}_options
Test kernel inet_dist_{listen,connect}_options
Implement kernel inet_dist_{listen,connect}_options
|
|
|
|
|
|
So that the xref testcase is independent of the release it's run on. The
code uses the new time api if available, so as to be forward compatible.
|
|
* Fix documentation on $char for unicode
* Remove duplicate declaration for erts_encode_ext_dist_header_size
|
|
* rokob/eliminate-duplication-app-controller:
Add helper function to reduce code duplication
OTP-12524
|
|
* nox/docs-re-unicode:
Fix documentation about character types in unicode mode
OTP-12521
|
|
into maint
* kellymclaughlin/crypto-aes-cfb-flexible-key-size/OTP-12467:
Accept all valid key sizes in aes_cfb functions
|
|
* fishcakez/runtime_tools/dbg/OTP-12517:
Ensure dbg tracer exits when dbg is stopped
|
|
The hipe_mfa_info_table lock is currently a mutex, causing
unnecessary contention and serialization of lookups for
apply-like constructs.
- change the lock from a mutex to an rwmutex
- split hipe_get_na_nofail_locked into a "try" path which
only needs a read lock, and a "slow" path which requires
a write lock
- reimplement hipe_get_na_nofail (used by apply ops etc) to
first call the "try" path with a read lock, and if that
fails the "slow" path with a write lock
- reimplement hipe_get_na_nofail_locked (used by maintenance
code) to call the "try" path and then optionally the "slow"
path, but without taking locks since its caller already has
the write lock
- adjust remaining lock ops to take/release full write lock
- use _rwlocked as suffix on functions requiring a write lock
- change hipe_mfa_get_trampoline to call get_locked not put_locked,
allowing it to take a read lock instead of a write lock
- change hipe_find_mfa_from_ra() to only take a read lock
|
|
* peppe/common_test/missing_start_flag_in_doc:
Add missing -group flag in ct_run help text
OTP-12433
|
|
Previously the tracer might receive an 'EXIT' message in the trace
receive loop and treat it as garbage.
Test uses a custom dbg process handler to reliably recreate the
race condition, i.e. the message order {trace, ..}, {'EXIT, ..}.
|
|
Clause matching error for specific test cases was harmless since the
subsequent clause also matched. Errors detected by the server result in
Failed-AVP being sent, which should not lead to a decode error in the
client.
|
|
Outgoing answers missing a Result-Code AVP or setting an E-bit
inappropriately were discarded, but there's no particular reason for
doing so if the answer can be encoded, and the sender has no way of
knowing that their answer has been discarded. It's also inappropriate
that the message be discarded in the relay case. Answers are now sent,
and an error counter incremented.
|
|
otp_SUITE: Ignore undefined functions in ssh
|