Index: include/netaddr.h =================================================================== RCS file: /cvsroot/proftp/proftpd/include/netaddr.h,v retrieving revision 1.13 diff -u -r1.13 netaddr.h --- include/netaddr.h 11 Oct 2003 16:57:24 -0000 1.13 +++ include/netaddr.h 17 Oct 2003 14:14:36 -0000 @@ -160,7 +160,8 @@ int pr_netaddr_loopback(const pr_netaddr_t *); /* Returns TRUE if the given pr_netaddr_t is of the AF_INET6 family and - * contains an IPv4-mapped IPv6 address; otherwise FALSE is returned. + * contains an IPv4-mapped IPv6 address; otherwise FALSE is returned. A + * return value of -1 is used to indicate an error. */ int pr_netaddr_is_v4mappedv6(const pr_netaddr_t *); Index: modules/mod_core.c =================================================================== RCS file: /cvsroot/proftp/proftpd/modules/mod_core.c,v retrieving revision 1.194 diff -u -r1.194 mod_core.c --- modules/mod_core.c 17 Oct 2003 13:19:54 -0000 1.194 +++ modules/mod_core.c 17 Oct 2003 14:14:37 -0000 * address if the remote client address is an IPv4-mapped IPv6 address. */ if (pr_netaddr_get_family(remote_addr) == AF_INET6 && - !pr_netaddr_is_v4mappedv6(remote_addr)) { + pr_netaddr_is_v4mappedv6(remote_addr) != TRUE) { log_pri(PR_LOG_WARNING, "Refused PORT %s (IPv4/IPv6 address mismatch)", cmd->arg); pr_response_add_err(R_500, "Illegal PORT command"); Index: src/netaddr.c =================================================================== RCS file: /cvsroot/proftp/proftpd/src/netaddr.c,v retrieving revision 1.32 diff -u -r1.32 netaddr.c --- src/netaddr.c 14 Oct 2003 18:22:16 -0000 1.32 +++ src/netaddr.c 17 Oct 2003 14:14:37 -0000 @@ -631,7 +631,7 @@ void *inaddr = pr_netaddr_get_inaddr(na); #ifdef HAVE_GETHOSTBYNAME2 - if (pr_netaddr_is_v4mappedv6(na)) { + if (pr_netaddr_is_v4mappedv6(na) == TRUE) { family = AF_INET; inaddr = get_v4inaddr(na); }