Simple Repeater stone for OS/2


新着情報



1. はじめに

        stone は仙石浩明氏が作られたパケットリピータです。
        
        stone は SSLeay を除いて OS/2 に対応しており、emx gcc でコンパイル
        できます。開発環境 (emx gcc) がない方は、バイナリパッケージ をご利用
        ください。
        
        また、Win32 (Windows NT または Windows 95) 用のバイナリパッケージも
        用意されています。仙石さんの stone の公式ページ から取得できます。

        (本家の方では既に stone 2.1 がリリースされています - 07 Dec 1999 追記)


2. OS/2 で使うには

         emx gcc を利用しているので、emx ランタイムパッケージが必要です。
        
         emx ランタイムパッケージは以下の匿名 ftp サーバからダウンロードで
        きます。

          ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx+gcc/
          hobbes.nmsu.edu/pub/os2/dev/emx/v0.9c/

        emx ランタイムパッケージの実体は、emxrt.zip という名前のアーカイブ
        に入っています。これを展開すると、インストール手順の説明文書も見つ
        かるはずです。

         また、emx ランタイム パッケージ、およびそのインストール方法につい
        ては、ソフトバンク(株)から出ている、OS/2 Magazine No.23 (1998 Apr)
        の特集記事と付録 CD-ROM が非常に有益だと思います。付録 CD-ROM には、
        必要なアーカイブが、すべて入っています。開発環境もそろいます。

         バイナリパッケージに含まれる stone.exe をそのまま使うのであれば、
        emx.dll が CONFIG.SYS の LIBPATH で指定されたディレクトリに存在し
        ていればいいです。
        
         stone はマルチスレッド機能を使っているため、リコンパイル時に
        -Zmtd オプションを指定できます。この場合には、emxlibcm.dll が 
        LIBPATH で指定されたディレクトリに存在している必要があります。

         以上の条件が満たされていることを確認し、stone.exe を PATH の通っ
        たディレクトリにおいてください。これで、オリジナルの README.txt に
        説明されている通りに動きます。
        (ただし、/ssl オプションは無効です。)

        
3. OS/2 用バイナリパッケージ

        stone version 2.0 for OS/2 Warp
        
        ※ 再配布される場合、GNU Public Licence に従ってください。


4. 動作確認した OS/2 

        OS/2 Warp 4 + CSD FX00002(Base OS) / WRJ8415(MPTS) + emx 0.9c fix 4


補足情報 :

(1998/02/21 記)

・debug level と kill について 

        stone を動作させているマシン上で、大きな PM アプリケーション、ある
        いは WIN-OS/2 アプリケーションを使用すると、stone の動作が極端に遅
        くなることがあります。特に TCP/IP を使うもの (Netscape や Winsock 
        アプリ類) が動いていると、かなり影響が出ます。

        これを回避するには、debug level を 2 以上にして、stderr へ動作ログ
        を表示させるといいです。debug level は、
        
         起動時の -d オプション数 + 受け取った SIGUSR1 の数 - SIGUSR2 の数

        になります。
        
        SIGUSR1 / SIGUSR2 を stone へ通知するには、emxkill.exe (bind8.1.1
	や apache 1.2.x の OS/2 用アーカイブに含まれる) を、PATH の通った
	ディレクトリに置いた上で、拙作の kill.cmd を使えば、

	  kill -USR1  pid

        と、かなり UNIX ライクに実行できます。


(1998/02/20 記)

・gcc のオプションについて 

        Makefile の以下の記述につき、
        
         emx:
                $(MAKE) CC=gcc FLAGS="-DOS2 -Zmtd -Zbsd-signals" LIBS="-lsocket" stone.exe

        「-Zbsd-signals は -Zsysv-signals にすべきではないか」、と上野さん
        から指摘をいただいています。私 (清水) が確認した範囲では、どちらで
        make したものでも動作に違いはないようですが、ソースの記述から判断
        すると  -Zsysv-signals にすべきもののようです。
        
        # 上野さん、ご指摘ありがとうございました。


・ssl 対応について 

        SSL ライブラリが、上野博さんのページ から入手できるようになりました。
        マルチスレッド用の ssl.a / crypto.a を使えば make できることは、私
         (清水) が確認しました。しかし、ssl 対応した stone for OS/2 の動作
        確認は、まだできていません。

        動作を確認された方がおられましたら、なにとぞご一報ください。お願い
        いたします。

        なお、ssl 対応の stone.exe をコンパイルするには、stone の Makefile
        に以下のパッチを当てて make emx-ssl とします。stone.c の修正は必要
        ありません。

        # 上野さん、ありがとうございました。非常に感謝しております。


  Makefile.diff

--- Makefile.orig	Fri Jan 16 21:02:00 1998
+++ Makefile	Sun Feb  8 00:07:40 1998
@@ -66,4 +66,7 @@
 	$(MAKE) TARGET=win ssl_stone.exe
 
 emx:
-	$(MAKE) CC=gcc FLAGS="-DOS2 -Zmts -Zbsd-signals" LIBS="-lsocket" stone.exe
+	$(MAKE) CC=gcc FLAGS="-DOS2 -Zmts -Zbsd-signals $(FLAGS)" LIBS="$(LIBS) -lsocket" stone.exe
+
+emx-ssl:
+	$(MAKE) TARGET=emx ssl_stone



Kazuyoshi SHIMIZU <kshimz@dd.iij4u.or.jp>
Last modified: Tue, 07 Dec 1999