]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
add TARPIT target (Aaron Hopkins)
authorAaron Hopkins <lists@die.net>
Thu, 5 Dec 2002 20:50:09 +0000 (20:50 +0000)
committerHarald Welte <laforge@gnumonks.org>
Thu, 5 Dec 2002 20:50:09 +0000 (20:50 +0000)
extensions/Makefile
extensions/libipt_TARPIT.c [new file with mode: 0644]

index b57865ac3cd3d00158f0dd75afd642836b44884f..63980397262c225786d7817c1152296e864d0ead 100644 (file)
@@ -1,6 +1,6 @@
 #! /usr/bin/make
 
-PF_EXT_SLIB:=ah conntrack dscp ecn esp helper icmp length limit mac mark multiport owner pkttype standard state tcp tcpmss tos ttl udp unclean DNAT DSCP ECN LOG MARK MASQUERADE MIRROR REDIRECT REJECT SAME SNAT TCPMSS TOS ULOG
+PF_EXT_SLIB:=ah conntrack dscp ecn esp helper icmp length limit mac mark multiport owner pkttype standard state tcp tcpmss tos ttl udp unclean DNAT DSCP ECN LOG MARK MASQUERADE MIRROR REDIRECT REJECT SAME SNAT TARPIT TCPMSS TOS ULOG
 PF6_EXT_SLIB:=eui64 icmpv6 length limit mac mark multiport owner standard tcp udp LOG MARK
 
 # The following may not be present, but compile them anyway.
diff --git a/extensions/libipt_TARPIT.c b/extensions/libipt_TARPIT.c
new file mode 100644 (file)
index 0000000..643ce61
--- /dev/null
@@ -0,0 +1,67 @@
+/* Shared library add-on to iptables for TARPIT support */
+#include <stdio.h>
+#include <getopt.h>
+#include <iptables.h>
+
+static void
+help(void)
+{
+       fputs(
+"TARPIT takes no options\n"
+"\n", stdout);
+}
+
+static struct option opts[] = {
+       { 0 }
+};
+
+static void
+init(struct ipt_entry_target *t, unsigned int *nfcache)
+{
+       /* Can't cache this */
+       *nfcache |= NFC_UNKNOWN;
+}
+
+static int
+parse(int c, char **argv, int invert, unsigned int *flags,
+      const struct ipt_entry *entry,
+      struct ipt_entry_target **target)
+{
+       return 0;
+}
+
+static void final_check(unsigned int flags)
+{
+}
+
+static void
+print(const struct ipt_ip *ip,
+      const struct ipt_entry_target *target,
+      int numeric)
+{
+}
+
+static void save(const struct ipt_ip *ip, const struct ipt_entry_target *target)
+{
+}
+
+static
+struct iptables_target tarpit
+= { NULL,
+    "TARPIT",
+    IPTABLES_VERSION,
+    IPT_ALIGN(0),
+    IPT_ALIGN(0),
+    &help,
+    &init,
+    &parse,
+    &final_check,
+    &print,
+    &save,
+    opts
+};
+
+void _init(void)
+{
+       register_target(&tarpit);
+}