From: Lars Magne Ingebrigtsen Date: Wed, 17 Aug 2011 20:50:33 +0000 (+0200) Subject: (network-stream-open-starttls): Support using starttls.el without using gnutls-cli. X-Git-Tag: emacs-pretest-24.0.90~104^2~124^2~21 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=57173b965f2fb2265f4aeb65b5076b4a63816394;p=emacs.git (network-stream-open-starttls): Support using starttls.el without using gnutls-cli. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 38a463ddb58..9603acec917 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2011-08-17 Lars Magne Ingebrigtsen + + * net/network-stream.el (network-stream-open-starttls): Support + using starttls.el without using gnutls-cli. + 2011-08-17 Juri Linkov * progmodes/grep.el (rgrep): Handle the case when diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index ceb094cded7..0c3d0285f91 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el @@ -237,13 +237,13 @@ functionality. (unless builtin-starttls (delete-process stream) (setq start (with-current-buffer buffer (point-max))) - (let* ((starttls-use-gnutls t) - (starttls-extra-arguments + (let* ((starttls-extra-arguments (if require-tls starttls-extra-arguments ;; For opportunistic TLS upgrades, we don't really ;; care about the identity of the peer. (cons "--insecure" starttls-extra-arguments))) + (starttls-extra-args starttls-extra-args) (cert (network-stream-certificate host service parameters))) ;; There are client certificates requested, so add them to ;; the command line. @@ -251,7 +251,11 @@ functionality. (setq starttls-extra-arguments (nconc (list "--x509keyfile" (expand-file-name (nth 0 cert)) "--x509certfile" (expand-file-name (nth 1 cert))) - starttls-extra-arguments))) + starttls-extra-arguments) + starttls-extra-args + (nconc (list "--key-file" (expand-file-name (nth 0 cert)) + "--cert-file" (expand-file-name (nth 1 cert))) + starttls-extra-args))) (setq stream (starttls-open-stream name buffer host service))) (network-stream-get-response stream start eoc) ;; Requery capabilities for protocols that require it; i.e.,