From owner-FreeBSD-users-jp@jp.FreeBSD.org Mon Apr 16 02:24:12 2007
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id l3FHOCF96952;
	Mon, 16 Apr 2007 02:24:12 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mtoichi13.ns.itscom.net (mtoichi13.ns.itscom.net [219.110.2.183])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id l3FHOBM96947
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 16 Apr 2007 02:24:11 +0900 (JST)
	(envelope-from tkita@c00.itscom.net)
Received: from vsichi18.ns.itscom.net ([unknown])
	by mtoichi13.ns.itscom.net with SMTP id l3FHO6nj018681
	Mon, 16 Apr 2007 02:24:06 +0900 (JST)
Received: (qmail 13981 invoked from network); 16 Apr 2007 02:24:06 +0900
Received: from unknown (HELO msaichi12.ns.itscom.net)
 by vsichi18 with SMTP; 16 Apr 2007 02:24:06 +0900
Received: from [192.168.0.10] (h220-215-147-183.tpch01.itscom.jp [220.215.147.183])
	by msaichi12.ns.itscom.net with ESMTP id l3FHO4Zo002833
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Mon, 16 Apr 2007 02:24:05 +0900 (JST)
From: Takeshi Kitamura <tkita@c00.itscom.net>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <3CC600A9136503sakamoto@tsnr.com>
References: <BAY103-F1749A3149600E2A89455F3D5390@phx.gbl> <3CC600A9136503sakamoto@tsnr.com>
X-Mailer-Plugin: BkASPil for Becky!2 Ver.2.068
Message-Id: <20070416020954.B1DB.TKITA@c00.itscom.net>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------_46225BA1B1D402D962E0_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.30.03 [ja]
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Mon, 16 Apr 2007 02:24:05 +0900
X-Sequence: FreeBSD-users-jp 90521
Subject: [FreeBSD-users-jp 90521] Re: SFTP =?ISO-2022-JP?B?GyRCJE4bKEI=?=
 chroot =?ISO-2022-JP?B?GyRCJEskRCQkJEYbKEI=?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: tkita@c00.itscom.net
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

--------_46225BA1B1D402D962E0_MULTIPART_MIXED_
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit

$BKLB<$H$$$$$^$9!#(B

On Wed, 14 Dec 2005 21:22:40 +0900
Hideki SAKAMOTO <sakamoto@tsnr.com> wrote:

> $BJL2r$H$J$j$^$9$,!"(B/usr/src/libexec/ftpd/ftpd.c$B$+$i(Bchroot$B$N=hM}$r%Q%/%C$F(B
> $B$-$F!"(Bsftp-server$B$K0\?"$7$F$_$^$7$?!#(B

$B$+$J$jA0$N%a!<%k$G$9$,!"$3$N%Q%C%A$,(B FreeBSD 6.2-RELEASE $B$K$J$C$F(B
$BEv$?$i$J$/$J$C$F$$$?$N$G!"=q$-D>$7$F$_$^$7$?!#(B

$B(!(!(!(!(!(!(!(!(!(!(B
$BKLB<(B $B7r(B
tkita@c00.itscom.net

--------_46225BA1B1D402D962E0_MULTIPART_MIXED_
Content-Type: application/octet-stream;
 name="sftp-patch"
Content-Disposition: attachment;
 filename="sftp-patch"
Content-Transfer-Encoding: base64

KioqIHNlY3VyZS9saWJleGVjL3NmdHAtc2VydmVyL01ha2VmaWxlLG9sZAlXZWQgRGVjIDE0IDEw
OjIxOjUzIDIwMDUKLS0tIHNlY3VyZS9saWJleGVjL3NmdHAtc2VydmVyL01ha2VmaWxlCVdlZCBE
ZWMgMTQgMTA6MTY6MDEgMjAwNQoqKioqKioqKioqKioqKioKKioqIDgsMTMgKioqKgotLS0gOCwx
OSAtLS0tCiAgRFBBREQ9CSR7TElCU1NIfSAke0xJQkNSWVBUfSAke0xJQkNSWVBUT30gJHtMSUJa
fQogIExEQUREPQktbHNzaCAtbGNyeXB0IC1sY3J5cHRvIC1segogIAorIC5pZiBkZWZpbmVkKFNG
VFBfQ0hST09UKQorIENGTEFHUys9LURTRlRQQ0hST09UCisgQklOT1dOPSByb290CisgQklOTU9E
RT00NTU1CisgLmVuZGlmCisgCiAgLmluY2x1ZGUgPGJzZC5wcm9nLm1rPgogIAogIC5QQVRIOgkk
e1NTSERJUn0KKioqIGNyeXB0by9vcGVuc3NoL3BhdGhuYW1lcy5oLG9sZAlXZWQgRGVjIDE0IDA5
OjI1OjEwIDIwMDUKLS0tIGNyeXB0by9vcGVuc3NoL3BhdGhuYW1lcy5oCVdlZCBEZWMgMTQgMDk6
Mzc6MjMgMjAwNQoqKioqKioqKioqKioqKioKKioqIDQzLDQ4ICoqKioKLS0tIDQzLDUwIC0tLS0K
ICAvKiBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAqLwogICNkZWZpbmUgX1BBVEhfREhfUFJJTUVT
CQkJU1NIRElSICIvcHJpbWVzIgogIAorICNkZWZpbmUgX1BBVEhfU0ZUUENIUk9PVF9GSUxFCQlT
U0hESVIgIi9zZnRwY2hyb290IgorIAogICNpZm5kZWYgX1BBVEhfU1NIX1BST0dSQU0KICAjZGVm
aW5lIF9QQVRIX1NTSF9QUk9HUkFNCQkiL3Vzci9iaW4vc3NoIgogICNlbmRpZgoqKiogY3J5cHRv
L29wZW5zc2gvc2Z0cC1zZXJ2ZXIuYy5vbGQJRnJpIE9jdCAgNiAyMzowNzoxNSAyMDA2Ci0tLSBj
cnlwdG8vb3BlbnNzaC9zZnRwLXNlcnZlci5jCVdlZCBKYW4gMzEgMTc6MDE6MjcgMjAwNwoqKioq
KioqKioqKioqKioKKioqIDQxLDQ2ICoqKioKLS0tIDQxLDUwIC0tLS0KICAjaW5jbHVkZSAibG9n
LmgiCiAgI2luY2x1ZGUgIm1pc2MuaCIKICAjaW5jbHVkZSAidWlkc3dhcC5oIgorICNpZmRlZiBT
RlRQQ0hST09UCisgI2luY2x1ZGUgPGdycC5oPgorICNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyAj
ZW5kaWYKICAKICAjaW5jbHVkZSAic2Z0cC5oIgogICNpbmNsdWRlICJzZnRwLWNvbW1vbi5oIgoq
KioqKioqKioqKioqKioKKioqIDExODIsMTE4NyAqKioqCi0tLSAxMTg2LDEyNzkgLS0tLQogIAkJ
YnVmZmVyX2NvbnN1bWUoJmlxdWV1ZSwgbXNnX2xlbiAtIGNvbnN1bWVkKTsKICB9CiAgCisgLyoK
KyAgKiBDaGVjayBpZiBhIHVzZXIgaXMgaW4gdGhlIGZpbGUgImZuYW1lIiwKKyAgKiByZXR1cm4g
YSBwb2ludGVyIHRvIGEgbWFsbG9jJ2Qgc3RyaW5nIHdpdGggdGhlIHJlc3QKKyAgKiBvZiB0aGUg
bWF0Y2hpbmcgbGluZSBpbiAicmVzaWR1ZSIgaWYgbm90IE5VTEwuCisgICovCisgI2lmZGVmIFNG
VFBDSFJPT1QKKyBzdGF0aWMgaW50CisgY2hlY2t1c2VyKGNoYXIgKmZuYW1lLCBjaGFyICpuYW1l
LCBnaWRfdCBwd19naWQsIGNoYXIgKipyZXNpZHVlKQorIHsKKyAJRklMRSAqZmQ7CisgCWludCBm
b3VuZCA9IDA7CisgCXNpemVfdCBsZW47CisgCWNoYXIgKmxpbmUsICptcCwgKnA7CisgCisgCWlm
ICgoZmQgPSBmb3BlbihmbmFtZSwgInIiKSkgIT0gTlVMTCkgeworIAkJd2hpbGUgKCFmb3VuZCAm
JiAobGluZSA9IGZnZXRsbihmZCwgJmxlbikpICE9IE5VTEwpIHsKKyAJCQkvKiBza2lwIGNvbW1l
bnRzICovCisgCQkJaWYgKGxpbmVbMF0gPT0gJyMnKQorIAkJCQljb250aW51ZTsKKyAJCQlpZiAo
bGluZVtsZW4gLSAxXSA9PSAnXG4nKSB7CisgCQkJCWxpbmVbbGVuIC0gMV0gPSAnXDAnOworIAkJ
CQltcCA9IE5VTEw7CisgCQkJfSBlbHNlIHsKKyAJCQkJaWYgKChtcCA9IG1hbGxvYyhsZW4gKyAx
KSkgPT0gTlVMTCkKKyAJCQkJCWZhdGFsKCJSYW4gb3V0IG9mIG1lbW9yeS4iKTsKKyAJCQkJbWVt
Y3B5KG1wLCBsaW5lLCBsZW4pOworIAkJCQltcFtsZW5dID0gJ1wwJzsKKyAJCQkJbGluZSA9IG1w
OworIAkJCX0KKyAJCQkvKiBhdm9pZCBwb3NzaWJsZSBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0
ZXNwYWNlICovCisgCQkJcCA9IHN0cnRvayhsaW5lLCAiIFx0Iik7CisgCQkJLyogc2tpcCBlbXB0
eSBsaW5lcyAqLworIAkJCWlmIChwID09IE5VTEwpCisgCQkJCWdvdG8gbmV4dGxpbmU7CisgCQkJ
LyoKKyAJCQkgKiBpZiBmaXJzdCBjaHIgaXMgJ0AnLCBjaGVjayBncm91cCBtZW1iZXJzaGlwCisg
CQkJICovCisgCQkJaWYgKHBbMF0gPT0gJ0AnKSB7CisgCQkJCWludCBpID0gMDsKKyAJCQkJc3Ry
dWN0IGdyb3VwICpncnA7CisgCisgCQkJCWlmIChwWzFdID09ICdcMCcpIC8qIHNpbmdsZSBAIG1h
dGNoZXMgYW55b25lICovCisgCQkJCQlmb3VuZCA9IDE7CisgCQkJCWVsc2UgeworIAkJCQkJaWYg
KChncnAgPSBnZXRncm5hbShwKzEpKSA9PSBOVUxMKQorIAkJCQkJCWdvdG8gbmV4dGxpbmU7Cisg
CQkJCQkvKgorIAkJCQkJICogQ2hlY2sgdXNlcidzIGRlZmF1bHQgZ3JvdXAKKyAJCQkJCSAqLwor
IAkJCQkJaWYgKGdycC0+Z3JfZ2lkID09IHB3X2dpZCkKKyAJCQkJCQlmb3VuZCA9IDE7CisgCQkJ
CQkvKgorIAkJCQkJICogQ2hlY2sgc3VwcGxlbWVudGFyeSBncm91cHMKKyAJCQkJCSAqLworIAkJ
CQkJd2hpbGUgKCFmb3VuZCAmJiBncnAtPmdyX21lbVtpXSkKKyAJCQkJCQlmb3VuZCA9IHN0cmNt
cChuYW1lLAorIAkJCQkJCQlncnAtPmdyX21lbVtpKytdKQorIAkJCQkJCQk9PSAwOworIAkJCQl9
CisgCQkJfQorIAkJCS8qCisgCQkJICogT3RoZXJ3aXNlLCBqdXN0IGNoZWNrIGZvciB1c2VybmFt
ZSBtYXRjaAorIAkJCSAqLworIAkJCWVsc2UKKyAJCQkJZm91bmQgPSBzdHJjbXAocCwgbmFtZSkg
PT0gMDsKKyAJCQkvKgorIAkJCSAqIFNhdmUgdGhlIHJlc3Qgb2YgbGluZSB0byAicmVzaWR1ZSIg
aWYgbWF0Y2hlZAorIAkJCSAqLworIAkJCWlmIChmb3VuZCAmJiByZXNpZHVlKSB7CisgCQkJCWlm
ICgocCA9IHN0cnRvayhOVUxMLCAiIikpICE9IE5VTEwpCisgCQkJCQlwICs9IHN0cnNwbihwLCAi
IFx0Iik7CisgCQkJCWlmIChwICYmICpwKSB7CisgCQkJCQlpZiAoKCpyZXNpZHVlID0gc3RyZHVw
KHApKSA9PSBOVUxMKQorIAkJCQkJCWZhdGFsKCJSYW4gb3V0IG9mIG1lbW9yeS4iKTsKKyAJCQkJ
fSBlbHNlCisgCQkJCQkqcmVzaWR1ZSA9IE5VTEw7CisgCQkJfQorIG5leHRsaW5lOgorIAkJCWlm
IChtcCkKKyAJCQkJZnJlZShtcCk7CisgCQl9CisgCQkodm9pZCkgZmNsb3NlKGZkKTsKKyAJfQor
IAlyZXR1cm4gKGZvdW5kKTsKKyB9CisgI2VuZGlmCS8qIFNGVFBDSFJPT1QgKi8KKyAKKyAKICAv
KiBDbGVhbnVwIGhhbmRsZXIgdGhhdCBsb2dzIGFjdGl2ZSBoYW5kbGVzIHVwb24gbm9ybWFsIGV4
aXQgKi8KICB2b2lkCiAgY2xlYW51cF9leGl0KGludCBpKQoqKioqKioqKioqKioqKioKKioqIDEy
MTAsMTIxNSAqKioqCi0tLSAxMzAyLDEzMTMgLS0tLQogIAlmZF9zZXQgKnJzZXQsICp3c2V0Owog
IAlpbnQgaW4sIG91dCwgbWF4LCBjaCwgc2tpcGFyZ3MgPSAwLCBsb2dfc3RkZXJyID0gMDsKICAJ
c3NpemVfdCBsZW4sIG9sZW4sIHNldF9zaXplOworICNpZmRlZiBTRlRQQ0hST09UCisgCWludCBk
b2Nocm9vdDsKKyAJY2hhciAqY2hyb290ZGlyLCAqaG9tZWRpciwgKnJlc2lkdWU7CisgCXVpZF90
IHVpZDsKKyAJc3RydWN0IHBhc3N3ZCAqcHc7CisgI2VuZGlmCiAgCVN5c2xvZ0ZhY2lsaXR5IGxv
Z19mYWNpbGl0eSA9IFNZU0xPR19GQUNJTElUWV9BVVRIOwogIAljaGFyICpjcDsKICAKKioqKioq
KioqKioqKioqCioqKiAxMjkwLDEyOTUgKioqKgotLS0gMTM4OCwxNDcwIC0tLS0KICAJc2V0X3Np
emUgPSBob3dtYW55KG1heCArIDEsIE5GREJJVFMpICogc2l6ZW9mKGZkX21hc2spOwogIAlyc2V0
ID0gKGZkX3NldCAqKXhtYWxsb2Moc2V0X3NpemUpOwogIAl3c2V0ID0gKGZkX3NldCAqKXhtYWxs
b2Moc2V0X3NpemUpOworIAorICNpZmRlZglTRlRQQ0hST09UCisgCXVpZCA9IGdldHVpZCgpOwor
IAlpZiAoKHB3ID0gZ2V0cHd1aWQodWlkKSkgPT0gTlVMTCkKKyAJCWZhdGFsKCJDYW5ub3QgZ2V0
IHVzZXIgaW5mbyIpOworIAlyZXNpZHVlID0gTlVMTDsKKyAJZG9jaHJvb3QgPQorIAkJY2hlY2t1
c2VyKF9QQVRIX1NGVFBDSFJPT1RfRklMRSwgcHctPnB3X25hbWUsIHB3LT5wd19naWQsICZyZXNp
ZHVlKTsKKyAJY2hyb290ZGlyID0gTlVMTDsKKyAJaG9tZWRpciA9IE5VTEw7CisgCS8qCisgCSAq
IEZvciBhIGNocm9vdGVkIGxvY2FsIHVzZXIsCisgCSAqIGEpIHNlZSB3aGV0aGVyIGZ0cGNocm9v
dCg1KSBzcGVjaWZpZXMgYSBjaHJvb3QgZGlyZWN0b3J5LAorIAkgKiBiKSBleHRyYWN0IHRoZSBk
aXJlY3RvcnkgcGF0aG5hbWUgZnJvbSB0aGUgbGluZSwKKyAJICogYykgZXhwYW5kIGl0IHRvIHRo
ZSBhYnNvbHV0ZSBwYXRobmFtZSBpZiBuZWNlc3NhcnkuCisgCSAqLworIAlpZiAoZG9jaHJvb3Qg
JiYgcmVzaWR1ZSAmJgorIAkgICAgKGNocm9vdGRpciA9IHN0cnRvayhyZXNpZHVlLCAiIFx0Iikp
ICE9IE5VTEwpIHsKKyAJCWlmIChjaHJvb3RkaXJbMF0gIT0gJy8nKQorIAkJCWFzcHJpbnRmKCZj
aHJvb3RkaXIsICIlcy8lcyIsIHB3LT5wd19kaXIsIGNocm9vdGRpcik7CisgCQllbHNlCisgCQkJ
Y2hyb290ZGlyID0gc3RyZHVwKGNocm9vdGRpcik7IC8qIG1ha2UgaXQgcGVybWFuZW50ICovCisg
CQlpZiAoY2hyb290ZGlyID09IE5VTEwpCisgCQkJZmF0YWwoIlJhbiBvdXQgb2YgbWVtb3J5LiIp
OworIAl9CisgCWlmIChkb2Nocm9vdCkgeworIAkJLyoKKyAJCSAqIElmIG5vIGNocm9vdCBkaXJl
Y3Rvcnkgc2V0IHlldCwgdXNlIHRoZSBsb2dpbiBkaXJlY3RvcnkuCisgCQkgKiBDb3B5IGl0IHNv
IGl0IGNhbiBiZSBtb2RpZmllZCB3aGlsZSBwdy0+cHdfZGlyIHN0YXlzIGludGFjdC4KKyAJCSAq
LworIAkJaWYgKGNocm9vdGRpciA9PSBOVUxMICYmCisgCQkgICAgKGNocm9vdGRpciA9IHN0cmR1
cChwdy0+cHdfZGlyKSkgPT0gTlVMTCkKKyAJCQlmYXRhbCgiUmFuIG91dCBvZiBtZW1vcnkuIik7
CisgCQkvKgorIAkJICogQ2hlY2sgZm9yIHRoZSAiL2Nocm9vdC8uL2hvbWUiIHN5bnRheCwKKyAJ
CSAqIHNlcGFyYXRlIHRoZSBjaHJvb3QgYW5kIGhvbWUgZGlyZWN0b3J5IHBhdGhuYW1lcy4KKyAJ
CSAqLworIAkJaWYgKChob21lZGlyID0gc3Ryc3RyKGNocm9vdGRpciwgIi8uLyIpKSAhPSBOVUxM
KSB7CisgCQkJKihob21lZGlyKyspID0gJ1wwJzsgICAgLyogd2lwZSAnLycgKi8KKyAJCQlob21l
ZGlyKys7CSAgICAgIC8qIHNraXAgJy4nICovCisgCQl9IGVsc2UgeworIAkJCS8qCisgCQkJICog
V2UgTVVTVCBkbyBhIGNoZGlyKCkgYWZ0ZXIgdGhlIGNocm9vdC4gT3RoZXJ3aXNlCisgCQkJICog
dGhlIG9sZCBjdXJyZW50IGRpcmVjdG9yeSB3aWxsIGJlIGFjY2Vzc2libGUgYXMgIi4iCisgCQkJ
ICogb3V0c2lkZSB0aGUgbmV3IHJvb3QhCisgCQkJICovCisgCQkJaG9tZWRpciA9ICIvIjsKKyAJ
CX0KKyAJCS8qCisgCQkgKiBGaW5hbGx5LCBkbyBjaHJvb3QoKQorIAkJICovCisgCQlpZiAoY2hy
b290KGNocm9vdGRpcikgPCAwKSB7CisgCQkJZmF0YWwoIkNhbid0IGNoYW5nZSByb290LiIpOwor
IAkJfQorIAl9IGVsc2UgIC8qIHJlYWwgdXNlciB3L28gY2hyb290ICovCisgCQlob21lZGlyID0g
cHctPnB3X2RpcjsKKyAJLyoKKyAJICogU2V0IGV1aWQgKmJlZm9yZSogZG9pbmcgY2hkaXIoKSBz
bworIAkgKiBhKSB0aGUgdXNlciB3b24ndCBiZSBjYXJyaWVkIHRvIGEgZGlyZWN0b3J5IHRoYXQg
aGUgY291bGRuJ3QgcmVhY2gKKyAJICogICAgb24gaGlzIG93biBkdWUgdG8gbm8gcGVybWlzc2lv
biB0byB1cHBlciBwYXRoIGNvbXBvbmVudHMsCisgCSAqIGIpIE5GUyBtb3VudGVkIGhvbWVkaXJz
IHcvcmVzdHJpY3RpdmUgcGVybWlzc2lvbnMgd2lsbCBiZSBhY2Nlc3NpYmxlCisgCSAqICAgICh1
aWQgMCBoYXMgbm8gcm9vdCBwb3dlciBvdmVyIE5GUyBpZiBub3QgbWFwcGVkIGV4cGxpY2l0bHku
KQorIAkgKi8KKyAJaWYgKHNldGV1aWQocHctPnB3X3VpZCkgPCAwKSB7CisgCQlmYXRhbCgiQ2Fu
J3Qgc2V0IHVpZC4iKTsKKyAJfQorIAlpZiAoY2hkaXIoaG9tZWRpcikgPCAwKSB7CisgCQlpZiAo
ZG9jaHJvb3QpIHsKKyAJCQlmYXRhbCgiQ2FuJ3QgY2hhbmdlIHRvIGJhc2UgZGlyZWN0b3J5LiIp
OworIAkJfSBlbHNlIHsKKyAJCQlpZiAoY2hkaXIoIi8iKSA8IDApIHsKKyAJCQkJZmF0YWwoIlJv
b3QgaXMgaW5hY2Nlc3NpYmxlLiIpOworIAkJCX0KKyAJCQlmYXRhbCgiTm8gZGlyZWN0b3J5ISBM
b2dnaW5nIGluIHdpdGggaG9tZT0vLiIpOworIAkJfQorIAl9CisgI2VuZGlmCS8qIFNGVFBDSFJP
T1QgKi8KICAKICAJZm9yICg7OykgewogIAkJbWVtc2V0KHJzZXQsIDAsIHNldF9zaXplKTsK
--------_46225BA1B1D402D962E0_MULTIPART_MIXED_--

