[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00753] Re: recent patches



青野です。こんばんは。遅くなりましたが、ご報告します。

<20010916210822O.hiroo@oikumene.gcd.org>の記事において
hiroo@oikumene.gcd.orgさんは書きました。

>> 先ほど報告したように、手元ではちゃんと動いていないのですが、すみません
>> が debug をお願いします。

#以下はSolaris-2.4で確かめました。

>> 主な変更:
>> 
>> 濱嶋さんの patch:

>> jserver の option いろいろ変更。

マニュアルの変更もTodoとなりますね(^^;。

>> cmd_name に argv[0] を代入 (矢吹さんのと適当に merge して変更しました)。

-sオプションで指定したログによればちゃんと代入されているよ
うです。

>> 鵜飼さんの patch:
>> --enable-unsafe-path で OFF できるようにしました。

exploitスクリプトを実行しても/tmpにできてないので多分大丈
夫と思われます。
#もう一歩進めて、jserverrcで指定できるようになるといいの
#ですが。

>> 飯島さんの patch:
>> --enable-client で uum が build されます。

uumは未テストです。

>> 他:
>> --enable-debug
>> *BSD,Linux, 他のOSでも gcc の場合に、CDEBUGFLAGS に -g2 を追加して、
>> debug symbol がついたものをインストールするようにしました。

`basename $CC`で判定するよりは、AC_PROG_CCで定義される変数
GCC を利用した方がよいと思います。(autoconfのinfo参照) あ
とはdebugの分岐部分をもう少しスマートにまとめられないか考
え中です。
#以前のCPPパッチでは変更点を少なくするためgcc判定部はその
#ままにしてました。

>> 問題:
>> ・私の手元では、jserver が jserverrc を読み込み中に fgets() で SIGSEGV
>>   で死にます。

私の環境では再現しませんでした。
#FILE* がNULLのため起きるのかとも思ったのですが、それなら
#ばfopen()時にチェックされるはずですし…。

>> ・getlang() まわりの挙動が怪しいので、書き直したほうがよいかも。

未テストですが、.msgファイルは必須ではないということでしょうか。

動作についてはあまり確認していませんが、ビルド時に困ったこ
とを書きます。

・Solaris-2.4ではsnprintf()がありません(多分2.6以降からは
付いていると思いますが…)。これがあるとバッファオーバーフ
ローしないことが保証されるので、どこかから持ってくると後々
(個人的にも)役立つかもしれません。

・以前のメールで小野さんがおっしゃっていた、jserver_dirの
変更はjserverrcの[jckt]server_dirパラメータ(インストールさ
れるjserverrcでは"@LIBDIR/@LANG/dic")で上書きされるので、
/tmp のままでもよかったかもしれません。

・$(TOP)/Makefile.in のLIBTOOL_DEPSの定義でtypoがありました。

・configure中でINSTPGMFLAGSを定義しているようですが、文法
ミスでうまく働いていないと思われます。

とりあえず、LIBTOOL_DEPSとINSTPGMFLAGSの部分についてパッチ
をつけます。
#ソースディレクトリに依存しないビルドができるようにしたい…。

diff -ur ../current.orig/Makefile.in ./Makefile.in
--- ../current.orig/Makefile.in	Tue Aug 14 22:43:20 2001
+++ ./Makefile.in	Sun Sep 23 02:32:33 2001
@@ -49,7 +49,7 @@
 
 SUBDIRS= $(WNNDIR) @JSERVER_SUBDIRS2@ $(CWNNDIR) $(KWNNDIR) @SUBDIRS@
 
-LIBTOOL_DEPS = @LIBTOOLD_DEPS@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
 libtool: $(LIBTOOL_DEPS)
 	$(SHELL) ./config.status --recheck
 
diff -ur ../current.orig/configure.in ./configure.in
--- ../current.orig/configure.in	Mon Sep 17 12:00:04 2001
+++ ./configure.in	Sun Sep 23 02:59:50 2001
@@ -368,9 +368,9 @@
 esac
 
 if test ${debug} = true; then
-     INSTPGMFLAGS =
+     INSTPGMFLAGS=
 else
-     INSTPGMFLAGS = -s
+     INSTPGMFLAGS="-s"
 fi
 AC_SUBST(INSTPGMFLAGS)
 
----
青野智樹	(aono@cc.osaka-kyoiku.ac.jp)


http://www.freewnn.org/ FreeWnn Project