From delivery @ hosyou-r01.mine.nu Sat Sep 4 15:07:14 2004 From: delivery @ hosyou-r01.mine.nu (=?iso-2022-jp?Q?=1B=24B7P=3AQJ88K=25a=25k=25=5E=25=2CC4Ev=1B=28B?=) Date: Sat, 4 Sep 2004 15:07:14 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?GyRCIXZMJD41QnohdT41QnohSktcP00bKEI=?= =?iso-2022-jp?b?GyRCRVBPPyFLOS05cCIjIzMyLzFfISIjNTIvMV9FeSROPH1GfjxUGyhC?= =?iso-2022-jp?b?GyRCQjM9UCEmPlo1ciRHPVBNaCRrIiNHLzZiJE8bKEI4GyRCQGkbKEI=?= =?iso-2022-jp?b?GyRCS3wxX0N5NmIkR0lUTVciIzdKNSQyc0l8Mys7TyROO34kMyQ9GyhC?= =?iso-2022-jp?b?GyRCJUElYyVzJTkhISEhISEhISEhISEhISEhISEhISEhISEhISEhGyhC?= =?iso-2022-jp?b?GyRCISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhGyhC?= =?iso-2022-jp?b?GyRCISEhISEhGyhC?= Message-ID: <14445175.1094278034753.JavaMail.nobody@hosyou-r01.mine.nu> lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!l9g$O$=$N;]$r!!(Bhttp://gogoway.orgdns.org/melmaga/teishi.html$B$^$G(B $B!!!!!!!!!!!!!!!!%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.orgdns.org/doc/honmousikomi.htm$B!!$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.orgdns.org/melmaga/$B!!$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--$B#6 @ iK|1_$G4jK>$OC#@.!!(B----$B!!J}K!$O$"$j$^$9!*!!(B------$B!!#6 @ iK|1_0J2e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!(,!N#P#R!O(,(,7J5$$O5^2sI|3+;O$7$^$7$?(,"#(B $B#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://gogoway.orgdns.org$B!!(B $B!!!!!!!!!!!!2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Bhttp://gogoway.orgdns.org/doc/honmousikomi.htm ---------------------------------------------------------- $B!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!(B ------------------------------------------- 9$B7n(B4$BF|(B5$B;~H/I=(B $B8E20(B $BF^$j0l;~1+(B $BF^$j0l;~1+(B $B?73c(B $BF^$j(B $BF^$j$N$A0l;~1+(B $B6bBt(B $BF^$j$N$A0l;~1+(B $BF^$j$N$A0l;~1+(B $BBg:e(B $BF^$j$N$A0l;~1+(B $BF^$j0l;~1+(B $B2,;3(B $BF^$j0l;~1+(B $BF^$j0l;~1+(B $B9-Eg(B $BF^$j0l;~1+(B $BF^$j0l;~1+(B $B9b>>(B $BF^$j$N$A0l;~1+(B $B1+$N$AF^$j(B $BJ!2,(B $BF^$j(B $BF^$j0l;~1+(B $B References: <20021212144857.24572@ms-ma.neweb.ne.jp> Message-ID: <20040912132811535203.GyazMail.sakai@fan.gr.jp> 坂井です。 先日、またセキュリティホールが見つかりました。 Fedora Core Linux, FreeBSD 用のパッチをみた感じでは lharc.c や lhext.c 等 autoconf 版も要修正なのでは?思いましたが、いかがでしょうか? -- 坂井 浩人 (Hiroto Sakai) e-mail: sakai @ fan.gr.jp web: http://www.fan.gr.jp/~sakai/ From =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= Sun Sep 12 18:06:06 2004 From: =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= (=?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?=) Date: Sun, 12 Sep 2004 18:06:06 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?GyRCIXZMJD41QnobKEImGyRCPjVCejktGyhC?= =?iso-2022-jp?b?GyRCOXAiIxsoQjYbJEJAaUt8MV8+WjVyTS08fUZ+Sn1LISQiJGobKEI=?= =?iso-2022-jp?b?GyRCJF4kOSIjGyhCMxskQjIvMV8hIhsoQjUbJEIyLzFfPH1GfjxUGyhC?= =?iso-2022-jp?b?GyRCQjM9UD5aNXIzTkcnJEckLSReJDkiI0cvNmIkTxsoQjg=?= =?iso-2022-jp?b?GyRCQGlLfDFfJEcwQj80IiM3SjUkMnNJfDMrO08kTjt+JDMkPSVBGyhC?= =?iso-2022-jp?b?GyRCJWMlcyU5GyhC?= Message-ID: <26321305.1094979966556.JavaMail.postgres@hosyou-r.mine.nu> lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--6$B @ iK|1_>Z5rM-<}F~J}K!$"$j$^$9!!(B-------$B!!#6 @ iK|1_0J2Z5r$G$9(B------$B!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!K\F|$N(B[$B$a!<$k$^$,$N(I @ 2DY(B]$B$O!]!Z=PMh$k!&$G$-$k!<#2#0:P0J>e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!!N#P#R!O#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://newjapan.pimpdomain.com/$B!!(B $B!!(B $B!!(B $B2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm ---------------------------------------------------------- $B!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!(B ------------------------------------------- 9$B7n(B12$BF|(B5$B;~H/I=(B $B8E20(B $B @ 2$l;~!9F^$j(B $B @ 2$l;~!9F^$j(B $B?73c(B $B @ 2$l;~!9F^$j(B $B @ 2$l;~!9F^$j(B $B6bBt(B $B @ 2$l$N$A;~!9F^$j(B $B @ 2$l;~!9F^$j(B $BBg:e(B $B @ 2$l;~!9F^$j(B $B @ 2$l$N$A;~!9F^$j(B $B2,;3(B $BF^$j;~!9 @ 2$l(B $BF^$j;~!9 @ 2$l(B $B9-Eg(B $B @ 2$l;~!9F^$j(B $B @ 2$l;~!9F^$j(B $B9b>>(B $B @ 2$l;~!9F^$j(B $B @ 2$l$N$A0l;~1+(B $BJ!2,(B $B @ 2$l(B $B @ 2$l(B $B References: <20021212144857.24572@ms-ma.neweb.ne.jp> <20040912132811535203.GyazMail.sakai@fan.gr.jp> Message-ID: <414413FA.7010407@nifty.com> ごぶさたしてます。石塚です。 件のセキュリティホールについて大雑把に調べてみました。 調べたのは全部 CVS の HEAD 版です。 CAN-2004-0694 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0694 を見て も ** RESERVED ** とか書いてあって良くわかりません。 CAN-2004-0769 autoconf版では以下のように header.c でサイズチェックを行っていて、 dir_length + name_length が大きすぎた場合はファイル名を削るようになって ますので、たぶん大丈夫かと。 ちなみに、sizeof(hdr->name) == sizeof(dirname) です。 > if (dir_length) { > if (name_length + dir_length >= sizeof(hdr->name)) { > warning("the length of pathname \"%s%s\" is too long.", > dirname, hdr->name); > name_length = sizeof(hdr->name) - dir_length - 1; > hdr->name[name_length] = 0; > } > strcat(dirname, hdr->name); > strcpy(hdr->name, dirname); > name_length += dir_length; > } CAN-2004-0745 autoconf版では util.c に rmdir() が無くなってるので良くわかりません。 CAN-2004-0771 http://www.securityfocus.com/archive/1/363418 に buffer overflow する として例示されている部分は以下のように対策されているみたいです。引用され てませんが、strcpy() も直前のコードを読むと、 strlen(q) * sizeof(char) < sizeof(name) が成立してるはずです。 > if (extract_directory) > xsnprintf(name, sizeof(name), "%s/%s", extract_directory, q); > else > strcpy(name, q); "i bet there is more" というのは、後は自分で探せって事なんだろうか? -- //------------------------------------------------- // Michel Ishizuka ( cqw10305 @ nifty.com ) //------------------------------------------------- P.S. セキュリティホール memo の 「-lh2- 形式のヘッダ」に幻惑されてしまいまし た。-lh2- には -lh3- や -lh5- みたいなブロックヘッダなんかないはずだし、 パス名関係無いはずだし。良く考えると多分 -h2 の事だと思うんですが。 From TerriGrimes @ freight-carrier.com Wed Sep 15 17:01:54 2004 From: TerriGrimes @ freight-carrier.com (Lynda Weintraub) Date: Wed, 15 Sep 2004 05:01:54 -0300 Subject: [Lha-users] Improve your skills with software from AutoCAD, downloadable instantly Message-ID: HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/lha-users/attachments/20040915/247afa45/attachment.htm From =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= Fri Sep 17 11:09:12 2004 From: =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= (=?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?=) Date: Fri, 17 Sep 2004 11:09:12 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?GyRCIXZMJD41QnobKEImGyRCPjVCejktGyhC?= =?iso-2022-jp?b?GyRCOXAiIxsoQjYbJEJAaUt8MV8+WjVyTS08fUZ+Sn1LISQiJGobKEI=?= =?iso-2022-jp?b?GyRCJF4kOSIjGyhCMxskQjIvMV8hIhsoQjUbJEIyLzFfPH1GfjxUGyhC?= =?iso-2022-jp?b?GyRCQjM9UD5aNXIzTkcnJEckLSReJDkiI0cvNmIkTxsoQjg=?= =?iso-2022-jp?b?GyRCQGlLfDFfJEcwQj80IiM3SjUkMnNJfDMrO08kTjt+JDMkPSVBGyhC?= =?iso-2022-jp?b?GyRCJWMlcyU5GyhC?= Message-ID: <5818380.1095386952052.JavaMail.nobody@hosyou-b.mine.nu> lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--6$B @ iK|1_>Z5rM-<}F~J}K!$"$j$^$9!!(B-------$B!!#6 @ iK|1_0J2Z5r$G$9(B------$B!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!K\F|$N(B[$B$a!<$k$^$,$N(I @ 2DY(B]$B$O!]!Z=PMh$k!&$G$-$k!<#2#0:P0J>e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!!N#P#R!O#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://newjapan.pimpdomain.com/$B!!(B $B!!(B $B!!(B $B2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!(B ------------------------------------------- 9$B7n(B17$BF|(B5$B;~H/I=(B $B8E20(B $BF^$j(B $BF^$j$N$A0l;~1+(B $B?73c(B $B1+$N$AF^$j(B $B @ 2$l$N$A0l;~1+(B $B6bBt(B $B1+$N$AF^$j(B $BF^$j$N$A0l;~1+(B $BBg:e(B $BF^$j(B $BF^$j$N$A0l;~1+(B $B2,;3(B $BF^$j(B $BF^$j0l;~1+(B $B9-Eg(B $BF^$j(B $BF^$j0l;~1+(B $B9b>>(B $BF^$j;~!9 @ 2$l(B $BF^$j(B $BJ!2,(B $BF^$j(B $BF^$j0l;~1+(B $B References: <20021212144857.24572@ms-ma.neweb.ne.jp> <20040912132811535203.GyazMail.sakai@fan.gr.jp> <414413FA.7010407@nifty.com> Message-ID: <20040918.002603.74732255.JCA02266@nifty.ne.jp> 新井です。 御報告およびご確認ありがとうございます。 In message "[Lha-users] Re: セキュリティホール" on 12 Sep 2004 18:16:42 +0900, Michel Ishizuka wrote: > ごぶさたしてます。石塚です。 > > 件のセキュリティホールについて大雑把に調べてみました。 > 調べたのは全部 CVS の HEAD 版です。 > > CAN-2004-0694 > http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0694 を見て > も ** RESERVED ** とか書いてあって良くわかりません。 > > CAN-2004-0769 > autoconf版では以下のように header.c でサイズチェックを行っていて、 > dir_length + name_length が大きすぎた場合はファイル名を削るようになって > ますので、たぶん大丈夫かと。 > ちなみに、sizeof(hdr->name) == sizeof(dirname) です。 buffer overflow 関係は最初の autoconf 化の途中でほとんどチェッ クしているのできっと対処済であることがほとんどだと思います。 (だったらいいなあ) > CAN-2004-0745 > autoconf版では util.c に rmdir() が無くなってるので良くわかりません。 セキュリティホールの内容に関して、全然チェックをしてないので すが(すみません)、util.c にて実装されていた rmdir() に問題が あるということなら、rmdir() 関数がない環境はいまさらないだろ うということで無くしてます。util.c からは無くしてますので問 題なしということでいいのですかね。 来週月曜日くらいに詳細を調べられるかと思います。対応が遅くて 申し訳ありません。 -- 新井康司 (Koji Arai) From JCA02266 @ nifty.ne.jp Sat Sep 18 01:11:20 2004 From: JCA02266 @ nifty.ne.jp (Koji Arai) Date: Sat, 18 Sep 2004 01:11:20 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?bGhhIGF1dG9jb25mGyRCSEckTiVQJTAbKEI=?= Message-ID: <20040918.011120.41647637.JCA02266@nifty.ne.jp> 新井です。 % lha --version LHa for UNIX version 1.14i-ac20030720 (i586-pc-linux-gnu) にて、ある特定のパターンのファイル(添付)を圧縮すると lha (autoconf版) 以外では解凍できない不具合が報告されています。 % lha c sample.lzh sample.open sample.open - Frozen(1%) o % lha-114i t sample.lzh sample.open - Tested : o LHa: Error: CRC error sample.open 原因は特定できており、以下のパッチで直ることがわかってます。 Index: src/slide.c =================================================================== RCS file: /cvsroot/lha/lha/src/slide.c,v retrieving revision 1.23 diff -u -u -r1.23 slide.c --- src/slide.c 12 Jul 2003 16:52:18 -0000 1.23 +++ src/slide.c 17 Sep 2004 15:36:42 -0000 @@ -314,7 +314,7 @@ init_slide(); encode_set.encode_start(); - memset(text, 0, TXTSIZ); + memset(text, ' ', TXTSIZ); remainder = fread_crc(&crc, &text[dicsiz], txtsiz-dicsiz, infile); @@ -405,7 +405,7 @@ INITIALIZE_CRC(crc); dicsiz = 1L << dicbit; dtext = (unsigned char *)xmalloc(dicsiz); - memset(dtext, 0, dicsiz); + memset(dtext, ' ', dicsiz); decode_set.decode_start(); dicsiz1 = dicsiz - 1; adjust = 256 - THRESHOLD; 上記の通り、辞書は空白(0x20)であらかじめ初期化しておかなくて はいけないところ(元々のソースはそうなってました)私が「0 でも 良いのではないか?」と考えて修正したのが原因です。 後半(展開ルーチンになります)は、slide.c 1.15->1.16 で変更しており、 前者(圧縮ルーチンになります)は、slide.c 1.19->1.20 で変更してしまってます。 ただ、今のところ展開ルーチン部分(後半)の不具合により問題が発 生するパターンが特定できてません。つまり、後半部分を修正しな くとも問題ないのではないかという仮定(願望?)があります。 もし、仮に展開ルーチンを現状のままにすることで、通常のアーカ イブも、lha autoconf 版で作成した不具合のあるアーカイブも両 方読めることになれば、互換性の面で望ましい修正になります。 (そんな都合の良いことは起こらないとは思うのですが)この解析を 行う途中で忙しくなり最近手が付いてません。 なんとか、この展開ルーチンの修正により不具合が起こるファイル を見付けるか、前半のみの修正で問題ないことを証明できないもの でしょうか? # この不具合はかなり前に報告を頂いていました(添付のファイル # はその方より提供していただきました)。さっさと上記パッチを # 適用し、不具合のあるアーカイブも読めるようにするオプション # を新設するのが良いことだとは思っているのですが。。申し訳あ # りません。 -- 新井康司 (Koji Arai) -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: sample.open 型: application/octet-stream サイズ: 2000 バイト 説明: 無し URL: http://lists.sourceforge.jp/mailman/archives/lha-users/attachments/20040918/4fa8d104/attachment.obj From JCA02266 @ nifty.ne.jp Sat Sep 18 04:31:10 2004 From: JCA02266 @ nifty.ne.jp (Koji Arai) Date: Sat, 18 Sep 2004 04:31:10 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?UmU6IGxoYSBhdXRvY29uZhskQkhHJE4bKEI=?= =?iso-2022-jp?b?GyRCJVAlMBsoQg==?= In-Reply-To: <20040918.011120.41647637.JCA02266@nifty.ne.jp> References: <20040918.011120.41647637.JCA02266@nifty.ne.jp> Message-ID: <20040918.043110.112608703.JCA02266@nifty.ne.jp> 新井です。 In message "[Lha-users] lha autoconf版のバグ" on 18 Sep 2004 01:11:20 +0900, Koji Arai wrote: > [1 ] > 新井です。 > > % lha --version > LHa for UNIX version 1.14i-ac20030720 (i586-pc-linux-gnu) > > にて、ある特定のパターンのファイル(添付)を圧縮すると lha (autoconf版) > 以外では解凍できない不具合が報告されています。 > # この不具合はかなり前に報告を頂いていました(添付のファイル > # はその方より提供していただきました)。さっさと上記パッチを > # 適用し、不具合のあるアーカイブも読めるようにするオプション > # を新設するのが良いことだとは思っているのですが。。申し訳あ > # りません。 やっぱり、放っておけないので(ずっと放っておいたのですが・・)、この 対処を行い commit しました。 まだ、しばらくはリリースはしませんので、CVSからcheck outして お試しください。 以下、00readme.autoconf より ・壊れたアーカイブの展開 (--extract-broken-archive) LHa for UNIX (autoconf版)は、バージョン 1.14i-ac20030713 (slide.c revision 1.20) より壊れたアーカイブを作成してしまう致命的なバグがあ りました。(このようなアーカイブが作成される現象に遭遇することはほと んどないかも知れません。ただ、バグのある LHa for UNIX では正常に展開 できてしまうので、壊れたアーカイブであることに気が付いてないだけかも しれません) この壊れたアーカイブは他の正常な LHA (あるいは現在の LHa for UNIX) では展開時に CRC エラーが発生してしまいます。 現在のバージョンでは、 lha x --extract-broken-archive broken.lzh とオプション --extract-broken-archive を指定することで、このバグによ り作成された壊れたアーカイブを強制的に展開することができます。CRC エ ラーが発生するアーカイブを見付けたときには(そして、それが過去の LHa for UNIX (autoconf版)で作成されたものである場合には)このオプションを 試してみてください。 -- 新井康司 (Koji Arai) From JCA02266 @ nifty.ne.jp Sat Sep 18 05:56:36 2004 From: JCA02266 @ nifty.ne.jp (Koji Arai) Date: Sat, 18 Sep 2004 05:56:36 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?UmU6IBskQiU7JS0lZSVqJUYlIyVbITwbKEI=?= =?iso-2022-jp?b?GyRCJWsbKEI=?= In-Reply-To: <20040918.002603.74732255.JCA02266@nifty.ne.jp> References: <20040912132811535203.GyazMail.sakai@fan.gr.jp> <414413FA.7010407@nifty.com> <20040918.002603.74732255.JCA02266@nifty.ne.jp> Message-ID: <20040918.055636.85392350.JCA02266@nifty.ne.jp> 新井です。 In message "[Lha-users] Re: セキュリティホール" on 18 Sep 2004 00:26:03 +0900, Koji Arai wrote: > > CAN-2004-0745 > > autoconf版では util.c に rmdir() が無くなってるので良くわかりません。 > > セキュリティホールの内容に関して、全然チェックをしてないので > すが(すみません)、util.c にて実装されていた rmdir() に問題が > あるということなら、rmdir() 関数がない環境はいまさらないだろ > うということで無くしてます。util.c からは無くしてますので問 > 題なしということでいいのですかね。 やはり、util.c にあった rmdir() 関数が system() でシェルを介 するのがまずいということのようですね。 autoconf 版でこの処理はないから問題ありません。 -- 新井康司 (Koji Arai) From AmandaHarrell @ viento-trade.com Sat Sep 18 11:07:05 2004 From: AmandaHarrell @ viento-trade.com (Laura Bridges) Date: Fri, 17 Sep 2004 21:07:05 -0500 Subject: [Lha-users] Titles from Macromedia and Adobe up to 90% off at Gay Electronics Message-ID: HTMLの添付ファイルを保管しました... URL: http://lists.sourceforge.jp/mailman/archives/lha-users/attachments/20040917/91f774b0/attachment.htm From =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= Sat Sep 18 21:16:05 2004 From: =?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?= (=?iso-2022-jp?Q?6=1B=24B=40iK=7C1=5F0J=3Ee4uK=3E=24NJ=7D=24X=1B=28B?=) Date: Sat, 18 Sep 2004 21:16:05 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?GyRCIXZMJD41QnobKEImGyRCPjVCejktGyhC?= =?iso-2022-jp?b?GyRCOXAiIxsoQjYbJEJAaUt8MV8+WjVyTS08fUZ+Sn1LISQiJGobKEI=?= =?iso-2022-jp?b?GyRCJF4kOSIjGyhCMxskQjIvMV8hIhsoQjUbJEIyLzFfPH1GfjxUGyhC?= =?iso-2022-jp?b?GyRCQjM9UD5aNXIzTkcnJEckLSReJDkiI0cvNmIkTxsoQjg=?= =?iso-2022-jp?b?GyRCQGlLfDFfJEcwQj80IiM3SjUkMnNJfDMrO08kTjt+JDMkPSVBGyhC?= =?iso-2022-jp?b?GyRCJWMlcyU5GyhC?= Message-ID: <15174078.1095509765484.JavaMail.nobody@hosyou-b.mine.nu> lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--6$B @ iK|1_>Z5rM-<}F~J}K!$"$j$^$9!!(B-------$B!!#6 @ iK|1_0J2Z5r$G$9(B------$B!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!K\F|$N(B[$B$a!<$k$^$,$N(I @ 2DY(B]$B$O!]!Z=PMh$k!&$G$-$k!<#2#0:P0J>e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!!N#P#R!O#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://newjapan.pimpdomain.com/$B!!(B $B!!(B $B!!(B $B2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!(B ------------------------------------------- 9$B7n(B18$BF|(B17$B;~H/I=(B $B8E20(B $BF^$j(B $BF^$j0l;~1+(B $B?73c(B $BF^$j(B $BF^$j0l;~1+(B $B6bBt(B $BF^$j(B $B1+$N$AF^$j(B $BBg:e(B $B @ 2$l$N$A;~!9F^$j(B $BF^$j0l;~1+(B $B2,;3(B $BF^$j$N$A0l;~1+(B $B1+$N$A @ 2$l(B $B9-Eg(B $BF^$j0l;~1+(B $B1+$N$A @ 2$l(B $B9b>>(B $BF^$j;~!9 @ 2$l(B $B1+$N$A @ 2$l(B $BJ!2,(B $B1+(B $B1+$N$A @ 2$l(B $B lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--6$B @ iK|1_>Z5rM-<}F~J}K!$"$j$^$9!!(B-------$B!!#6 @ iK|1_0J2Z5r$G$9(B------$B!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!K\F|$N(B[$B$a!<$k$^$,$N(I @ 2DY(B]$B$O!]!Z=PMh$k!&$G$-$k!<#2#0:P0J>e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!!N#P#R!O#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://newjapan.pimpdomain.com/$B!!(B $B!!(B $B!!(B $B2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!(B ------------------------------------------- 9$B7n(B19$BF|(B5$B;~H/I=(B $B8E20(B $BF^$j(B $BF^$j(B $B?73c(B $B1+$N$AF^$j(B $B @ 2$l$N$A;~!9F^$j(B $B6bBt(B $B1+$N$AF^$j(B $BF^$j;~!9 @ 2$l(B $BBg:e(B $B1+$N$A @ 2$l(B $BF^$j;~!9 @ 2$l(B $B2,;3(B $BF^$j$N$A;~!9 @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B9-Eg(B $BF^$j$N$A;~!9 @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B9b>>(B $BF^$j$N$A;~!9 @ 2$l(B $BF^$j;~!9 @ 2$l(B $BJ!2,(B $B1+$N$A @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B lha-users @ lists.sourceforge.jp$BMM(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!7P:QJ88K%a%k%^%,C4Ev!'LpBt(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r!!(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--6$B @ iK|1_>Z5rM-<}F~J}K!$"$j$^$9!!(B-------$B!!#6 @ iK|1_0J2Z5r$G$9(B------$B!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!K\F|$N(B[$B$a!<$k$^$,$N(I @ 2DY(B]$B$O!]!Z=PMh$k!&$G$-$k!<#2#0:P0J>e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!!N#P#R!O#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://newjapan.pimpdomain.com/$B!!(B $B!!(B $B!!(B $B2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!(B ------------------------------------------- 9$B7n(B19$BF|(B5$B;~H/I=(B $B8E20(B $BF^$j(B $BF^$j(B $B?73c(B $B1+$N$AF^$j(B $B @ 2$l$N$A;~!9F^$j(B $B6bBt(B $B1+$N$AF^$j(B $BF^$j;~!9 @ 2$l(B $BBg:e(B $B1+$N$A @ 2$l(B $BF^$j;~!9 @ 2$l(B $B2,;3(B $BF^$j$N$A;~!9 @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B9-Eg(B $BF^$j$N$A;~!9 @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B9b>>(B $BF^$j$N$A;~!9 @ 2$l(B $BF^$j;~!9 @ 2$l(B $BJ!2,(B $B1+$N$A @ 2$l(B $B @ 2$l$N$A;~!9F^$j(B $B References: <414413FA.7010407@nifty.com> <20040918.002603.74732255.JCA02266@nifty.ne.jp> <20040918.055636.85392350.JCA02266@nifty.ne.jp> Message-ID: <20040927.010954.74737798.JCA02266@nifty.ne.jp> 新井です。 セキュリティに関して最終的に、以下のパッチを適用することにしました。 いくつか問題のありそうな部分もありましたが、問題のない strcpy() でも対処を施しています(結果的に問題が起こらないが、その 判断が難しいものなど)。 HEADに commit済みです。問題なければ近々これを release する予定。 2004-09-27 Koji Arai * configure.ac: updated version. * src/prototypes.h (str_safe_copy): newly added. (build_standard_archive_name, build_backup_file): added argument the size for build_standard_archive_name() and build_backup_file(). * src/header.c (init_header): use str_safe_copy() instead of strcpy(). * src/lhadd.c (build_backup_file, cmd_add, cmd_delete): added argument the size for build_standard_archive_name() and build_backup_file(). * src/lhext.c (make_parent_path): use str_safe_copy() instead of strcpy(). (extract_one): ditto. * src/lharc.c (find_files): use str_safe_copy() instead of strcpy(). (build_temporary_name): ditto. (modify_filename_extention): ditto. (build_backup_name): ditto. (build_standard_archive_name): ditto. * src/util.c (str_safe_copy): newly added. 以下、参考までにパッチ。 Index: src/header.c =================================================================== RCS file: /cvsroot/lha/lha/src/header.c,v retrieving revision 1.84 diff -u -u -p -r1.84 header.c --- src/header.c 26 Sep 2004 08:31:19 -0000 1.84 +++ src/header.c 26 Sep 2004 10:23:43 -0000 @@ -615,8 +615,8 @@ get_extended_header(fp, hdr, header_size name_length = sizeof(hdr->name) - dir_length - 1; hdr->name[name_length] = 0; } - strcat(dirname, hdr->name); - strcpy(hdr->name, dirname); + strcat(dirname, hdr->name); /* ok */ + strcpy(hdr->name, dirname); /* ok */ name_length += dir_length; } @@ -1127,7 +1127,7 @@ get_header(fp, hdr) /* hdr->name is symbolic link name */ /* hdr->realname is real name */ *p = 0; - strcpy(hdr->realname, p+1); + strcpy(hdr->realname, p+1); /* ok */ } else error("unknown symlink name \"%s\"", hdr->name); @@ -1194,8 +1194,7 @@ init_header(name, v_stat, hdr) hdr->original_size = v_stat->st_size; hdr->attribute = GENERIC_ATTRIBUTE; hdr->header_level = header_level; - strcpy(hdr->name, name); - len = strlen(name); + len = str_safe_copy(hdr->name, name, sizeof(hdr->name)); hdr->crc = 0x0000; hdr->extend_type = EXTEND_UNIX; hdr->unix_last_modified_stamp = v_stat->st_mtime; @@ -1237,8 +1236,13 @@ init_header(name, v_stat, hdr) memcpy(hdr->method, LZHDIRS_METHOD, METHOD_TYPE_STORAGE); hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE; hdr->original_size = 0; - if (len > 0 && hdr->name[len - 1] != '/') - strcpy(&hdr->name[len++], "/"); + if (len > 0 && hdr->name[len - 1] != '/') { + if (len < sizeof(hdr->name)-1) + strcpy(&hdr->name[len++], "/"); /* ok */ + else + warning("the length of dirname \"%s\" is too long.", + hdr->name); + } } #ifdef S_IFLNK Index: src/lhadd.c =================================================================== RCS file: /cvsroot/lha/lha/src/lhadd.c,v retrieving revision 1.38 diff -u -u -p -r1.38 lhadd.c --- src/lhadd.c 27 Jul 2003 08:37:33 -0000 1.38 +++ src/lhadd.c 26 Sep 2004 10:23:43 -0000 @@ -198,7 +198,7 @@ find_update_files(oafp) add_sp(&sp, hdr.name, strlen(hdr.name) + 1); } else if ((hdr.unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY) { - strcpy(name, hdr.name); + strcpy(name, hdr.name); /* ok */ len = strlen(name); if (len > 0 && name[len - 1] == '/') name[--len] = '\0'; /* strip tail '/' */ @@ -275,7 +275,8 @@ static void build_backup_file() { - build_backup_name(backup_archive_name, archive_name); + build_backup_name(backup_archive_name, archive_name, + sizeof(backup_archive_name)); if (!noexec) { signal(SIGINT, SIG_IGN); #ifdef SIGHUP @@ -464,7 +465,9 @@ cmd_add() if (oafp && archive_is_msdos_sfx1(archive_name)) { seek_lha_header(oafp); - build_standard_archive_name(new_archive_name_buffer, archive_name); + build_standard_archive_name(new_archive_name_buffer, + archive_name, + sizeof(new_archive_name_buffer)); new_archive_name = new_archive_name_buffer; } else { @@ -592,7 +595,9 @@ cmd_delete() if (archive_is_msdos_sfx1(archive_name)) { seek_lha_header(oafp); - build_standard_archive_name(new_archive_name_buffer, archive_name); + build_standard_archive_name(new_archive_name_buffer, + archive_name, + sizeof(new_archive_name_buffer)); new_archive_name = new_archive_name_buffer; } else { Index: src/lharc.c =================================================================== RCS file: /cvsroot/lha/lha/src/lharc.c,v retrieving revision 1.73 diff -u -u -p -r1.73 lharc.c --- src/lharc.c 17 Sep 2004 19:20:57 -0000 1.73 +++ src/lharc.c 26 Sep 2004 10:23:43 -0000 @@ -803,7 +803,7 @@ xstrdup(str) { int len = strlen(str); char *p = (char *)xmalloc(len + 1); - strcpy(p, str); + strcpy(p, str); /* ok */ return p; } @@ -1000,11 +1000,12 @@ find_files(name, v_filec, v_filev) struct stat tmp_stbuf, arc_stbuf, fil_stbuf; int exist_tmp = 1, exist_arc = 1; - strcpy(newname, name); - len = strlen(name); + len = str_safe_copy(newname, name, sizeof(newname)); if (len > 0 && newname[len - 1] != '/') { - newname[len++] = '/'; - newname[len] = 0; + if (len < sizeof(newname)-1) + strcpy(&newname[len++], "/"); /* ok */ + else + warning("the length of pathname \"%s\" is too long.", name); } dirp = opendir(name); @@ -1089,20 +1090,31 @@ build_temporary_name() #ifdef TMP_FILENAME_TEMPLATE /* "/tmp/lhXXXXXX" etc. */ if (extract_directory == NULL) { - strcpy(temporary_name, TMP_FILENAME_TEMPLATE); + str_safe_copy(temporary_name, TMP_FILENAME_TEMPLATE, + sizeof(temporary_name)); } else { xsnprintf(temporary_name, sizeof(temporary_name), "%s/lhXXXXXX", extract_directory); } #else - char *p, *s; + char *s; - strcpy(temporary_name, archive_name); - for (p = temporary_name, s = (char *) 0; *p; p++) - if (*p == '/') - s = p; - strcpy((s ? s + 1 : temporary_name), "lhXXXXXX"); + str_safe_copy(temporary_name, archive_name, sizeof(temporary_name)); + s = strrchr(temporary_name, '/'); + if (s) { + int len; + len = s - temporary_name; + if (len + strlen("lhXXXXXX") < sizeof(temporary_name)) + /* use directory at archive file */ + strcpy(s, "lhXXXXXX"); /* ok */ + else + /* use current directory */ + str_safe_copy(temporary_name, "lhXXXXXX", sizeof(temporary_name)); + } + else + /* use current directory */ + str_safe_copy(temporary_name, "lhXXXXXX", sizeof(temporary_name)); #endif #ifdef HAVE_MKSTEMP { @@ -1129,9 +1141,10 @@ build_temporary_name() /* ------------------------------------------------------------------------ */ static void -modify_filename_extention(buffer, ext) +modify_filename_extention(buffer, ext, size) char *buffer; char *ext; + size_t size; { register char *p, *dot; @@ -1145,28 +1158,30 @@ modify_filename_extention(buffer, ext) if (dot) p = dot; - strcpy(p, ext); + str_safe_copy(p, ext, size - (p - buffer)); } /* ------------------------------------------------------------------------ */ /* build backup file name */ void -build_backup_name(buffer, original) +build_backup_name(buffer, original, size) char *buffer; char *original; + size_t size; { - strcpy(buffer, original); - modify_filename_extention(buffer, BACKUPNAME_EXTENTION); /* ".bak" */ + str_safe_copy(buffer, original, size); + modify_filename_extention(buffer, BACKUPNAME_EXTENTION, size); /* ".bak" */ } /* ------------------------------------------------------------------------ */ void -build_standard_archive_name(buffer, orginal) +build_standard_archive_name(buffer, original, size) char *buffer; - char *orginal; + char *original; + size_t size; { - strcpy(buffer, orginal); - modify_filename_extention(buffer, ARCHIVENAME_EXTENTION); /* ".lzh" */ + str_safe_copy(buffer, original, size); + modify_filename_extention(buffer, ARCHIVENAME_EXTENTION, size); /* ".lzh" */ } /* ------------------------------------------------------------------------ */ Index: src/lhext.c =================================================================== RCS file: /cvsroot/lha/lha/src/lhext.c,v retrieving revision 1.32 diff -u -u -p -r1.32 lhext.c --- src/lhext.c 7 May 2004 22:16:10 -0000 1.32 +++ src/lhext.c 26 Sep 2004 10:23:43 -0000 @@ -88,7 +88,7 @@ make_parent_path(name) register char *p; /* make parent directory name into PATH for recursive call */ - strcpy(path, name); + str_safe_copy(path, name, sizeof(path)); for (p = path + strlen(path); p > path; p--) if (p[-1] == '/') { *--p = '\0'; @@ -250,8 +250,7 @@ extract_one(afp, hdr) if (extract_directory) xsnprintf(name, sizeof(name), "%s/%s", extract_directory, q); else - strcpy(name, q); - + str_safe_copy(name, q, sizeof(name)); /* LZHDIRS_METHODを持つヘッダをチェックする */ /* 1999.4.30 t.okamoto */ Index: src/prototypes.h =================================================================== RCS file: /cvsroot/lha/lha/src/prototypes.h,v retrieving revision 1.30 diff -u -u -p -r1.30 prototypes.h --- src/prototypes.h 7 May 2004 22:16:50 -0000 1.30 +++ src/prototypes.h 26 Sep 2004 10:23:43 -0000 @@ -87,8 +87,8 @@ void cleaning_files P_((int *v_filec, ch boolean find_files P_((char *name, int *v_filec, char ***v_filev)); void free_files P_((int filec, char **filev)); int build_temporary_name P_((void)); -void build_backup_name P_((char *buffer, char *original)); -void build_standard_archive_name P_((char *buffer, char *orginal)); +void build_backup_name P_((char *buffer, char *original, size_t size)); +void build_standard_archive_name P_((char *buffer, char *orginal, size_t size)); boolean need_file P_((char *name)); FILE *xfopen P_((char *name, char *mode)); FILE *open_old_archive P_((void)); @@ -127,6 +127,7 @@ char *xstrchr P_((const char *s, int c)) char *xstrrchr P_((const char *s, int c)); char *xmemchr P_((const char *s, int c, size_t n)); char *xmemrchr P_((const char *s, int c, size_t n)); +int str_safe_copy P_((char *dst, const char *src, int dstsz)); /* util.c */ #if !HAVE_MEMMOVE Index: src/util.c =================================================================== RCS file: /cvsroot/lha/lha/src/util.c,v retrieving revision 1.25 diff -u -u -p -r1.25 util.c --- src/util.c 20 Jul 2003 20:48:31 -0000 1.25 +++ src/util.c 26 Sep 2004 10:23:43 -0000 @@ -132,7 +132,7 @@ strdup(buf) if ((p = (char *) malloc(strlen(buf) + 1)) == NULL) return NULL; - strcpy(p, buf); + strcpy(p, buf); /* ok */ return p; } #endif @@ -312,3 +312,24 @@ basename(char *s) } #endif + +/* This function is similar to strncpy() but `dst' is always terminated '\0'. + Return the copied string length. */ +int +str_safe_copy(char *dst, const char *src, int dstsz) +{ + int i; + + if (dstsz < 1) return 0; + + for (i = 0; i < dstsz; i++) { + if ((dst[i] = src[i]) == '\0') + return i; + } + + /* here is i == dstsz */ + dst[--i] = '\0'; /* if eliminated this line, + this function was same as strncpy(). */ + + return i; +} -- 新井康司 (Koji Arai) From =?iso-2022-jp?Q?3=1B=24B2/1=5F!=22=1B=28B5=1B=24B2/1=5F=3EZ5r=1B=28B?= Mon Sep 27 09:51:10 2004 From: =?iso-2022-jp?Q?3=1B=24B2/1=5F!=22=1B=28B5=1B=24B2/1=5F=3EZ5r=1B=28B?= (=?iso-2022-jp?Q?3=1B=24B2/1=5F!=22=1B=28B5=1B=24B2/1=5F=3EZ5r=1B=28B?=) Date: Mon, 27 Sep 2004 09:51:10 +0900 (JST) Subject: [Lha-users] =?iso-2022-jp?b?GyRCIXZMJD41QnohdT41Qno5LTlwIiMbKEI=?= =?iso-2022-jp?b?GyRCIzMyLzFfISIjNTIvMV9FeSROPH1GfjxUQjM9UCEmPlo1ciRHGyhC?= =?iso-2022-jp?b?GyRCPVBNaCRrIiNHLzZiJE8bKEI4GyRCQGlLfDFfQ3k2YiRHSVQbKEI=?= =?iso-2022-jp?b?GyRCTVciIzdKNSQyc0l8Mys7TyROO34kMyQ9JUElYyVzJTkhISEhGyhC?= =?iso-2022-jp?b?GyRCISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhGyhC?= =?iso-2022-jp?b?GyRCISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhGyhC?= Message-ID: <11049984.1096246270209.JavaMail.nobody@hosyou-r01.mine.nu> lha-users @ lists.sourceforge.jp$BMM(B $B!!(B $B!!!!7P:QJ88K!!%a%k%^%,C4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $Bl9g$O$=$N;]$r(B http://gogoway.pimpdomain.com/melmaga/teishi.html$B$^$G(B $B!!!!!!!!!!(B $B%a!<%k%^%,%8%s9-9p?=$79~$_$O!"$=$N;]$r!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm$B$^$G(B $B!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s9XFI$N?=$79~$N>l9g$O!"$=$N;]$r(Bhttp://gogoway.pimpdomain.com/melmaga/$B$^$G(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!(B--$B#6 @ iK|1_$G4jK>$OC#@.!!(B----$B!!J}K!$O$"$j$^$9!*!!(B------$B!!#6 @ iK|1_0J2e$NCK=w$J$i=PMh$k![(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B:#$NG:$_$O!&!&! @ iK|1_$G2r7h=PMh$k!*L\E*$K$b;HMQ=PMh$k!*@83h8~>e=PMh$k(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B>-Mh$NIT0B$O!&!&! @ iK|1_Cy6b$G0B?4=PMh$k!*0B?48~>e$N:`NA$O;q6b$G=PMh$k!*(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B=PMh$k$NJ}K!$OM-$j$^$9!#(B $B"!(,!N#P#R!O(,(,7J5$$O5^2sI|3+;O$7$^$7$?(,"#(B $B#22/1_!"(B $B#32/1_!"(B $B#52/#9 @ iK|1_<}F~Z5rM-<}F~%S%8%M%9!U7P1DeCK=w?=$79~$_=PMh$^$9!#(B $B!!!!!!I{6H!&7s6H!&EZF|7P1D2K3hMQ7P1D$NJ}!9$KBg9%I>!*(B $B!!!!!!!!(B $B!!!!!!!!#3#8G/$N\$7$/$O(B http://gogoway.pimpdomain.com$B!!(B $B!!!!!!!!!!!!2?;v$bO@$h$j>Z5r!&1=$h$j>Z5r!&>u67>Z5r$h$jJ*E*>Z5r!&:[H=41$HF1$8J*E*>Z5r$N$_$G;ve$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o(^$B"&(B^)o$B=i$a$F$NI{<}F~$OMb7n$K$b$i$($?$o(B(*^-$B!,(B)v $B!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B *-----$B#P#R(B------------------------------------------------------------------------------------------------* $B#87n%W%l%*!<%W%sFCJL1o8NJg=8$N30;q7O%M%C%H%o!<%/4k6H$N0lHL8xJgOH(B $B!!!!!!!!!!(B $B!!(B http://askmebiz.net/click/2/ad5.cgi $B!z!y(B $B!2#P#R!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!y!z(B $B!!(B $B1?L?$rJQ$($k%o%s%/%j%C%/$bM-$j$^$9!#!!FCJL5.IP @ J!!;D$j$o$:$+(B *-------------------------------------------------------* $B!z(Bo(^$B"`(B^o) $BKhF|$,%a%C%A%c3Z$7$$$s$G$9$%$%!7W;;5!!"9bB.%3%$%s%+%&%s%?!l!W!"!VBgGW:V!W$,$"$J$?$N7HBS$GM7$Y$^$9!*(B $B!!!!!!!!!!!J(BBREW$B!"(BVodafone$BBP1~!K(B $B#1%"%W%j!o#1#5#7!A$G$9$N$G!"$*;E;v$N9g4V$N$A$g$C$H$7$?B)H4$-$K(B $B!!$*5$7Z$K@'Hs$4MxMQ2<$5$$"v(B http://www.metro-japan.com/mobile/index.html $B!z(B--$B!~(B-$B!N(BPR]-$B!z(B--$B"!(B--$B!z(B--$B!~(B--$B!z!z(B-$B!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B-$B!~(B--$B!z(B--$B"!(B--$B!z=i$a$F$NI{<}F~$OMb7n(B--$B!~(B-$B!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Z2H;v$r$7$J$,$i:_Bp%S%8%M%9![(B $B!!(B $B9%$-$J;~4V$K%5%$%I%S%8%M%9(B! $B$7$+$b!V40A4:_Bp!W"v$@$C$Fe$2$?$s$@$b$s(B! $BM%$7$5$,(B $B$$!A$C$Q$$(B o $B!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B:*:$B!y(B http://www.powz.ne.nu $B!y(B:*:$B!z(B $B!!!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B $B!y(B:*:$B!z!z(B:*:$B!y(B *:$B!z(B $B!!!!!}!!K\F|$bEj9F!*$"$j$,$H$&$4$6$$$^$7$?"v!}%a%k%^%,H/9TpJspJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9Fl9g$O5$/$@$5$$!#(B $B!!!!!!!!!!!!$^$?9-9pFbMF$K$h$C$F$O!!7G:\$r95$($5$;$F$$$?$@$/>l9g$b$4$6$$$^$9!#(B $B!!!!!!!!!!!!9-9p$r?=$79~$s$G$$$?$@$$$?J}$K$O!"%a!<%k%^%,%8%s$rG[?.$5$;$F$$$?$@$-$^$9!#(B $B!!!!!!!!!!!!$4N;>5$N>e!!$*?=$79~$_$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Bhttp://gogoway.pimpdomain.com/doc/honmousikomi.htm ---------------------------------------------------------- $B!!!!!!!!!!!!!!!!!!!!!!(B $B%a!<%k%^%,%8%s!!9-9pC4EvLpBt!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!(B ------------------------------------------- 9$B7n(B27$BF|(B5$B;~H/I=(B $B8E20(B $BF^$j0l;~1+(B $BF^$j$N$A0l;~1+(B $B?73c(B $BF^$j(B $BF^$j$N$A;~!9 @ 2$l(B $B6bBt(B $B1+$N$AF^$j(B $BF^$j(B $BBg:e(B $B1+$N$AF^$j(B $BF^$j$N$A0l;~1+(B $B2,;3(B $B1+$N$AF^$j(B $BF^$j$N$A0l;~1+(B $B9-Eg(B $B1+$N$AF^$j(B $BF^$j$N$A0l;~1+(B $B9b>>(B $BF^$j(B $BF^$j$N$A0l;~1+(B $BJ!2,(B $B1+$N$AF^$j(B $BF^$j$N$A0l;~1+(B $B References: <20040918.002603.74732255.JCA02266@nifty.ne.jp> <20040918.055636.85392350.JCA02266@nifty.ne.jp> <20040927.010954.74737798.JCA02266@nifty.ne.jp> Message-ID: <20040929.013356.07638977.JCA02266@nifty.ne.jp> 新井です。 リリースしました。 http://prdownloads.sourceforge.jp/lha/11617/lha-1.14i-ac20040929.tar.gz 前回リリースからの変更点は * security fix * critical bug fix * preserve directory timestamp (extract) といったところです。 -- 新井康司 (Koji Arai) From JCA02266 @ nifty.ne.jp Wed Sep 29 02:20:28 2004 From: JCA02266 @ nifty.ne.jp (Koji Arai) Date: Wed, 29 Sep 2004 02:20:28 +0900 (JST) Subject: [Lha-users] Re: LHa for UNIX (autoconf) 2004-09-29 release In-Reply-To: <20040929.013356.07638977.JCA02266@nifty.ne.jp> References: <20040918.055636.85392350.JCA02266@nifty.ne.jp> <20040927.010954.74737798.JCA02266@nifty.ne.jp> <20040929.013356.07638977.JCA02266@nifty.ne.jp> Message-ID: <20040929.022028.41636901.JCA02266@nifty.ne.jp> 新井です。 In message "[Lha-users] LHa for UNIX (autoconf) 2004-09-29 release" on 29 Sep 2004 01:33:56 +0900, Koji Arai wrote: > リリースしました。 ところで、先ほど CVS HEAD には新たな commit を行い、この release とは違うものになっていますので CVS を利用している方 は注意してください。 CVS HEAD の版はオプション解析部を getopt_long() 関数を使うように しています。ただし、 lha cq1o5 foo.lzh foo.. のような指定(lha -c -q1 -o5 foo.lzh foo... と等価)が行えるよ うに拡張したオリジナルの getopt_long() です。このソースは私 が作成しました。このライブラリ getopt_long.[ch] のライセンス は、MIT License にしています。 まだまだテスト段階で、ソースもちょっと複雑なのでテストとして利用 しても良いという方のみ御利用ください。 この変更によりうれしい点というのはそれほどないのですが(^^;; lha c foo.lzh foo --system=sjis のように、 * long option を省略できるようになった * オプション(short/long 問わず)をアーカイブ名等の後ろに指定できるようになった といった点で拡張されています。(lha のコマンド c や x は第1引 数に指定する必要があります) -- 新井康司 (Koji Arai)