木村です。
Windowsでstunnelを5.68にするとサーバに接続に行くところで固まってしまう、
という問題に遭遇していて、現在色々調べている途中なのですが、それに関連
してmew-ssl.elのコードを眺めていて、二つほど提案があります。
1. サポートするstunnelのバージョンについて
現在Mewはstunnelのバージョン3以降をサポートしていますが、stunnelの公式
アーカイブ(https://www.stunnel.org/archive/)で各バージョンのソースアー
カイブのタイムスタンプを確認してみたところ、
stunnel-3.22.tar.gz(3.xの最後のバージョン) => 2001-12-23 21:23
stunnel-4.00.tar.gz => 2002-08-30 20:02
stunnel-5.00.tar.gz => 2014-03-06 00:41
となっています。一方Mew 6.9からはEmacs 26.1以降のみサポートされること
になりましたが、「GNU Emacs Release History」
(https://www.gnu.org/savannah-checkouts/gnu/emacs/history.html)による
と26.1がリリースされたのは2018-05-28なので、これと↑のstunnelの各バー
ジョンのタイムスタンプを比較して考えると、サポートするstunnelのバージョ
ンを5.0以降としてもよいのではないかと思うのですが、いかがでしょうか。
特に引数が4.x以降と大きく異なる3.xについては、最終バージョンの3.22が出
たのが既に20年以上前なので、サポートを終了してそのためのコードを削除し
ても問題ないと思います。
2. IPv6のサポートについて
mew-ssl.elの60行目に以下のようなコメントがあります
----------------------------------------------------------------------
;; stunnel does not support IPv6, sigh
----------------------------------------------------------------------
しかしながら
* FreeBSD 13.1-RELEASE amd64のstunnel 5.68
* Debian 11.6 amd64のstunnel 5.56
* 64bit Cygwinのstunnel 5.68
* 公式のWindowsインストーラでインストールされるtstunnel.exe 5.67
の4つについて
----------------------------------------------------------------------
[13579]
accept=localhost:13579
----------------------------------------------------------------------
のような設定ファイルを作成してstunnelを起動したところ、いずれの環境で
も
127.0.0.1:13579と[::1}:13579の両方で接続を待ち受けており、最近のバー
ジョンのstunnelがIPv6をサポートしているのは間違いないようです。1番目の
話と違って、stunnelがいつからIPv6をサポートされるようになったのかは不
明ですが、今や「フレッツが遅いのはIPv6にすると解決する」話の影響で一般
家庭にまでIPv6が普及する時代ですし、mew-ssl.elの132行目を
----------------------------------------------------------------------
(insert (format "accept=%s:%d\n" mew-ssl-localhost localport))
----------------------------------------------------------------------
から
----------------------------------------------------------------------
(insert (format "accept=localhost:%d\n" localport))
----------------------------------------------------------------------
に変更してもよいのではないかと思うのですが、いかがでしょうか。
以上2点、皆さんのご意見をお聞かせ下さい。特に反対がないようなら、pull
requestを作成するつもりです。
---
木村 康浩