[mew-dist 29456] SSL session setup doesn't work properly
Seiji Ariga
ariga at example.com
2012年 3月 7日 (水) 05:42:12 JST
有賀と申します。
stunnel 4.51 から debug の表示が変わったようで、stunnel のセットアップ
がうまくいきません。(一度 C-g して再度実行するとうまくいく)
stunnel の diff は次の通りです。
--- stunnel-4.50/src/stunnel.c 2011-12-02 10:08:48.000000000 -0500
+++ stunnel-4.51/src/stunnel.c 2012-01-01 16:42:28.000000000 -0500
@@ -343,22 +341,18 @@
str_free(local_address);
return 1;
}
- s_log(LOG_DEBUG, "Service %s bound to %s",
- opt->servname, local_address);
- str_free(local_address);
if(listen(opt->fd, SOMAXCONN)) {
sockerror("listen");
closesocket(opt->fd);
+ str_free(local_address);
return 1;
}
s_poll_add(fds, opt->fd, 1, 0);
- s_log(LOG_DEBUG, "Service %s opened FD=%d",
- opt->servname, opt->fd);
+ s_log(LOG_DEBUG, "Service %s bound FD=%d to %s",
+ opt->servname, opt->fd, local_address);
+ str_free(local_address);
} else if(opt->option.program && opt->option.remote) {
/* create exec+connect services */
- enter_critical_section(CRIT_CLIENTS);
- ++num_clients;
- leave_critical_section(CRIT_CLIENTS);
create_client(-1, -1,
alloc_client_session(opt, -1, -1), client_thread);
}
*Mew debug* の出力の違いは次の通りです。
stunnel-4.43
----
2012.03.06 15:02:56 LOG5[18868:34384933888]: Configuration successful
2012.03.06 15:02:56 LOG7[18868:34384933888]: accept socket: FD=5 allocated (non-blocking mode)
2012.03.06 15:02:56 LOG7[18868:34384933888]: Service 4321 bound to 127.0.0.1:4321
2012.03.06 15:02:56 LOG7[18868:34384933888]: Service 4321 opened FD=5
2012.03.06 15:02:56 LOG7[18868:34384933888]: No pid file being created
----
stunnel-4.53
----
2012.03.06 15:00:42 LOG5[16048:34384933888]: Configuration successful
2012.03.06 15:00:42 LOG7[16048:34384933888]: Service 1111 bound FD=5 to 127.0.0.1:1111
2012.03.06 15:00:42 LOG7[16048:34384933888]: No pid file being created
----
いい加減なパッチですが、以下で動きました。
--- mew-6.4/mew-ssl.el.orig 2011-10-19 04:46:38.000000000 -0400
+++ mew-6.4/mew-ssl.el 2012-03-06 15:39:31.000000000 -0500
@@ -214,7 +214,7 @@
(mew-ssl-set-string pnm string)
(setq string (concat prev-str string))
(cond
- ((string-match "bound to" string)
+ ((string-match "bound \\(\\|FD=[0-9]+ \\)to" string)
(mew-ssl-set-status pnm t))
((string-match "gethostbyname: Valid name, no data record of requested type" string)
(mew-ssl-set-status pnm 'gethostbyname-failure))
// Seiji Ariga
Mew-dist メーリングリストの案内