Age | Commit message (Collapse) | Author |
|
* ks/file_open-mode:
Add the {encoding, _} options to file:open/2's modes
|
|
|
|
|
|
|
|
* maint-r14:
Prepare release
Fix that the documentation top index generator can handle an Ericsson internal application group
Teach -init_debug to print info about on_load handlers begin run
Fix hang in on_load handlers in embedded mode
Conflicts:
erts/vsn.mk
lib/kernel/vsn.mk
|
|
|
|
In embedded mode, all on_load handlers will be called after
loading all modules but before starting any servers. Therefore,
if an on_load handler calls any function in the code module that
calls the code server (such as code:priv_dir/1), there will be a
deadlock because the code server has not yet been started.
Fix this problem by invoking the on_load handlers after
having started most servers in the kernel application.
|
|
Although the {encoding, encoding()} set of options is documented in
the manual page of the 'file' module, they do not appear in the Mode
description on that page nor in the mode() type declaration.
The patch adds this information in both the code of the module and
the documentation of the module.
To avoid duplication, the declaration of the encoding() type is added
to the 'unicode' module where it most probably belongs.
While at it, added a proper declaration for posix(), took out the
now superfluous information about the types of file:open/2 from the
erl_bif_types module, and corrected the return type of file:open/2
so that it corresponds to the published documentation.
|
|
|
|
|
|
* pan/epmd-vulnerabilities/OTP-8780:
Teach testcases to survive TIME_WAIT overload
Update erl_interface doc and testsuite for epmd changes
Restore null termination of input buffer
Teach testcase epmd_SUITE:too_large to accept econnaborted
Teach epmd_cli.c to not respond 'Killed' when killing denied
Calculate minimal packet size for ALIVE2 requests correctly
Document epmd and it's options properly and fixup help text
Fix anomalies in epmd not yet reported as security issues
Remove two buffer overflow vulnerabilities in EPMD
Remove all support for ancient EPMD protocol
Remove very old protocol from EPMD
Conflicts:
lib/erl_interface/src/epmd/epmd_port.c
|
|
|
|
|
|
When the HTTP packet mode has been enabled for a socket,
the ssl and gen_tcp modules have different error indications
when there is an error while parsing the HTTP header:
ssl:recv(SSLSocket, 0) -> {ok, {http_error, _Str}}
gen_tcp:recv(Socket, 0) -> {error, {http_error, _Str}}
We have decided to change gen_tcp:recv/2 to behave the same
way as ssl:recv/2. That means that there will be always be
an ok tuple if data could be succefully read from the socket,
and an error tuple if there was a read error at the socket level.
|
|
* ph/auto_recognize_ipv6:
Add tests
Let an 8-tuple given as ip_address() for gen_tcp/gen_udp/gen_sctp imply 'inet6'
OTP-8822
|
|
* ms/inet-bug-fixes:
inet: support retrieving MAC address on BSD
inet: fix getservbyname buffer overflow
inet: fix ifr_name buffer overflow
inet: null terminate ifr_name buffer
OTP-8816
|
|
Conflicts:
lib/kernel/test/gen_sctp_SUITE.erl
|
|
Currently an 8-tuple representing an IPv6 address is not accepted by
gen_tcp:listen/2, gen_tcp:connect/3,4, gen_udp:open/2, or
gen_sctp:open/1,2, unless the 'inet6' option is also given. This means
that an application that has obtained the address, e.g. from
configuration that allows for either IPv4 or IPv6, must always check the
type of the address before passing it to these functions. Letting the
functions infer 'inet6' from the 8-tuple, in case other options do not
override this choice, improves usability.
|
|
On systems supporting getaddrinfo(), support looking up the MAC
address from inet:ifget/2. The results have the same quirks as with
Linux: if the MAC address is longer than 6 bytes (e.g., fw0 under
Mac OS X), the address is truncated; if the interface does not have
a MAC address (e.g., lo0), an address consisting of 0's is returned.
|
|
Conflicts:
lib/kernel/doc/src/notes.xml
lib/kernel/vsn.mk
|
|
* rani/sctp-sndrcvinfo/OTP-8795:
Fix xfer_active close expection for Solaris behaviour
Keep default #sctp_sndrcvinfo{} fields on gen_sctp:send/4
Fill in sinfo_assoc_id in struct sctp_sndrcvinfo for getopt()
Conflicts:
lib/kernel/test/gen_sctp_SUITE.erl
|
|
* rani/sctp-linger-bugfix/OTP-8726:
Fix SCTP linger option
|
|
|
|
* 'hb/kernel/net_set_ticktime/OTP-8787' of ../hasse_otp:
Fix a bug that could cause the net_kernel process to crash.
|
|
* maint-r13:
Remove copyright headers in vsn.mk files
Conflicts:
lib/appmon/vsn.mk
lib/erl_docgen/vsn.mk
lib/inets/vsn.mk
lib/kernel/vsn.mk
lib/reltool/vsn.mk
lib/ssl/vsn.mk
lib/stdlib/vsn.mk
lib/tools/vsn.mk
lib/tv/vsn.mk
lib/xmerl/vsn.mk
|
|
Copyright notices serve no useful purpose in vsn.mk files, and
only complicate scripts that automatically update version numbers.
|
|
|
|
|
|
|
|
inet:setopts(S, [{linger,{true,2}}]) returned {error,einval} for
SCTP sockets. The inet_drv had a bug when checking the option size.
|
|
A bug introduced in kernel-2.13.5.3 has been fixed. If running
net_kernel:set_net_ticktime/1 twice within the TransitionPerod the
second call caused the net_kernel process to crash with a badmatch.
|
|
OTP-8686 A bug introduced in kernel-2.13.5.3 has been fixed.
|
|
OTP-8643 Under certain circumstances the net kernel could hang. (Thanks
to Scott Lystig Fritchie.)
|
|
OTP-8502 A race condition in <c>os:cmd/1</c> could cause the caller to
get stuck in <c>os:cmd/1</c> forever.
|
|
* hb/type_reference/OTP-8733:
reference() substituted for ref() in docs
|
|
|
|
OTP-8750
|
|
When configuring erlang with --enable-native-libs, some core modules are
compiled with hipe, yet because they are loaded before the code server,
their native code is not loaded. The fix consists in quietly trying to
load the native code for all loaded modules just after the code server
is started.
|
|
The byte holding the length of the interface name for the getservbyname/2
function is used in a signed context and can become negative, causing
the buffer to be overrun. Make the same change for getservbyport/2.
Test case:
inet:getservbyname(list_to_atom(lists:flatten(lists:duplicate(128, "x"))), tcp).
|
|
The byte holding the length of the interface name for the ifget/2
functions is used in a signed context and can become negative,
causing the ifreq.ifr_name buffer to be overrun.
Test case:
inet:ifget(lists:duplicate(128, "x"), [addr]).
|
|
|
|
|
|
|
|
* rani/sctp-udp-recv-error:
Fix inet_drv to detect passive mode UDP errors for SCTP builds
|
|
Debug and patch by Per Hedeland for R13B04 on erlang-patches:
Connected UDP (and handling of any other errors in UDP recv())
is broken in passive mode for all SCTP-enabled builds.
|
|
* ta/filetypo:
Correct trivial typos in file manual
|
|
* ks/auth-specs:
auth: Fix types and specs
|
|
|
|
|
|
Final merge of all unexpected differences from dev to release.
|