starttlsの代わりにgnutls-cliを使用する (Wanderlustで)

土曜日, 2月 12 2011 @ 11:55 午後 JST

投稿者: kazuhiro

最近、Cygwinを1.7に上げたのですが、Cygwin 1.7だとstarttlsがうまくビルドできない (killでシグナルが送れないバイナリになる) ようなので、後ろ向きに回避してGnuTLSgnutls-cliを利用するようにしてみました。

(setq starttls-negotiation-by-kill-program t
      starttls-kill-program "/path/to/cygwin/bin/kill.exe"
      starttls-gnutls-program "/path/to/cygwin/bin/gnutls-cli.exe"
      starttls-use-gnutls t)
(defadvice starttls-negotiate (around use-external-kill activate)
  (if (and (boundp 'starttls-negotiation-by-kill-program)
	   starttls-negotiation-by-kill-program)
      (call-process starttls-kill-program nil nil nil
		    "-ALRM" (format "%d" (process-id process)))
    ad-do-it))

starttlsに付属のstarttls.elではなく、Gnus由来の (Emacsに付属している) starttls.elを利用しています。NTEmacs + Cygwinのgnutls-cliの組み合わせの場合、外部プロセスを利用したシグナルの送信を行う必要があるので、その部分はstarttlsに付属のstarttls.elと同等になるようにしています。

(2011/05/22 追記) adviceを利用したものに変更しました。

タグ:Wanderlust

コメント (0件)


Kazuhiro's blog
http://ikazuhiro.s206.xrea.com/article.php/20101223554433402