blob: 2210338b942ac0659f5b46b7412f9d6755e89fed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--- frox-0.7.18/src/ftp-cmds.c.orig 2006-11-27 16:08:04.000000000 +0100
+++ frox-0.7.18/src/ftp-cmds.c 2006-11-27 17:07:31.000000000 +0100
@@ -156,6 +156,10 @@ void port_parse(sstr * cmd, sstr * arg)
rclose(&info->server_listen);
rclose(&info->client_listen);
+ if(!config.transdata)
+ get_local_address(info->client_control.fd,
+ &info->apparent_server_address);
+
if(config.apconv) {
info->mode = APCONV;
write_log(VERBOSE, "Rewriting PORT command to PASV");
--- frox-0.7.18/src/data.c.orig 2006-11-27 15:26:10.000000000 +0100
+++ frox-0.7.18/src/data.c 2006-11-27 16:24:24.000000000 +0100
@@ -220,8 +220,9 @@ int connect_client_data()
else {
info->client_data.fd =
connect_to_socket(&info->client_data.address,
- config.listen.s_addr ? &config.
- listen : NULL, config.actvports);
+ config.listen.s_addr ? &config.listen :
+ &info->apparent_server_address.sin_addr,
+ config.actvports);
}
if(info->client_data.fd == -1) {
write_log(ERROR, "Failed to contact client data port");
|