X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=options.h;h=6c9c0b22c7d902a6d1d31e6c68b4627b736bda93;hb=be8ead27f625b3e4ed383f270dcfee2d158231ec;hp=b31f6b4979a3570eca36a97a4be3c5ee39ab6e1e;hpb=31456301f514e3e04f61930bb00f6b2d99b4d067;p=project%2Ffirewall3.git diff --git a/options.h b/options.h index b31f6b4..6c9c0b2 100644 --- a/options.h +++ b/options.h @@ -1,7 +1,7 @@ /* * firewall3 - 3rd OpenWrt UCI firewall implementation * - * Copyright (C) 2013-2014 Jo-Philipp Wich + * Copyright (C) 2013-2014 Jo-Philipp Wich * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -41,6 +41,7 @@ #include #include +#include #include "icmp_codes.h" #include "utils.h" @@ -174,7 +175,6 @@ struct fw3_address bool invert; bool resolved; enum fw3_family family; - int mask; union { struct in_addr v4; struct in6_addr v6; @@ -184,7 +184,7 @@ struct fw3_address struct in_addr v4; struct in6_addr v6; struct ether_addr mac; - } address2; + } mask; }; struct fw3_mac @@ -314,6 +314,8 @@ struct fw3_zone bool custom_chains; uint32_t flags[2]; + + struct list_head old_addrs; }; struct fw3_rule @@ -328,6 +330,9 @@ struct fw3_rule struct fw3_zone *_src; struct fw3_zone *_dest; + const char *device; + bool direction_out; + struct fw3_device src; struct fw3_device dest; struct fw3_setmatch ipset; @@ -408,6 +413,7 @@ struct fw3_snat struct fw3_device src; struct fw3_setmatch ipset; + const char *device; struct list_head proto; @@ -423,6 +429,7 @@ struct fw3_snat struct fw3_limit limit; struct fw3_time time; struct fw3_mark mark; + bool connlimit_ports; enum fw3_flag target; @@ -549,11 +556,14 @@ bool fw3_parse_weekdays(void *ptr, const char *val, bool is_list); bool fw3_parse_monthdays(void *ptr, const char *val, bool is_list); bool fw3_parse_mark(void *ptr, const char *val, bool is_list); bool fw3_parse_setmatch(void *ptr, const char *val, bool is_list); +bool fw3_parse_direction(void *ptr, const char *val, bool is_list); bool fw3_parse_options(void *s, const struct fw3_option *opts, struct uci_section *section); +bool fw3_parse_blob_options(void *s, const struct fw3_option *opts, + struct blob_attr *a, const char *name); const char * fw3_address_to_string(struct fw3_address *address, - bool allow_invert); + bool allow_invert, bool as_cidr); #endif