(mml2015-epg-verify): Convert LF to CRLF before signature
authorDaiki Ueno <ueno@unixuser.org>
Mon, 19 Feb 2007 04:01:09 +0000 (04:01 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Mon, 19 Feb 2007 04:01:09 +0000 (04:01 +0000)
verification.

lisp/ChangeLog
lisp/mml2015.el

index 2d20ccd..eb0a2ae 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-19  Daiki Ueno  <ueno@unixuser.org>
+
+       * mml2015.el (mml2015-epg-verify): Convert LF to CRLF before signature
+       verification.
+
 2007-02-15  Andreas Seltenreich  <uwi7@rz.uni-karlsruhe.de>
 
        * nnweb.el (nnweb-google-parse-1): Fix date parsing to also match on
index 2305df2..24bd13a 100644 (file)
@@ -1071,7 +1071,7 @@ Whether the passphrase is cached at all is controlled by
 (defun mml2015-epg-verify (handle ctl)
   (catch 'error
     (let ((inhibit-redisplay t)
-         context plain signature-file part signature)
+         context plain signature-file part signature (index 0))
       (when (or (null (setq part (mm-find-raw-part-by-type
                                  ctl (or (mm-handle-multipart-ctl-parameter
                                           ctl 'protocol)
@@ -1083,6 +1083,11 @@ Whether the passphrase is cached at all is controlled by
        (mm-set-handle-multipart-parameter
         mm-security-handle 'gnus-info "Corrupted")
        (throw 'error handle))
+      (while (string-match "\r?\n" part index)
+       (if (eq (aref part (match-beginning 0)) ?\r)
+           (setq index (match-end 0))
+         (setq part (replace-match "\r\n" t t part)
+               index (1+ (match-end 0)))))
       (setq context (epg-make-context))
       (condition-case error
          (setq plain (epg-verify-string context (mm-get-part signature) part))