]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge changes made in Gnus trunk.
authorGnus developers <ding@gnus.org>
Tue, 25 Jan 2011 23:51:40 +0000 (23:51 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 25 Jan 2011 23:51:40 +0000 (23:51 +0000)
mm-view.el (mm-display-shell-script-inline): Fix typo in docstring.
 (mm-display-javascript-inline): New function.
mm-decode.el (mm-inline-media-tests): Add application/javascript viewing function.
nnimap.el (nnimap-open-connection-1): Store the actual stream type used.
 (nnimap-login): Prefer plain LOGIN if it's enabled (since it requires fewer round trips than CRAM-MD5, and it's less likely to be buggy), and we're using an encrypted connection.
proto-stream.el: Alter the interface functions to also return the actual stream type used: network or tls.

lisp/gnus/ChangeLog
lisp/gnus/mm-decode.el
lisp/gnus/mm-view.el
lisp/gnus/nnimap.el
lisp/gnus/proto-stream.el

index af4bebdd409e0411cb7045fd7afb5ed6fb0807ad..47d08e8609f1eff02b53c0938abc43aee2d3d800 100644 (file)
@@ -1,3 +1,22 @@
+2011-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * nnimap.el (nnimap-open-connection-1): Store the actual stream type
+       used.
+       (nnimap-login): Prefer plain LOGIN if it's enabled (since it requires
+       fewer round trips than CRAM-MD5, and it's less likely to be buggy), and
+       we're using an encrypted connection.
+
+       * proto-stream.el: Alter the interface functions to also return the
+       actual stream type used: network or tls.
+
+2011-01-25  Julien Danjou  <julien@danjou.info>
+
+       * mm-view.el (mm-display-shell-script-inline): Fix typo in docstring.
+       (mm-display-javascript-inline): New function.
+
+       * mm-decode.el (mm-inline-media-tests): Add application/javascript
+       viewing function.
+
 2011-01-25  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * shr.el (shr-expand-newlines): Fix variable name.
index 019a0e8f66e4500787bbf29054ced58ea64b6e57..d7bc882a8441c87f99c528190f7a1102d5d8d195 100644 (file)
@@ -239,6 +239,7 @@ before the external MIME handler is invoked."
     ("application/x-shellscript" mm-display-shell-script-inline identity)
     ("application/x-sh" mm-display-shell-script-inline identity)
     ("text/x-sh" mm-display-shell-script-inline identity)
+    ("application/javascript" mm-display-javascript-inline identity)
     ("text/dns" mm-display-dns-inline identity)
     ("text/x-org" mm-display-org-inline identity)
     ("text/html"
index e3286b854e4a1ffc291e15cf9184696c527fe7d1..d63d20239dc402fcd02ae96c06592179939db671 100644 (file)
   (mm-display-inline-fontify handle 'org-mode))
 
 (defun mm-display-shell-script-inline (handle)
-  "Show an shell script from HANDLE inline."
+  "Show a shell script from HANDLE inline."
   (mm-display-inline-fontify handle 'shell-script-mode))
 
+(defun mm-display-javascript-inline (handle)
+  "Show JavsScript code from HANDLE inline."
+  (mm-display-inline-fontify handle 'javascript-mode))
+
 ;;      id-signedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
 ;;          us(840) rsadsi(113549) pkcs(1) pkcs7(7) 2 }
 (defvar mm-pkcs7-signed-magic
index dccdb968270a12a347ede25f4009e39653c121cf..6f7383062dbd0b41d34a169dbc1e58723bbe93f5 100644 (file)
@@ -124,7 +124,7 @@ textual parts.")
 
 (defstruct nnimap
   group process commands capabilities select-result newlinep server
-  last-command-time greeting examined)
+  last-command-time greeting examined stream-type)
 
 (defvar nnimap-object nil)
 
@@ -350,7 +350,7 @@ textual parts.")
            login-result credentials)
       (when nnimap-server-port
        (setq ports (append ports (list nnimap-server-port))))
-      (destructuring-bind (stream greeting capabilities)
+      (destructuring-bind (stream greeting capabilities stream-type)
          (open-protocol-stream
           "*nnimap*" (current-buffer) nnimap-address (car (last ports))
           :type nnimap-stream
@@ -362,6 +362,7 @@ textual parts.")
             (when (gnus-string-match-p "STARTTLS" capabilities)
               "1 STARTTLS\r\n")))
        (setf (nnimap-process nnimap-object) stream)
+       (setf (nnimap-stream-type nnimap-object) stream-type)
        (if (not stream)
            (progn
              (nnheader-report 'nnimap "Unable to contact %s:%s via %s"
@@ -411,6 +412,12 @@ textual parts.")
 
 (defun nnimap-login (user password)
   (cond
+   ;; Prefer plain LOGIN if it's enabled (since it requires fewer
+   ;; round trips than CRAM-MD5, and it's less likely to be buggy),
+   ;; and we're using an encrypted connection.
+   ((and (not (nnimap-capability "LOGINDISABLED"))
+        (eq (nnimap-stream-type nnimap-object) 'tls))
+    (nnimap-command "LOGIN %S %S" user password))
    ((nnimap-capability "AUTH=CRAM-MD5")
     (erase-buffer)
     (let ((sequence (nnimap-send-command "AUTHENTICATE CRAM-MD5"))
index ec0c9ea9b7dc7022be05eddb4233225b07b50795..9117ac9f4e37f6333a4cd29b5e6df78df2da1083 100644 (file)
@@ -105,13 +105,15 @@ command to switch on STARTTLS otherwise."
           (funcall (intern (format "proto-stream-open-%s" type) obarray)
                    name buffer host service parameters)))
       (if (null open-result)
-         (list nil nil nil)
-       (destructuring-bind (stream greeting capabilities) open-result
+         (list nil nil nil type)
+       (let ((stream (car open-result)))
          (list (and stream
                     (memq (process-status stream)
                           '(open run))
                     stream)
-               greeting capabilities))))))
+               (nth 1 open-result)
+               (nth 2 open-result)
+               (nth 3 open-result)))))))
 
 (defun proto-stream-open-network-only (name buffer host service parameters)
   (let ((start (with-current-buffer buffer (point)))
@@ -119,7 +121,8 @@ command to switch on STARTTLS otherwise."
     (list stream
          (proto-stream-get-response
           stream start (proto-stream-eoc parameters))
-         nil)))
+         nil
+         'network)))
 
 (defun proto-stream-open-network (name buffer host service parameters)
   (let* ((start (with-current-buffer buffer (point)))
@@ -130,7 +133,7 @@ command to switch on STARTTLS otherwise."
         (greeting (proto-stream-get-response stream start eoc))
         success)
     (if (not capability-command)
-       (list stream greeting nil)
+       (list stream greeting nil 'network)
       (let* ((capabilities
              (proto-stream-command stream capability-command eoc))
             (starttls-command
@@ -148,7 +151,7 @@ command to switch on STARTTLS otherwise."
                (delete-process stream)
                nil)
            ;; Otherwise, just return this plain network connection.
-           (list stream greeting capabilities)))
+           (list stream greeting capabilities 'network)))
         ;; We have some kind of STARTTLS support, so we try to
         ;; upgrade the connection opportunistically.
         ((or (fboundp 'open-gnutls-stream)
@@ -176,7 +179,7 @@ command to switch on STARTTLS otherwise."
                    (progn
                      (delete-process stream)
                      nil)
-                 (list stream greeting capabilities)))
+                 (list stream greeting capabilities 'network)))
            ;; The server said it was OK to start doing STARTTLS negotiations.
            (if (fboundp 'open-gnutls-stream)
                (gnutls-negotiate stream nil)
@@ -193,7 +196,7 @@ command to switch on STARTTLS otherwise."
            ;; Re-get the capabilities, since they may have changed
            ;; after switching to TLS.
            (list stream greeting
-                 (proto-stream-command stream capability-command eoc))))
+                 (proto-stream-command stream capability-command eoc) 'tls)))
         ;; We don't have STARTTLS support available, but the caller
         ;; requested a STARTTLS connection, so we give up.
         ((eq (cadr (memq :type parameters)) 'starttls)
@@ -201,7 +204,7 @@ command to switch on STARTTLS otherwise."
          nil)
         ;; Fall back on using a plain network stream.
         (t
-         (list stream greeting capabilities)))))))
+         (list stream greeting capabilities 'network)))))))
 
 (defun proto-stream-command (stream command eoc)
   (let ((start (with-current-buffer (process-buffer stream) (point-max))))
@@ -242,7 +245,7 @@ command to switch on STARTTLS otherwise."
          (when (re-search-forward (proto-stream-eoc parameters) nil t)
            (goto-char (match-beginning 0))
            (delete-region (point-min) (line-beginning-position))))
-       (proto-stream-capability-open start stream parameters)))))
+       (proto-stream-capability-open start stream parameters 'tls)))))
 
 (defun proto-stream-open-shell (name buffer host service parameters)
   (proto-stream-capability-open
@@ -255,16 +258,17 @@ command to switch on STARTTLS otherwise."
                     (format-spec-make
                      ?s host
                      ?p service))))
-   parameters))
+   parameters 'network))
 
-(defun proto-stream-capability-open (start stream parameters)
+(defun proto-stream-capability-open (start stream parameters stream-type)
   (let ((capability-command (cadr (memq :capability-command parameters)))
        (greeting (proto-stream-get-response
                   stream start (proto-stream-eoc parameters))))
     (list stream greeting
          (and capability-command
               (proto-stream-command
-               stream capability-command (proto-stream-eoc parameters))))))
+               stream capability-command (proto-stream-eoc parameters)))
+         stream-type)))
 
 (defun proto-stream-eoc (parameters)
   (or (cadr (memq :end-of-command parameters))