]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Add drop table support
authorRusty Russell <rusty@linuxcare.com.au>
Thu, 14 Sep 2000 11:08:55 +0000 (11:08 +0000)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 14 Sep 2000 11:08:55 +0000 (11:08 +0000)
libiptc/libip4tc.c

index 30cddb40f5b97edcb21784ee7359d00f854ac913..84b81d7c4c8510c2c60ed1912ed0d64a066004a6 100644 (file)
@@ -382,7 +382,7 @@ do_check(TC_HANDLE_T h, unsigned int line)
                       == (1 << NF_IP_PRE_ROUTING
                           | 1 << NF_IP_LOCAL_OUT));
 
-               /* Hooks should be first three */
+               /* Hooks should be first two */
                assert(h->info.hook_entry[NF_IP_PRE_ROUTING] == 0);
 
                n = get_chain_end(h, 0);
@@ -390,8 +390,18 @@ do_check(TC_HANDLE_T h, unsigned int line)
                assert(h->info.hook_entry[NF_IP_LOCAL_OUT] == n);
 
                user_offset = h->info.hook_entry[NF_IP_LOCAL_OUT];
-       } else
+#ifdef NF_IP_DROPPING
+       } else if (strcmp(h->info.name, "drop") == 0) {
+               assert(h->info.valid_hooks == (1 << NF_IP_DROPPING));
+
+               /* Hook should be first */
+               assert(h->info.hook_entry[NF_IP_DROPPING] == 0);
+               user_offset = 0;
+#endif
+       } else {
+               fprintf(stderr, "Unknown table `s'\n", h->info.name);
                abort();
+       }
 
        /* User chain == end of last builtin + policy entry */
        user_offset = get_chain_end(h, user_offset);