X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Ftls.el;h=821daba6f6bf30a9cec8b6157a3d4a4b55535be8;hb=74a489ff1213794152d6e13f7a11e16c89f62602;hp=e1e01b002d2360cf8de1fefd5349f23de1249c67;hpb=8b5af94e55ef83ee46b42d32d92fa1ce95dcacf5;p=gnus diff --git a/lisp/tls.el b/lisp/tls.el index e1e01b002..821daba6f 100644 --- a/lisp/tls.el +++ b/lisp/tls.el @@ -1,7 +1,7 @@ ;;; tls.el --- TLS/SSL support via wrapper around GnuTLS -;; Copyright (C) 1996, 1997, 1998, 1999, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 1996, 1997, 1998, 1999, 2002, 2003, 2004, 2005, 2006, +;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: Simon Josefsson ;; Keywords: comm, tls, gnutls, ssl @@ -45,9 +45,8 @@ ;;; Code: -(eval-and-compile - (autoload 'format-spec "format-spec") - (autoload 'format-spec-make "format-spec")) +(autoload 'format-spec "format-spec") +(autoload 'format-spec-make "format-spec") (defgroup tls nil "Transport Layer Security (TLS) parameters." @@ -217,22 +216,28 @@ Fourth arg PORT is an integer specifying a port to connect to." (use-temp-buffer (null buffer)) process cmd done) (if use-temp-buffer - (setq buffer (generate-new-buffer " TLS"))) + (setq buffer (generate-new-buffer " TLS")) + ;; BUFFER is a string but does not exist as a buffer object. + (unless (and (get-buffer buffer) + (buffer-name (get-buffer buffer))) + (generate-new-buffer buffer))) (with-current-buffer buffer (message "Opening TLS connection to `%s'..." host) (while (and (not done) (setq cmd (pop cmds))) - (message "Opening TLS connection with `%s'..." cmd) (let ((process-connection-type tls-process-connection-type) + (formatted-cmd + (format-spec + cmd + (format-spec-make + ?h host + ?p (if (integerp port) + (int-to-string port) + port)))) response) + (message "Opening TLS connection with `%s'..." formatted-cmd) (setq process (start-process name buffer shell-file-name shell-command-switch - (format-spec - cmd - (format-spec-make - ?h host - ?p (if (integerp port) - (int-to-string port) - port))))) + formatted-cmd)) (while (and process (memq (process-status process) '(open run)) (progn @@ -241,7 +246,7 @@ Fourth arg PORT is an integer specifying a port to connect to." tls-success nil t))))) (unless (accept-process-output process 1) (sit-for 1))) - (message "Opening TLS connection with `%s'...%s" cmd + (message "Opening TLS connection with `%s'...%s" formatted-cmd (if done "done" "failed")) (if (not done) (delete-process process) @@ -293,5 +298,4 @@ match `%s'. Connect anyway? " host)))))) (provide 'tls) -;; arch-tag: 5596d1c4-facc-4bc4-94a9-9863b928d7ac ;;; tls.el ends here