[#14130] Re: pop3 via firewall — kikutani@...
きくたにです。古い話を持ち出しますが、
[#14133] Thread safe eRuby — Yoshinori Toki <toki@...>
土岐です。
まつもと ゆきひろです
[#14136] — akendo@...3.rim.or.jp
遠藤です。
まつもと ゆきひろです
[#14153] Re: Class is a Class. — 助田 雅紀 <masaki.suketa@...>
助田です.
[#14203] class def in class def — kikutani@...
きくたにです。なんか初歩的質問で恥ずかしいけど。
なひです.
なひです.
まつもと ゆきひろです
なひです.
まつもと ゆきひろです
前田です。
五樹島です。お世話になっております。
松尾です。
石橋秀仁です. はじめまして.
前田です。
石橋です.
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#14220] Re: Subscribe confirmation request (ruby mailing list) — Akihiro Yamauchi <aygoofy@...>
ruby-list-admin@netlab.co.jp wrote
有馬@FITECです。
わたなべです.
[#14257] hajimemasite — Koyama Hideo<fa8h-kym@...>
[#14282] What's |n| ? — Kohji IKEDA <kid@...>
はじめまして、池田@ソフトサイエンスです。
From: Kohji IKEDA <kid@mwc.biglobe.ne.jp>
ども、池田@ソフトサイエンスです。
まつもと ゆきひろです
遠藤です。
まつもと ゆきひろです
[#14284] Module.new feature — Shin-ichiro Hara <sinara@...>
原です。
[#14292] RUBYLIB is necessary for 1.3 ? — kikutani@...
1.2までは、たとえば、mime.rb を /usr/local/lib/ruby にほうりこんどきゃ
[#14304] ruby-info.el — Takashi Nishimoto <g96p0935@...>
Ruby の関数/変数の解説を info から調べる Emacs Lisp を書いてみました。
[#14323] Segmentation Fault on ruby-1.2.5 for Win32(Cygwin) — "MIYOKAWA, Nobuyoshi" <nmiyo@...>
三代川と申します。
こんにちは,もりきゅうです。
こんにちは、三代川です。
[#14332] ruby/gtk 0.17 — Dai <MAP2303@...>
[#14336] archive.rb — Takashi Nishimoto <g96p0935@...>
必要のため、統合アーカイバを書いてみました。
まつもと ゆきひろです
[#14341] sort animation on ruby/tk — "Date Ken" <ge6537@...>
はじめまして伊達と申します。
[#14371] regexp for backslash escaped strings — gotoken@... (GOTO Kentaro)
ごとけんです
わたなべです.
[#14379] Ruby as the First Language — Hideto Ishibashi <a1602hi@...>
石橋秀仁です.
ごとけんです
石橋秀仁です.
ごとけんです
From: gotoken@math.sci.hokudai.ac.jp
[#14408] goo.rb — Kazunori Akaishi <akaishi@...>
akaishi です。
[#14417] はじめまして — Kenji Horikoshi <k-horix@...>
はじめまして,堀越と申します.
[#14428] sort — Koyama Hideo<fa8h-kym@...>
もとcobol屋の小山と申します。
立石です。
ごとけんさん、立石さん。ありがとうございます。
[#14441] ConditionVariable (thread.rb) — SEKI <m_seki@...>
原です。
前田です。
前田です。
原です。
前田です。
原です。
原です。
前田です。
まつもと ゆきひろです
原です。
前田です。
原です。
前田です。
原です。
前田です。
[#14481] count lines — kikutani@...
きくたにです。
[#14489] Re: sort — 助田 雅紀 <masaki.suketa@...>
助田です.ちょっとわからなかったので質問します.
[#14506] Re: ちっちゃい Ruby — 中村暁史 <anakamur@...>
[#14513] Hater — cercine@... (Takashi Ikeda)
池田です。
こんにちは,堀越です.
中田@Vectorです。こんな話の時だけ。
こんにちは,堀越です.
こんにちは,堀越です.
石橋秀仁です.
こんにちは,堀越です.
石橋秀仁です. こんにちは.
もと、大型機使いの小山です。
有馬@FITECです。
新井です。
有馬@FITECです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
まつもと ゆきひろです
だんのです。
まつもと ゆきひろです
石橋秀仁%チュートリアル構想中です.
ごとけんです
なひです.
石橋秀仁です.
なひです.大学では自然言語処理や知識表現について研究しておりました.
石橋秀仁です.
なひです.
なひです.
なひです.
石橋秀仁です.
前田です。
早坂@会津大学といいます。
まつもと ゆきひろです
[#14521] ruby の書き方 ? — goto@...
後藤@横河工事です。以前、ここでお世話になったおかげで、なんとか
前田です。
私も -i でやる方法を書いたけど、前田さんが書いたからもういいや。
[#14597] TkAfter munched memory. — Yoshinari NOMURA <nom@...>
はじめまして、九大の乃村です。
[#14602] ruby upload cgi program — ymaekawa@...
前川と申します。
青山です。
[#14667] [BUG] def foo; foo end; foo — "Takehiko Ueki" <takehiko@...>
ども、植木です。
[#14696] Ruby traps & tips — Akira Endo <akendo@...3.rim.or.jp>
遠藤です。
あおきです。
遠藤です。
あおきです。
[ruby-list:14132] Re: pop3 via firewall
青山です。
Tue, May 04, 1999 at 11:20:42PM +0900 において
kikutani@sprintmail.com さん曰く:
> この新telnet.rbを使って、以下のものを書き直したいんですが、
> どうもやりかたがわかりません。
あ、いえ、もっと単純、簡単なんですよ。こんな感じです。
# ファイアウォール対応部分 (原案:わたなべさん)
def fw_pop3(host, port = 110)
ENV['TELNET_GATEWAY'] or raise "please setenv TELNET_GATEWAY."
fw = Telnet.new('Host'=>ENV['TELNET_GATEWAY'])
fw.waitfor(/>\Z/){|c| print c }
fw.print "telnet #{host} #{port}"
fw
end
class Pop3
def initialize (host, port = 110, timeout = 20)
if host.kind_of?(Hash)
# Pop3.new のオプションを適当に処理し、そのまま Telnet.new に引き渡す
host['Port'] ||= port
host['Timeout'] ||= timeout
@host = Telnet.new(host)
else
@host = Telet.new({'Host' => host, 'Port' => port, 'Timeout' => timeout})
end
@mails = []
end
end
# 通常のアクセス
host = Pop3.new('foo.bar.co.jp')
# ファイアウォール経由の場合
host = Pop3.new({'Proxy' => fw_pop3('foo.bar.co.jp')})
telnet で外部にアクセスできるマシンを TELNET_GATEWAY にセットしておい
て、こんな感じで fw_telnet, fw_pop3 等を用意しておけば、環境変数で一斉
にすべてを切替えられるわけです。
host = Pop3.new(fw_pop3('foo.bar.co.jp'))
こんなインターフェイスもいいかもしれませんね。こんな感じになるでしょうか。
class Pop3
def initialize (host, port = 110, timeout = 20)
case host
when Hash
# Pop3.new のオプションを適当に解釈後、そのまま Telnet.new に引き渡す
host['Port'] ||= port
host['Timeout'] ||= timeout
@host = Telnet.new(host)
when Telnet
@host = Telnet.new({'Proxy' => host, 'Port' => port, 'Timeout' => timeout})
else
@host = Telet.new({'Host' => host, 'Port' => port, 'Timeout' => timeout})
end
@mails = []
end
end
fw_pop3 を Pop3 クラスに含め、Pop3.new({'Proxy' => 'foo.bar.co.jp'})
という手も無くは無いですが、ファイアウォールの種類に依存するコードを含
める事になるので、標準ライブラリにする場合は避けた方が良いとは思います。
> あと、コメントになってる STDOUT.reopen(open("/dev/null", "w")) は、
> telnet.rb でSTDOUTに書き出されるメッセージを抑制したいんですが
> これやると何も返ってこなくなっちゃいます。
あ、STDOUT への出力は無くなりました。逆に、接続時のメッセージが必要な
場合は Telnet.new(){|c| print c } のようにして下さい。
--
青山 和光 Wakou Aoyama <wakou@fsinet.or.jp>