changeset 80347:eaecf88d90b5

Sync 2007-11-04 change from trunk, plus the related comments that came after. Don't require rx when compiling. (tls-end-of-info): Rewrite without using rx.
author Glenn Morris <rgm@gnu.org>
date Wed, 19 Mar 2008 07:08:24 +0000
parents abe8019db92f
children fc86789787e6
files lisp/net/tls.el
diffstat 1 files changed, 14 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/net/tls.el	Wed Mar 19 04:13:46 2008 +0000
+++ b/lisp/net/tls.el	Wed Mar 19 07:08:24 2008 +0000
@@ -51,37 +51,25 @@
   (autoload 'format-spec "format-spec")
   (autoload 'format-spec-make "format-spec"))
 
-(eval-when-compile
-  (require 'rx))
-
 (defgroup tls nil
   "Transport Layer Security (TLS) parameters."
   :group 'comm)
 
 (defcustom tls-end-of-info
-  (rx
-   (or
-    ;; `openssl s_client` regexp
-    (sequence
-     ;; see ssl/ssl_txt.c lines 219--220
-     line-start
-     "    Verify return code: "
-     (one-or-more not-newline)
-     "\n"
-     ;; according to apps/s_client.c line 1515 this is always the last
-     ;; line that is printed by s_client before the real data
-     "---\n")
-    ;; `gnutls` regexp
-    (sequence
-     ;; see src/cli.c lines 721--
-     (sequence line-start "- Simple Client Mode:\n")
-     (zero-or-more
-      (or
-       "\n"                             ; ignore blank lines
-       ;; XXX: we have no way of knowing if the STARTTLS handshake
-       ;; sequence has completed successfully, because `gnutls` will
-       ;; only report failure.
-       (sequence line-start "\*\*\* Starting TLS handshake\n"))))))
+  (concat
+   "\\("
+   ;; `openssl s_client' regexp.  See ssl/ssl_txt.c lines 219-220.
+   ;; According to apps/s_client.c line 1515 `---' is always the last
+   ;; line that is printed by s_client before the real data.
+   "^    Verify return code: .+\n---\n\\|"
+   ;; `gnutls' regexp. See src/cli.c lines 721-.
+   "^- Simple Client Mode:\n"
+   "\\(\n\\|"                           ; ignore blank lines
+   ;; According to GnuTLS v2.1.5 src/cli.c lines 640-650 and 705-715
+   ;; in `main' the handshake will start after this message.  If the
+   ;; handshake fails, the programs will abort.
+   "^\\*\\*\\* Starting TLS handshake\n\\)*"
+   "\\)")
   "Regexp matching end of TLS client informational messages.
 Client data stream begins after the last character matched by
 this.  The default matches `openssl s_client' (version 0.9.8c)