summaryrefslogtreecommitdiff
path: root/accel-pppd/iprange.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2014-12-01 16:40:04 +0300
committerDmitry Kozlov <xeb@mail.ru>2014-12-01 16:40:04 +0300
commit574912df113888ea19b4811b406612544514d9eb (patch)
treea7fec6d150d8710b31d4730ef7fab5c4c9ce4417 /accel-pppd/iprange.c
parent3cc7fd0165e096be25761710b66b44fda9d09190 (diff)
parente09279c7491a8bd16a25b123e03ddd0cd77b566d (diff)
downloadaccel-ppp-574912df113888ea19b4811b406612544514d9eb.tar.gz
accel-ppp-574912df113888ea19b4811b406612544514d9eb.zip
Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/code
Diffstat (limited to 'accel-pppd/iprange.c')
-rw-r--r--accel-pppd/iprange.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/accel-pppd/iprange.c b/accel-pppd/iprange.c
index c3bf2fec..6ea2c2f9 100644
--- a/accel-pppd/iprange.c
+++ b/accel-pppd/iprange.c
@@ -30,7 +30,7 @@ static struct iprange_t *parse1(const char *str)
int n,f1,f2,f3,f4,m;
struct iprange_t *r;
int mask;
-
+
n = sscanf(str, "%u.%u.%u.%u/%u",&f1, &f2, &f3, &f4, &m);
if (n != 5)
return NULL;
@@ -44,14 +44,14 @@ static struct iprange_t *parse1(const char *str)
return NULL;
if (m > 32)
return NULL;
-
+
r = _malloc(sizeof(*r));
r->begin = (f4 << 24) | (f3 << 16) | (f2 << 8) | f1;
-
+
mask = htonl(~((1 << (32 - m)) - 1));
r->end = ntohl(r->begin | ~mask);
r->begin = ntohl(r->begin);
-
+
return r;
}
@@ -74,7 +74,7 @@ static struct iprange_t *parse2(const char *str)
return NULL;
if (m < f4 || m > 255)
return NULL;
-
+
r = _malloc(sizeof(*r));
r->begin = ntohl((f4 << 24) | (f3 << 16) | (f2 << 8) | f1);
r->end = ntohl((m << 24) | (f3 << 16) | (f2 << 8) | f1);
@@ -118,7 +118,7 @@ static int check_range(struct list_head *list, in_addr_t ipaddr)
{
struct iprange_t *r;
uint32_t a = ntohl(ipaddr);
-
+
list_for_each_entry(r, list, entry) {
if (a >= r->begin && a <= r->end)
return 0;