From: "とみたまさひろ" Date: 1999-10-13T00:34:41+09:00 Subject: [ruby-dev:7990] socks5 とみたです。 また socks5 の話です。 せっかく socket モジュールに取り込んでもらった socks5 パッチですが、ちょっ と考え直しました。 socks5 では、ソケット関係の関数が、のきなみ socks 用の関数に置き換えられ てコンパイルされます。connect, accept, sendto, recvfrom はもちろん、 gethostbyname やなんと close, dup, read, write, fprintf, longjmp なども 置き換えてしまいます。 で、SOCKS_SERVER 環境変数が設定されているか否かによって、socks ライブラ リ中で socks として振舞うか標準の関数として振舞うかを決めているようです (自信なし)。 socks を使う時はいいんですけど、socks を使わない時にも socks ライブラリ の中を通るというのは、ちょっと気持ち悪いです。また、これでは1つのプロセ ス中で socks ソケットと非socks ソケットを混在できません(多分)。 ということで、socks5 は socket とは別のモジュールとして作成した方がいい と思うようになりました。 # ruby make 時の SOCKS_SERVER 環境変数の有無によってモジュールの性質が変 # わるのもイマイチな気がするし…。 そのうち SOCKSSocket クラスだけを持った socks5 モジュールを作ってみよう と思いますので、この前の私の SOCKS5 パッチはとりあえず無かったことにして ください。 # 無かったことにしなくても、そんなに害にはならないと思うけど…。 -- とみたまさひろ