Simple Repeater stone for OS/2
新着情報
- 1998/02/21 補足情報 を加筆した。
- 1998/02/20 このページを置いた。
- 1998/02/02 stone 2.0 の正式リリースの バイナリパッケージ を置いた。
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