New IPFW2 for DragonflyBSD which is:
authorBill Yuan <bycn82@gmail.com>
Sun, 8 Mar 2015 17:49:34 +0000 (01:49 +0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 12 Mar 2015 21:24:39 +0000 (14:24 -0700)
1. source clean and following the Dfly coding style.
2. able to run parallelly together with the existing ipfw.
3. support in-kernel NAT.
4. some enhanced features.
5. designed in modular.

25 files changed:
lib/libipfw2/basic/Makefile
lib/libipfw2/layer2/Makefile
lib/libipfw2/layer2/ipfw2_layer2.c
lib/libipfw2/layer4/Makefile
lib/libipfw2/layer4/ipfw2_layer4.c
lib/libipfw2/nat/Makefile
lib/libipfw2/nat/ipfw2_nat.c
sbin/ipfw2/ipfw.h
sys/net/dummynet2/Makefile
sys/net/ipfw2/ip_fw3.h
sys/net/ipfw2_basic/Makefile
sys/net/ipfw2_basic/ip_fw2_basic.h
sys/net/ipfw2_layer2/Makefile
sys/net/ipfw2_layer4/Makefile
sys/net/ipfw2_nat/Makefile
sys/net/libalias/HISTORY
sys/net/libalias/alias.c
sys/net/libalias/alias_cuseeme.c
sys/net/libalias/alias_dummy.c
sys/net/libalias/alias_ftp.c
sys/net/libalias/alias_irc.c
sys/net/libalias/alias_mod.h
sys/net/libalias/alias_nbt.c
sys/net/libalias/alias_pptp.c
sys/net/libalias/alias_smedia.c

index 0082682..44e2af6 100644 (file)
@@ -1,6 +1,6 @@
 SRCDIR=        ${.CURDIR}/
 
-LIB=    ipfw2basic
+LIB=   ipfw2basic
 SRCS=  ipfw2_basic.c
 
 INCS=  ipfw2_basic.h
index 8bdcade..edaf8d4 100644 (file)
@@ -1,9 +1,9 @@
 SRCDIR=        ${.CURDIR}/
 
 LIB=    ipfw2layer2
-SRCS=  ipfw2_layer2.c 
+SRCS=  ipfw2_layer2.c
 
-INCS=  ipfw2_layer2.h 
+INCS=  ipfw2_layer2.h
 
 
 WARNS?=        2
index 707d639..550b9fd 100644 (file)
@@ -180,4 +180,3 @@ load_module(register_func function, register_keyword keyword)
        function(MODULE_LAYER2_ID, O_LAYER2_MAC,
                        (parser_func)parse_mac,(shower_func)show_mac);
 }
-
index eb7337c..7493498 100644 (file)
@@ -1,9 +1,9 @@
 SRCDIR=        ${.CURDIR}/
 
-LIB=    ipfw2layer4
-SRCS=  ipfw2_layer4.c 
+LIB=   ipfw2layer4
+SRCS=  ipfw2_layer4.c
 
-INCS=  ipfw2_layer4.h 
+INCS=  ipfw2_layer4.h
 
 
 WARNS?=        2
index 431b093..069f53c 100644 (file)
@@ -149,4 +149,3 @@ load_module(register_func function, register_keyword keyword)
        function(MODULE_LAYER4_ID, O_LAYER4_GID,
                        (parser_func)parse_gid, (shower_func)show_gid);
 }
-
index ad8a6bb..1dc3bd4 100644 (file)
@@ -1,9 +1,9 @@
 SRCDIR=        ${.CURDIR}/
 
-LIB=    ipfw2nat
-SRCS=  ipfw2_nat.c 
+LIB=   ipfw2nat
+SRCS=  ipfw2_nat.c
 
-INCS=  ipfw2_nat.h 
+INCS=  ipfw2_nat.h
 
 
 WARNS?=        2
index d38181d..d957eca 100644 (file)
@@ -70,4 +70,3 @@ load_module(register_func function, register_keyword keyword)
        function(MODULE_NAT_ID, O_NAT_NAT,
                (parser_func)parse_nat, (shower_func)show_nat);
 }
-
index ad27d65..366bbb0 100644 (file)
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2014 The DragonFly Project.  All rights reserved.
- * 
+ *
  * This code is derived from software contributed to The DragonFly Project
  * by Bill Yuan <bycn82@gmail.com>
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
- * 
+ *
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer.
  * 2. Redistributions in binary form must reproduce the above copyright
@@ -17,7 +17,7 @@
  * 3. Neither the name of The DragonFly Project nor the names of its
  *    contributors may be used to endorse or promote products derived
  *    from this software without specific, prior written permission.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
index b2ca744..501c000 100644 (file)
@@ -1,8 +1,8 @@
 # $FreeBSD: src/sys/modules/dummynet/Makefile,v 1.1.2.2 2003/04/08 10:18:00 maxim Exp $
 # $DragonFly: src/sys/net/dummynet/Makefile,v 1.7 2008/09/16 12:30:57 sephe Exp $
 
-KMOD=   dummynet2
-SRCS=   ip_dummynet2.c
+KMOD=  dummynet2
+SRCS=  ip_dummynet2.c
 SRCS+= opt_ipdn.h
 
 .ifndef BUILDING_WITH_KERNEL
index 48a475e..d197d4b 100644 (file)
@@ -528,4 +528,3 @@ typedef void ipfw_basic_append_state_t(struct ipfw_ioc_state *);
 #endif
 
 #endif /* _IPFW2_H */
-
index a9b2780..ddbc1f3 100644 (file)
@@ -1,4 +1,4 @@
-KMOD=   ipfw2_basic
-SRCS=   ip_fw2_basic.c
+KMOD=  ipfw2_basic
+SRCS=  ip_fw2_basic.c
 
 .include <bsd.kmod.mk>
index 9f3c213..a994eae 100644 (file)
@@ -41,7 +41,7 @@
 MALLOC_DEFINE(M_IPFW2_BASIC,"IPFW2_BASIC", "ip_fw2 basic module");
 #endif
 
-enum ipfw_basic_opcodes {      
+enum ipfw_basic_opcodes {
        O_BASIC_ACCEPT,         /* accept */
        O_BASIC_DENY,           /* deny */
        O_BASIC_COUNT,          /* count */
@@ -55,7 +55,7 @@ enum ipfw_basic_opcodes {
        O_BASIC_RECV,           /* recv */
 
        O_BASIC_PROTO,          /*  arg1=protocol       */
-       O_BASIC_IP_SRC,                 
+       O_BASIC_IP_SRC,
        O_BASIC_IP_SRC_MASK,    /*  ip = IP/mask*/
        O_BASIC_IP_SRC_ME,      /*  me  */
        O_BASIC_IP_SRC_SET,     /*  u32=base, arg1=len, bitmap  */
@@ -79,8 +79,8 @@ enum ipfw_basic_opcodes {
 
 #define IS_EXPIRED(state)  (state->lifetime > 0 &&                     \
                (state->timestamp + state->lifetime) < time_second) ||  \
-               ((state->expiry != 0) && (state->expiry < time_second)) 
+               ((state->expiry != 0) && (state->expiry < time_second))
 
 #define IPFW_BASIC_LOADED   (ip_fw_basic_loaded)
 
-#endif 
+#endif
index 4b65b13..a43c3eb 100644 (file)
@@ -1,4 +1,4 @@
-KMOD=   ipfw2_layer2 
-SRCS=   ip_fw2_layer2.c
+KMOD=  ipfw2_layer2
+SRCS=  ip_fw2_layer2.c
 
 .include <bsd.kmod.mk>
index 31b03ec..6bcb556 100644 (file)
@@ -1,4 +1,4 @@
-KMOD=   ipfw2_layer4
-SRCS=   ip_fw2_layer4.c
+KMOD=  ipfw2_layer4
+SRCS=  ip_fw2_layer4.c
 
 .include <bsd.kmod.mk>
index 5a65cc1..b44a587 100644 (file)
@@ -1,4 +1,4 @@
-KMOD=   ipfw2_nat 
-SRCS=   ip_fw2_nat.c
+KMOD=  ipfw2_nat
+SRCS=  ip_fw2_nat.c
 
 .include <bsd.kmod.mk>
index afa9497..85a9094 100644 (file)
@@ -114,7 +114,7 @@ Version 2.2: July, 1997 (cjm)
 Version 2.3: August 11, 1997 (cjm)
     - Problem associated with socket file descriptor
       accumulation in alias_db.c corrected.  The sockets
-      had to be closed when a binding failed.  Problem 
+      had to be closed when a binding failed.  Problem
       in code located by Gordon Burditt.
 
 Version 2.4: September 1, 1997 (cjm)
@@ -140,6 +140,6 @@ Version 3.1: May, 2000 (Erik Salander, erik@whistle.com)
       FTP servers in passive mode.
     - Added support for PPTP aliasing.
 
-Version 3.2: July, 2000 (Erik Salander, erik@whistle.com and 
+Version 3.2: July, 2000 (Erik Salander, erik@whistle.com and
       Junichi Satoh, junichi@junichi.org)
     - Added support for streaming media (RTSP and PNA) aliasing.
index 71a8117..b1c8f0f 100644 (file)
@@ -720,8 +720,8 @@ UdpAliasIn(struct libalias *la, struct ip *pip)
                int accumulate;
                int r = 0, error;
                struct alias_data ad = {
-                       .lnk = lnk, 
-                       .oaddr = &original_address, 
+                       .lnk = lnk,
+                       .oaddr = &original_address,
                        .aaddr = &alias_address,
                        .aport = &alias_port,
                        .sport = &ud->uh_sport,
@@ -734,7 +734,7 @@ UdpAliasIn(struct libalias *la, struct ip *pip)
                alias_port = ud->uh_dport;
                ud->uh_dport = GetOriginalPort(lnk);
 
-               /* Walk out chain. */           
+               /* Walk out chain. */
                error = find_handler(IN, UDP, la, pip, &ad);
 
 /* If UDP checksum is not zero, then adjust since destination port */
@@ -783,7 +783,7 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int create)
                u_short alias_port;
                struct in_addr alias_address;
                struct alias_data ad = {
-                       .lnk = lnk, 
+                       .lnk = lnk,
                        .oaddr = NULL,
                        .aaddr = &alias_address,
                        .aport = &alias_port,
@@ -795,7 +795,7 @@ UdpAliasOut(struct libalias *la, struct ip *pip, int create)
                alias_address = GetAliasAddress(lnk);
                alias_port = GetAliasPort(lnk);
 
-               /* Walk out chain. */           
+               /* Walk out chain. */
                error = find_handler(OUT, UDP, la, pip, &ad);
 
 /* If UDP checksum is not zero, adjust since source port is */
@@ -845,14 +845,14 @@ TcpAliasIn(struct libalias *la, struct ip *pip)
                u_short proxy_port;
                int accumulate, error;
 
-               /* 
-                * The init of MANY vars is a bit below, but aliashandlepptpin 
+               /*
+                * The init of MANY vars is a bit below, but aliashandlepptpin
                 * seems to need the destination port that came within the
                 * packet and not the original one looks below [*].
                 */
 
                struct alias_data ad = {
-                       .lnk = lnk, 
+                       .lnk = lnk,
                        .oaddr = NULL,
                        .aaddr = NULL,
                        .aport = NULL,
@@ -861,7 +861,7 @@ TcpAliasIn(struct libalias *la, struct ip *pip)
                        .maxpktsize = 0
                };
 
-               /* Walk out chain. */           
+               /* Walk out chain. */
                error = find_handler(IN, TCP, la, pip, &ad);
 
                alias_address = GetAliasAddress(lnk);
@@ -871,8 +871,8 @@ TcpAliasIn(struct libalias *la, struct ip *pip)
                tc->th_dport = GetOriginalPort(lnk);
                proxy_port = GetProxyPort(lnk);
 
-               /* 
-                * Look above, if anyone is going to add find_handler AFTER 
+               /*
+                * Look above, if anyone is going to add find_handler AFTER
                 * this aliashandlepptpin/point, please redo alias_data too.
                 * Uncommenting the piece here below should be enough.
                 */
@@ -886,7 +886,7 @@ TcpAliasIn(struct libalias *la, struct ip *pip)
                                        .dport = &ud->uh_dport,
                                        .maxpktsize = 0
                                };
-               
+
                                /* Walk out chain. */
                                error = find_handler(la, pip, &ad);
                                if (error == EHDNOF)
@@ -996,7 +996,7 @@ TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
                struct in_addr alias_address;
                int accumulate;
                struct alias_data ad = {
-                       .lnk = lnk, 
+                       .lnk = lnk,
                        .oaddr = NULL,
                        .aaddr = &alias_address,
                        .aport = &alias_port,
@@ -1020,8 +1020,8 @@ TcpAliasOut(struct libalias *la, struct ip *pip, int maxpacketsize, int create)
 
 /* Monitor TCP connection state */
                TcpMonitorOut(pip, lnk);
-               
-               /* Walk out chain. */           
+
+               /* Walk out chain. */
                error = find_handler(OUT, TCP, la, pip, &ad);
 
 /* Adjust TCP checksum since source port is being aliased */
@@ -1164,7 +1164,7 @@ LibAliasGetFragment(struct libalias *la, char *ptr)
                GetFragmentPtr(lnk, &fptr);
                SetFragmentPtr(lnk, NULL);
                SetExpire(lnk, 0);      /* Deletes link */
-       } else          
+       } else
                fptr = NULL;
 
        LIBALIAS_UNLOCK(la);
@@ -1234,7 +1234,7 @@ LibAliasInLocked(struct libalias *la, char *ptr, int maxpacketsize)
        /* Defense against mangled packets */
        if (ntohs(pip->ip_len) > maxpacketsize
                || (pip->ip_hl << 2) > maxpacketsize) {
-               iresult = PKT_ALIAS_IGNORED; 
+               iresult = PKT_ALIAS_IGNORED;
                goto getout;
        }
 
@@ -1253,23 +1253,23 @@ LibAliasInLocked(struct libalias *la, char *ptr, int maxpacketsize)
                case IPPROTO_GRE: {
                        int error;
                        struct alias_data ad = {
-                               .lnk = NULL, 
-                               .oaddr = NULL, 
+                               .lnk = NULL,
+                               .oaddr = NULL,
                                .aaddr = NULL,
                                .aport = NULL,
                                .sport = NULL,
                                .dport = NULL,
-                               .maxpktsize = 0                           
+                               .maxpktsize = 0
                        };
-                       
-                       /* Walk out chain. */           
+
+                       /* Walk out chain. */
                        error = find_handler(IN, IP, la, pip, &ad);
                        if (error ==  0)
                                iresult = PKT_ALIAS_OK;
                        else
                                iresult = ProtoAliasIn(la, pip);
                }
-                       break; 
+                       break;
                default:
                        iresult = ProtoAliasIn(la, pip);
                        break;
@@ -1395,15 +1395,15 @@ LibAliasOutLocked(struct libalias *la, char *ptr,       /* valid IP packet */
                case IPPROTO_GRE: {
                        int error;
                        struct alias_data ad = {
-                               .lnk = NULL, 
-                               .oaddr = NULL, 
+                               .lnk = NULL,
+                               .oaddr = NULL,
                                .aaddr = NULL,
                                .aport = NULL,
                                .sport = NULL,
                                .dport = NULL,
-                               .maxpktsize = 0                           
+                               .maxpktsize = 0
                        };
-                       /* Walk out chain. */           
+                       /* Walk out chain. */
                        error = find_handler(OUT, IP, la, pip, &ad);
                        if (error == 0)
                                iresult = PKT_ALIAS_OK;
@@ -1549,7 +1549,7 @@ LibAliasRefreshModules(void)
 
        for (;;) {
                fgets(buf, 256, fd);
-               if feof(fd) 
+               if feof(fd)
                                break;
                len = strlen(buf);
                if (len > 1) {
@@ -1615,10 +1615,10 @@ LibAliasUnLoadAllModule(void)
        struct proto_handler *p;
 
        /* Unload all modules then reload everything. */
-       while ((p = first_handler()) != NULL) { 
+       while ((p = first_handler()) != NULL) {
                detach_handler(p);
        }
-       while ((t = walk_dll_chain()) != NULL) {        
+       while ((t = walk_dll_chain()) != NULL) {
                dlclose(t->handle);
                kfree(t,M_ALIAS);
        }
@@ -1643,17 +1643,17 @@ LibAliasUnLoadAllModule(void)
 struct mbuf *
 m_megapullup(struct mbuf *m, int len) {
        struct mbuf *mcl;
-       
+
        if (len > m->m_pkthdr.len)
                goto bad;
-       
+
        /* Do not reallocate packet if it is sequentional,
         * writable and has some extra space for expansion.
         * XXX: Constant 100bytes is completely empirical. */
 #define        RESERVE 100
        if (m->m_next == NULL && M_WRITABLE(m) && M_TRAILINGSPACE(m) >= RESERVE)
                return (m);
-       /* 
+       /*
        if (len <= MCLBYTES - RESERVE) {
                mcl = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
        } else if (len < MJUM16BYTES) {
@@ -1678,7 +1678,7 @@ m_megapullup(struct mbuf *m, int len) {
        m_copydata(m, 0, len, mtod(mcl, caddr_t));
        mcl->m_len = mcl->m_pkthdr.len = len;
        m_freem(m);
+
        return (mcl);
 bad:
        m_freem(m);
index b0e4a7d..7dff00c 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  * Copyright (c) 1998 Brian Somers <brian@Awfulhak.org>
- *                                     with the aid of code written by
- *                                     Junichi SATOH <junichi@astec.co.jp> 1996, 1997.
+ * with the aid of code written by
+ * Junichi SATOH <junichi@astec.co.jp> 1996, 1997.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
index e68d116..fe4a6ae 100644 (file)
@@ -150,4 +150,3 @@ AliasHandleDummy(struct libalias *la, struct ip *ip, struct alias_data *ah)
 {
        ; /* Dummy. */
 }
-
index fe153f5..0e5eb78 100644 (file)
@@ -99,14 +99,14 @@ __FBSDID("$FreeBSD: src/sys/netinet/libalias/alias_ftp.c,v 1.29.2.1.2.1 2008/11/
 #define FTP_CONTROL_PORT_NUMBER 21
 
 static void
-AliasHandleFtpOut(struct libalias *, struct ip *, struct alias_link *, 
+AliasHandleFtpOut(struct libalias *, struct ip *, struct alias_link *,
                  int maxpacketsize);
 
-static int 
+static int
 fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
-       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL || 
+       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL ||
                ah->maxpktsize == 0)
                return (-1);
        if (ntohs(*ah->dport) == FTP_CONTROL_PORT_NUMBER
@@ -115,22 +115,22 @@ fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 protohandler(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandleFtpOut(la, pip, ah->lnk, ah->maxpktsize);
        return (0);
 }
 
 struct proto_handler handlers[] = {
-       { 
-         .pri = 80, 
-         .dir = OUT, 
-         .proto = TCP, 
-         .fingerprint = &fingerprint, 
+       {
+         .pri = 80,
+         .dir = OUT,
+         .proto = TCP,
+         .fingerprint = &fingerprint,
          .protohandler = &protohandler
-       }, 
+       },
        { EOH }
 };
 
@@ -139,7 +139,7 @@ mod_handler(module_t mod, int type, void *data)
 {
        int error;
 
-       switch (type) {   
+       switch (type) {
        case MOD_LOAD:
                error = 0;
                LibAliasAttachHandlers(handlers);
index 98c5322..668c8f0 100644 (file)
@@ -88,14 +88,14 @@ char *newpacket;
 #define DBprintf(a)
 
 static void
-AliasHandleIrcOut(struct libalias *, struct ip *, struct alias_link *, 
+AliasHandleIrcOut(struct libalias *, struct ip *, struct alias_link *,
                  int maxpacketsize);
 
-static int 
+static int
 fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
-       if (ah->dport == NULL || ah->dport == NULL || ah->lnk == NULL || 
+       if (ah->dport == NULL || ah->dport == NULL || ah->lnk == NULL ||
            ah->maxpktsize == 0)
                return (-1);
        if (ntohs(*ah->dport) == IRC_CONTROL_PORT_NUMBER_1
@@ -104,7 +104,7 @@ fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 protohandler(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
@@ -117,13 +117,13 @@ protohandler(struct libalias *la, struct ip *pip, struct alias_data *ah)
 }
 
 struct proto_handler handlers[] = {
-       { 
-         .pri = 90, 
-         .dir = OUT, 
-         .proto = TCP, 
-         .fingerprint = &fingerprint, 
+       {
+         .pri = 90,
+         .dir = OUT,
+         .proto = TCP,
+         .fingerprint = &fingerprint,
          .protohandler = &protohandler
-       }, 
+       },
        { EOH }
 };
 
@@ -148,7 +148,7 @@ mod_handler(module_t mod, int type, void *data)
 }
 
 #ifdef _KERNEL
-static 
+static
 #endif
 moduledata_t alias_mod = {
        "alias_irc", mod_handler, NULL
index 0f500c1..54b7067 100644 (file)
 /* Protocol handlers struct & function. */
 
 /* Packet flow direction. */
-#define IN                              1 
-#define OUT                             2 
+#define IN                              1
+#define OUT                             2
 
 /* Working protocol. */
 #define IP                              1
 #define TCP                             2
 #define UDP                             4
 
-/* 
+/*
  * Data passed to protocol handler module, it must be filled
  * right before calling find_handler() to determine which
  * module is elegible to be called.
  */
 
-struct alias_data {    
-       struct alias_link       *lnk;            
+struct alias_data {
+       struct alias_link       *lnk;
        struct in_addr          *oaddr;         /* Original address. */
-       struct in_addr          *aaddr;         /* Alias address. */ 
+       struct in_addr          *aaddr;         /* Alias address. */
        uint16_t                *aport;         /* Alias port. */
        uint16_t                *sport, *dport; /* Source & destination port */
        uint16_t                maxpktsize;     /* Max packet size. */
-}; 
+};
 
-/* 
+/*
  * This structure contains all the information necessary to make
  * a protocol handler correctly work.
  */
@@ -69,29 +69,29 @@ struct alias_data {
 struct proto_handler {
        u_int pri;                                              /* Handler priority. */
         int16_t dir;                                            /* Flow direction. */
-       uint8_t proto;                                          /* Working protocol. */ 
+       uint8_t proto;                                          /* Working protocol. */
        int (*fingerprint)(struct libalias *la,                 /* Fingerprint * function. */
                 struct ip *pip, struct alias_data *ah);
        int (*protohandler)(struct libalias *la,                /* Aliasing * function. */
-                struct ip *pip, struct alias_data *ah);                 
+                struct ip *pip, struct alias_data *ah);
        LIST_ENTRY(proto_handler) entries;
 };
 
 
-/* 
+/*
  * Used only in userland when libalias needs to keep track of all
  * module loaded. In kernel land (kld mode) we don't need to care
  * care about libalias modules cause it's kld to do it for us.
  */
 
 #define DLL_LEN         32
-struct dll {   
+struct dll {
        char            name[DLL_LEN];  /* Name of module. */
-       void            *handle;        /* 
+       void            *handle;        /*
                                         * Ptr to shared obj obtained through
                                         * dlopen() - use this ptr to get access
-                                        * to any symbols from a loaded module                                   
-                                        * via dlsym(). 
+                                        * to any symbols from a loaded module
+                                        * via dlsym().
                                         */
        SLIST_ENTRY(dll)        next;
 };
@@ -103,7 +103,7 @@ void            handler_chain_destroy(void);
 int             LibAliasAttachHandlers(struct proto_handler *);
 int             LibAliasDetachHandlers(struct proto_handler *);
 int             detach_handler(struct proto_handler *);
-int             find_handler(int8_t, int8_t, struct libalias *, 
+int             find_handler(int8_t, int8_t, struct libalias *,
                           struct ip *, struct alias_data *);
 struct proto_handler *first_handler(void);
 
@@ -118,7 +118,7 @@ struct dll      *walk_dll_chain(void);
 /* End of handlers. */
 #define EOH     -1
 
-/* 
+/*
  * Some defines borrowed from sys/module.h used to compile a kld
  * in userland as a shared lib.
  */
@@ -132,7 +132,7 @@ typedef enum modeventtype {
         MOD_SHUTDOWN,
         MOD_QUIESCE
 } modeventtype_t;
-        
+
 typedef struct module *module_t;
 typedef int (*modeventhand_t)(module_t, int /* modeventtype_t */, void *);
 
index 7e289c5..1170703 100644 (file)
@@ -69,38 +69,38 @@ __FBSDID("$FreeBSD: src/sys/netinet/libalias/alias_nbt.c,v 1.20.6.1 2008/11/25 0
 #define NETBIOS_DGM_PORT_NUMBER 138
 
 static int
-AliasHandleUdpNbt(struct libalias *, struct ip *, struct alias_link *, 
+AliasHandleUdpNbt(struct libalias *, struct ip *, struct alias_link *,
                  struct in_addr *, u_short);
 
 static int
 AliasHandleUdpNbtNS(struct libalias *, struct ip *, struct alias_link *,
                    struct in_addr *, u_short *, struct in_addr *, u_short *);
-static int 
+static int
 fingerprint1(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
-       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL || 
+       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL ||
            ah->aaddr == NULL || ah->aport == NULL)
                return (-1);
        if (ntohs(*ah->dport) == NETBIOS_DGM_PORT_NUMBER
-           || ntohs(*ah->sport) == NETBIOS_DGM_PORT_NUMBER)            
+           || ntohs(*ah->sport) == NETBIOS_DGM_PORT_NUMBER)
                return (0);
        return (-1);
 }
 
-static int 
+static int
 protohandler1(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandleUdpNbt(la, pip, ah->lnk, ah->aaddr, *ah->aport);
        return (0);
 }
 
-static int 
+static int
 fingerprint2(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
-       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL || 
+       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL ||
            ah->aaddr == NULL || ah->aport == NULL)
                return (-1);
        if (ntohs(*ah->dport) == NETBIOS_NS_PORT_NUMBER
@@ -109,19 +109,19 @@ fingerprint2(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 protohandler2in(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandleUdpNbtNS(la, pip, ah->lnk, ah->aaddr, ah->aport,
                            ah->oaddr, ah->dport);
        return (0);
 }
 
-static int 
+static int
 protohandler2out(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
                            ah->aaddr, ah->aport);
        return (0);
@@ -129,27 +129,27 @@ protohandler2out(struct libalias *la, struct ip *pip, struct alias_data *ah)
 
 /* Kernel module definition. */
 struct proto_handler handlers[] = {
-       { 
-         .pri = 130, 
-         .dir = IN|OUT, 
-         .proto = UDP, 
-         .fingerprint = &fingerprint1, 
+       {
+         .pri = 130,
+         .dir = IN|OUT,
+         .proto = UDP,
+         .fingerprint = &fingerprint1,
          .protohandler = &protohandler1
-       }, 
-       { 
-         .pri = 140, 
-         .dir = IN, 
-         .proto = UDP, 
-         .fingerprint = &fingerprint2, 
+       },
+       {
+         .pri = 140,
+         .dir = IN,
+         .proto = UDP,
+         .fingerprint = &fingerprint2,
          .protohandler = &protohandler2in
-       }, 
-       { 
-         .pri = 140, 
-         .dir = OUT, 
-         .proto = UDP, 
-         .fingerprint = &fingerprint2, 
+       },
+       {
+         .pri = 140,
+         .dir = OUT,
+         .proto = UDP,
+         .fingerprint = &fingerprint2,
          .protohandler = &protohandler2out
-       }, 
+       },
        { EOH }
 };
 
@@ -174,7 +174,7 @@ mod_handler(module_t mod, int type, void *data)
 }
 
 #ifdef _KERNEL
-static 
+static
 #endif
 moduledata_t alias_mod = {
        "alias_nbt", mod_handler, NULL
index 85d75e4..1284bb1 100644 (file)
@@ -78,7 +78,7 @@ AliasHandlePptpGreOut(struct libalias *, struct ip *);
 static int
 AliasHandlePptpGreIn(struct libalias *, struct ip *);
 
-static int 
+static int
 fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
@@ -90,30 +90,30 @@ fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 fingerprintgre(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
        return (0);
 }
 
-static int 
+static int
 protohandlerin(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandlePptpIn(la, pip, ah->lnk);
        return (0);
 }
 
-static int 
+static int
 protohandlerout(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        AliasHandlePptpOut(la, pip, ah->lnk);
        return (0);
 }
 
-static int 
+static int
 protohandlergrein(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
@@ -123,7 +123,7 @@ protohandlergrein(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 protohandlergreout(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
@@ -134,39 +134,39 @@ protohandlergreout(struct libalias *la, struct ip *pip, struct alias_data *ah)
 
 /* Kernel module definition. */
 struct proto_handler handlers[] = {
-       { 
-         .pri = 200, 
-         .dir = IN, 
-         .proto = TCP, 
-         .fingerprint = &fingerprint, 
+       {
+         .pri = 200,
+         .dir = IN,
+         .proto = TCP,
+         .fingerprint = &fingerprint,
          .protohandler = &protohandlerin
        },
-       { 
-         .pri = 210, 
-         .dir = OUT, 
-         .proto = TCP, 
-         .fingerprint = &fingerprint, 
+       {
+         .pri = 210,
+         .dir = OUT,
+         .proto = TCP,
+         .fingerprint = &fingerprint,
          .protohandler = &protohandlerout
        },
-/* 
- * WATCH OUT!!! these 2 handlers NEED a priority of INT_MAX (highest possible) 
+/*
+ * WATCH OUT!!! these 2 handlers NEED a priority of INT_MAX (highest possible)
  * cause they will ALWAYS process packets, so they must be the last one
  * in chain: look fingerprintgre() above.
  */
-       { 
-         .pri = INT_MAX, 
-         .dir = IN, 
-         .proto = IP, 
-         .fingerprint = &fingerprintgre, 
+       {
+         .pri = INT_MAX,
+         .dir = IN,
+         .proto = IP,
+         .fingerprint = &fingerprintgre,
          .protohandler = &protohandlergrein
        },
-       { 
-         .pri = INT_MAX, 
-         .dir = OUT, 
-         .proto = IP, 
-         .fingerprint = &fingerprintgre, 
+       {
+         .pri = INT_MAX,
+         .dir = OUT,
+         .proto = IP,
+         .fingerprint = &fingerprintgre,
          .protohandler = &protohandlergreout
-       }, 
+       },
        { EOH }
 };
 static int
@@ -190,7 +190,7 @@ mod_handler(module_t mod, int type, void *data)
 }
 
 #ifdef _KERNEL
-static 
+static
 #endif
 moduledata_t alias_mod = {
        "alias_pptp", mod_handler, NULL
index 136bb59..c2e6ca7 100644 (file)
@@ -129,16 +129,16 @@ __FBSDID("$FreeBSD: src/sys/netinet/libalias/alias_smedia.c,v 1.17.6.1 2008/11/2
 #define TFTP_PORT_NUMBER 69
 
 static void
-AliasHandleRtspOut(struct libalias *, struct ip *, struct alias_link *,        
+AliasHandleRtspOut(struct libalias *, struct ip *, struct alias_link *,
                  int maxpacketsize);
-static int 
+static int
 fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
 
        if (ah->dport != NULL && ah->aport != NULL && ah->sport != NULL &&
             ntohs(*ah->dport) == TFTP_PORT_NUMBER)
                return (0);
-       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL || 
+       if (ah->dport == NULL || ah->sport == NULL || ah->lnk == NULL ||
            ah->maxpktsize == 0)
                return (-1);
        if (ntohs(*ah->dport) == RTSP_CONTROL_PORT_NUMBER_1
@@ -149,25 +149,25 @@ fingerprint(struct libalias *la, struct ip *pip, struct alias_data *ah)
        return (-1);
 }
 
-static int 
+static int
 protohandler(struct libalias *la, struct ip *pip, struct alias_data *ah)
 {
-       
+
        if (ntohs(*ah->dport) == TFTP_PORT_NUMBER)
                FindRtspOut(la, pip->ip_src, pip->ip_dst,
                            *ah->sport, *ah->aport, IPPROTO_UDP);
-       else AliasHandleRtspOut(la, pip, ah->lnk, ah->maxpktsize);      
+       else AliasHandleRtspOut(la, pip, ah->lnk, ah->maxpktsize);
        return (0);
 }
 
 struct proto_handler handlers[] = {
-       { 
-         .pri = 100, 
-         .dir = OUT, 
+       {
+         .pri = 100,
+         .dir = OUT,
          .proto = TCP|UDP,
-         .fingerprint = &fingerprint, 
+         .fingerprint = &fingerprint,
          .protohandler = &protohandler
-       }, 
+       },
        { EOH }
 };
 
@@ -192,7 +192,7 @@ mod_handler(module_t mod, int type, void *data)
 }
 
 #ifdef _KERNEL
-static 
+static
 #endif
 moduledata_t alias_mod = {
        "alias_smedia", mod_handler, NULL