From owner-ports-jp@jp.freebsd.org  Sun May 24 17:56:32 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) id RAA03096;
	Sun, 24 May 1998 17:56:32 +0900 (JST)
	(envelope-from owner-ports-jp@jp.FreeBSD.org)
Received: from onion.ish.org (root@onion.ish.org [210.145.219.202])
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) with ESMTP id RAA03090
	for <ports-jp@jp.freebsd.org>; Sun, 24 May 1998 17:56:30 +0900 (JST)
	(envelope-from ishizuka@ish.org)
Received: from localhost (ishizuka@localhost [127.0.0.1])
	by onion.ish.org (8.8.8/3.6Wbeta7-04/20/98) with ESMTP id RAA21375
	for <ports-jp@jp.freebsd.org>; Sun, 24 May 1998 17:56:28 +0900 (JST)
To: ports-jp@jp.freebsd.org
X-PGP-Fingerprint20: CE15 1ABE 49EA 3182 C0A9  20F6 C054 2821 5C22 D9DB
X-PGP-Public-Key: http://www.ish.org/pgp-public-key.txt
X-URL: http://www.ish.org/
Mime-Version: 1.0
X-Mailer: Mew version 1.93b34 on Emacs 19.28 / Mule 2.3 (SUETSUMUHANA)
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19980524175628R.ishizuka@onion.ish.org>
Date: Sun, 24 May 1998 17:56:28 +0900
From: Masachika ISHIZUKA <ishizuka@ish.org>
X-Dispatcher: imput version 980522
Lines: 61
Reply-To: ports-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: ports-jp 3409
Subject: [ports-jp 3409] passive mode patch for wu-ftpd 2.4.2-beta-16
Errors-To: owner-ports-jp@jp.freebsd.org
Sender: owner-ports-jp@jp.freebsd.org

  $B@PDM!w?yJB$G$9!#(B

  rt100i-users ML $B$H$$$&(B ISDN router $B$N%a!<%j%s%0%j%9%H$G(B wu-ftpd
$B$N(B passive mode $B;~$K;H$&%G!<%?%]!<%HHV9f$K$D$$$F5DO@$,$"$j$^$7(B
$B$?!#$3$N%Q%C%A$O!"$=$l$rH?1G$5$;$k$b$N$G$9!#(B
  $B@N$O(B FreeBSD $BI8=`FbB"$N(B ftpd $B$b(B passive mode $B$G$O(B port 1024
$B0J9_$r;H$C$F$$$^$7$?$,!"8=:_$OI8=`$G$O(B 49152$B!A(B65535 $B$r;H$$$^$9!#(B
$B!J(B/usr/include/netinet/in.h $B$r8+$k$H!"%]!<%HHV9f$N3d$jEv$F$,=q(B
$B$+$l$F$$$^$9!#!K$3$N%Q%C%A$O(B wu-ftpd 2.4.2-beta-16 $B$NF0:n$r!"(B
$B$3$l$K9g$o$;$k$b$N$G$9!#(B
  $B$3$l$K$h$j!"(Bwu-ftpd $B$G1?MQ$7$F$$$k%5!<%P$N(B incoming $BB&$O(B port
21 $B$H(B 49152$B!A(B65535 $B$@$1$r3+$1$l$P(B OK $B$K$J$j$^$9!#(B

============ ports/net/wu-ftpd/patches/patch-an ===============
--- src/ftpd.c.orig	Mon Dec 22 08:25:06 1997
+++ src/ftpd.c	Sun May 24 17:07:40 1998
@@ -245,6 +245,7 @@
 #include <prot.h>
 #endif
 
+int restricted_data_ports = 1;
 int anonymous = 1;
 int guest;
 int type;
@@ -452,7 +453,7 @@
         envp++;
     LastArgv = envp[-1] + strlen(envp[-1]);
 
-    while ((c = getopt(argc, argv, ":aAvdlLiot:T:u:")) != -1) {
+    while ((c = getopt(argc, argv, ":aAvdlLioUt:T:u:")) != -1) {
         switch (c) {
 
         case 'a':
@@ -499,6 +500,10 @@
                 timeout = maxtimeout;
             break;
 
+	case 'U':
+	    restricted_data_ports = 0;
+	    break;
+
         case 'u':
             {
                 unsigned int val = 0;
@@ -3375,6 +3380,16 @@
         perror_reply(425, "Can't open passive connection");
         return;
     }
+#ifdef IP_PORTRANGE
+    {
+      int on = restricted_data_ports ? IP_PORTRANGE_HIGH
+	: IP_PORTRANGE_DEFAULT;
+      
+      if (setsockopt(pdata, IPPROTO_IP, IP_PORTRANGE,
+		     (char *)&on, sizeof(on)) < 0)
+	goto pasv_error;
+    }
+#endif
     pasv_addr = ctrl_addr;
     pasv_addr.sin_port = 0;
     delay_signaling(); /* we can't allow any signals while euid==0: kinch */
