Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 1 | #ifndef _NF_CONNTRACK_FTP_H |
| 2 | #define _NF_CONNTRACK_FTP_H |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 3 | |
David Howells | 94d0ec5 | 2012-10-09 09:48:54 +0100 | [diff] [blame] | 4 | #include <uapi/linux/netfilter/nf_conntrack_ftp.h> |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 5 | |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 6 | |
| 7 | #define FTP_PORT 21 |
| 8 | |
Pablo Neira Ayuso | 7be54ca | 2012-09-21 16:52:08 +0200 | [diff] [blame] | 9 | #define NF_CT_FTP_SEQ_PICKUP (1 << 0) |
| 10 | |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 11 | #define NUM_SEQ_TO_REMEMBER 2 |
| 12 | /* This structure exists only once per master */ |
Jozsef Kadlecsik | 55a7332 | 2006-12-02 22:07:44 -0800 | [diff] [blame] | 13 | struct nf_ct_ftp_master { |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 14 | /* Valid seq positions for cmd matching after newline */ |
| 15 | u_int32_t seq_aft_nl[IP_CT_DIR_MAX][NUM_SEQ_TO_REMEMBER]; |
| 16 | /* 0 means seq_match_aft_nl not set */ |
Pablo Neira Ayuso | 7be54ca | 2012-09-21 16:52:08 +0200 | [diff] [blame] | 17 | u_int16_t seq_aft_nl_num[IP_CT_DIR_MAX]; |
| 18 | /* pickup sequence tracking, useful for conntrackd */ |
| 19 | u_int16_t flags[IP_CT_DIR_MAX]; |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 20 | }; |
| 21 | |
Jozsef Kadlecsik | 55a7332 | 2006-12-02 22:07:44 -0800 | [diff] [blame] | 22 | struct nf_conntrack_expect; |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 23 | |
| 24 | /* For NAT to hook in when we find a packet which describes what other |
| 25 | * connection we should expect. */ |
Herbert Xu | 3db05fe | 2007-10-15 00:53:15 -0700 | [diff] [blame] | 26 | extern unsigned int (*nf_nat_ftp_hook)(struct sk_buff *skb, |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 27 | enum ip_conntrack_info ctinfo, |
Jozsef Kadlecsik | 55a7332 | 2006-12-02 22:07:44 -0800 | [diff] [blame] | 28 | enum nf_ct_ftp_type type, |
Patrick McHardy | 051966c | 2012-08-26 19:14:04 +0200 | [diff] [blame] | 29 | unsigned int protoff, |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 30 | unsigned int matchoff, |
| 31 | unsigned int matchlen, |
Patrick McHardy | 25b86e0 | 2007-05-24 16:41:50 -0700 | [diff] [blame] | 32 | struct nf_conntrack_expect *exp); |
Yasuyuki Kozakai | 9fb9cbb | 2005-11-09 16:38:16 -0800 | [diff] [blame] | 33 | #endif /* _NF_CONNTRACK_FTP_H */ |