Skip to content
Snippets Groups Projects
Commit 0569cc95 authored by deuce's avatar deuce
Browse files

Fix callback data and resolution of [fec0::1]:80 style addresses in

xpms_add_list().
parent a6b0f937
Branches
Tags
No related merge requests found
...@@ -140,6 +140,7 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type, ...@@ -140,6 +140,7 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type,
{ {
char **iface; char **iface;
char *host; char *host;
char *host_str;
char *p, *p2; char *p, *p2;
BOOL one_good=FALSE; BOOL one_good=FALSE;
...@@ -147,10 +148,12 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type, ...@@ -147,10 +148,12 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type,
host=strdup(*iface); host=strdup(*iface);
WORD port=default_port; WORD port=default_port;
host_str=host;
if(xpms_set->lprintf) if(xpms_set->lprintf)
xpms_set->lprintf(LOG_INFO, "Adding %s listening socket on %s", prot, host); xpms_set->lprintf(LOG_INFO, "Adding %s listening socket on %s", prot, host);
p = strrchr(host, ':'); p = strrchr(host, ':');
if(host[0]=='[') { if(host[0]=='[') {
host_str++;
p2=strrchr(host,']'); p2=strrchr(host,']');
if(p2) if(p2)
*p2=0; *p2=0;
...@@ -161,7 +164,7 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type, ...@@ -161,7 +164,7 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type,
*(p++)=0; *(p++)=0;
sscanf(p, "%hu", &port); sscanf(p, "%hu", &port);
} }
if(xpms_add(xpms_set, PF_UNSPEC, SOCK_STREAM, 0, host, port, prot, sock_init, bind_init, NULL)) if(xpms_add(xpms_set, PF_UNSPEC, SOCK_STREAM, 0, host_str, port, prot, sock_init, bind_init, cbdata))
one_good=TRUE; one_good=TRUE;
free(host); free(host);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment