static int check_ports(struct sock *s) { int port; struct addr *addr; if (ports == NULL) return (1); if ((s->family != AF_INET) && (s->family != AF_INET6)) return (1); for (addr = s->laddr; addr != NULL; addr = addr->next) { if (s->family == AF_INET) port = ntohs(sstosin(&addr->address)->sin_port); else port = ntohs(sstosin6(&addr->address)->sin6_port); if (CHK_PORT(port)) return (1); } for (addr = s->faddr; addr != NULL; addr = addr->next) { if (s->family == AF_INET) port = ntohs(sstosin(&addr->address)->sin_port); else port = ntohs(sstosin6(&addr->address)->sin6_port); if (CHK_PORT(port)) return (1); } return (0); }
static int check_ports(struct sock *s) { int port; if (ports == NULL) return (1); if ((s->family != AF_INET) && (s->family != AF_INET6)) return (1); if (s->family == AF_INET) port = ntohs(((struct sockaddr_in *)(&s->laddr))->sin_port); else port = ntohs(((struct sockaddr_in6 *)(&s->laddr))->sin6_port); if (CHK_PORT(port)) return (1); if (s->family == AF_INET) port = ntohs(((struct sockaddr_in *)(&s->faddr))->sin_port); else port = ntohs(((struct sockaddr_in6 *)(&s->faddr))->sin6_port); if (CHK_PORT(port)) return (1); return (0); }