aboutsummaryrefslogtreecommitdiffstats
path: root/erts/epmd
AgeCommit message (Collapse)Author
2019-03-22epmd: Support 32-bit creation values in local nodeSverker Eriksson
* Increase distribution version from 5 to 6 * Introduce new ALIVE2_X_RESP with 32-bit creation as reply to ALIVE2_REQ when sender dist version >= 6 * Still reply old ALIVE2_RESP with tiny creation 1..3 if sender dist version < 6.
2019-03-22erts: Robustify epmd reply functionSverker Eriksson
2018-11-09epmd: Move -systemd position in -help outputMatwey V. Kornilov
-systemd option help is currently shown in "Interactive options" section. The option is not interactive one. Fixes: b7c95eabf601 ("Add systemd socket activation for epmd") Signed-off-by: Matwey V. Kornilov <[email protected]>
2017-05-04Update copyright yearRaimo Niskanen
2017-04-03Don't exit 0 if killing epmd is impossible because there's living nodesStephan Renatus
Living nodes will make `epmd -kill` fail, but there's no way to tell except by looking at the commands output. With this change, the exit code will be 1 to indicate failure. Signed-off-by: Stephan Renatus <[email protected]>
2017-02-14Fixed typos in ertsAndrew Dryga
2016-05-04Eliminate use of doc and suite clausesBjörn-Egil Dahlberg
Those clause are obsolete and never used by common_test.
2016-05-04Replace use of test_server:format/2 with io:format/2Björn-Egil Dahlberg
There is no practial difference.
2016-05-04Modernize use of timetrapsBjörn-Egil Dahlberg
2016-05-04Remove ?line macrosBjörn-Egil Dahlberg
2016-04-14Merge branch 'binarin/erts/fix-epmd-systemd-notifications/PR-999/OTP-13493'Björn-Egil Dahlberg
* binarin/erts/fix-epmd-systemd-notifications/PR-999/OTP-13493: Don't send unasked for systemd notifications
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-12Merge branch 'patch-2' of https://github.com/michaelklishin/otpSverker Eriksson
2016-04-10Typos correction, minor wording changeMichael Klishin
2016-03-29Don't send unasked for systemd notificationsAlexey Lebedeff
Suppose we have some erlang system that uses systemd unit with Type=notify - so this should send startup confirmation itself. But if systemd-enabled epmd will be started as a first step of that system startup, empd startup confirmation will be misinterpeted by systemd. And our erlang service will be considered 'ready' to early. Also this will interefere with systemd MAINPID detection: systemd will be monitoring `epmd` process instead of `beam` one. For example, rabbitmq works around this issue by starting epmd using separate short-lived beam process, with NOTIFY_SOCKET environment variable reset - only in this way we could be sure that epmd will not interfere with rabbit startup sequence. This patch disables indiscriminate confirmation sending, and does it only when it was explicitly asked to do so.
2016-03-15update copyright-yearHenrik Nord
2016-03-02Merge branch 'maint'Ingela Anderton Andin
2016-03-02Skips any sockets with unsupported protocols.Ingela Anderton Andin
Patch from end of PR 864 Fixes problem reported in the PR by jeckersb In this error case, a negative file descriptor is now saved at listensock[i], which leads to a buffer overflow later on at https://github.com/msantos/otp/blob/epmd-IPv6-node-reg2/erts/epmd/src/epmd_srv.c#L498 when calling FD_ISSET(listensock[i],&read_mask). To reproduce this: Completely disable IPv6 with ipv6.disable=1 on the kernel command line Build with fortified code (RHEL/CentOS default): CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fno-strict-aliasing'
2016-03-01Merge branch 'maint'Ingela Anderton Andin
2016-02-17Eliminate use of test_server.hrl and test_server_line.hrlBjörn Gustavsson
As a first step to removing the test_server application as as its own separate application, change the inclusion of test_server.hrl to an inclusion of ct.hrl and remove the inclusion of test_server_line.hrl.
2016-02-10epmd: support IPv6 node registrationMichael Santos
Allow IPv6 nodes to register with and query epmd. On systems with IPv6 support: * epmd listens on both the IPv4 and IPv6 ANY or loopback sockets * the epmd cli client connects to epmd over the IPv6 loopback * distributed nodes started with "-proto_dist inet6_tcp" will register with epmd over IPv6 To work on IPv6 capable systems that have IPv6 support disabled, epmd ignores errors opening the socket if the protocol is not supported. Similarly, the epmd client will fall back to IPv4 if the IPv6 socket is not available. Update the minimum supported version of Windows to Windows Vista to support IPv6.
2016-02-04Merge branch 'maint'Zandra
2016-02-04Merge branch 'binarin/epmd-race' into maintZandra
* binarin/epmd-race: Prevent down nodes going undetected in epmd OTP-13301
2015-12-28Merge branch 'maint'Zandra
2015-12-15Prevent down nodes going undetected in epmdAlexey Lebedeff
In the following (rare) case down node will be always registered in epmd: - client connects to epmd and sends ALIVE2 request - epmd reads this request and starts to process it - during that time client socket closes in such way that subsequent write(2) in epmd will result in error - at this point we have node that was registered in database, but as the connection struct has no 'keep' flag set, the do_read() closes connection and removes it from select fdset - and so there is no way for this node to be cleaned up later. We've seen several epmd instances in such state on our production systems. And while I'm not sure what was the exact sequence of events that leads to failed write(2), issue could be easily reproduced using SO_LINGER option for socket.
2015-12-14Don't wait for twice the delay_write timeoutAlexey Lebedeff
This happens only during processing ALIVE2 request. reply() already performs the same delay as in the deleted code.
2015-11-11Merge branch 'maint'Henrik Nord
2015-11-04add missing time.hHenrik Nord
2015-07-10ose: Remove all code related to the OSE portLukas Larsson
The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-16Revert "Add missing error string to syslog logging in epmd"Björn-Egil Dahlberg
This reverts commit e2c11e89563f0c11794c91193b29bce00ca9c740.
2014-11-25Merge branch 'maint'Lukas Larsson
* maint: epmd: Unify systemd autoconf macros usage epmd: Added systemd notify support to EPMD
2014-11-24epmd: Unify systemd autoconf macros usagePeter Lemenkov
Don't use both HAVE_SYSTEMD_DAEMON and HAVE_SYSTEMD_SD_DAEMON - use only the former one and remove the latter one entirely. Signed-off-by: Peter Lemenkov <[email protected]>
2014-11-24epmd: Added systemd notify support to EPMDPeter Lemenkov
Signed-off-by: Peter Lemenkov <[email protected]>
2014-09-15epmd: pedantic spelling fix in commentsChris Dituri
Correct spelling errors in the run_daemon() comments which describe the redirection of stdin, stdout, and stderr to /dev/null for safety reasons.
2014-08-21Merge branch 'nox/reedr-logging/OTP-12115' into maintLukas Larsson
* nox/reedr-logging/OTP-12115: Add number of entries to mnesia copy debug message Add thread index to allocator enomem dump slogan Add run queue index to process dump info Add missing error string to syslog logging in epmd Demote rare debug slogan of message discarding to debug build
2014-05-09erts: Fix various autoconf issuesLukas Larsson
* Check of atomics on bsd * Add --enable-systemd for epmd * Remove unused --enable-tsp option
2014-03-27Merge branch 'matwey/systemd/OTP-11829'Lukas Larsson
* matwey/systemd/OTP-11829: Add systemd socket activation for epmd. Conflicts: erts/epmd/src/epmd_int.h Extra ticket: OTP-11828
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
2014-03-26ose: Break lmconf into one per load moduleLukas Larsson
2014-03-21Merge branch 'glacjay/epmd-argv'Henrik Nord
* glacjay/epmd-argv: ensure argv large enough for all possible args OTP-11808
2014-03-09Add missing error string to syslog logging in epmdRick Reed
2014-02-26ensure argv large enough for all possible argsJay True
2014-02-24ose: Fix various build environment issuesLukas Larsson
2014-02-24Added support for ENEA OSELukas Larsson
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.
2014-02-19Add systemd socket activation for epmd.Matwey V. Kornilov
Check for systemd libraries and headers in confgiure. Add -systemd option enabling waiting for sockets from systemd.
2014-01-14epmd: Fix -names option on WindowsJohannes Weißl
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).
2013-09-11Fix syslog definesMatt Lewandowsky
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.
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-23Merge branch 'sverk/r16/utf8-atoms'Sverker Eriksson
* 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