Age | Commit message (Collapse) | Author |
|
|
|
|
|
This port has support for both non-smp and smp.
It contains a new way to do io checking in which erts_poll_wait
receives the payload of the polled entity. This has implications
for all linked-in drivers.
|
|
Since 3aa60cc `epmd -names` does not produce any output on Windows
anymore. This patch uses fwrite() instead of write() which adds the
necessary carriage returns to the output so that it is suitable for the
Windows cmd.exe.
A test case is added (fails on Windows without the patch).
|
|
config.h defines HAVE_SYSLOG_H whereas the sources are looking for
NO_SYSLOG to be undefined. As the logic of "if feature is available"
makes more sense than "if feature is not unavailable", I opted for the
config.h define.
|
|
|
|
* sverk/r16/utf8-atoms:
erl_interface: Fix bug when transcoding atoms from and to UTF8
erl_interface: Changed erlang_char_encoding interface
erts: Testcase doing unicode atom printout with ~w
erl_interface: even more utf8 atom stuff
erts: Fix bug in analyze_utf8 causing faulty latin1 detection
Add UTF-8 node name support for epmd
workaround...
Fix merge conflict with hasse
UTF-8 atom documentation
test case
erl_interface: utf8 atoms continued
Add utf8 atom distribution test cases
atom fixes for NIFs and atom_to_binary
UTF-8 support for distribution
Implement UTF-8 atom support for jinterface
erl_interface: Enable decode of unicode atoms
stdlib: Fix printing of unicode atoms
erts: Change internal representation of atoms to utf8
erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity
Conflicts:
erts/emulator/beam/io.c
OTP-10753
|
|
|
|
With silent rules, the output of make is less verbose and compilation
warnings are easier to spot. Silent rules are disabled by default and
can be disabled or enabled at will by make V=0 and make V=1.
|
|
|
|
OTP-10106
OTP-10107
|
|
Use a make timestamp file to condense dependencies to some
part(s) of erts/lib_src build results.
|
|
|
|
* hw/ignore-empty-epmd-address:
Let epmd ignore empty ERL_EPMD_ADDRESS
OTP-9525
|
|
* ms/epmd-fix-compiler-warnings:
epmd: fix compiler warnings
OTP-9500
|
|
The first argument g->max_conn to select() in epmd_srv.c seems to be
wrong as it excludes the listening socket(s). Instead we keep track of
the highest fd seen.
However I still don't understand why select() started to fail for
vxworks with R14B03 when the feature of more than one listening socket
was introduced. The default is still 1 listening socket (num_sockets=1),
which would make the first argument to select() unchanged.
|
|
If the environment variable ERL_EPMD_ADDRESS is set to the empty string,
empd now behaves like it does by default when ERL_EPMD_ADDRESS is unset.
That is, in this case, epmd now listens on all available interfaces
instead of using only the loopback interface, which happened because
epmd added the loopback address to the (in this case empty) list of
addresses specified via ERL_EPMD_ADDRESS.
Also, epmd now ignores ERL_EPMD_ADDRESS if it contains only separator
characters (comma and space).
The same applies to epmd's -address option.
|
|
Suppress compiler warnings about ignored return values.
|
|
|
|
* hw/fix-epmd-perror:
Fix epmd's dbg_perror() output
OTP-9223
|
|
* ms/epmd-local-access-check:
epmd: include host address in local access check
OTP-9214
|
|
* hw/epmd-bind-to-address:
Allow user to specify the IP address epmd binds to
OTP-9213
|
|
|
|
|
|
The listen() call can fail due to a variety of conditions, so check
its return value and if it fails, print a suitable debug message if
appropriate and then exit. The exit values used are the same for those
already used for bind() failures: 0 if the error is EADDRINUSE, 1
otherwise.
|
|
In FreeBSD jails, the source and destination address of connections
to localhost are changed to be the IP address of the jail. Consider
connections from the host's IP address to itself (e.g., the source and
destination address match) to be local for the access control checks.
Reported-By: [email protected]
|
|
The IP address(es) epmd binds to can now be specified by the user,
either via epmd's new "-address" option or (if that's not used) by
setting the environment variable ERL_EPMD_ADDRESS. Multiple addresses
may be specified using a comma-separated list. If the loopback address
is not in this list, it will be added implicitly, so that the daemon can
be queried by an interactive epmd process.
|
|
The dbg_perror() function now hands the current errno value over to
dbg_gen_printf(). This fixes the problem that errno had been reset to
zero by the time it was used (to print the corresponding error message)
in the dbg_gen_printf() function.
|
|
With newer releases erts/emulator/internal_doc/erl_ext_dist.txt just
forwards the reader to the ERTS User's Guide. Adjust the comment in
epmd_srv.c to point to this location too.
Signed-off-by: Ralf Doering <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
Use erts_(v)snprintf to ensure no buffer overruns in debug printouts.
Disallow everything except port and name requests from remote nodes.
Disallow kill command even from localhost if alive nodes exist.
-relaxed_command_check when starting epmd returns the possibility to
kill this epmd when nodes are alive (from localhost).
Disallow stop command completely except if -relaxed_command_check is given
when epmd was started.
Environment variable ERL_EPMD_RELAXED_COMMAND_CHECK can be set to always get
-relaxed_command_check.
|
|
|
|
|
|
Running transient distributed Erlang nodes can generate a large number
of informational messages to syslog. Modify epmd to log the startup
message only when passed the debug switch.
Reported-By: Sergey Samokhin
|
|
|
|
Check errno if either select() or accept() returns an error and exit.
This prevents epmd from looping and taking up 100% CPU.
|
|
* bg/remove-stray-ose-support:
configure: Remove stray OSE/Delta support
Makefiles: Remove stray OSE/Delta support
kernel tests: Remove stray OSE/Delta support
system tests: Remove stray OSE/Delta support
erl_interface tests: Remove stray OSE/Delta support
epmd: Remove stray OSE/Delta support
epmd: #ifdef out start_epmd() for other platforms than VxWorks
emulator tests: Remove stray OSE/Delta support
emulator: Remove stray OSE/Delta support
emulator: Eliminate #ifdef for sys_tty_reset()
test_server: Remove stray support for OSE/Delta
OTP-8585 bg/remove-stray-ose-support
|
|
|
|
There is no reason to define a function that is never used.
|
|
Modify IPv6 variants of SET_ADDR_LOOPBACK and SET_ADDR_ANY to use
in6addr_loopback and in6addr_any.
|
|
* kj/epmd-port2resp-trunc-extra:
Handle "extra" field according to specs in ALIVE2_REQ and PORT2_RESP.
OTP-8361 EPMD now correctly handles the extra data field which can be
given in the ALIVE2_REQ request and retrieved in the PORT2_RESP
response. (Thanks to Klas Johansson.)
|
|
Don't let the length field pollute the value of the "extra" field in
ALIVE2_REQ. Extra was read, starting at the second byte of the two
byte length field, which meant that it was included in the result and
the last byte of the value was skipped:
if "extra" is <<1, 2>>, return <<0, 2, 1, 2>> not <<0, 2, 2, 1>>
Increment the offset correctly when sending PORT2_RESP, in order to
make sure the "extra" field won't be truncated:
if "extra" is <<>>, return <<0, 0>> not <<0>>
if "extra" is <<1, 2>>, return <<0, 2, 1, 2>> not <<0, 2, 1>>
Allow null characters in "extra".
|
|
|