Your message dated Fri, 26 Apr 2013 15:40:59 +0400
with message-id 
<caoq2pxe3qj3oi7a+qstvdvfwfknwvy9oag9pzueqsx1cvgw...@mail.gmail.com>
and subject line Re: Bug#585122: (no subject)
has caused the Debian Bug report #585122,
regarding Please make epmd bindable to only loopback address
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
585122: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=585122
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: erlang-base
Version: 1:13.b.4-dfsg-5
Severity: wishlist
Tags: upstream, patch

Hello,

when used in conjunction with ejabberd, I only need to run erlang
programs on one single machine. It seems advisable that in such
cases the epmd binds only to the loopback address. (a similiar
option for the rpc portmap daemon exists)

The following patch allows for such an option. This would make it
possible to start e.g. ejabberd with -epmd "epmd -loopback"

Bye,

Joerg
--- erts/epmd/src/epmd.c.orig   2010-06-09 11:12:51.000000000 +0200
+++ erts/epmd/src/epmd.c        2010-06-09 11:19:55.000000000 +0200
@@ -248,6 +248,7 @@
 
     g->silent         = 0; 
     g->is_daemon      = 0;
+    g->bind_loopback  = 0;
     g->packet_timeout = CLOSE_TIMEOUT; /* Default timeout */
     g->delay_accept   = 0;
     g->delay_write    = 0;
@@ -283,6 +284,9 @@
        } else if (strcmp(argv[0], "-daemon") == 0) {
            g->is_daemon = 1;
            argv++; argc--;
+       } else if (strcmp(argv[0], "-loopback") == 0) {
+           g->bind_loopback = 1;
+           argv++; argc--;
        } else if (strcmp(argv[0], "-kill") == 0) {
            if (argc == 1)
                kill_epmd(g);
@@ -468,7 +472,7 @@
 
 static void usage(EpmdVars *g)
 {
-    fprintf(stderr, "usage: epmd [-d|-debug] [DbgExtra...] [-port No] 
[-daemon]\n");
+    fprintf(stderr, "usage: epmd [-d|-debug] [DbgExtra...] [-port No] 
[-daemon] [-loopback]\n");
     fprintf(stderr, "            [-d|-debug] [-port No] [-names|-kill]\n\n");
     fprintf(stderr, "See the Erlang epmd manual page for info about the 
usage.\n");
     fprintf(stderr, "The -port and DbgExtra options are\n\n");
--- erts/epmd/src/epmd_int.h.orig       2010-06-09 11:11:48.000000000 +0200
+++ erts/epmd/src/epmd_int.h    2010-06-09 11:12:32.000000000 +0200
@@ -316,6 +316,7 @@
   int debug;
   int silent; 
   int is_daemon;
+  int bind_loopback;
   unsigned packet_timeout;
   unsigned delay_accept;
   unsigned delay_write;
--- erts/epmd/src/epmd_srv.c.orig       2010-06-09 11:20:27.000000000 +0200
+++ erts/epmd/src/epmd_srv.c    2010-06-09 11:22:54.000000000 +0200
@@ -173,7 +173,10 @@
 
   { /* store port number in unsigned short */
     unsigned short sport = g->port;
-    SET_ADDR_ANY(iserv_addr, FAMILY, sport);
+    if (g->bind_loopback)
+       SET_ADDR_LOOPBACK(iserv_addr, FAMILY, sport);
+    else
+       SET_ADDR_ANY(iserv_addr, FAMILY, sport);
   }
   
 #ifdef _OSE_

Attachment: signature.asc
Description: Digital signature


--- End Message ---
--- Begin Message ---
Version: 1:14.b.3-dfsg-1

On Fri, Apr 26, 2013 at 8:21 AM, Sergei Golovan <[email protected]> wrote:
> Hi!
>
> On Fri, Apr 26, 2013 at 2:37 AM, Roland Hieber <[email protected]> wrote:
>> Cool, not so intuitive like a command-line option, but definitely a step
>> in the right direction. Thanks for the info!
>
> epmd is rarely called directly from a command line. Usually, some
> distributed Erlang application executes it if it isn't listening on
> port 4369.

In fact, there is a command line option. -address. It was introduced
in version R14B03.
So, I'm closing this bug.

Cheers!
--
Sergei Golovan

--- End Message ---

Reply via email to