summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp/proftpd/files/proftpd-1.2.9-privescal-fix.patch')
-rw-r--r--net-ftp/proftpd/files/proftpd-1.2.9-privescal-fix.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/net-ftp/proftpd/files/proftpd-1.2.9-privescal-fix.patch b/net-ftp/proftpd/files/proftpd-1.2.9-privescal-fix.patch
new file mode 100644
index 000000000000..76204e4ad0de
--- /dev/null
+++ b/net-ftp/proftpd/files/proftpd-1.2.9-privescal-fix.patch
@@ -0,0 +1,20 @@
+--- proftpd/src/dirtree.c 1 Nov 2003 07:11:07 -0000 1.125
++++ proftpd/src/dirtree.c 4 Nov 2003 21:18:25 -0000
+@@ -1556,10 +1556,14 @@
+
+ if (cidr_mode) {
+ /* NOTE: encapsulation breakage note/IPv6 change needed here. */
+-#if 0
+- if ((cli_addr->s_addr & htonl(cidr_mask)) == cidr_addr.s_addr)
+-#endif
++
++ if (pr_netaddr_get_family(cli_addr) == AF_INET) {
++ struct in_addr *cli_in_addr = pr_netaddr_get_inaddr(cli_addr);
++ if ((cli_in_addr->s_addr & htonl(cidr_mask)) == cidr_addr.s_addr) {
+ return 1;
++ }
++ };
++
+
+ } else {
+ pr_netaddr_t *acl_addr = NULL;