X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/preload-hacks/blobdiff_plain/7be80f86f3c9a5793f218143888fb2be734ae749..deedf22d7c74bec2330fd0e555d1dda49e96b26e:/noip.c diff --git a/noip.c b/noip.c index 085b0be..0fab12e 100644 --- a/noip.c +++ b/noip.c @@ -597,7 +597,8 @@ static int acl_allows_p(const aclnode *a, const struct sockaddr *sa) present_sockaddr(sa, 0, buf, sizeof(buf))); }) for (; a; a = a->next) { D( dump_aclnode(a); ) - if (sockaddr_in_range_p(sa, &a->minaddr, &a->maxaddr) && + if (a->af == sa->sa_family && + sockaddr_in_range_p(sa, &a->minaddr, &a->maxaddr) && a->minport <= port && port <= a->maxport) { D( fprintf(stderr, "noip(%d): aha! %s\n", pid, a->act ? "ALLOW" : "DENY"); ) @@ -1316,7 +1317,8 @@ static void parse_autoports(char **pp) SKIPSPC; NEXTNUMBER(q, del); x = strtoul(q, 0, 0); RESCAN(del); SKIPSPC; - if (*p != '-') goto bad; p++; + if (*p != '-') goto bad; + p++; NEXTNUMBER(q, del); y = strtoul(q, 0, 0); RESCAN(del); minautoport = x; maxautoport = y; SKIPSPC; if (*p) goto bad;