From 2b2167043c68f82eeb5a3716a322a7687691f766 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Sun, 3 Jul 2011 15:48:59 +0200 Subject: [PATCH] Add :end-of-capability keyword for use by pop3.el. --- lisp/ChangeLog | 10 ++++++++++ lisp/net/network-stream.el | 17 +++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 12404f496ce..09e0509c802 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2011-07-03 Lars Magne Ingebrigtsen + + * net/network-stream.el (open-network-stream): Use the + :end-of-capability command thoughout. + +2011-07-03 Wolfgang Jenkner (tiny change) + + * net/network-stream.el (open-network-stream): Add the + :end-of-capability command parameter, used by pop3.el. + 2011-07-03 Lars Magne Ingebrigtsen * dired.el (dired-map-over-marks): Refill the doc string (bug#6814). diff --git a/lisp/net/network-stream.el b/lisp/net/network-stream.el index a8989398e15..effba41c564 100644 --- a/lisp/net/network-stream.el +++ b/lisp/net/network-stream.el @@ -98,6 +98,10 @@ values: :end-of-command specifies a regexp matching the end of a command. +:end-of-capability specifies a regexp matching the end of the + response to the command specified for :capability-command. + It defaults to the regexp specified for :end-of-command. + :success specifies a regexp matching a message indicating a successful STARTTLS negotiation. For instance, the default should be \"^3\" for an NNTP connection. @@ -203,11 +207,14 @@ functionality. (success-string (plist-get parameters :success)) (capability-command (plist-get parameters :capability-command)) (eoc (plist-get parameters :end-of-command)) + (eo-capa (or (plist-get parameters :end-of-capability) + eoc)) ;; Return (STREAM GREETING CAPABILITIES RESULTING-TYPE) (stream (make-network-process :name name :buffer buffer :host host :service service)) (greeting (network-stream-get-response stream start eoc)) - (capabilities (network-stream-command stream capability-command eoc)) + (capabilities (network-stream-command stream capability-command + eo-capa)) (resulting-type 'plain) (builtin-starttls (and (fboundp 'gnutls-available-p) (gnutls-available-p))) @@ -250,7 +257,7 @@ functionality. ;; Requery capabilities for protocols that require it; i.e., ;; EHLO for SMTP. (when (plist-get parameters :always-query-capabilities) - (network-stream-command stream capability-command eoc))) + (network-stream-command stream capability-command eo-capa))) (when (string-match success-string (network-stream-command stream starttls-command eoc)) ;; The server said it was OK to begin STARTTLS negotiations. @@ -271,7 +278,7 @@ functionality. (network-stream-get-response stream start eoc))) ;; Re-get the capabilities, which may have now changed. (setq capabilities - (network-stream-command stream capability-command eoc)))) + (network-stream-command stream capability-command eo-capa)))) ;; If TLS is mandatory, close the connection if it's unencrypted. (when (and (or require-tls @@ -353,7 +360,9 @@ functionality. ?p service)))))) (list stream (network-stream-get-response stream start eoc) - (network-stream-command stream capability-command eoc) + (network-stream-command stream capability-command + (or (plist-get parameters :end-of-capability) + eoc)) 'plain))) (provide 'network-stream) -- 2.39.2