From owner-FreeBSD-tech-jp@jp.freebsd.org  Wed Oct 14 23:47:00 1998
Received: by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id XAA23437;
	Wed, 14 Oct 1998 23:47:00 +0900 (JST)
	(envelope-from owner-FreeBSD-tech-jp@jp.FreeBSD.org)
Received: from yyy.or.jp (host03.interwave.or.jp [202.214.252.3])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with SMTP id XAA23431
	for <freebsd-tech-jp@jp.freebsd.org>; Wed, 14 Oct 1998 23:46:55 +0900 (JST)
	(envelope-from hnokubi@yyy.or.jp)
From: hnokubi@yyy.or.jp
Received: (qmail 18940 invoked by alias); 14 Oct 1998 23:42:49 +0900
Message-ID: <19981014144249.18939.qmail@yyy.or.jp>
Received: (qmail 18925 invoked from network); 14 Oct 1998 23:42:44 +0900
Received: from urayasu105.interwave.or.jp (HELO ppp-client.yyy.or.jp) (210.138.157.141)
  by mail.yyy.or.jp with SMTP; 14 Oct 1998 23:42:44 +0900
Received: from sassaby.nokubi.or.jp (sassaby.nokubi.or.jp [192.168.9.3]) by ppp-client.yyy.or.jp (8.8.7/3.5Wpl7-ppp) with ESMTP id XAA15470 for <freebsd-tech-jp@jp.freebsd.org>; Wed, 14 Oct 1998 23:51:37 +0900 (JST)
Received: from sassaby.nokubi.or.jp (localhost.nokubi.or.jp [127.0.0.1]) by sassaby.nokubi.or.jp (8.9.1/3.5Wpl7-glove) with ESMTP id XAA00361 for <FreeBSD-tech-jp@jp.freebsd.org>; Wed, 14 Oct 1998 23:42:49 +0900 (JST)
To: FreeBSD-tech-jp@jp.freebsd.org
X-Face: &g!~kPTHN0<)@E,n?P=-@dP[Pmi;5YG4qo}%{J*T4#&-mQQu|:#~S[AMm%zPPL'PeR'p\JK
 o2=S3f4CB&M?oJ0uKvqzyA;+ZEV0#6YVcsby~`gC.DX>Wf6LE0`\.o@o)sP1.R$.$Quz?_opP{,`$`
 BQA}Hzk$z*g|h)fXV(unWm.V~RL%r
Mime-Version: 1.0 (generated by tm-edit 7.108)
Content-Type: text/plain; charset=ISO-2022-JP
Date: Wed, 14 Oct 1998 23:42:49 +0900
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+980914
X-Sequence: FreeBSD-tech-jp 1775
Subject: [FreeBSD-tech-jp 1775] ftpd and login_cap
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org

$B$3$s$P$s$o!#Ln<s$G$9!#(B
98$BHG$N(B FreeBSD-2.2.5 $B$rK?=j$G;H$C$F$$$^$9!#(B

login $B$K$O(B /etc/login.conf $B$K(B requirehome $B$H=q$$$F$*$1$P(B
$B%[!<%`$,$J$$?M$,%m%0%$%s$G$-$J$$$h$&$K$9$k5!G=$,$"$j$^$9$,!"(B
$B$=$&$7$?>l9g$G$b(B ftpd $B$O(B / $B$K%m%0%$%s$G$-$F$7$^$C$F(B
$B$$$^$$$A$+$J$!$H:#F|(B $B;W$$$^$7$?!#(B

$B$G!"E:IU$N$h$&$JJQ99$r$7$?(B ftpd $B$HF~$l49$($F%[!<%`$,L5$$$H(B
$B%m%0%$%s$G$-$J$$$h$&$K$O$J$C$?$s$G$9$,!"$A$g$C$H5?Ld$,$"$j$^$9!#(B
$B65$($F2<$5$$!#$*4j$$$7$^$9!#(B

$B!&$b$7$+$7$F$3$s$J$3$H$7$J$/$F$b6X;_$9$kJ}K!$,$"$k$N$G$7$g$&$+(B?
$B!&$J$K$+M}M3$,$"$C$F(B ftpd $B$O(B requirehome $B$r8+$J$$$N$G$7$g$&$+(B?
$B!&DI2C$7$?(B reply() $B$N(B 530 $B$H$$$&$N$O(B 530 $B$GNI$$$N$G$7$g$&$+(B?

ftpd $B$b(B requirehome $B$r8+$?J}$,$$$$$s$8$c$J$$$+(B? $B$H;W$C$?$N$G(B
send-pr $B$7$H$3$&$+$H;W$C$F$$$k$N$G$9$,!"$$$^$$$A<+?.$,$J$$$N$G$9!#(B

$B$N$/$S(B $B$R$m$?$+(B

Index: ftpd.c
===================================================================
RCS file: /home/ncvs/src/libexec/ftpd/ftpd.c,v
retrieving revision 1.51
diff -u -r1.51 ftpd.c
--- ftpd.c	1998/06/03 11:33:44	1.51
+++ ftpd.c	1998/10/14 14:31:52
@@ -1042,6 +1042,13 @@
 			goto bad;
 		}
 	} else if (chdir(pw->pw_dir) < 0) {
+#ifdef LOGIN_CAP
+		if (login_getcapbool(lc, "requirehome", 0)) {
+			reply(530, "User %s: can't change directory to %s.",
+			    pw->pw_name, pw->pw_dir);
+			goto bad;
+		}
+#endif
 		if (chdir("/") < 0) {
 			reply(530, "User %s: can't change directory to %s.",
 			    pw->pw_name, pw->pw_dir);
