Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef _NF_CONNTRACK_FTP_H |
3 | #define _NF_CONNTRACK_FTP_H |
4 | |
5 | #include <linux/netfilter.h> |
6 | #include <linux/skbuff.h> |
7 | #include <linux/types.h> |
8 | #include <net/netfilter/nf_conntrack_expect.h> |
9 | #include <uapi/linux/netfilter/nf_conntrack_ftp.h> |
10 | #include <uapi/linux/netfilter/nf_conntrack_tuple_common.h> |
11 | |
12 | #define FTP_PORT 21 |
13 | |
14 | #define NF_CT_FTP_SEQ_PICKUP (1 << 0) |
15 | |
16 | #define NUM_SEQ_TO_REMEMBER 2 |
17 | /* This structure exists only once per master */ |
18 | struct nf_ct_ftp_master { |
19 | /* Valid seq positions for cmd matching after newline */ |
20 | u_int32_t seq_aft_nl[IP_CT_DIR_MAX][NUM_SEQ_TO_REMEMBER]; |
21 | /* 0 means seq_match_aft_nl not set */ |
22 | u_int16_t seq_aft_nl_num[IP_CT_DIR_MAX]; |
23 | /* pickup sequence tracking, useful for conntrackd */ |
24 | u_int16_t flags[IP_CT_DIR_MAX]; |
25 | }; |
26 | |
27 | /* For NAT to hook in when we find a packet which describes what other |
28 | * connection we should expect. */ |
29 | extern unsigned int (*nf_nat_ftp_hook)(struct sk_buff *skb, |
30 | enum ip_conntrack_info ctinfo, |
31 | enum nf_ct_ftp_type type, |
32 | unsigned int protoff, |
33 | unsigned int matchoff, |
34 | unsigned int matchlen, |
35 | struct nf_conntrack_expect *exp); |
36 | #endif /* _NF_CONNTRACK_FTP_H */ |
37 |
Warning: This file is not a C or C++ file. It does not have highlighting.