diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/libalias/alias_ftp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/netinet/libalias/alias_ftp.c b/sys/netinet/libalias/alias_ftp.c index 7dee3f8..7e51e73 100644 --- a/sys/netinet/libalias/alias_ftp.c +++ b/sys/netinet/libalias/alias_ftp.c @@ -145,8 +145,10 @@ int maxpacketsize /* The maximum size this packet can grow to (including header */ if (ParseFtp227Reply(sptr, dlen)) ftp_message_type = FTP_227_REPLY; - else if (ParseFtp229Reply(sptr, dlen)) + else if (ParseFtp229Reply(sptr, dlen)) { ftp_message_type = FTP_229_REPLY; + true_addr.s_addr = pip->ip_src.s_addr; + } } if (ftp_message_type != FTP_UNKNOWN_MESSAGE) @@ -464,8 +466,7 @@ NewFtpMessage(struct ip *pip, struct alias_link *ftp_link; /* Security checks. */ - if (ftp_message_type != FTP_229_REPLY && - pip->ip_src.s_addr != true_addr.s_addr) + if (pip->ip_src.s_addr != true_addr.s_addr) return; if (true_port < IPPORT_RESERVED) |