[BACK]Return to ip_conntrack_ftp.h CVS log [TXT][DIR] Up to [Development] / linux-2.4-xfs / include / linux / netfilter_ipv4

File: [Development] / linux-2.4-xfs / include / linux / netfilter_ipv4 / ip_conntrack_ftp.h (download)

Revision 1.2, Mon Nov 22 13:43:01 2004 UTC (12 years, 10 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -5 lines

Merge up to 2.4.28.
Merge of 2.4.x-xfs-melb:linux:20239a by kenmcd.

#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT	21

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
	/* PORT command from client */
	IP_CT_FTP_PORT,
	/* PASV response from server */
	IP_CT_FTP_PASV,
	/* EPRT command from client */
	IP_CT_FTP_EPRT,
	/* EPSV response from server */
	IP_CT_FTP_EPSV,
};

/* This structure is per expected connection */
struct ip_ct_ftp_expect
{
	/* 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 */
	int seq_aft_nl_set[IP_CT_DIR_MAX];
};

#endif /* _IP_CONNTRACK_FTP_H */