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"); )
struct sockaddr_un wsun;
int rc;
char buf[ADDRBUFSZ];
+ int port = port_from_sockaddr(sa);
snprintf(sun->sun_path, sizeof(sun->sun_path), "%s/%s", sockdir,
present_sockaddr(sa, 0, buf, sizeof(buf)));
else if (rc == STALE) unlink(sun->sun_path);
wildcard_address(sa->sa_family, &waddr.sa);
- port_to_sockaddr(&waddr.sa, port_from_sockaddr(sa));
+ port_to_sockaddr(&waddr.sa, port);
snprintf(wsun.sun_path, sizeof(wsun.sun_path), "%s/%s", sockdir,
present_sockaddr(&waddr.sa, 0, buf, sizeof(buf)));
if ((rc = unix_socket_status(&wsun, !desperatep)) == USED) return (-1);
int i;
int desperatep = 0;
address addr;
+ int port = port_from_sockaddr(sa);
char buf[ADDRBUFSZ];
int rc;
present_sockaddr(sa, 0, buf, sizeof(buf)),
want == WANT_EXISTING ? "EXISTING" : "FRESH"); )
sun->sun_family = AF_UNIX;
- if (port_from_sockaddr(sa) || want == WANT_EXISTING) {
+ if (port || want == WANT_EXISTING) {
snprintf(sun->sun_path, sizeof(sun->sun_path), "%s/%s", sockdir,
present_sockaddr(sa, 0, buf, sizeof(buf)));
rc = unix_socket_status(sun, 0);
if (rc == STALE) unlink(sun->sun_path);
if (rc != USED && want == WANT_EXISTING) {
wildcard_address(sa->sa_family, &addr.sa);
- port_to_sockaddr(&addr.sa, port_from_sockaddr(sa));
+ port_to_sockaddr(&addr.sa, port);
snprintf(sun->sun_path, sizeof(sun->sun_path), "%s/%s", sockdir,
present_sockaddr(&addr.sa, 0, buf, sizeof(buf)));
if (unix_socket_status(sun, 0) == STALE) unlink(sun->sun_path);
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;