equal
deleted
inserted
replaced
|
1 #ifndef _NF_CONNTRACK_FTP_H |
|
2 #define _NF_CONNTRACK_FTP_H |
|
3 /* FTP tracking. */ |
|
4 |
|
5 /* This enum is exposed to userspace */ |
|
6 enum nf_ct_ftp_type |
|
7 { |
|
8 /* PORT command from client */ |
|
9 NF_CT_FTP_PORT, |
|
10 /* PASV response from server */ |
|
11 NF_CT_FTP_PASV, |
|
12 /* EPRT command from client */ |
|
13 NF_CT_FTP_EPRT, |
|
14 /* EPSV response from server */ |
|
15 NF_CT_FTP_EPSV, |
|
16 }; |
|
17 |
|
18 #ifdef __KERNEL__ |
|
19 |
|
20 #define FTP_PORT 21 |
|
21 |
|
22 #define NUM_SEQ_TO_REMEMBER 2 |
|
23 /* This structure exists only once per master */ |
|
24 struct nf_ct_ftp_master { |
|
25 /* Valid seq positions for cmd matching after newline */ |
|
26 u_int32_t seq_aft_nl[IP_CT_DIR_MAX][NUM_SEQ_TO_REMEMBER]; |
|
27 /* 0 means seq_match_aft_nl not set */ |
|
28 int seq_aft_nl_num[IP_CT_DIR_MAX]; |
|
29 }; |
|
30 |
|
31 struct nf_conntrack_expect; |
|
32 |
|
33 /* For NAT to hook in when we find a packet which describes what other |
|
34 * connection we should expect. */ |
|
35 extern unsigned int (*nf_nat_ftp_hook)(struct sk_buff *skb, |
|
36 enum ip_conntrack_info ctinfo, |
|
37 enum nf_ct_ftp_type type, |
|
38 unsigned int matchoff, |
|
39 unsigned int matchlen, |
|
40 struct nf_conntrack_expect *exp); |
|
41 #endif /* __KERNEL__ */ |
|
42 |
|
43 #endif /* _NF_CONNTRACK_FTP_H */ |