29 access->
order = order;
37 if(access->
deny != NULL) free(access->
deny);
43 struct in_addr legacy_mask;
46 #ifndef HAVE_INET_PTON
47 if(strchr(mask,
'.') && inet_aton(mask, &legacy_mask))
49 if(inet_pton(AF_INET, mask, &legacy_mask.s_addr) > 0)
53 int temp = ntohl(legacy_mask.s_addr);
56 while(netsize && temp%2==0)
63 netsize =
j_atoi(mask, defaultsize);
72 memset(dst, 0,
sizeof(
struct sockaddr_in));
73 dst->sin_family = AF_INET;
80 struct sockaddr_in *sin_1;
81 struct sockaddr_in *sin_2;
86 sin_1 = (
struct sockaddr_in *)ip_1;
87 sin_2 = (
struct sockaddr_in *)ip_2;
98 struct sockaddr_in *temp;
100 temp = (
struct sockaddr_in *)&t;
112 struct sockaddr_in *temp;
114 temp = (
struct sockaddr_in *)&t;
134 netmask = htonl(-1 << (32-netsize));
136 return ((sin_1->sin_addr.s_addr&netmask) == (sin_2->sin_addr.s_addr&netmask));
142 unsigned char bytemask;
147 for(i=0; i<netsize/8; i++)
154 bytemask = 0xff << (8 - netsize%8);
175 memcpy(&access->
allow[access->
nallow].
ip, &ip_addr,
sizeof(ip_addr));
195 memcpy(&access->
deny[access->
ndeny].
ip, &ip_addr,
sizeof(ip_addr));
207 int i, allow = 0, deny = 0;
213 for(i = 0; !allow && i < access->
nallow; i++)
215 rule = &access->
allow[i];
221 for(i = 0; !deny && i < access->
ndeny; i++)
223 rule = &access->
deny[i];
229 if(access->
order == 0)