aboutsummaryrefslogtreecommitdiffstats
path: root/erts/epmd/src
AgeCommit message (Collapse)Author
2016-02-04Merge branch 'binarin/epmd-race' into maintZandra
* binarin/epmd-race: Prevent down nodes going undetected in epmd OTP-13301
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-04add missing time.hHenrik Nord
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
2013-01-22Add UTF-8 node name support for epmdRickard Green
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
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.
2012-09-07Replace sprintf with erts_snprintf in epmdBjörn-Egil Dahlberg
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-01-13erts,tools: Fix parallel make for erts/lib_srcRaimo Niskanen
Use a make timestamp file to condense dependencies to some part(s) of erts/lib_src build results.
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-08Merge branch 'hw/ignore-empty-epmd-address' into devHenrik Nord
* hw/ignore-empty-epmd-address: Let epmd ignore empty ERL_EPMD_ADDRESS OTP-9525
2011-08-30Merge branch 'ms/epmd-fix-compiler-warnings' into devHenrik Nord
* ms/epmd-fix-compiler-warnings: epmd: fix compiler warnings OTP-9500
2011-07-27Fix epmd crash on vxworks caused by faulty argument to selectSverker Eriksson
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.
2011-07-13Let epmd ignore empty ERL_EPMD_ADDRESSHolger Weiß
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.
2011-06-07epmd: fix compiler warningsMichael Santos
Suppress compiler warnings about ignored return values.
2011-05-20Update copyright yearsBjörn-Egil Dahlberg
2011-04-14Merge branch 'hw/fix-epmd-perror' into devHenrik Nord
* hw/fix-epmd-perror: Fix epmd's dbg_perror() output OTP-9223
2011-04-08Merge branch 'ms/epmd-local-access-check' into devHenrik Nord
* ms/epmd-local-access-check: epmd: include host address in local access check OTP-9214
2011-04-08Merge branch 'hw/epmd-bind-to-address' into devHenrik Nord
* hw/epmd-bind-to-address: Allow user to specify the IP address epmd binds to OTP-9213
2011-03-25Fix typo in epmd helpTuncer Ayaz
2011-01-11Remove special treatment of EADDRINUSEPatrik Nyblom
2011-01-11check return value of epmd server listen() callSteve Vinoski
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.
2010-11-26epmd: include host address in local access checkMichael Santos
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]
2010-11-17Allow user to specify the IP address epmd binds toHolger Weiß
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.
2010-11-13Fix epmd's dbg_perror() outputHolger Weiß
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.
2010-10-13Update hint where to find epmd protocol spec in epmd_srv.c.Ralf Doering
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]>
2010-09-13Fix ei to build on vxworksBjörn-Egil Dahlberg
2010-08-31Restore null termination of input bufferPatrik Nyblom
2010-08-31Teach epmd_cli.c to not respond 'Killed' when killing deniedPatrik Nyblom