From owner-FreeBSD-net-jp@jp.freebsd.org  Sun Mar 19 15:06:44 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id PAA82196;
	Sun, 19 Mar 2000 15:06:44 +0900 (JST)
	(envelope-from owner-FreeBSD-net-jp@jp.FreeBSD.org)
Received: from cl2.nit.ac.jp (firewall-user@cl2.nit.ac.jp [202.18.170.10])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id PAA82186
	for <FreeBSD-net-jp@jp.freebsd.org>; Sun, 19 Mar 2000 15:06:44 +0900 (JST)
	(envelope-from c1995207@uhura.nit.ac.jp)
Received: (from uucp@localhost)
	by cl2.nit.ac.jp (8.9.3/3.7W-99110818) id PAA26953
	for <FreeBSD-net-jp@jp.freebsd.org>; Sun, 19 Mar 2000 15:05:15 +0900 (JST)
Received: from uhura.nit.ac.jp(202.18.172.80) by cl2.nit.ac.jp via smap (V4.2)
	id xmaa26910; Sun, 19 Mar 00 15:05:05 +0900
Received: from myhost ([192.168.0.206]) by uhura.nit.ac.jp (8.7.1+2.6Wbeta4/3.4Wbeta6) with SMTP id PAA09454 for FreeBSD-net-jp@jp.freebsd.org; Sun, 19 Mar 2000 15:06:24 +0900 (JST)
From: Kattyo <kattyo@abk.nu>
X-Mailer:  ZMH v0.95a / esemail v0.5cf on TEEN
X-Esemail-Mail-From: c1995207@uhura.nit.ac.jp
Message-Id: <20000319.14550940kattyo@abk.nu>
References: <20000319.03171032kattyo@abk.nu> <200003190232.LAA05037@edge.sky.yamashina.kyoto.jp>
In-Reply-To: <200003190232.LAA05037@edge.sky.yamashina.kyoto.jp>
Date: Sun, 19 Mar 2000 14:55:09 +0900
To: FreeBSD-net-jp@jp.freebsd.org
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-net-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-net-jp 2366
Subject: [FreeBSD-net-jp 2366] Re: FTP data retrieve failure in passivemode
Errors-To: owner-FreeBSD-net-jp@jp.freebsd.org
Sender: owner-FreeBSD-net-jp@jp.freebsd.org
X-Originator: kattyo@abk.nu

$BEDCf$G$9!#(B

[Re: <200003190232.LAA05037@edge.sky.yamashina.kyoto.jp>
   written by Takahiro Kambe]

>> $B6u$N%G%#%l%/%H%j$J$s$+L5$/$F$b!"(B
>> $BB8:_$7$J$$%U%!%$%kL>$r(B RETR $B$9$l$P=<J,$G$9$M!#(B
>NetBSD current$B$G$O(BRETR$B$9$k>l9g$G$OLdBj$O!"(Blisten(2)$B$7$?$^$^$N%=%1%C%H(B
>$B$O;D$j$^$7$?$,!"A}$($k$3$H$O$J$$$h$&$G$9!#$G$b!";D$k$N$ONI$/$J$$$G$9$M!#(B

$B;n$7$F$_$?$H$3$m!"(BSTOR, STOU, APPE $B$G$bF1MM$NLdBj$,$*$-$^$9!#(B

>Index: ftpd.c

$B$3$l$r;29M$K<!$N$h$&$J%Q%C%A$r$7$^$7$?!#(B
$B$?$@$7!"3JG<7O%3%^%s%I$G$O(B LISTEN $B$,A}$($^$;$s$,;D$C$?$^$^$G$9!#(B


# $B$I$&$b(B ftpd $B$N%=!<%9$O$"$^$je:No$8$c$J$$$G$9$M!D(B


*** old/ftpd.c	Sun Mar 19 02:26:11 2000
--- ftpd.c	Sun Mar 19 14:23:45 2000
***************
*** 1156,1161 ****
--- 1156,1165 ----
  			if (cmd == 0) {
  				LOGCMD("get", name);
  			}
+ 			if (pdata >= 1) {
+ 				(void) close(pdata);
+ 				pdata = -1;
+ 			}
  		}
  		return;
  	}
***************
*** 1194,1201 ****
  		logxfer(name, st.st_size, start);
  	(void) fclose(dout);
  	data = -1;
- 	pdata = -1;
  done:
  	if (cmd == 0)
  		LOGBYTES("get", name, byte_count);
  	(*closefunc)(fin);
--- 1198,1208 ----
  		logxfer(name, st.st_size, start);
  	(void) fclose(dout);
  	data = -1;
  done:
+ 	if (pdata >= 0) {
+ 		(void) close(pdata);
+ 	}
+ 	pdata = -1;
  	if (cmd == 0)
  		LOGBYTES("get", name, byte_count);
  	(*closefunc)(fin);
***************
*** 2219,2224 ****
--- 2226,2235 ----
  	transflag = 0;
  	if (dout != NULL)
  		(void) fclose(dout);
+ 	else {
+ 		if (pdata >= 0)
+ 			(void) close(pdata);
+ 	}
  	data = -1;
 	pdata = -1;
  out:



----
$B9gCx(B (kattyo@abk.nu) / $BEDCf9(9,!wF|9)Bg(B
WWW: http://www.abk.nu/~kattyo/
PC-98x1 $B$N(B DOS $B$G(B PPP $B@\B3$7$h$&(B: http://www.pc88.gr.jp/~teen/
