2012年3月28日

[mew-dist 29486] Re: Mew 6.5rc1 <- stunnel-4.53 abort

たかのです。こんちには。

From: Kazu Yamamoto (山本和彦) <kazu@xxxxx>さん
> 山本です。
> > + s_log(LOG_DEBUG, "Service [%s] (FD=%d) bound to %s",
> これだと、今の正規表現でマッチしそうなんですが、何がいけないのでしょ
> うね?

Mew version 6.5rc1 で、stunnel のバージョンを以下の二つ試しま
した。

上手くいく: stunnel-4.52
C-g押すひつようがある: stunnel-4.53

mew 側で debug をオンにして確認してみましたが mew-ssl-filter1
は無事に通過しているようです。mew-ssl-filter2 のほうで引っかかっ
ている感じがします。

--- 上手く行くパターン (stunnel-4.52)
2012.03.28 17:07:20 LOG6[54368:675303168]: SSL connected: new session negotiated
2012.03.28 17:07:20 LOG6[54368:675303168]: Negotiated ciphers: RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
2012.03.28 17:07:20 LOG6[54368:675303168]: Compression: null, expansion: null
---

--- C-g が必要なパターン
2012.03.28 16:48:34 LOG6[49776:675302400]: SSL connected: new session negotiated
2012.03.28 16:48:34 LOG6[49776:675302400]: Negotiated TLSv1/SSLv3 ciphersuite: RC4-SHA (128-bit encryption)
2012.03.28 16:48:34 LOG6[49776:675302400]: Compression: null, expansion: null
---

stunnel のソースコードの比較です。

---
--- stunnel-4.52/src/client.c 2012-01-12 00:43:33.000000000 +0900
+++ stunnel-4.53/src/client.c 2012-03-05 20:11:06.000000000 +0900
@@ -851,23 +891,9 @@
if(global_options.debug_level<LOG_INFO) /* performance optimization */
return;
cipher=(SSL_CIPHER *)SSL_get_current_cipher(c->ssl);
- buf=SSL_CIPHER_description(cipher, NULL, 0);
- i=j=buf;
- do {
- switch(*i) {
- case ' ':
- *j++=' ';
- while(i[1]==' ')
- ++i;
- break;
- case '\n':
- break;
- default:
- *j++=*i;
- }
- } while(*i++);
- s_log(LOG_INFO, "Negotiated ciphers: %s", buf);
- OPENSSL_free(buf);
+ s_log(LOG_INFO, "Negotiated %s ciphersuite: %s (%d-bit encryption)",
+ SSL_CIPHER_get_version(cipher), SSL_CIPHER_get_name(cipher),
+ SSL_CIPHER_get_bits(cipher, NULL));

#if !defined(OPENSSL_NO_COMP) && OPENSSL_VERSION_NUMBER>=0x0090800fL
compression=SSL_get_current_compression(c->ssl);
---


mew-ssl.el は安直すぎますが、以下で動作しました。

--- mew-ssl.el.orig 2012-03-28 17:23:05.000000000 +0900
+++ mew-ssl.el 2012-03-28 17:23:09.000000000 +0900
@@ -231,7 +231,7 @@
(mew-ssl-set-string pnm string)
(setq string (concat prev-str string))
(cond
- ((string-match "Negotiated ciphers\\|opened with SSL" string)
+ ((string-match "Negotiated \\|opened with SSL" string)
(mew-ssl-set-status pnm t))
((string-match "Failed to initialize" string)
(mew-ssl-set-status pnm t)) ;; xxx
---


他の方が無事に動作しているとなると、もしかして、僕の環境だけで
しょうかね・・。実は僕の以前の環境(FreeBSD 8.3-STABLE)でも当初は
無事に動作していたのですが、最近動作しなくなりました。

最近 OS をアップデート(FreeBSD 9.0-STABLE) したのですが、 OS
とか FreeBSD の ports が何か絡んでいるのかなぁ? Negotiated の
プロトコルが全然違いますよね・・。

たかの
---
Contact to me.
takachan[at]running-dog.net http://www.running-dog.net/
takachan[at]icmpv6.org http://icmpv6.org/


投稿者 xml-rpc : 2012年3月28日 17:30
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/109167
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。