diff options
author | Patrik Nyblom <[email protected]> | 2010-09-13 11:26:23 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2010-09-13 11:26:23 +0200 |
commit | bbf3ab21b404aedbf9c7b7062b1e96062133fe44 (patch) | |
tree | 8b1c92bf4026ac89bb5e53487fd33165852d271a /lib/erl_interface/doc/src | |
parent | 9c563c44bb4a7aeabb737ddf4dca5d6639502397 (diff) | |
parent | 2f2d592385b53ce594623a614c2e0cd8e2107d7d (diff) | |
download | otp-bbf3ab21b404aedbf9c7b7062b1e96062133fe44.tar.gz otp-bbf3ab21b404aedbf9c7b7062b1e96062133fe44.tar.bz2 otp-bbf3ab21b404aedbf9c7b7062b1e96062133fe44.zip |
Merge branch 'pan/epmd-vulnerabilities/OTP-8780' into dev
* 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
Diffstat (limited to 'lib/erl_interface/doc/src')
-rw-r--r-- | lib/erl_interface/doc/src/ei_connect.xml | 27 | ||||
-rw-r--r-- | lib/erl_interface/doc/src/erl_connect.xml | 29 |
2 files changed, 31 insertions, 25 deletions
diff --git a/lib/erl_interface/doc/src/ei_connect.xml b/lib/erl_interface/doc/src/ei_connect.xml index 36dfb149cc..f562615ddd 100644 --- a/lib/erl_interface/doc/src/ei_connect.xml +++ b/lib/erl_interface/doc/src/ei_connect.xml @@ -4,7 +4,7 @@ <cref> <header> <copyright> - <year>2001</year><year>2009</year> + <year>2001</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -508,7 +508,7 @@ if (ei_decode_version(result.buff, &index) < 0 same as the port number that was previously bound to the socket.</p> <p><c><![CDATA[addr]]></c> is the 32-bit IP address of the local host.</p> <p>To unregister with epmd, simply close the returned - descriptor. See also <c><![CDATA[ei_unpublish()]]></c>.</p> + descriptor. Do not use <c><![CDATA[ei_unpublish()]]></c>, which is deprecated anyway.</p> <p>On success, the functions return a descriptor connecting the calling process to epmd. On failure, they return -1 and set <c><![CDATA[erl_errno]]></c> to <c><![CDATA[EIO]]></c>.</p> @@ -558,18 +558,21 @@ typedef struct { </func> <func> <name><ret>int</ret><nametext>ei_unpublish(ei_cnode *ec)</nametext></name> - <fsummary>Unpublish a node name</fsummary> + <fsummary>Forcefully unpublish a node name</fsummary> <desc> <p>This function can be called by a process to unregister a - specified node from epmd on the localhost. This may be - useful, for example, when epmd has not detected the failure of a - node, and will not allow the name to be reused. If you use this - function to unregister your own process, be sure to also close - the descriptor that was returned by <c><![CDATA[ei_publish()]]></c>.</p> - <note> - <p>Careless use of this function may have unpredictable - results, if the registered node is in fact still running.</p> - </note> + specified node from epmd on the localhost. This is however usually not + allowed, unless epmd was started with the -relaxed_command_check + flag, which it normally isn't.</p> + + <p>To unregister a node you have published, you should + close the descriptor that was returned by + <c><![CDATA[ei_publish()]]></c>.</p> + + <warning> + <p>This function is deprecated and will be removed in a future + release.</p> + </warning> <p><c><![CDATA[ec]]></c> is the node structure of the node to unregister.</p> <p>If the node was successfully unregistered from epmd, the function returns 0. Otherwise, it returns -1 and sets diff --git a/lib/erl_interface/doc/src/erl_connect.xml b/lib/erl_interface/doc/src/erl_connect.xml index b2235925b2..bd5e637244 100644 --- a/lib/erl_interface/doc/src/erl_connect.xml +++ b/lib/erl_interface/doc/src/erl_connect.xml @@ -4,7 +4,7 @@ <cref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -451,7 +451,7 @@ typedef struct { <p><c><![CDATA[port]]></c> is the local name to register, and should be the same as the port number that was previously bound to the socket.</p> <p>To unregister with epmd, simply close the returned - descriptor. See also <c><![CDATA[erl_unpublish()]]></c>. + descriptor. </p> <p>On success, the functions return a descriptor connecting the calling process to epmd. On failure, they return -1 and set @@ -507,21 +507,24 @@ typedef struct { </func> <func> <name><ret>int</ret><nametext>erl_unpublish(alive)</nametext></name> - <fsummary>Unpublish a node name</fsummary> + <fsummary>Forcefully unpublish a node name</fsummary> <type> <v>char *alive;</v> </type> <desc> - <p>This function can be called by a process to unregister a - specified node name from epmd on the localhost. This may be - useful, for example, when epmd has not detected the failure of a - node, and will not allow the name to be reused. If you use this - function to unregister your own process, be sure to also close - the descriptor that was returned by <c><![CDATA[erl_publish()]]></c>.</p> - <note> - <p>Careless use of this function may have unpredictable - results, if the registered node is in fact still running.</p> - </note> + <p>This function can be called by a process to unregister a + specified node from epmd on the localhost. This is however usually not + allowed, unless epmd was started with the -relaxed_command_check + flag, which it normally isn't.</p> + + <p>To unregister a node you have published, you should instead + close the descriptor that was returned by + <c><![CDATA[ei_publish()]]></c>.</p> + + <warning> + <p>This function is deprecated and will be removed in a future + release.</p> + </warning> <p><c><![CDATA[alive]]></c> is the name of the node to unregister, i.e., the first component of the nodename, without the <c><![CDATA[@hostname]]></c>.</p> <p>If the node was successfully unregistered from epmd, the |