Skip to content

Commit

Permalink
FS-9594: Fixed hostname resolving for IPv6 addreses.
Browse files Browse the repository at this point in the history
aa
  • Loading branch information
sergey-safarov committed Oct 8, 2016
1 parent 808978e commit adb8c80
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
13 changes: 6 additions & 7 deletions src/mod/event_handlers/mod_kazoo/kazoo_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ switch_socket_t *create_socket_with_port(switch_memory_pool_t *pool, switch_port
return NULL;
}

switch_getnameinfo(&globals.hostname, sa, 0);

// if (globals.nat_map && switch_nat_get_type()) {
// switch_nat_add_mapping(port, SWITCH_NAT_TCP, NULL, SWITCH_FALSE);
// }
Expand All @@ -170,7 +172,6 @@ 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) {
struct hostent *nodehost;
char hostname[EI_MAXHOSTNAMELEN + 1] = "";
char nodename[MAXNODELEN + 1];
char cnodename[EI_MAXALIVELEN + 1];
Expand All @@ -186,12 +187,10 @@ switch_status_t create_ei_cnode(const char *ip_addr, const char *name, struct ei
/* truncate the alivename at the @ */
*atsign = '\0';
} else {
if ((nodehost = gethostbyaddr(ip_addr, sizeof (ip_addr), AF_INET))) {
memcpy(hostname, nodehost->h_name, EI_MAXHOSTNAMELEN);
}

if (zstr_buf(hostname) || !strncasecmp(globals.ip, "0.0.0.0", 7)) {
gethostname(hostname, EI_MAXHOSTNAMELEN);
if (zstr(globals.hostname) || !strncasecmp(globals.ip, "0.0.0.0", 7) || !strncasecmp(globals.ip, "::", 2)) {
memcpy(hostname, switch_core_get_hostname(), EI_MAXHOSTNAMELEN);
} else {
memcpy(hostname, globals.hostname, EI_MAXHOSTNAMELEN);
}

snprintf(nodename, MAXNODELEN + 1, "%s@%s", globals.ei_nodename, hostname);
Expand Down
1 change: 1 addition & 0 deletions src/mod/event_handlers/mod_kazoo/mod_kazoo.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ struct globals_s {
switch_bool_t ei_shortname;
int ei_compat_rel;
char *ip;
char *hostname;
char *ei_cookie;
char *ei_nodename;
char *kazoo_var_prefix;
Expand Down

0 comments on commit adb8c80

Please sign in to comment.