add filtering
[l2tpns.git] / ppp.c
diff --git a/ppp.c b/ppp.c
index d6db8d8..323c4bd 100644 (file)
--- a/ppp.c
+++ b/ppp.c
@@ -1,6 +1,6 @@
 // L2TPNS PPP Stuff
 
-char const *cvs_id_ppp = "$Id: ppp.c,v 1.30 2004/11/25 12:46:48 bodea Exp $";
+char const *cvs_id_ppp = "$Id: ppp.c,v 1.32 2004/11/28 20:10:04 bodea Exp $";
 
 #include <stdio.h>
 #include <string.h>
@@ -21,7 +21,7 @@ extern int tunfd;
 extern char hostname[];
 extern u32 eth_tx;
 extern time_t time_now;
-extern struct configt *config;
+extern configt *config;
 
 static void initccp(tunnelidt t, sessionidt s);
 
@@ -719,6 +719,10 @@ void processipin(tunnelidt t, sessionidt s, u8 *p, u16 l)
                return;
        }
 
+       // run access-list if any
+       if (session[s].filter_in && !ip_filter(p, l, session[s].filter_in - 1))
+               return;
+
        // Add on the tun header
        p -= 4;
        *(u32 *)p = htonl(0x00000800);