assert(ix>=0 && ix<socks->n_socks);
snprintf(sbuf, sizeof(sbuf), "udp:%s%s-%s",
iaddr_to_string(&socks->socks[ix].addr),
- ca->ix<0 ? "&" : "",
+ ca->ix<0 && socks->n_socks>1 ? "&" : "",
iaddr_to_string(&ca->ia));
return sbuf;
}
if (uc->authbind) {
pid_t c;
int status;
+ char desc[200];
+ snprintf(desc,sizeof(desc),"authbind for %s: %s",
+ iaddr_to_string(addr), uc->authbind);
/* XXX this fork() and waitpid() business needs to be hidden
in some system-specific library functions. */
if (WIFEXITED(status) && WEXITSTATUS(status)<127) {
int es=WEXITSTATUS(status);
lg_perror(FAIL_LG,es,
- "authbind exited with error exit status %d;"
- " indicates error",es);
+ "%s exited with error exit status %d;"
+ " indicates error",desc,es);
} else {
- lg_exitstatus(FAIL_LG,status,"authbind");
+ lg_exitstatus(FAIL_LG,status,desc);
}
goto failed;
}