Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 139467 Details for
Bug 203517
net-firewall/iptables-1.4.0 - IMQ extension doesn't work
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
IMQ patch for iptables-1.4.0
iptables-1.4.0-imq.diff (text/plain), 5.22 KB, created by
Nebojsa Trpkovic
on 2007-12-27 21:22:29 UTC
(
hide
)
Description:
IMQ patch for iptables-1.4.0
Filename:
MIME Type:
Creator:
Nebojsa Trpkovic
Created:
2007-12-27 21:22:29 UTC
Size:
5.22 KB
patch
obsolete
>--- iptables-1.4.0.orig/extensions.orig/.IMQ-test6 Thu Jan 1 01:00:00 1970 >+++ iptables-1.4.0/extensions/.IMQ-test6 Mon Jun 16 10:12:47 2003 >@@ -0,0 +1,3 @@ >+#!/bin/sh >+# True if IMQ target patch is applied. >+[ -f $KERNEL_DIR/include/linux/netfilter_ipv6/ip6t_IMQ.h ] && echo IMQ >--- iptables-1.4.0.orig/extensions.orig/libip6t_IMQ.c Thu Jan 1 01:00:00 1970 >+++ iptables-1.4.0/extensions/libip6t_IMQ.c Mon Jun 16 10:12:47 2003 >@@ -0,0 +1,100 @@ >+/* Shared library add-on to iptables to add IMQ target support. */ >+#include <stdio.h> >+#include <string.h> >+#include <stdlib.h> >+#include <getopt.h> >+ >+#include <ip6tables.h> >+#include <linux/netfilter_ipv6/ip6_tables.h> >+#include <linux/netfilter_ipv6/ip6t_IMQ.h> >+ >+/* Function which prints out usage message. */ >+static void >+help(void) >+{ >+ printf( >+"IMQ target v%s options:\n" >+" --todev <N> enqueue to imq<N>, defaults to 0\n", >+IPTABLES_VERSION); >+} >+ >+static struct option opts[] = { >+ { "todev", 1, 0, '1' }, >+ { 0 } >+}; >+ >+/* Initialize the target. */ >+static void >+init(struct xt_entry_target *t) >+{ >+ struct ip6t_imq_info *mr = (struct ip6t_imq_info*)t->data; >+ >+ mr->todev = 0; >+} >+ >+/* Function which parses command options; returns true if it >+ ate an option */ >+static int >+parse(int c, char **argv, int invert, unsigned int *flags, >+ const void *entry, >+ struct xt_entry_target **target) >+{ >+ struct ip6t_imq_info *mr = (struct ip6t_imq_info*)(*target)->data; >+ >+ switch(c) { >+ case '1': >+ if (check_inverse(optarg, &invert, NULL, 0)) >+ exit_error(PARAMETER_PROBLEM, >+ "Unexpected `!' after --todev"); >+ mr->todev=atoi(optarg); >+ break; >+ default: >+ return 0; >+ } >+ return 1; >+} >+ >+static void >+final_check(unsigned int flags) >+{ >+} >+ >+/* Prints out the targinfo. */ >+static void >+print(const void *ip, >+ const struct xt_entry_target *target, >+ int numeric) >+{ >+ struct ip6t_imq_info *mr = (struct ip6t_imq_info*)target->data; >+ >+ printf("IMQ: todev %u ", mr->todev); >+} >+ >+/* Saves the union ipt_targinfo in parsable form to stdout. */ >+static void >+save(const void *ip, const struct xt_entry_target *target) >+{ >+ struct ip6t_imq_info *mr = (struct ip6t_imq_info*)target->data; >+ >+ printf("--todev %u", mr->todev); >+} >+ >+static struct ip6tables_target imq = { >+ .next = NULL, >+ .name = "IMQ", >+ .version = IPTABLES_VERSION, >+ .size = IP6T_ALIGN(sizeof(struct ip6t_imq_info)), >+ .userspacesize = IP6T_ALIGN(sizeof(struct ip6t_imq_info)), >+ .help = &help, >+ .init = &init, >+ .parse = &parse, >+ .final_check = &final_check, >+ .print = &print, >+ .save = &save, >+ .extra_opts = opts >+}; >+ >+static __attribute__((constructor)) void _init(void) >+{ >+ register_target6(&imq); >+} >--- iptables-1.4.0.orig/extensions.orig/.IMQ-test Thu Jan 1 01:00:00 1970 >+++ iptables-1.4.0/extensions/.IMQ-test Mon Jun 16 10:12:47 2003 >@@ -0,0 +1,3 @@ >+#!/bin/sh >+# True if IMQ target patch is applied. >+[ -f $KERNEL_DIR/include/linux/netfilter_ipv4/ipt_IMQ.h ] && echo IMQ >--- iptables-1.4.0.orig/extensions.orig/libipt_IMQ.c Thu Jan 1 01:00:00 1970 >+++ iptables-1.4.0/extensions/libipt_IMQ.c Mon Jun 16 10:12:47 2003 >@@ -0,0 +1,100 @@ >+/* Shared library add-on to iptables to add IMQ target support. */ >+#include <stdio.h> >+#include <string.h> >+#include <stdlib.h> >+#include <getopt.h> >+ >+#include <iptables.h> >+#include <linux/netfilter_ipv4/ip_tables.h> >+#include <linux/netfilter_ipv4/ipt_IMQ.h> >+ >+/* Function which prints out usage message. */ >+static void >+help(void) >+{ >+ printf( >+"IMQ target v%s options:\n" >+" --todev <N> enqueue to imq<N>, defaults to 0\n", >+IPTABLES_VERSION); >+} >+ >+static struct option opts[] = { >+ { "todev", 1, 0, '1' }, >+ { 0 } >+}; >+ >+/* Initialize the target. */ >+static void >+init(struct xt_entry_target *t) >+{ >+ struct ipt_imq_info *mr = (struct ipt_imq_info*)t->data; >+ >+ mr->todev = 0; >+} >+ >+/* Function which parses command options; returns true if it >+ ate an option */ >+static int >+parse(int c, char **argv, int invert, unsigned int *flags, >+ const void *entry, >+ struct xt_entry_target **target) >+{ >+ struct ipt_imq_info *mr = (struct ipt_imq_info*)(*target)->data; >+ >+ switch(c) { >+ case '1': >+ if (check_inverse(optarg, &invert, NULL, 0)) >+ exit_error(PARAMETER_PROBLEM, >+ "Unexpected `!' after --todev"); >+ mr->todev=atoi(optarg); >+ break; >+ default: >+ return 0; >+ } >+ return 1; >+} >+ >+static void >+final_check(unsigned int flags) >+{ >+} >+ >+/* Prints out the targinfo. */ >+static void >+print(const void *ip, >+ const struct xt_entry_target *target, >+ int numeric) >+{ >+ struct ipt_imq_info *mr = (struct ipt_imq_info*)target->data; >+ >+ printf("IMQ: todev %u ", mr->todev); >+} >+ >+/* Saves the union ipt_targinfo in parsable form to stdout. */ >+static void >+save(const void *ip, const struct xt_entry_target *target) >+{ >+ struct ipt_imq_info *mr = (struct ipt_imq_info*)target->data; >+ >+ printf("--todev %u", mr->todev); >+} >+ >+static struct iptables_target imq = { >+ .next = NULL, >+ .name = "IMQ", >+ .version = IPTABLES_VERSION, >+ .size = IPT_ALIGN(sizeof(struct ipt_imq_info)), >+ .userspacesize = IPT_ALIGN(sizeof(struct ipt_imq_info)), >+ .help = &help, >+ .init = &init, >+ .parse = &parse, >+ .final_check = &final_check, >+ .print = &print, >+ .save = &save, >+ .extra_opts = opts >+}; >+ >+static __attribute__((constructor)) void _init(void) >+{ >+ register_target(&imq); >+} >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 203517
: 139467