summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/lib/alist_new.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/lib/alist_new.c')
-rw-r--r--contrib/ipfilter/lib/alist_new.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/contrib/ipfilter/lib/alist_new.c b/contrib/ipfilter/lib/alist_new.c
deleted file mode 100644
index 50a4275..0000000
--- a/contrib/ipfilter/lib/alist_new.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2006 by Darren Reed.
- *
- * See the IPFILTER.LICENCE file for details on licencing.
- *
- * $Id: alist_new.c,v 1.1.2.3 2007/06/06 08:05:33 darrenr Exp $
- */
-
-#include "ipf.h"
-
-alist_t *
-alist_new(int v, char *host)
-{
- int a, b, c, d, bits;
- char *slash;
- alist_t *al;
- u_int mask;
-
- al = calloc(1, sizeof(*al));
- if (al == NULL) {
- fprintf(stderr, "alist_new out of memory\n");
- return NULL;
- }
-
- bits = -1;
- slash = strchr(host, '/');
- if (slash != NULL) {
- *slash = '\0';
- bits = atoi(slash + 1);
- }
-
- a = b = c = d = -1;
- sscanf(host, "%d.%d.%d.%d", &a, &b, &c, &d);
-
- if (bits > 0 && bits < 33) {
- mask = 0xffffffff << (32 - bits);
- } else if (b == -1) {
- mask = 0xff000000;
- b = c = d = 0;
- } else if (c == -1) {
- mask = 0xffff0000;
- c = d = 0;
- } else if (d == -1) {
- mask = 0xffffff00;
- d = 0;
- } else {
- mask = 0xffffffff;
- }
-
- if (*host == '!') {
- al->al_not = 1;
- host++;
- }
-
- if (gethost(host, &al->al_addr) == -1) {
- if (slash != NULL)
- *slash = '/';
- fprintf(stderr, "Cannot parse hostname\n");
- free(al);
- return NULL;
- }
- al->al_mask = htonl(mask);
- if (slash != NULL)
- *slash = '/';
- return al;
-}
OpenPOWER on IntegriCloud