Synch to No Gnus 200505312304.
[elisp/gnus.git-] / lisp / starttls.el
index 0aebc14..4a7c69c 100644 (file)
@@ -1,6 +1,7 @@
 ;;; starttls.el --- STARTTLS functions
 
-;; Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2000, 2003, 2004, 2005
+;;        Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
 ;; Author: Simon Josefsson <simon@josefsson.org>
   "Name of GNUTLS command line tool.
 This program is used when GNUTLS is used, i.e. when
 `starttls-use-gnutls' is non-nil."
-  :version "21.4"
+  :version "22.1"
   :type 'string
   :group 'starttls)
 
@@ -139,7 +140,7 @@ i.e. when `starttls-use-gnutls' is nil."
 
 (defcustom starttls-use-gnutls (not (executable-find starttls-program))
   "*Whether to use GNUTLS instead of the `starttls' command."
-  :version "21.4"
+  :version "22.1"
   :type 'boolean
   :group 'starttls)
 
@@ -158,13 +159,13 @@ This program is used when GNUTLS is used, i.e. when
 For example, non-TLS compliant servers may require
 '(\"--protocols\" \"ssl3\").  Invoke \"gnutls-cli --help\" to
 find out which parameters are available."
-  :version "21.4"
+  :version "22.1"
   :type '(repeat string)
   :group 'starttls)
 
 (defcustom starttls-process-connection-type nil
   "*Value for `process-connection-type' to use when starting STARTTLS process."
-  :version "21.4"
+  :version "22.1"
   :type 'boolean
   :group 'starttls)
 
@@ -174,7 +175,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
   ;; GNUTLS cli.c:main() print this string when it is starting to run
   ;; in the application read/write phase.  If the logic, or the string
   ;; itself, is modified, this must be updated.
-  :version "21.4"
+  :version "22.1"
   :type 'regexp
   :group 'starttls)
 
@@ -183,7 +184,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
 The default is what GNUTLS's \"gnutls-cli\" outputs."
   ;; GNUTLS cli.c:do_handshake() print this string on failure.  If the
   ;; logic, or the string itself, is modified, this must be updated.
-  :version "21.4"
+  :version "22.1"
   :type 'regexp
   :group 'starttls)
 
@@ -194,7 +195,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs."
   ;; common.c:print_info(), that unconditionally print this string
   ;; last.  If that logic, or the string itself, is modified, this
   ;; must be updated.
-  :version "21.4"
+  :version "22.1"
   :type 'regexp
   :group 'starttls)
 
@@ -235,6 +236,12 @@ handshake, or NIL on failure."
       (starttls-negotiate-gnutls process)
     (signal-process (process-id process) 'SIGALRM)))
 
+(if (fboundp 'set-process-query-on-exit-flag)
+    (defalias 'starttls-set-process-query-on-exit-flag
+      'set-process-query-on-exit-flag)
+  (defalias 'starttls-set-process-query-on-exit-flag
+    'process-kill-without-query))
+
 (defun starttls-open-stream-gnutls (name buffer host service)
   (message "Opening STARTTLS connection to `%s'..." host)
   (let* (done
@@ -246,7 +253,7 @@ handshake, or NIL on failure."
                                  (int-to-string service)
                                service)
                         starttls-extra-arguments)))
-    (process-kill-without-query process)
+    (starttls-set-process-query-on-exit-flag process nil)
     (while (and (processp process)
                (eq (process-status process) 'run)
                (save-excursion
@@ -286,7 +293,7 @@ specifying a port number to connect to."
                           name buffer starttls-program
                           host (format "%s" service)
                           starttls-extra-args)))
-      (process-kill-without-query process)
+      (starttls-set-process-query-on-exit-flag process nil)
       process)))
 
 (defun starttls-open-ssl-stream (name buffer host service)