A Linux netfilter module to aid in (d)dos protection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

65 lines
1.4 KiB

#ifndef _TS3INIT_MATCH_H
#define _TS3INIT_MATCH_H
/* Enums for get_cookie and get_puzzle matches */
enum
{
CHK_COMMON_CLIENT_VERSION = 1 << 0,
CHK_COMMON_VALID_MASK = (1 << 1) -1,
CLIENT_VERSION_OFFSET = 1356998400
};
/* Enums and structs for get_cookie */
enum
{
CHK_GET_COOKIE_CHECK_TIMESTAMP = 1 << 0,
CHK_GET_COOKIE_VALID_MASK = (1 << 1) -1
};
struct xt_ts3init_get_cookie_mtinfo
{
__u8 common_options;
__u8 specific_options;
__u16 reserved1;
__u32 min_client_version;
__u32 max_utc_offset;
};
/* Enums and structs for get_puzzle */
enum
{
CHK_GET_PUZZLE_CHECK_COOKIE = 1 << 0,
CHK_GET_PUZZLE_RANDOM_SEED_FROM_ARGUMENT = 1 << 1,
CHK_GET_PUZZLE_RANDOM_SEED_FROM_FILE = 1 << 2,
CHK_GET_PUZZLE_VALID_MASK = (1 << 3) - 1,
};
struct xt_ts3init_get_puzzle_mtinfo
{
__u8 common_options;
__u8 specific_options;
__u16 reserved1;
__u32 min_client_version;
__u8 random_seed[RANDOM_SEED_LEN];
char random_seed_path[RANDOM_SEED_PATH_MAX];
};
/* Enums and structs for generic ts3init */
enum
{
CHK_TS3INIT_CLIENT = 1 << 0,
CHK_TS3INIT_SERVER = 1 << 1,
CHK_TS3INIT_COMMAND = 1 << 2,
CHK_TS3INIT_VALID_MASK = (1 << 3) - 1,
};
struct xt_ts3init_mtinfo
{
__u8 common_options;
__u8 specific_options;
__u16 reserved1;
__u8 command;
};
#endif /* _TS3INIT_MATCH_H */