Version: 20.3.2-bp150.2.11
* Thu Feb 01 2018 matwey.kornilov@gmail.com
- Update to 20.2.2.
- Changes for 20.2.2:
* mnesia: Removed a quadratic behavior in startup. This change
implies that backend plugins (if used) must be set when the
schema is created or via configuration parameters before mnesia
is started.
* mnesia: Bad timing could crash mnesia after a checkpoint was
deactivated and reactivated with the same checkpoint name on
different tables.
- Changes for 20.2.1:
* ssh: Fix problem with OpenSSH 7.2 (and later) clients that has
used sha1 instead of sha2 for rsa-sha-256/512 user's public
keys.
- Highlighted changes for 20.2:
* crypto, ssl: The crypto API is extended to use private/public
keys stored in an Engine for sign/verify or encrypt/decrypt
operations. The ssl application provides an API to use this new
engine concept in TLS.
* ssh: SSH can now fetch the host key from the private keys stored
in an Engine. See the crypto application for details about
Engines.
* ssl: A new command line option -ssl_dist_optfile has been added
to facilitate specifying the many options needed when using SSL
as the distribution protocol.
* stdlib: Improve performance of the new string functionality when
handling ASCII characters.
* Mon Nov 27 2017 matwey.kornilov@gmail.com
- Update to 20.1.5:
* erts: Fixed a regression in zlib:gunzip/1 that prevented it
from working when the decompressed size was a perfect multiple
of 16384. This regression was introduced in 20.1.1
* erts: Fixed a memory corruption bug in enif_inspect_iovec;
writable binaries stayed writable after entering the iovec.
* erts: Fixed a crash in enif_inspect_iovec on encountering empty
binaries.
* erts: zlib:deflateParams/3 will no longer return buf_error when
called after zlib:deflate/2 with zlib 1.2.11.
* inets: Correct the handling of location headers so that the
status code is not hard coded. This should have been fixed by
commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but
unfortunately was broken during a code refactoring and
unnoticed due to a faulty placed test case.
- Update to 20.1.4:
* inets: Fix broken handling of POST requests
* inets: Make sure ints:stop/2 of the service httpd is
synchronous
* inets: Honor status code returned by ESI script and modernize
"location" header handling.
- Update to 20.1.3:
* diameter: A fault introduced in diameter 2.1 could cause decode
errors to be ignored in AVPs following the header of aGrouped
AVP.
* erts: Added zlib:set_controlling_process/2 to move a zstream()
between processes.
* erts: Fix so that schedulers are bound correctly when the first
available cpu is not the first detected cpu. e.g. when using
"taskset -c X..Y" when X is not equal to 0.
* snmp: The recbuf configuration option was not propagated
correctly to the socket for the SNMP Manager.
* Thu Nov 23 2017 rbrown@suse.com
- Replace references to /var/adm/fillup-templates with new
%_fillupdir macro (boo#1069468)
* Thu Oct 19 2017 matwey.kornilov@gmail.com
- Update to 21.1.2:
* diameter: An inadvertently removed monitor in diameter 2.1
caused the ets table diameter_reg to leak entries, and caused
service restart and more to fail.
* erts: Fixed bug that could cause a VM crash when a corrupt
message is received on distribution channel from other node.
- Update to 20.1.1:
* compiler: The compiler could issue an incorrect internal
consistency failure diagnostic for some complicated bit syntax
maches.
* erts: The new zlib module returned a data_error when inflating
concatenated streams, which was incompatible with the old
module's behavior of returning the uncompressed data up to the
end of the first stream.
* erts: zlib:gunzip/1 will no longer stop at the end of the first
stream when decompressing concatenated gzip files.
* ssh: Fixed broken printout
* ssh: Disable aes_gcm ciphers if peer is OpenSSH 6.2 which is
known to have trouble with them in some cases.
- Update to 20.1:
* crypto, public_key: Extend crypto and public_key functions
sign and verify with: support for RSASSA-PS padding for
signatures and for saltlength setting X9.31 RSA padding. sha,
sha224, sha256, sha384, and sha512 for dss signatures as
mentioned in NIST SP 800-57 Part 1. ripemd160 to be used for
rsa signatures. A new tuple in crypto:supports/0 reports
supported MAC algorithms.
* diameter: Add service option decode_format to allow incoming
messages to be decoded into maps instead of records. Decode
performance has been improved. Add service/transport option
avp_dictionaries to give better support for dictionaries only
defining AVPs.
* erts: Upgraded the ERTS internal PCRE library from version
8.40 to version 8.41.
* erts, kernel, tools: Profiling with lock counting can now be
fully toggled at runtime in the lock counting emulator
(-emu_type lcnt). Everything is enabled by default to match
the old behavior, but specific categories can be toggled at
will with minimal runtime overhead when disabled. Refer to the
documentation on lcnt:rt_mask/1 for details.
* lcnt:collect and lcnt:clear will no longer block all other
threads in the runtime system. This makes it possible to run
the lock counting under heavier load.
* erts: The zlib module has been refactored and all its
operations will now yield appropriately, allowing them to be
used freely in concurrent applications.
* erts, tools: Add erlang:iolist_to_iovec/1, which converts an
iolist() to an erlang:iovec(), which is suitable for use with
enif_inspect_iovec().
* erts: Add new nif API functions for managing an I/O Queue. The
added functions are: enif_ioq_create(), enif_ioq_destroy(),
enif_ioq_enq_binary(), enif_ioq_enqv(), enif_ioq_deq(),
enif_ioq_peek(), enif_inspect_iovec(), enif_free_iovec()
* observer/crashdump_viewer: Reading of crash dumps with many
binaries is optimized. A progress bar is shown when the detail
view for a process is opened. The cdv script now sets
ERL_CRASH_DUMP_SECONDS=0 to avoid generating a new crash dump
from the node running the Crashdump Viewer.
* observer: Add system statistics and limits to frontpage in
observer.
* public_key, ssl**: Improved error propagation and reports
* ssh: A new option modify_algorithms is implemented. It enables
specifying changes on the default algorithms list. See the
reference manual and the SSH User's Guide chapter "Configuring
algorithms in SSH".
* tools/xref: The predefined Xref analysis locals_not_used now
understands the -on_load() attribute and does not report
unused functions.
* tools/fprof: When sampling multiple processes and analyzing
with totals set to true, the output now sums together all
caller and callee entries which concerns the same function.
Previous behaviour was to report each contributing entry
separately.
* Thu Sep 14 2017 matwey.kornilov@gmail.com
- Only Java 1.6 is supported by Erlang since 18.0 release
* Thu Sep 14 2017 matwey.kornilov@gmail.com
- Update to 20.0.5:
* erts: Fixed bug in binary_to_term and binary_to_atom that could
cause VM crash. Typically happens when the last character of an
UTF8 string is in the range 128 to 255, but truncated to only
one byte. Bug exists in binary_to_term since ERTS version
5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0
(OTP-20.0).
* inets: http_uri aligned to follow RFC 3986 and not convert "+"
to space when decoding URIs.
* inets: Added new option max_client_body_chunk to httpd server
to allow chunked delivery of PUT and POST data to mod_esi
callback. Note, new mod_esi callback implementation is
required. Also correct value provided by server_name
environment variable.
* Sun Aug 27 2017 matwey.kornilov@gmail.com
- Update to 20.0.4:
* dializer: Fix a bug where merging PLT:s could lose info. The
bug was introduced in Erlang/OTP 20.0.
* erts: A timer internal bit-field used for storing scheduler id
was too small. As a result, VM internal timer data structures
could become inconsistent when using 1024 schedulers on the
system. Note that systems with less than 1024 schedulers are
not effected by this bug. This bug was introduced in ERTS
version 7.0 (OTP 18.0).
* erts: Automatic cleanup of a BIF timer, when the owner process
terminated, could race with the timeout of the timer. This
could cause the VM internal data structures to become
inconsistent which very likely caused a VM crash. This bug was
introduced in ERTS version 9.0 (OTP 20.0).
- Update to 20.0.3:
* asn1: Default values now work in extension for PER, so if you
give the atom asn1_DEFAULT instead of a value it will become
the default value.
* compiler: Fail labels on guard BIFs weren't taken into account
during an optimization pass, and a bug in the validation pass
sometimes prevented this from being noticed when a fault
occurred.
* erts: Binary append operations did not check for overflow,
resulting in nonsensical results when huge binaries were
appended.
* ssh: All unknown options are sent to the transport handler
regardless of type.
* Sun Aug 20 2017 matwey.kornilov@gmail.com
- Update to 20.0.2:
* asn: Fixed compilation error of generated code caused by a
missing quotation of function names as part of an external call for
encoding.
* erts: Added missing release notes for OTP-14491 ("performance
bug in pre-allocators") which was included in erts-9.0.1 (OTP-20.0.1).
* erts: Fixed a bug that prevented TCP sockets from being
closed properly on send timeouts.
* erts: Fixed bug in operator bxor causing erroneuos result
when one operand is a big *negative* integer with the lowest N*W bits as
zero and the other operand not larger than N*W bits. N is an integer of 1
or larger and W is 32 or 64 depending on word size.
* kernel: The documentation for the 'quiet' option in
disk_log:open/1 had an incorrect default value.
* Mon Jul 31 2017 matwey.kornilov@gmail.com
- erlang-gs application has been depricated
* Mon Jul 17 2017 matwey.kornilov@gmail.com
- Update to 20.0.1:
* erts: Fixed a bug in gen_tcp:send where it never returned when
repeatedly called on a remotely closed TCP socket.
* erts: Fixed segfault that could happen during cleanup of aborted
erlang:port_command/3 calls. A port_command is aborted if the
port is closed at the same time as the port_command was issued.
This bug was introduced in erts-8.0.
* erts: Fixed implementation of statistics(wall_clock) and
statistics(runtime) so that values do not unnecessarily wrap due
to the emulator. Note that the values returned by
statistics(runtime) may still wrap due to limitations in the
underlying functionality provided by the operating system.
* erts: Fix performance bug in pre-allocators that could cause
them to permanently fall back on normal more expensive memory
allocation. Pre-allocators are used for quick allocation of
short lived meta data used by messages and other scheduled
tasks. Bug exists since OTP_R15B02.
* runtime_tools: A faulty encoding comment was added when saving
trace patterns to file. This is now corrected.
* stdlib: A bug in proc_lib:format() introduced in Erlang/OTP 20.0
is corrected.
* stdlib: Fix string:len/1 to be compatible with previous
versions.
* stdlib: In OTP-20.0, the behavior of c, make, and ct_make was
changed so that in some cases the beam files by default would be
written to the directory where the source files were found. This
is now changed back to the old behavior so beam files are by
default written to current directory.
- Update to 20.0.0:
* Potential Incompatibilities
* ERTS:
* The non SMP Erlang VM is deprecated and not built by default
* Remove deprecated erlang:hash/2
* erlang:statistics/1 with scheduler_wall_time now also
includes info about dirty CPU schedulers.
* The new purge strategy introduced in OTP 19.1 is mandatory
and slightly incompatible for processes holding funs
* see erlang:check_process_code/3.
* The NIF library reload is not supported anymore.
* Atoms can now contain arbitrary unicode characters which
means that the DFLAG_UTF8_ATOMS capability in the
distribution protocol must be supported if an OTP 20 node
should accept the connection with another node or library.
Third party libraries which uses the distribution protocol
need to be updated with this.
* Asn1: Deprecated module and functions removed (asn1rt,
asn1ct:encode/3 and decode/3)
* Ssh: client only option in a call to start a daemon will now fail
* Highlights
* Erts:
* Dirty schedulers enabled and supported on VM with SMP support.
* support for ?dirty? BIFs and ?dirty? GC.
* erlang:garbage_collect/2 for control of minor or major GC
* Erlang literals are no longer copied when sending messages.
* Improved performance for large ETS tables, >256 entries
(except ordered_set)
* erlang:system_info/1 atom_count and atom_limit
* Reduced memory pressure by converting sub-binaries to
heap-binaries during GC
* enif_select, map an external event to message
* Improvements of timers internally in the VM resulting in
reduced memory consumption and more efficient administration
for timers
* Compiler:
* Code generation for complicated guards is improved.
* Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2,
'a'=>3} will warn for the repeated key a.
* By default there is now a warning when export_all is used.
Can be disabled
* Pattern matching for maps is optimized
* New option deterministic to omit path to source + options
info the BEAM file.
* Atoms may now contain arbitrary unicode characters.
* compile:file/2 has an option to include extra chunks in the
BEAM file.
* Misc other applications:
* Significantly updated string module with unicode support and
many new functions
* crypto now supports OpenSSL 1.1
* Unnamed ets tables optimized
* gen_fsm is deprecated and replaced by gen_statem
* A new event manager to handle a subset of OS signals in
Erlang
* Optimized sets add_element, del_element and union
* Added rand:jump/0-1
* When a gen_server crashes, the stacktrace for the client
will be printed to facilitate debugging.
* take/2 has been added to dict, orddict, and gb_trees.
* take_any/2 has been added to gb_trees
* erl_tar support for long path names and new file formats
* asn1: the new maps option changes the representation of
SEQUENCE to be maps instead of records
* A TLS client will by default call
public_key:pkix_verify_hostname/2 to verify the hostname
* ssl: DTLS documented in the API, experimental
* ssh: improving security, removing and adding algorithms
* New math:fmod/2
* Sat May 06 2017 meissner@suse.com
- Disable global PIE for erlang, code is currently not fully
ready.
* Sun Apr 30 2017 matwey.kornilov@gmail.com
- Update to 19.3.2:
* erts: The +Bi command line argument of erl erroneously caused
SIGTERM to be ignored by the VM as well as of all its child
processes. This bug was introduced in erts version 8.3.
* Thu Apr 06 2017 matwey.kornilov@gmail.com
- Update to 19.3.1:
* crypto: Fix a bug with AES CFB 128 for 192 and 256 bit keys.
Thanks to kellymclaughlin !
* erts: Trying to open a directory with file:read_file/1 on Unix
leaked a file descriptor. This bug has now been fixed.
* erts: Invoking init:stop/0 via the SIGTERM signal, in a non-SMP
BEAM, could cause BEAM to terminate with fatal error. This has
now been fixed and the BEAM will terminate normally when SIGTERM
is received.
* inets: Fixed a bug in ftp that made further operations after a
recv_chunk operation impossible.
* ssh: ssh:daemon_info/1 crashed if the listening IP was not 'any'
* ssl: Correct active once emulation, for TLS. Now all data
received by the connection process will be delivered through
active once, even when the active once arrives after that the
gen_tcp socket is closed by the peer.
* Thu Apr 06 2017 matwey.kornilov@gmail.com
- Changes since 19.2:
* crypto, ssh: The implementation of the key exchange algorithms
diffie-hellman-group-exchange-sha* are optimized, up to a factor
of 11 for the slowest ( = biggest and safest) group size.
* dialyzer: The peak memory consumption is reduced. Analyzing
modules with binary construction with huge strings is now much
faster.
* erts: A received SIGTERM signal to beam will generate a 'stop'
message to the init process and terminate the Erlang VM nicely.
This is equivalent to calling init:stop/0.
* kernel: The functions in the file module that take a list of
paths (e.g. file:path_consult/2) will now continue to search in
the path if the path contains something that is not a directory.
* kernel: Two OTP processes that are known to receive many
messages are rex (used by rpc) and error_logger. Those processes
will now store unprocessed messages outside the process heap,
which will potentially decrease the cost of garbage collections.
* public_key: New function pkix_verify_hostname/2,3 implements
certificate hostname checking. See the manual and RFC 6125.-
* public_key, ssh: The ssh host key fingerprint generation now
also takes a list of algorithms and returns a list of
corresponding fingerprints. See
public_key:ssh_hostkey_fingerprint/2 and the option
silently_accept_hosts in ssh:connect.
* ssl: Move PEM cache to a dedicated process, to avoid making the
SSL manager process a bottleneck. This improves scalability of
TLS connections.
* stdlib: filename:safe_relative_path/1 to sanitize a relative
path has been added.
* Fri Mar 10 2017 matwey.kornilov@gmail.com
- Add missed scripts requires for erlang-epmd package
* Sun Dec 18 2016 matwey.kornilov@gmail.com
- Update to 19.2:
* stdlib: The new behaviour gen_statem has been improved with 3
new features: the possibility to use old style non-proxy
timeouts for gen_statem:call/2,3, state entry code, and state
timeouts. These are backwards compatible. Minor code and
documentation improvements has been performed including a
borderline semantics correction of timeout zero handling.
* ssl: Experimental version of DTLS. It is runnable but not
complete and cannot be considered reliable for production usage.
To use DTLS add the option {protocol, dtls} to ssl:connect and
ssl:listen.
* ssh: Extended the option silently_accept_hosts for ssh:connect
to make it possible for the client to check the SSH host key
fingerprint string. Se the reference manual for SSH.
* ~40 contributions since the previous service release OTP 19.1
* Thu Sep 29 2016 kruber@zib.de
- Update to 19.1:
* erts: Improved dirty scheduler support. A purge of a module
will not have to wait for completion of all ongoing dirty
NIF calls
* erts: Improved accuracy of timeouts on MacOS X
* kernel: Add net_kernel:setopts/2 and net_kernel:getopts/2 to
control options for distribution sockets in runtime
* asn1: Compiling multiple ASN.1 modules in the same directory
with parallel make (make -j) should now be safe
* httpd: support for PUT and DELETE in mod_esi
* ~30 contributions since 19.0
Version: 18.3.4.7-9.1
* Sun Nov 26 2017 matwey.kornilov@gmail.com
- Update to 18.3.4.7:
* ssl: An erlang TLS server configured with cipher suites using
rsa key exchange, may be vulnerable to ani Adaptive Chosen
Ciphertext attack (AKA Bleichenbacheri attack) against RSA,
which when exploited, may resulti in plaintext recovery of
encrypted messages and/or ai Man-in-the-middle (MiTM) attack,
despite the attackeri not having gained access to the server?s
private key itself. CVE-2017-1000385
Exploiting this vulnerability to perform plaintext recovery of
encrypted messages will, in most practical cases, allow an
attacker to read the plaintext only after the session has
completed. Only TLS sessions established using RSA key exchange
are vulnerable to this attack.
Exploiting this vulnerability to conduct a MiTM attack requires
the attacker to complete the initial attack, which may require
thousands of server requests, during the handshake phase of the
targeted session within the window of the configured handshake
timeout. This attack may be conducted against any TLS session
using RSA signatures, but only if cipher suites using RSA key
exchange are also enabled on the server. The limited window of
opportunity, limitations in bandwidth, and latency make this
attack significantly more difficult to execute.
RSA key exchange is enabled by default although least
prioritized if server order is honored. For such a cipher suite
to be chosen it must also be supported by the client and
probably the only shared cipher suite.
Captured TLS sessions encrypted with ephemeral cipher suites
(DHE or ECDHE) are not at risk for subsequent decryption due to
this vulnerability.
* Thu Nov 23 2017 matwey.kornilov@gmail.com
- Add 0001-Add-structure-for-mutual-recursion-detection-in-ePCR.patch
0002-fix-find_fixedlen-stk-overflow-w-mutual-recursion.patch
0003-Fix-heap-overflow-with-unmatched-closing-parens.patch:
fix bno#1030062 (CVE-2016-10253)
* Fri Nov 17 2017 matwey.kornilov@gmail.com
- Update to 18.3.4.6:
* compiler: Fail labels on guard BIFs weren't taken into account
during an optimization pass, and a bug in the validation pass
sometimes prevented this from being noticed when a fault
occurred.
* eldap: Misc building environment updates
* erts: Fix performance bug in pre-allocators that could cause
them to permanently fall back on normal more expensive memory
allocation. Pre-allocators are used for quick allocation of
short lived meta data used by messages and other scheduled
tasks. Bug exists since OTP_R15B02.
* erts: Fixed bug in operator bxor causing erroneuos result when
one operand is a big *negative* integer with the lowest N*W
bits as zero and the other operand not larger than N*W bits. N
is an integer of 1 or larger and W is 32 or 64 depending on
word size.
* erts: A timer internal bit-field used for storing scheduler id
was too small. As a result, VM internal timer data structures
could become inconsistent when using 1024 schedulers on the
system. Note that systems with less than 1024 schedulers are
not effected by this bug.
* erts: Fixed bug in binary_to_term and binary_to_atom that could
cause VM crash. Typically happens when the last character of an
UTF8 string is in the range 128 to 255, but truncated to only
one byte. Bug exists in binary_to_term since ERTS version
5.10.2 (OTP_R16B01) and binary_to_atom since ERTS version 9.0
(OTP-20.0).
* ssh: Trailing white space was removed at end of the
hello-string. This caused interoperability problems with some
other ssh-implementations (e.g OpenSSH 7.3p1 on Solaris 11)
Version: 18.3.4.5-6.1
* Thu Feb 02 2017 matwey.kornilov@gmail.com
- Update to 19.2.2:
* mnesia: Fixed crash in checkpoint handling when table was
deleted during backup.
* Fri Aug 12 2016 matwey.kornilov@gmail.com
- Update to 19.0.4:
* erts: Fixed a race that could cause a lost wakeup of a process
that timed out in a receive ... after. This bug was introduced
in ERTS version 7.0.
* erts: Fixed segfault after writing an erl crash dump.
* Thu Jul 21 2016 matwey.kornilov@gmail.com
- Update to 18.3.4.1:
* ssh: SSH client does not any longer retry a bad password
given as option to ssh:connect et al.
* Thu Jul 21 2016 matwey.kornilov@gmail.com
- Rebased patches:
+ crypto.patch (manually)
+ erlang-not-install-misc.patch (manually)
+ otp-R16B-rpath.patch (manually)
* Mon Jun 20 2016 jengelh@inai.de
- Do not suppress errors from useradd/groupadd
- Orthographic/typographical fixes
* Fri Jun 17 2016 matwey.kornilov@gmail.com
- Update to 18.3.4:
* inets: Handle multiple \t in mime types file
* ssl: Correct ssl:prf/5 to use the negotiated cipher suite's prf
function in ssl:prf/5 instead of the default prf.
* ssl: Timeouts may have the value 0, guards have been corrected
to allow this
* ssl: Change of internal handling of hash sign pairs as the used
one enforced to much restrictions making some valid
combinations unavailable.
* ssl: Create a little randomness in sending of session
invalidation messages, to mitigate load when whole table is
invalidated.
* Sun May 22 2016 matwey.kornilov@gmail.com
- Return diameter application: as for 18.3.3 it is distributed
under APL license
* Sun May 22 2016 matwey.kornilov@gmail.com
- Update to 18.3.3:
* common_test: The nodelay option used to be enabled (true) by
default for sockets opened by the Common Test
telnet client.
* common_test: Fix bug in cth_surefire
* common_test: The ct:get_timetrap_info/0 function has been
updated to return more information about timetrap
scaling.
* common_test: A problem with stylesheet HTML tags getting
incorrectly escaped by Common Test has been
corrected.
* common_test: The ct_run start flag -no_esc_chars and
ct:run_test/1 start option {esc_chars,Bool} have
been introduced.
* inets: Put back unused module inets_regexp
* ssl: Correct cipher suites conversion and gaurd expression.
* Tue May 03 2016 matwey.kornilov@gmail.com
- Update to 18.3.2:
* inets: Add environment information item peer_cert to mod_esi
* ssl: Corrections to cipher suite handling using
the 3 and 4 tuple format
* ssl: Make values for the TLS-1.2 signature_algorithms
extension configurable
* Thu Mar 17 2016 kruber@zib.de
- Update to 18.3:
* New statistics info about runnable and active processes &
ports. Call erlang:statistics with:
total_run_queue_lengths | run_queue_lengths | total_active_tasks
| active_tasks.
* Time warp improvements: dbg:p/2 and erlang:trace/3 with
monotonic_timestamp |strict_monotonic_timestamp.
* Introduced a validation callback for heart.
* The module overload in sasl has been deprecated.
* several bug fixes
* Sat Jan 30 2016 matwey.kornilov@gmail.com
- Update to 18.2.3:
* inets: mod_alias now traverses all aliases picking
the longest match and not the first match.
Version: 18.3.4.11-13.1
* Sun Dec 09 2018 matwey.kornilov@gmail.com
- Update to 20.3.8.15 (boo#1118869)
- Changes for 20.3.8.15:
* asn1: Handle erroneous length during decode (BER only) without
crashing.
- Changes for 20.3.8.14:
* ssh: Incompatibility with newer OpenSSH fixed. Previously
versions 7.8 and later could cause Erlang SSH to exit.
- Changes for 20.3.8.13:
* ssl: Add engine support for RSA key exchange
- Changes for 20.3.8.12:
* erts: List subtraction (The -- operator) will now yield properly
on large inputs.
* stdlib: List subtraction (The -- operator) will now yield
properly on large inputs.
* ssl: Extend check for undelivered data at closing, could under
some circumstances fail to deliverd all data that was acctualy
recivied.
- Changes for 20.3.8.11:
* erts: ERTS internal trees of monitor structures could get into
an inconsistent state. This could cause 'DOWN' messages not to
be delivered when they should, as well as delivery of 'DOWN'
messages that should not be delivered.
- Changes for 20.3.8.10:
* erts: Fixed bug in ets:select_replace when called with a fully
bound key could cause a following call to ets:next or ets:prev
to crash the emulator or return invalid result.
* eldap: A race condition at close could cause the eldap client to
exit with a badarg message as cause.
* Tue Aug 14 2018 matwey.kornilov@gmail.com
- Update to 20.3.8.5.
- Changes for 20.3.8.5:
* erts: Fixed a bug causing some Erlang references to be
inconsistently ordered. This could for example cause failure
to look up certain elements with references as keys in search
data structures. This bug was introduced in R13B02. Thanks to
Simon Cornish for finding the bug and supplying a fix.
* compiler: Fixed an issue where files compiled with the
+deterministic option differed if they were compiled in a
different directory but were otherwise identical.
* crypto: Fixed a node crash in crypto:compute_key(ecdh, ...)
when passing a wrongly typed Others argument.
* erts: Fixed a bug which caused an emulator crash when
enif_send() was called by a NIF that executed on a dirty
scheduler. The bug was either triggered when the NIF called
enif_send() without a message environment, or when the process
executing the NIF was send traced.
* erts: Fixed a bug causing some Erlang references to be
inconsistently ordered. This could for example cause failure
to look up certain elements with references as keys in search
data structures. This bug was introduced in R13B02. Thanks to
Simon Cornish for finding the bug and supplying a fix.
* mnesia: When master node is set do not force a load from
ram_copies replica when there are no available disc_copies,
since that would load an empty table. Wait until a disk
replica is available or until user explicitly force_loads the
table.
* mnesia: Allow to add replicas even if all other replicas are
down when the other replicase are not stored on disk.
* ssl: Correct handling of empty server SNI extension
* ssl: Correct cipher suite handling for ECDHE_*, the incorrect
handling could cause an incorrrect suite to be selected and
most likly fail the handshake.
- Changes for 20.3.8.4:
* asn1: A bug in ASN.1 BER decoding has been fixed. When
decoding a recursively enclosed term the length was not
propagated to that term decoding, so if the length of the
enclosed term was longer than the enclosing that error was not
dectected. A hard coded C stack limitation for decoding
recursive ASN.1 terms has been introduced. This is currently
set to 8 kWords giving a nesting depth of about 1000 levels.
Deeper terms can not be decoded, which should not be much of a
real world limitation.
- Changes for 20.3.8.3:
* erts: Fixed a race condition in the inet driver that could
cause receive to hang when the emulator was compiled with gcc8.
* erts: Fix bug in generation of erl_crash.dump, which could
cause VM to crash. Bug exist since erts-9.2 (OTP-20.2).
* ic: Fixed potential buffer overflow bugs in
oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit
architectures. These functions expect 32 bit integers as the
IDL type "long" is defined as 32 bits. But there is nothing
preventing user code from "breaking" the interface and pass
larger values on 64-bit architectures where the C type "long"
is 64 bits.
* inets: Enhance error handling, that is mod_get will return 403
if a path is a directory and not a file.
* kernel: Non semantic change in dist_util.erl to silence
dialyzer warning.
* ssl: Improve cipher suite handling correcting ECC and TLS-1.2
requierments. Backport of solution for ERL-641
* ssl: Option keyfile defaults to certfile and should be trumped
with key. This failed for engine keys.
- Changes for 20.3.8.2:
* erl_interface: Make ei_connect and friends also accept state
ok_simultaneous during handshake, which means the other node
has initiated a connection setup that will be cancelled in
favor of this connection.
* erts: Fixed a rare bug that could cause processes to be
scheduled after they had been freed.
* ic: Fixed bug in ic causing potential buffer overrun in
funtion oe_ei_encode_atom. Bug exists since ic-4.4.4
(OTP-20.3.4).
* kernel: Fix some potential buggy behavior in how ticks are
sent on inter node distribution connections. Tick is now sent
to c-node even if there are unsent buffered data, as c-nodes
need ticks in order to send reply ticks. The amount of sent
data was also calculated wrongly when ticks were suppressed
due to unsent buffered data.
- Changes for 20.3.8.1:
* inets: Options added for setting low-level properties on the
underlying TCP connections. The options are: sock_ctrl,
sock_data_act and sock_data_pass. See the manual for details.
* ssh: SFTP clients reported the error reason "" if a non-OTP
sftp server was killed during a long file transmission. Now
the signal name (for example "KILL") will be the error reason
if the server's reason is empty. The documentation also lacked
type information about this class of errors.
* ssh: Fix ssh_sftp decode error for sftp protocol version 4
* syntax_tools: Fix a bug regarding reverting map types.
- Changes for 20.3.8:
* erts: Fixed bug in ets that could cause VM crash if process A
terminates after fixating a table and process B deletes the
table at "the same time". The table fixation could be done
with ets:safe_fixtable or if process A terminates in the
middle of a long running select or match call.
* snmp: The Snmp MIB compiler now allows using a
TEXTUAL-CONVENTION type before defining it.
- Changes for 20.3.7:
* erl_docgen: Update makefile so db_funcs.xsl is a part of the
installed application.
* erts: Fixed bug in enif_binary_to_term which could cause
memory corruption for immediate terms (atoms, small integers,
pids, ports, empty lists).
* erts: Fixed bug in erlang:system_profile/2 that could cause
superfluous {profile,_,active,_,_} messages for terminating
processes.
* inets: The option max_headers operated on the individual
header length instead of the total length of all headers. Also
headers with empty keys are now discarded.
- Changes for 20.3.6:
* crypto: If OPENSSL_NO_EC was set, the compilation of the
crypto nifs failed.
* crypto: C-compile errors for LibreSSL 2.7.0 - 2.7.2 fixed
* ssh: Host key hash erroneously calculated for clients
following draft-00 of RFC 4419, for example PuTTY
* ssh: Renegotiation could fail in some states
- Changes for 20.3.5:
* erts: Fixed a crash in heart:get_cmd/0 when the stored command
was too long.
* ssl: Proper handling of clients that choose to send an empty
answer to a certificate request.
- Changes for 20.3.4:
* erl_interface: Fix bug in ei_connect functions that may cause
failure due to insufficient buffer space for gethostbyname_r.
* erl_interface, ic: Optimize encoding/decoding for pure 7-bit
ascii atoms.
* inets: Fix broken options handling in httpc (ERL-441).
* ssh: An ssh_sftp server (running version 6) could fail if it
is told to remove a file which in fact is a directory.
* ssh: Fix rare spurios shutdowns of ssh servers when receiveing
{'EXIT',_,normal} messages.
- Changes for 20.3.3:
* sasl: When upgrading with instruction 'restart_new_emulator',
the generated temporary boot file used 'kernelProcess'
statements from the old release instead of the new release.
This is now corrected.
* Sat Apr 14 2018 matwey.kornilov@gmail.com
- Update to 20.3.2
* ssl: Added new API functions to facilitate cipher suite handling
* erts, observer: More crash dump info such as: process binary
virtual heap stats, full info for process causing out-of-mem
during GC, more port related info, and dirty scheduler info.
* inets: Add support for unix domain sockets in the http client.
Version: 18.2.2-3.1
* Tue Jan 12 2016 matwey.kornilov@gmail.com
- Update to 18.2.2:
* ssh: The authentication method 'keyboard-interactive' failed
in the Erlang client when the server after successful
authentication continued by asking for zero more
passwords.
* Mon Dec 28 2015 matwey.kornilov@gmail.com
- Update to 18.2.1:
* Due to a bug in the handling of paths on windows
none of the following would work with paths
containing a space: ct_run dialyzer erlc escript typer
This also contains a fix for HiPE enabled emulator for
FreeBSD.
- Update to 18.2:
* ssl: Add configurable upper limit for session
cache. erts: Add function enif_getenv to read OS
environment variables in a portable way from NIFs.
* kernel: Add {line_delim, byte()} option to
inet:setopts/2 and decode_packet/3
* ssh: The 'ecdsa-sha2-nistp256',
'ecdsa-sha2-nistp384' and 'ecdsa-sha2-nistp521'
signature algorithms for ssh are implemented. See RFC5656.
* ssh: The ssh:daemon option dh_gex_groups is
extended to read a user provided ssh moduli file
with generator-modulus pairs. The file is in openssh
format.
* Thu Dec 17 2015 ro@suse.de
- disable hipe on s390/s390x to fix build
* Thu Oct 29 2015 matwey.kornilov@gmail.com
- Update to 18.1.3:
* ssl: Add possibility to downgrade an SSL/TLS connection to a
tcp connection, and give back the socket control to a user
process.
* ssh: The following new key exchange algorithms are
implemented:'ecdh-sha2-nistp256', 'ecdh-sha2-nistp384',
'ecdh-sha2-nistp521','diffie-hellman-group14-sha1',
'diffie-hellman-group-exchange-sha1' and
'diffie-hellman-group-exchange-sha256'. This raises the
security level considerably.
* kernel,stdlib,sasl: A mechanism for limiting the amount of
text that the built-in error logger events will produce has
been introduced. It is useful for limiting both the size of
log files and the CPU time used to produce them. This
mechanism is experimental in the sense that it may be changed
based on feedback. See config parameter
error_logger_format_depth in the Kernel application.
- Removed erts_fix_unlock_status_lock.patch: fixed in upstream
* Tue Sep 29 2015 matwey.kornilov@gmail.com
- Rework wxWidgets BuildRequire: fix build for Leap 42.1 (boo#967176)
* Wed Aug 26 2015 kruber@zib.de
- update to 18.0.3:
* erts: Fixed a binary memory leak when printing to shell using
the tty driver (i.e. not -oldshell).
* erts: Fix a bug where the standard error port sometimes
crashes with eagain as the reason.
* Thu Aug 13 2015 kruber@zib.de
- add erts_fix_unlock_status_lock.patch to fix a rare deadlock in erts
* Fri Jul 24 2015 seife+obs@b1-systems.com
- fix RHEL/CentOS 7 build
* Thu Jul 09 2015 kruber@zib.de
- update to 18.0.2:
* Fix processes ending up in an inconsistent half exited state
in the runtime system without SMP support
* Remove unnecessary copying of data when retrieving corrected
Erlang monotonic time.
* POTENTIAL INCOMPATIBILITY:
Change default OS monotonic clock source chosen at build time.
This in order to improve performance. The behavior will now on
most systems be that (both OS and Erlang) monotonic time stops
when the system is suspended. (changeable via the
- -enable-prefer-elapsed-monotonic-time-during-suspend
configure parameter)
* Fix erlang:system_info(end_time) returning a faulty value on
32-bit architectures.
* Fix the trace_file_drv not handling EINTR correctly which
caused it to fail when the runtime system received a signal.
* Tue Jun 30 2015 kruber@zib.de
- update to 18.0.1:
* Fix a rare hanging of the VM seen to happen just after
emulator start. Bug exists since R14.
* Fri Jun 26 2015 kruber@zib.de
- update to 18.0:
* new license: APL 2.0 (Apache Public License)
* erts: The time functionality has been extended. This includes
a new API for time, as well as "time warp" modes which
alters the behavior when system time changes. You are
strongly encouraged to use the new API instead of the
old API based on erlang:now/0. erlang:now/0 has been
deprecated since it is a scalability bottleneck. See
http://www.erlang.org/doc/apps/erts/time_correction.html
* erts: Beside the API changes and time warp modes a lot of
scalability and performance improvements regarding time
management has been made. Examples are:
+ scheduler specific timer wheels,
+ scheduler specific BIF timer management,
+ parallel retrieval of monotonic time and system time
on OS:es that support it.
* erts: The previously introduced "eager check I/O" feature is
now enabled by default.
* erts/compiler: enhanced support for maps. Big maps new uses a
HAMT (Hash Array Mapped Trie) representation internally
which makes them more efficient. There is now also
support for variables as map keys.
* dialyzer: The -dialyzer() attribute can be used for suppressing
warnings in a module by specifying functions or warning
options. It can also be used for requesting warnings in
a module.
* ssl: Remove default support for SSL-3.0 and added padding check
for TLS-1.0 due to the Poodle vulnerability.
* ssl: Remove default support for RC4 cipher suites, as they are
consider too weak.
* stdlib: Allow maps for supervisor flags and child specs
* stdlib: New functions in ets:
+ take/2: Works the same as ets:delete/2 but also returns
the deleted object(s).
+ update_counter/4 with a default object as argument
* Thu Jun 25 2015 dmueller@suse.com
- update to 17.5.6:
* Fix broken relay counters
* Fix diameter_sctp listener race
- fix build for SLE_12
* Thu May 28 2015 matwey.kornilov@gmail.com
- Update to 17.5.4
* Mon May 04 2015 dmueller@suse.com
- fix systemd service files for epmd:
* fix stop of epmd (epmd -kill is deprecated and ignored, so stop hangs)
* Tue Apr 07 2015 kruber@zib.de
- Update to 17.5:
* ERTS: Added command line argument option for setting the
initial size of process dictionaries.
* Diameter: configurable incoming_max len and string_decode for
diameter messages
* Bugfixes and minor small features in applications such as
compiler, common_test, crypto, debugger, eldap, erts, hipe,
inets, ssh, ssl, ...
- remoce ct-fix_incl-dirs.patch (included upstream)
* Mon Feb 23 2015 kruber@zib.de
- add ct-fix_incl-dirs.patch (upstream patch for common test)
* Sat Dec 13 2014 matwey.kornilov@gmail.com
- Version 17.4:
* eldap: Nearly all TCP options are possible to give in the eldap:open/2 call.
* ssh: Added API functions ptty_alloc/3 and ptty_alloc/4, to allocate a pseudo tty.
* ssl: Handle servers that may send an empty SNI extension to the client.
* Sun Nov 09 2014 matwey.kornilov@gmail.com
- use wxWidgets 3.0
* Sun Nov 09 2014 Led <ledest@gmail.com>
- fix bashisms in pre script
* Wed Sep 17 2014 matwey.kornilov@gmail.com
- Update to 17.3:
* erts: Introduced enif_schedule_nif() which allows a long
running NIF to be broken into separate NIF invocations
without the help of a wrapper function written in Erlang
* common_test: Experimental support for running Quickcheck and
PropEr tests from common_test suites is added.
Examples of usage in the suites for the ssh and
inets applications
* Bugfixes and minor new features in applications such as asn1,
erts, kernel, stdlib, diameter, ssh, mnesia, ssl, jinterface