From f6a96893db3dcb1c873d37bad88954b7a681b64d Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Mon, 23 Feb 2009 18:34:08 +0000 Subject: [PATCH] Bind to 0.0.0.0 instead of 127.0.0.1 by default; like most erlang nodes do. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12249 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../event_handlers/mod_erlang_event/ei_helpers.c | 14 ++++++++------ .../mod_erlang_event/erlang_event.conf.xml | 2 +- .../mod_erlang_event/mod_erlang_event.c | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/mod/event_handlers/mod_erlang_event/ei_helpers.c b/src/mod/event_handlers/mod_erlang_event/ei_helpers.c index ed9cf60281..160a15c204 100644 --- a/src/mod/event_handlers/mod_erlang_event/ei_helpers.c +++ b/src/mod/event_handlers/mod_erlang_event/ei_helpers.c @@ -316,6 +316,9 @@ switch_status_t initialise_ei(struct ei_cnode_s *ec) { switch_status_t rv; struct sockaddr_in server_addr; + struct hostent *nodehost; + char thishostname[EI_MAXHOSTNAMELEN+1] = ""; + char thisnodename[MAXNODELEN+1]; /* zero out the struct before we use it */ memset(&server_addr, 0, sizeof(server_addr)); @@ -334,14 +337,13 @@ switch_status_t initialise_ei(struct ei_cnode_s *ec) server_addr.sin_family = AF_INET; server_addr.sin_port = htons(prefs.port); - struct hostent *nodehost = gethostbyaddr(&server_addr.sin_addr.s_addr, sizeof(server_addr.sin_addr.s_addr), AF_INET); + if ((nodehost = gethostbyaddr(&server_addr.sin_addr.s_addr, sizeof(server_addr.sin_addr.s_addr), AF_INET))) + memcpy(thishostname, nodehost->h_name, EI_MAXHOSTNAMELEN); - char *thishostname = nodehost->h_name; - char thisnodename[MAXNODELEN+1]; - - if (!strcmp(thishostname, "localhost")) + if (switch_strlen_zero_buf(thishostname)) { gethostname(thishostname, EI_MAXHOSTNAMELEN); - + } + if (prefs.shortname) { char *off; if ((off = strchr(thishostname, '.'))) { diff --git a/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml b/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml index d71084ed3f..c4b73bfae7 100644 --- a/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml +++ b/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml @@ -1,6 +1,6 @@ - + diff --git a/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c b/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c index 7ff8a5ea84..fb1504dbc6 100644 --- a/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c +++ b/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c @@ -932,7 +932,7 @@ static int config(void) } if (switch_strlen_zero(prefs.ip)) { - set_pref_ip("127.0.0.1"); + set_pref_ip("0.0.0.0"); } if (switch_strlen_zero(prefs.cookie)) { @@ -1423,7 +1423,7 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_erlang_event_runtime) } } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Connected and published erlang cnode at %s\n", ec.thisnodename); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Connected to epmd and published erlang cnode at %s\n", ec.thisnodename); listen_list.ready = 1;