[mew-dist 25441] Re: Fedora Core 2 + stunnel 3.26で送受信できない

nakamura.t nakamura.t at example.com
2004年 10月 8日 (金) 11:17:36 JST


> Mew は /tmp の下に stunnel 4 用のファイルを作りますので、それを盗めば
> 使えるようになると思います。:)

ありがとうございます。 stunnel 4 も使えるようになりました。

> (1) コマンドラインで stunnel を起動し、複数回 telnet をして、複数のコネ
>     クションを受付けるか確認して下さい。

コマンドラインから起動した stunnel に対して複数回 telnet で connect できる
ことを確かめました。

> (2) 以下のパッチを当ると、ダミーコネクションを切らなくなります。これで、
>     Mew から stunnel が使えるようになるか確認して下さい。ちなみに、これ
>     は実験のためのパッチであって、本質的に問題を解決してはいません。

いただいたパッチを当てて試したところ、 Mew から stunnel を使ってメールを
送信することができました。
(ただ、POPでの受信時には鍵マークが表示されますがSMTPでの送信時には何も
表示されません。が、これは今回の問題とは関係ないと想像します。)

それで、 Lisp はほとんどわからないのですが、教えていただいた Mew の
内部動作をもとに少しソースを見ながら調べてみました。
まず、すでに書いたように上のようにいただいたパッチで送信ができるように
なったのですが、 ps でプロセスを調べると毎回の送信終了後 stunnel 
プロセスが終了してしまっていることに気づきました。
(mew-ssl-keep-connection という変数は t のままです。)
これは受信でも同様です。今は biff を使っているので、数分に一度必ず
stunnel のプロセスが新たに起動し、すぐに終了している状態です。

そこで試しに次のコマンドをC-c C-eで順に実行し、(stunnel-test.conf では
ポート番号 10001 を SMTP サーバに向けています。)

(start-process "mystunnel" "buffer-stunnel" "/usr/sbin/stunnel" "/tmp/stunnel-test.conf")
(start-process "mytelnet" "buffer-telnet" "telnet" "localhost" "10001")

この状態で、次のコマンドを実行してみました。

(delete-process "buffer-telnet")

すると telnet が "Process mytelnet killed" となって終了するのですが、
なぜか同時に stunnel も次のように終了してしまいます。

 "2004.10.07 21:56:13 LOG3[22432:4143825024]: Received signal 1; terminating
Process mystunnel exited abnormally with code 3

一方、 stunnel をコマンドラインから起動し、 telnet だけを start-process
で起動すると、 delete-process しても stunnel は終了しません。
念のため改めて CVS から emacs-current を入手してコンパイルしてみましたが
状況は同じでした。
もし Mew でも同様のことが起きているならばこれが原因でしょうか。
(いただいたパッチなしでも受信は成功する場合があることが不思議ですが。)

中村



Mew-dist メーリングリストの案内