Rename `mime-raw-content-info' -> `mime-raw-entity-info'.
[elisp/semi.git] / mime-pgp.el
index e2cad57..b5d301c 100644 (file)
@@ -1,11 +1,10 @@
 ;;; mime-pgp.el --- mime-view internal methods for PGP.
 
-;; Copyright (C) 1995,1996,1997 MORIOKA Tomohiko
+;; Copyright (C) 1995,1996,1997,1998 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;; Created: 1995/12/7
 ;;     Renamed: 1997/2/27 from tm-pgp.el
-;; Version: $Id: mime-pgp.el,v 0.28 1997-11-20 13:24:20 morioka Exp $
 ;; Keywords: PGP, security, MIME, multimedia, mail, news
 
 ;; This file is part of SEMI (Secure Emacs MIME Interface).
@@ -48,7 +47,7 @@
 ;;;
 ;;; It is based on draft-kazu-pgp-mime-00.txt
 
-(defun mime-process-application/pgp (beg end cal)
+(defun mime-method-for-application/pgp (beg end cal)
   (let* ((cnum (mime-article/point-content-number beg))
         (p-win (or (get-buffer-window mime-view-buffer)
                    (get-largest-window)))
     ))
 
 (set-atype 'mime-acting-condition
-          '((type . "application/pgp")
-            (method . mime-process-application/pgp)
+          '((type . application)(subtype . pgp)
+            (method . mime-method-for-application/pgp)
             ))
 
 (set-atype 'mime-acting-condition
-          '((type . "text/x-pgp")
-            (method . mime-process-application/pgp)
+          '((type . text)(subtype . x-pgp)
+            (method . mime-method-for-application/pgp)
+            ))
+
+
+;;; @ Internal method for multipart/signed
+;;;
+
+(defun mime-method-to-verify-multipart/signed (beg end cal)
+  "Internal method to check multipart/signed."
+  (let* ((rcnum (reverse (mime-article/point-content-number beg)))
+        (oinfo (mime-article/rcnum-to-cinfo (cons '1 rcnum)
+                                            mime-raw-entity-info))
+        )
+    (mime-playback-entity oinfo (cdr (assq 'mode cal)))
+    ))
+
+(set-atype 'mime-acting-condition
+          '((type . multipart)(subtype . signed)
+            (method . mime-method-to-verify-multipart/signed)
             ))
 
 
@@ -155,7 +172,7 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
                 (t "Bad signature")))
          ))))
 
-(defun mime-pgp-check-application/pgp-signature (beg end cal)
+(defun mime-method-to-verify-application/pgp-signature (beg end cal)
   "Internal method to check PGP/MIME signature."
   (let* ((encoding (cdr (assq 'encoding cal)))
         (cnum (mime-article/point-content-number beg))
@@ -167,7 +184,7 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
                 (1+ knum)))
         (raw-buf (current-buffer))
         (oinfo (mime-article/rcnum-to-cinfo (cons onum rmcnum)
-                                            mime-raw-content-info))
+                                            mime-raw-entity-info))
         kbuf
         (basename (expand-file-name "tm" mime-temp-directory))
         (orig-file (make-temp-name basename))
@@ -234,8 +251,8 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
       )))
 
 (set-atype 'mime-acting-condition
-          '((type . "application/pgp-signature")
-            (method . mime-pgp-check-application/pgp-signature)
+          '((type . application)(subtype . pgp-signature)
+            (method . mime-method-to-verify-application/pgp-signature)
             ))
 
 
@@ -243,7 +260,7 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
 ;;;
 ;;; It is based on RFC 2015.
 
-(defun mime-pgp-decrypt-application/pgp-encrypted (beg end cal)
+(defun mime-method-to-decrypt-application/pgp-encrypted (beg end cal)
   (let* ((cnum (mime-article/point-content-number beg))
         (rcnum (reverse cnum))
         (rmcnum (cdr rcnum))
@@ -252,16 +269,16 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
                   (1- knum)
                 (1+ knum)))
         (oinfo (mime-article/rcnum-to-cinfo (cons onum rmcnum)
-                                            mime-raw-content-info))
+                                            mime-raw-entity-info))
         (obeg (mime-entity-info-point-min oinfo))
         (oend (mime-entity-info-point-max oinfo))
         )
-    (mime-process-application/pgp obeg oend cal)
+    (mime-method-for-application/pgp obeg oend cal)
     ))
 
 (set-atype 'mime-acting-condition
-          '((type . "application/pgp-encrypted")
-            (method . mime-pgp-decrypt-application/pgp-encrypted)
+          '((type . application)(subtype . pgp-encrypted)
+            (method . mime-method-to-decrypt-application/pgp-encrypted)
             ))
 
 
@@ -269,7 +286,7 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
 ;;;
 ;;; It is based on RFC 2015.
 
-(defun mime-pgp-add-keys (beg end cal)
+(defun mime-method-to-add-application/pgp-keys (beg end cal)
   (let* ((cnum (mime-article/point-content-number beg))
         (new-name (format "%s-%s" (buffer-name) cnum))
         (encoding (cdr (assq 'encoding cal)))
@@ -289,8 +306,8 @@ It should be ISO 639 2 letter language code such as en, ja, ...")
     ))
 
 (set-atype 'mime-acting-condition
-          '((type . "application/pgp-keys")
-            (method . mime-pgp-add-keys)
+          '((type . application)(subtype . pgp-keys)
+            (method . mime-method-to-add-application/pgp-keys)
             ))