ipvs: add ipv6 support to ftp
authorJulian Anastasov <ja@ssi.bg>
Fri, 25 May 2018 19:06:25 +0000 (22:06 +0300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 1 Jun 2018 12:01:54 +0000 (14:01 +0200)
commitd12e12299a6915fc10131602cca41170e46ae755
tree14ae1ab89b4e32f2ae305dac8dfd5f85db5d9d64
parent0cfceb9ff9ad84877f13e8cdf5a8b971d7d34dd3
ipvs: add ipv6 support to ftp

Add support for FTP commands with extended format (RFC 2428):

- FTP EPRT: IPv4 and IPv6, active mode, similar to PORT
- FTP EPSV: IPv4 and IPv6, passive mode, similar to PASV.
EPSV response usually contains only port but we allow real
server to provide different address

We restrict control and data connection to be from same
address family.

Allow the "(" and ")" to be optional in PASV response.

Also, add ipvsh argument to the pkt_in/pkt_out handlers to better
access the payload after transport header.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/ip_vs.h
net/netfilter/ipvs/ip_vs_app.c
net/netfilter/ipvs/ip_vs_ftp.c
net/netfilter/ipvs/ip_vs_proto_sctp.c
net/netfilter/ipvs/ip_vs_proto_tcp.c
net/netfilter/ipvs/ip_vs_proto_udp.c