From 2bcb16047e048afd1457642fa7bc2aefc8d06d9d Mon Sep 17 00:00:00 2001 From: Yasuyuki KOZAKAI Date: Tue, 24 Jul 2007 07:03:59 +0000 Subject: Add IPv6 support to quota match --- extensions/libipt_quota.c | 107 ---------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 extensions/libipt_quota.c (limited to 'extensions/libipt_quota.c') diff --git a/extensions/libipt_quota.c b/extensions/libipt_quota.c deleted file mode 100644 index 89e5168c..00000000 --- a/extensions/libipt_quota.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Shared library add-on to iptables to add quota support - * - * Sam Johnston - */ -#include -#include -#include -#include -#include - -#include -#include - -static struct option opts[] = { - {"quota", 1, 0, '1'}, - {0} -}; - -/* print usage */ -static void -help(void) -{ - printf("quota options:\n" - " --quota quota quota (bytes)\n" "\n"); -} - -/* print matchinfo */ -static void -print(const void *ip, const struct xt_entry_match *match, int numeric) -{ - struct xt_quota_info *q = (struct xt_quota_info *) match->data; - printf("quota: %llu bytes", (unsigned long long) q->quota); -} - -/* save matchinfo */ -static void -save(const void *ip, const struct xt_entry_match *match) -{ - struct xt_quota_info *q = (struct xt_quota_info *) match->data; - printf("--quota %llu ", (unsigned long long) q->quota); -} - -/* parse quota option */ -static int -parse_quota(const char *s, u_int64_t * quota) -{ - *quota = strtoull(s, (char **) NULL, 10); - -#ifdef DEBUG_IPT_QUOTA - printf("Quota: %llu\n", *quota); -#endif - - if (*quota == -1) - exit_error(PARAMETER_PROBLEM, "quota invalid: '%s'\n", s); - else - return 1; -} - -/* parse all options, returning true if we found any for us */ -static int -parse(int c, char **argv, int invert, unsigned int *flags, - const void *entry, - unsigned int *nfcache, struct xt_entry_match **match) -{ - struct xt_quota_info *info = (struct xt_quota_info *) (*match)->data; - - switch (c) { - case '1': - if (check_inverse(optarg, &invert, NULL, 0)) - exit_error(PARAMETER_PROBLEM, "quota: unexpected '!'"); - if (!parse_quota(optarg, &info->quota)) - exit_error(PARAMETER_PROBLEM, - "bad quota: '%s'", optarg); - break; - - default: - return 0; - } - return 1; -} - -/* no final check */ -static void -final_check(unsigned int flags) -{ -} - -struct iptables_match quota = { - .next = NULL, - .name = "quota", - .version = IPTABLES_VERSION, - .size = IPT_ALIGN(sizeof (struct xt_quota_info)), - .userspacesize = offsetof(struct xt_quota_info, quota), - .help = &help, - .parse = &parse, - .final_check = &final_check, - .print = &print, - .save = &save, - .extra_opts = opts -}; - -void -_init(void) -{ - register_match("a); -} -- cgit v1.2.3