aboutsummaryrefslogtreecommitdiffstats
path: root/lib/erl_interface/src/connect
AgeCommit message (Collapse)Author
2017-05-04Update copyright yearRaimo Niskanen
2017-03-22This patch fixes the issue in which erlang fails to startDeepak Goel
if the hostname is 64 characters on a linux system.
2016-10-13use only two low bits of creationAlexandre Snarskii
2016-06-21erl_interface: Look for .erlang.cookie in windows directorySverker Eriksson
the same as erlexec do to set -home command argument which is used to look for .erlang.cookie.
2016-06-21erl_interface: Refactor get_home()Sverker Eriksson
by separating WIN32 and other implementation more.
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-04-07erts: Add DFLAG_BIG_CREATIONSverker Eriksson
to let future nodes know that we can handle NEW_PID_EXT, NEW_PORT_EXT and NEWER_REFERENCE_EXT.
2016-03-15update copyright-yearHenrik Nord
2015-12-27ei: fix breakage reported by Sergei GolovanTuncer Ayaz
192c4a80c broke the build on at least Debian/Hurd and Debian/kFreeBSD, because it's not linux but still using glibc. To fix it, test for __GLIBC__ in addition to __linux__.
2015-12-27Revert "musl: fix gethostbyname_r/gethostbyaddr_ selection"Tuncer Ayaz
This reverts commit 192c4a80c7d6fe9949aecb864901c4a3d9549f36. This breaks on Debian/Hurd, Debian/kFreeBSD, and possibly other platforms as well. Will be solved differently in a follow-up commit.
2015-11-14musl: fix gethostbyname_r/gethostbyaddr_ selectionTuncer Ayaz
To fix conditional selection of the actually available gethostbyname_r and gethostbyaddr_r, we replace __GLIBC__ with __linux__. @zenhack tested this to work with gcc and clang targeting glibc, uclibc, musl, and bionic. The proper way to check this is through configure.in.
2015-06-18Change license text to APLv2Bruce Yinhe
2014-08-25Fix misspellings of 'another'Tuncer Ayaz
2014-03-21Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov
Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
2014-03-14erts: Add distribution capability flag for maps DFLAG_MAP_TAGSverker Eriksson
This is just a preparation to allow detection of older nodes that do not understand maps (R16 and older).
2014-01-20(memcheck) Uninitialized structure in gen_challengeOlivier Girondel
2013-12-02Conditionally compile my_gethostbyname_r and my_gethostbyaddr_rAnthony Ramine
These are not needed when not on VXWORKS or without _REENTRANT. connect/ei_resolve.c:302:24: warning: unused function 'my_gethostbyname_r' [-Wunused-function] static struct hostent *my_gethostbyname_r(const char *name, ^ connect/ei_resolve.c:360:24: warning: unused function 'my_gethostbyaddr_r' [-Wunused-function] static struct hostent *my_gethostbyaddr_r(const char *addr, ^
2013-12-02Silence a mismatching type pointer warning in ei_resolveAnthony Ramine
Why we are assigning a pointer to pointer to char to a pointer to char baffles me. The warning is: connect/ei_resolve.c:229:11: warning: incompatible pointer types assigning to 'char *' from 'char **'; dereference with * [-Wincompatible-pointer-types] *pptr = src_aliases; ^ ~~~~~~~~~~~ *
2013-05-08erl_interface: check if file descriptor is valid before closingFredrik Gustafsson
2013-02-18erl_interface,ic: Remove node_org_enc from erlang_{pid,port,ref}Sverker Eriksson
in order to be backward compatible with user code that accesses the members of erlang_pid and friend. The documentation does not mention the content of these structs, but we have example code that does. So the safe way it the revert the node_org_enc field (added in R16A) and instead determine in runtime which atom encoding to use depending on if the node atom contains unicode (>255) characters or not.
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-22erl_interface: even more utf8 atom stuffSverker Eriksson
2013-01-18erl_interface: utf8 atoms continuedSverker Eriksson
2012-10-10erl_interface: Avoid redefinition of ALIGNBYTESBjörn-Egil Dahlberg
Changed to EI_ALIGNBYTES
2011-06-29Align ei buffer according to size of pointersBjörn-Egil Dahlberg
2011-03-24Merge branch 'cg/fix-sizeof-array-arg' into devHenrik Nord
* cg/fix-sizeof-array-arg: Fix using sizeof() for array given as function argument OTP-9151
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-25Fix using sizeof() for array given as function argumentCristian Greco
When using the sizeof() operator for an array given as function argument it returns the size of the pointer. In this case, the affected function hex(char digest[16], char buff[33]) will just print 4 or 8 byte instead of the full length of 16 bytes, on 32bit and 64bit systems respectively.
2011-01-03Merge branch 'vb/ei-exts' into devBjörn-Egil Dahlberg
* vb/ei-exts: Fix testcases erl_global_whereis, erl_global_names Fix wrong erl_compare_ext result comparing lists Correct erl_global{register, unregister} functions Add PID (~p) type parameters to ei_format Add char (~c) type parameters to ei_format OTP-9015 Conflicts: lib/erl_interface/include/ei.h
2010-12-15Remove ancient distribution message DOP_NODE_LINK from all codePatrik Nyblom
2010-12-10Correct erl_global{register, unregister} functionsVitaliy Batichko
C node needs DFLAG_DIST_MONITOR flag set when connecting, and support for processing monitoring start/end messages received from counterpart, to make global registration actually work.
2010-11-08Fix faulty tracelevel in erl_interfaceBjörn-Egil Dahlberg
2010-09-13Teach Winsock initialization to be thread safePatrik Nyblom
2010-09-07Merge branch 'mk/net-dragonfly-bsd-patches' into devBjörn Gustavsson
* mk/net-dragonfly-bsd-patches: Remove unused variables Use proper install method Add support for DragonFly BSD Add support for NetBSD
2010-08-23ei: prevent overflow in ei_connect_init/ei_xconnectMichael Santos
Check the length of the buffer before copying. ei_cnode ec; struct in_addr addr; char *node = (char *)calloc(5001, 1); (void)memset(node, 'x', 5000); ei_connect_init(&ec, node, "", 0); addr.s_addr = inet_addr("192.168.1.1"); ei_xconnect(&ec, &addr, node);
2010-08-13Add support for DragonFly BSDMartti Kuparinen
These are the current NetBSD pkgsrc patches.
2010-06-08Merge branch 'sv/serge-new_float_ext' into devErlang/OTP
* sv/serge-new_float_ext: Let ei_get_type() return ERL_FLOAT_EXT instead of NEW_FLOAT_EXT Fix ei_tmo to restrict dflags to NEW_FLOAT_EXT compact IEEE 754 double encoding in external binary format for ei fix typo in ei_decode_ei_term documentation OTP-8684 sv/serge-new_float_ext compact IEEE 754 double encoding in external binary format for ei Implement the compact IEEE 754 double encoding in external binary format for ei. Encoding for ei now always produces the NEW_FLOAT_EXT format. Decoding and term printing handle both the old ERL_FLOAT_EXT encoding and the new NEW_FLOAT_EXT encoding. Legacy erl_interface code also handles the new encoding, but still produces the ERL_FLOAT_EXT encoding by default. Also enable the DFLAG_NEW_FLOATS distribution flag. ei_get_type() will return ERL_FLOAT_EXT regardless if the external format is encoded with ERL_FLOAT_EXT or NEW_FLOAT_EXT for doubles. Reduce the number of copies of the code for encoding and decoding doubles throughout ei and erl_interface by instead calling the ei encoding and decoding functions wherever possible. Restore commented-out float tests in ei_decode_SUITE and ei_encode_SUITE in lib/erl_interface/test. Modify them to make them match the style of other tests in the same suites. These changes are based on an ei float patch from Serge Aleynikov originally submitted against R12B-2 in July 2008 and reworked by Steve Vinoski May 2010.
2010-06-07compact IEEE 754 double encoding in external binary format for eiSteve Vinoski
Implement the compact IEEE 754 double encoding in external binary format for ei. Encoding for ei now always produces the NEW_FLOAT_EXT format. Decoding and term printing handle both the old ERL_FLOAT_EXT encoding and the new NEW_FLOAT_EXT encoding. Legacy erl_interface code also handles the new encoding, but still produces the ERL_FLOAT_EXT encoding by default. Also enable the DFLAG_NEW_FLOATS distribution flag. Reduce the number of copies of the code for encoding and decoding doubles throughout ei and erl_interface by instead calling the ei encoding and decoding functions wherever possible. Restore commented-out float tests in ei_decode_SUITE and ei_encode_SUITE in lib/erl_interface/test. Modify them to make them match the style of other tests in the same suites. These changes are based on an ei float patch from Serge Aleynikov originally submitted against R12B-2 in July 2008.
2009-12-09OTP-5037 Document debug support.Björn-Egil Dahlberg
Debug trace output for connection activity could be enabled setting the trace level as an integer to the EI_TRACELEVEL environment variable. This option could also be read and set from a running program using ei_get_tracelevel(void) and ei_set_tracelevel(int).
2009-12-08OTP-5037 Document debug support.Björn-Egil Dahlberg
Debug trace output for connection activity could be enabled setting the trace level as an integer to the EI_TRACELEVEL environment variable. This option could also be read and set from a running program using ei_get_tracelevel(void) and ei_set_tracelevel(int).
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP