X-Git-Url: https://git.distorted.org.uk/~mdw/preload-hacks/blobdiff_plain/662746a59d04618a235c3399bd4507ef0c011184..9111857cc67644ff89749d5919647b38033bb6fd:/noip.c diff --git a/noip.c b/noip.c index 8dac7e4..345f325 100644 --- a/noip.c +++ b/noip.c @@ -1127,7 +1127,10 @@ static int do_implicit_bind(int sk, const struct sockaddr *sa, unsigned f) sockaddr_in_range_p(sa, &i->minaddr, &i->maxaddr)) { D( fprintf(stderr, "noip(%d): match!\n", pid); ) addr.sa.sa_family = sa->sa_family; - ipaddr_to_sockaddr(&addr.sa, &i->bindaddr); + switch (i->how) { + case EXPLICIT: ipaddr_to_sockaddr(&addr.sa, &i->bindaddr); break; + case SAME: copy_sockaddr(&addr.sa, sa); break; + } port_to_sockaddr(&addr.sa, 0); goto found; }