#include <libubox/list.h>
#include <libubox/utils.h>
+#include <libubox/blobmsg.h>
#include "icmp_codes.h"
#include "utils.h"
bool invert;
bool resolved;
enum fw3_family family;
- int mask;
union {
struct in_addr v4;
struct in6_addr v6;
struct in_addr v4;
struct in6_addr v6;
struct ether_addr mac;
- } address2;
+ } mask;
};
struct fw3_mac
bool custom_chains;
uint32_t flags[2];
+
+ struct list_head old_addrs;
};
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;
struct fw3_device src;
struct fw3_setmatch ipset;
+ const char *device;
struct list_head proto;
struct fw3_limit limit;
struct fw3_time time;
struct fw3_mark mark;
+ bool connlimit_ports;
enum fw3_flag target;
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