patch-2.4.20 linux-2.4.20/include/linux/netfilter_ipv4/ip_conntrack_ftp.h
Next file: linux-2.4.20/include/linux/netfilter_ipv4/ip_conntrack_helper.h
Previous file: linux-2.4.20/include/linux/netfilter_ipv4/ip_conntrack_core.h
Back to the patch index
Back to the overall index
- Lines: 53
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/include/linux/netfilter_ipv4/ip_conntrack_ftp.h
- Orig date:
Wed Apr 25 15:00:28 2001
diff -urN linux-2.4.19/include/linux/netfilter_ipv4/ip_conntrack_ftp.h linux-2.4.20/include/linux/netfilter_ipv4/ip_conntrack_ftp.h
@@ -2,15 +2,17 @@
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */
-#ifndef __KERNEL__
-#error Only in kernel.
-#endif
+#ifdef __KERNEL__
#include <linux/netfilter_ipv4/lockhelp.h>
/* Protects ftp part of conntracks */
DECLARE_LOCK_EXTERN(ip_ftp_lock);
+#define FTP_PORT 21
+
+#endif /* __KERNEL__ */
+
enum ip_ct_ftp_type
{
/* PORT command from client */
@@ -23,18 +25,20 @@
IP_CT_FTP_EPSV,
};
-/* We record seq number and length of ftp ip/port text here: all in
- host order. */
-struct ip_ct_ftp
+/* This structure is per expected connection */
+struct ip_ct_ftp_expect
{
- /* This tells NAT that this is an ftp connection */
- int is_ftp;
- u_int32_t seq;
- /* 0 means not found yet */
- u_int32_t len;
- enum ip_ct_ftp_type ftptype;
- /* Port that was to be used */
- u_int16_t port;
+ /* We record seq number and length of ftp ip/port text here: all in
+ * host order. */
+
+ /* sequence number of IP address in packet is in ip_conntrack_expect */
+ u_int32_t len; /* length of IP address */
+ enum ip_ct_ftp_type ftptype; /* PORT or PASV ? */
+ u_int16_t port; /* TCP port that was to be used */
+};
+
+/* This structure exists only once per master */
+struct ip_ct_ftp_master {
/* Next valid seq position for cmd matching after newline */
u_int32_t seq_aft_nl[IP_CT_DIR_MAX];
/* 0 means seq_match_aft_nl not set */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)