]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_kazoo] use globals hostname to create nodename in create_ei_cnode 164/head
authorlazedo <luis.azedo@factorlusitano.com>
Wed, 4 Dec 2019 05:58:08 +0000 (05:58 +0000)
committerlazedo <luis.azedo@factorlusitano.com>
Wed, 4 Dec 2019 05:58:08 +0000 (05:58 +0000)
src/mod/event_handlers/mod_kazoo/kazoo_ei_utils.c

index 7def04974be353c2e042bdf64060cd9fae879a2f..7f751db4f978f9ea0c89e66eb8f1a797b69d636a 100644 (file)
@@ -345,10 +345,9 @@ switch_socket_t *create_socket(switch_memory_pool_t *pool) {
 }
 
 switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei_cnode_s *ei_cnode) {
-    char hostname[EI_MAXHOSTNAMELEN + 1] = "";
+    char hostname[EI_MAXHOSTNAMELEN + 1];
     char nodename[MAXNODELEN + 1];
     char cnodename[EI_MAXALIVELEN + 1];
-    //EI_MAX_COOKIE_SIZE+1
     char *atsign;
 
     /* copy the erlang interface nodename into something we can modify */
@@ -356,17 +355,13 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
 
     if ((atsign = strchr(cnodename, '@'))) {
         /* we got a qualified node name, don't guess the host/domain */
-        snprintf(nodename, MAXNODELEN + 1, "%s", kazoo_globals.ei_nodename);
+        snprintf(nodename, MAXNODELEN + 1, "%s", name);
         /* truncate the alivename at the @ */
-        *atsign = '\0';
+        *atsign++ = '\0';
+        strncpy(hostname, atsign, EI_MAXHOSTNAMELEN);
     } else {
-        if (zstr(kazoo_globals.hostname) || !strncasecmp(kazoo_globals.ip, "0.0.0.0", 7) || !strncasecmp(kazoo_globals.ip, "::", 2)) {
-            memcpy(hostname, switch_core_get_hostname(), EI_MAXHOSTNAMELEN);
-        } else {
-            memcpy(hostname, kazoo_globals.hostname, EI_MAXHOSTNAMELEN);
-        }
-
-        snprintf(nodename, MAXNODELEN + 1, "%s@%s", kazoo_globals.ei_nodename, hostname);
+        strncpy(hostname, kazoo_globals.hostname, EI_MAXHOSTNAMELEN);
+        snprintf(nodename, MAXNODELEN + 1, "%s@%s", name, hostname);
     }
 
        if (kazoo_globals.ei_shortname) {
@@ -376,6 +371,8 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
                }
        }
 
+       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "creating nodename: %s\n", nodename);
+
     /* init the ec stuff */
     if (ei_connect_xinit(ei_cnode, hostname, cnodename, nodename, (Erl_IpAddr) ip_addr, kazoo_globals.ei_cookie, 0) < 0) {
         switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to initialize the erlang interface connection structure\n");