57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
|
|
#ifndef KNI_REDIRECT_H
|
||
|
|
#define KNI_REDIRECT_H
|
||
|
|
|
||
|
|
#ifndef IPV6_ADDR_LEN
|
||
|
|
#define IPV6_ADDR_LEN (sizeof(struct in6_addr))
|
||
|
|
#endif
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
#define REDIRECT_SERDEF_LEN 16
|
||
|
|
|
||
|
|
|
||
|
|
#define REDIRECT_SNAT_TYPE 1
|
||
|
|
#define REDIRECT_DNAT_TYPE 2
|
||
|
|
#define REDIRECT_SNAT_REPLAY 3
|
||
|
|
#define REDIRECT_DNAT_REPLAY 4
|
||
|
|
|
||
|
|
//maat plugin ex data
|
||
|
|
struct redirect_plugin_ex_data
|
||
|
|
{
|
||
|
|
int addr_type;
|
||
|
|
char spoofing_ip[INET6_ADDRSTRLEN];
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
//redirect htable data
|
||
|
|
struct redirect_htable_data
|
||
|
|
{
|
||
|
|
int nat_type;
|
||
|
|
int addr_type;
|
||
|
|
unsigned int ipv4;
|
||
|
|
char ipv6[IPV6_ADDR_LEN];
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
struct redirect_serdef_info
|
||
|
|
{
|
||
|
|
char ip_pool[REDIRECT_SERDEF_LEN];
|
||
|
|
char nat_type[REDIRECT_SERDEF_LEN];
|
||
|
|
};
|
||
|
|
|
||
|
|
int redirect_search_htable(unsigned char addr_type,struct kni_pme_info* pmeinfo,int thread_seq,const void* a_packet,int protocol);
|
||
|
|
|
||
|
|
char process_redirect_pending(const struct streaminfo* pstream,struct kni_pme_info* pmeinfo,int thread_seq,const void* a_packet,int protocol,unsigned char dir);
|
||
|
|
char process_redirect_data(const struct streaminfo* pstream,struct kni_pme_info* pmeinfo,int thread_seq,const void* a_packet,int protocol,unsigned char dir);
|
||
|
|
char process_redirect_close(const struct streaminfo* pstream,struct kni_pme_info* pmeinfo,int thread_seq,const void* a_packet,int protocol,unsigned char dir);
|
||
|
|
|
||
|
|
void plugin_EX_new_cb(int table_id, const char* key, const char* table_line, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp);
|
||
|
|
void plugin_EX_free_cb(int table_id, MAAT_PLUGIN_EX_DATA* ad, long argl, void *argp);
|
||
|
|
void plugin_EX_dup_cb(int table_id, MAAT_PLUGIN_EX_DATA *to, MAAT_PLUGIN_EX_DATA *from, long argl, void *argp);
|
||
|
|
|
||
|
|
int kni_init_redirect_htable();
|
||
|
|
|
||
|
|
|
||
|
|
#endif
|
||
|
|
|