"Internal method to check PGP/MIME signature."
(let* ((encoding (cdr (assq 'encoding cal)))
(entity-node-id (mime-raw-point-to-entity-node-id start))
- (rmcnum (cdr entity-node-id))
+ (mother-node-id (cdr entity-node-id))
(knum (car entity-node-id))
(onum (if (> knum 0)
(1- knum)
(1+ knum)))
(raw-buf (current-buffer))
(oinfo (mime-raw-entity-node-id-to-entity-info
- (cons onum rmcnum) mime-raw-message-info))
- kbuf
+ (cons onum mother-node-id) mime-raw-message-info))
(basename (expand-file-name "tm" mime-temp-directory))
(orig-file (make-temp-name basename))
(sig-file (concat orig-file ".sig"))
(while (re-search-forward "\n" nil t)
(replace-match "\r\n")
)
- (as-binary-output-file (write-region (point-min)(point-max) orig-file))
+ (write-region-as-binary (point-min)(point-max) orig-file)
(kill-buffer (current-buffer))
)
(save-excursion (mime-show-echo-buffer))
(and (search-forward "\n\n")
(match-end 0))
)))
- (set-buffer (setq kbuf (get-buffer-create mime-temp-buffer-name)))
- (insert-buffer-substring raw-buf p-min end)
+ (mime-write-decoded-region p-min end sig-file encoding)
)
- (mime-decode-region (point-min)(point-max) encoding)
- (as-binary-output-file (write-region (point-min)(point-max) sig-file))
(or (mime-pgp-check-signature mime-echo-buffer-name orig-file)
(let (pgp-id)
(save-excursion
(let ((other-window-scroll-buffer mime-echo-buffer-name))
(scroll-other-window 8)
)
- (kill-buffer kbuf)
(delete-file orig-file)
(delete-file sig-file)
)))
;;; It is based on RFC 2015 (PGP/MIME).
(defun mime-method-to-decrypt-application/pgp-encrypted (start end cal)
- (let* ((entity-number (mime-raw-point-to-entity-number start))
- (entity-node-id (reverse entity-number))
- (rmcnum (cdr entity-node-id))
+ (let* ((entity-node-id (mime-raw-point-to-entity-node-id start))
+ (mother-node-id (cdr entity-node-id))
(knum (car entity-node-id))
(onum (if (> knum 0)
(1- knum)
(1+ knum)))
(oinfo (mime-raw-entity-node-id-to-entity-info
- (cons onum rmcnum) mime-raw-message-info))
+ (cons onum mother-node-id) mime-raw-message-info))
(obeg (mime-entity-info-point-min oinfo))
(oend (mime-entity-info-point-max oinfo))
)