mirror of
https://github.com/tnodir/fort
synced 2024-11-15 07:15:39 +00:00
Driver: fortconf: Tweak Rule structs
This commit is contained in:
parent
fbcf1ebc6a
commit
f3ac485ffb
@ -109,30 +109,37 @@ typedef struct fort_conf_addr_group
|
|||||||
char data[4];
|
char data[4];
|
||||||
} FORT_CONF_ADDR_GROUP, *PFORT_CONF_ADDR_GROUP;
|
} FORT_CONF_ADDR_GROUP, *PFORT_CONF_ADDR_GROUP;
|
||||||
|
|
||||||
#define FORT_RULE_FLAG_ADDRESS 0x01
|
#define FORT_RULE_FLAG_ADDRESS 0x01
|
||||||
#define FORT_RULE_FLAG_PORT 0x02
|
#define FORT_RULE_FLAG_PORT 0x02
|
||||||
#define FORT_RULE_FLAG_PROTO 0x04
|
#define FORT_RULE_FLAG_PROTO_TCP 0x10
|
||||||
|
#define FORT_RULE_FLAG_PROTO_UDP 0x20
|
||||||
|
#define FORT_RULE_FLAG_PROTO_MASK 0xF0
|
||||||
|
|
||||||
typedef struct fort_conf_rule_expr
|
typedef struct fort_conf_rule_expr
|
||||||
{
|
{
|
||||||
UINT8 expr_begin : 1;
|
UINT8 expr_begin : 1;
|
||||||
UINT8 expr_end : 1;
|
UINT8 expr_end : 1;
|
||||||
UINT8 expr_or : 1;
|
UINT8 expr_or : 1;
|
||||||
|
UINT8 expr_local : 1; // Local Address/Port
|
||||||
|
|
||||||
UINT8 has_ip4_list : 1;
|
|
||||||
UINT8 has_ip6_list : 1;
|
UINT8 has_ip6_list : 1;
|
||||||
|
|
||||||
UINT8 flags;
|
UINT8 flags;
|
||||||
} FORT_CONF_RULE_EXPR, *PFORT_CONF_RULE_EXPR;
|
} FORT_CONF_RULE_EXPR, *PFORT_CONF_RULE_EXPR;
|
||||||
|
|
||||||
|
typedef struct fort_conf_rule_zones
|
||||||
|
{
|
||||||
|
UINT32 accept_zones;
|
||||||
|
UINT32 reject_zones;
|
||||||
|
} FORT_CONF_RULE_ZONES, *PFORT_CONF_RULE_ZONES;
|
||||||
|
|
||||||
typedef struct fort_conf_rule
|
typedef struct fort_conf_rule
|
||||||
{
|
{
|
||||||
UINT8 enabled : 1;
|
UINT8 enabled : 1;
|
||||||
UINT8 blocked : 1;
|
UINT8 blocked : 1;
|
||||||
UINT8 exclusive : 1;
|
UINT8 exclusive : 1;
|
||||||
|
|
||||||
UINT8 has_accept_zones : 1;
|
UINT8 has_zones : 1;
|
||||||
UINT8 has_reject_zones : 1;
|
|
||||||
UINT8 has_expr : 1;
|
UINT8 has_expr : 1;
|
||||||
|
|
||||||
UINT8 set_count;
|
UINT8 set_count;
|
||||||
@ -151,12 +158,9 @@ typedef struct fort_conf_rule_flag
|
|||||||
UCHAR enabled;
|
UCHAR enabled;
|
||||||
} FORT_CONF_RULE_FLAG, *PFORT_CONF_RULE_FLAG;
|
} FORT_CONF_RULE_FLAG, *PFORT_CONF_RULE_FLAG;
|
||||||
|
|
||||||
#define FORT_CONF_RULE_SET_ALIGN sizeof(UINT16)
|
|
||||||
#define FORT_CONF_RULE_SET_SIZE(set_count) FORT_ALIGN_SIZE((set_count), FORT_CONF_RULE_SET_ALIGN)
|
|
||||||
#define FORT_CONF_RULE_SIZE(rule) \
|
#define FORT_CONF_RULE_SIZE(rule) \
|
||||||
(sizeof(FORT_CONF_RULE) + FORT_ALIGN_SIZE((rule)->set_count, FORT_CONF_RULE_SET_ALIGN) \
|
(sizeof(FORT_CONF_RULE) + ((rule)->has_zones ? sizeof(FORT_CONF_RULE_ZONES) : 0) \
|
||||||
+ ((rule)->has_accept_zones ? sizeof(UINT32) : 0) \
|
+ (rule)->set_count * sizeof(UINT16))
|
||||||
+ ((rule)->has_reject_zones ? sizeof(UINT32) : 0))
|
|
||||||
|
|
||||||
typedef struct fort_conf_zones
|
typedef struct fort_conf_zones
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user