%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/obsolete/ |
Current File : //usr/local/share/emacs/27.2/lisp/obsolete/pgg-parse.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\304\301\312\313&\210\306\314\315\316\304\301\312\317&\210\306\320\321\322\304\301\312\323&\210\306\324\325\326\304\301\312\327&\210\306\330\331\332\304\301\312\333&\210\306\334\335\336\304\301\312\337&\207" [custom-declare-group pgg-parse nil "OpenPGP packet parsing." :group pgg custom-declare-variable pgg-parse-public-key-algorithm-alist '((1 . RSA) (2 . RSA-E) (3 . RSA-S) (16 . ELG-E) (17 . DSA) (20 . ELG)) "Alist of the assigned number to the public key algorithm." :type (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-symmetric-key-algorithm-alist '((1 . IDEA) (2 . 3DES) (4 . CAST5) (5 . SAFER-SK128)) "Alist of the assigned number to the symmetric key algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-hash-algorithm-alist '((1 . MD5) (2 . SHA1) (3 . RIPEMD160) (5 . MD2) (8 . SHA256) (9 . SHA384) (10 . SHA512)) "Alist of the assigned number to the cryptographic hash algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-compression-algorithm-alist '((0) (1 . ZIP) (2 . ZLIB)) "Alist of the assigned number to the compression algorithm." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-parse-signature-type-alist '((0 . "Signature of a binary document") (1 . "Signature of a canonical text document") (2 . "Standalone signature") (16 . "Generic certification of a User ID and Public Key packet") (17 . "Persona certification of a User ID and Public Key packet") (18 . "Casual certification of a User ID and Public Key packet") (19 . "Positive certification of a User ID and Public Key packet") (24 . "Subkey Binding Signature") (31 . "Signature directly on a key") (32 . "Key revocation signature") (40 . "Subkey revocation signature") (48 . "Certification revocation signature") (64 . "Timestamp signature.")) "Alist of the assigned number to the signature type." (repeat (cons (sexp :tag "Number") (sexp :tag "Type"))) pgg-ignore-packet-checksum t "If non-nil checksum of each ascii armored packet will be ignored." boolean] 8) #@16 Armor headers. (defvar pgg-armor-header-lines '("^-----BEGIN PGP MESSAGE\\(, PART [0-9]+\\(/[0-9]+\\)?\\)?----- ?$" "^-----BEGIN PGP PUBLIC KEY BLOCK----- ?$" "^-----BEGIN PGP PRIVATE KEY BLOCK----- ?$" "^-----BEGIN PGP SIGNATURE----- ?$") (#$ . 2497)) (byte-code "\300\301\302\303!\203\f \303\202 \304\"\207" [defalias pgg-char-int fboundp char-int identity] 4) (defalias 'pgg-format-key-identifier '(macro . #[(string) "\301\302\303BBB\207" [string mapconcat (lambda (c) (format "%02X" (pgg-char-int c))) ("")] 4])) (defalias 'pgg-parse-time-field '(macro . #[(bytes) "\301\302\303\304D\305BB\306\307EE\302\303\306\310E\311BB\306\312EE\313BBB\207" [bytes list logior ash car (8) nth 1 2 (8) 3 (0)] 7])) (defalias 'pgg-byte-after '(macro . #[(&optional pos) "\301\302\206 \303DD\207" [pos pgg-char-int char-after (point)] 3])) (defalias 'pgg-read-byte '(macro . #[nil "\300\207" [(pgg-char-int (char-after (prog1 (point) (forward-char))))] 1])) (defalias 'pgg-read-bytes-string '(macro . #[(nbytes) "\301\302\303\304\305BB\306DEE\207" [nbytes buffer-substring (point) prog1 + ((point)) forward-char] 6])) (defalias 'pgg-read-bytes '(macro . #[(nbytes) "\301\302\303DE\207" [nbytes mapcar #'pgg-char-int pgg-read-bytes-string] 4])) (defalias 'pgg-read-body-string '(macro . #[(ptag) "\301\302\303E\304\302\303ED\305BBB\207" [ptag if nth 1 pgg-read-bytes-string ((pgg-read-bytes-string (- (point-max) (point))))] 6])) (defalias 'pgg-read-body '(macro . #[(ptag) "\301\302\303DE\207" [ptag mapcar #'pgg-char-int pgg-read-body-string] 4])) (defalias 'pgg-skip-bytes 'forward-char) (defalias 'pgg-skip-header '(macro . #[(ptag) "\301\302\303ED\207" [ptag pgg-skip-bytes nth 2] 4])) (defalias 'pgg-skip-body '(macro . #[(ptag) "\301\302\303ED\207" [ptag pgg-skip-bytes nth 1] 4])) (defalias 'pgg-set-alist '(macro . #[(alist key value) "\303\304\305\306 \nEDEE\207" [alist key value setq nconc list cons] 8])) (byte-code "\301\302!\203 \303\304!\210\305\306\307\310\306\"#\210)\311\312\313\"\210\301\207" [prog fboundp define-ccl-program [1 30 14 114744 114775 0 161 131127 1 148217 15 82167 1 1848 131159 1 1595 5 256 114743 390 114775 19707 1467 16 7 183 1 -5628 -7164 22] (lambda (#1=#:def-tmp-var) (defconst pgg-parse-crc24 #1# nil)) put pgg-parse-crc24 ccl-program-idx register-ccl-program defalias pgg-parse-crc24-string #[(string) "\303\304\305\306\304\211\211\211\211\211& \307 \n#\210\310\311\312\313H\314\"\312\315\316H\317\"\314\"\312\316H\314\"$)\207" [h pgg-parse-crc24 string vector nil 183 1230 ccl-execute-on-string format "%c%c%c" logand 1 255 ash 2 -8] 10]] 6) (defalias 'pgg-parse-length-type '(macro . #[(c) "\301\302\303BB\304\305BBD\302\306BB\304\307\310\311\312BB\313BB\314BB\315BBD\316\317BB\320B\321BBBB\207" [c cond < (192) cons (1) (224) + ash - (192) (8) ((pgg-byte-after (+ 2 (point))) 192) (2) = (255) ((cons (cons (logior (ash (pgg-byte-after (+ 2 (point))) 8) (pgg-byte-after (+ 3 (point)))) (logior (ash (pgg-byte-after (+ 4 (point))) 8) (pgg-byte-after (+ 5 (point))))) 5)) ((t '(0 . 0)))] 9])) (defalias 'pgg-parse-packet-header #[nil "`f\306\211\211\211\307\310\f\"\311U\203Y \307\f\312\"\211\312U\203# \311\202' \313\314\"\307\315\313\f\316\"\"\311T\311 W\203U \317\313 \320\"\321\314 `#f\" T\211\202; *\202\273 \307\322\f\"`Tf\323W\203n `Tf\314B\202\263 `Tf\324W\203\212 \321\313`Tf\323Z\320\"\325`\\f\323#\325B\202\263 `Tf\326U\203\262 \317\313\325`\\f\320\"\312`\\f\"\317\313\327`\\f\320\"\330`\\f\"B\330B\202\263 \331\211@AT\n E-\207" [header-bytes packet-bytes content-tag length-type ptag i nil logand 64 0 3 ash 1 15 -2 logior 8 + 63 192 224 2 255 4 5 (0 . 0) --dotimes-limit--] 7]) (defalias 'pgg-parse-packet #[(ptag) "@\211\302\267\202\261 \303!\202\262 \304!\202\262 \305!\202\262 \306!\202\262 A@\2036 `A@`\\A@u\210{\202\262 `d`Z`\\d`Zu\210{\202\262 A@\203Z `A@`\\A@u\210{\202\262 `d`Z`\\d`Zu\210{\202\262 A@\203~ `A@`\\A@u\210{\202\262 `d`Z`\\d`Zu\210{\202\262 A@\203\242 `A@`\\A@u\210{\202\262 `d`Z`\\d`Zu\210{\202\262 \307)\207" [ptag #1=#:temp #s(hash-table size 8 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 9 2 15 3 21 6 27 9 33 10 69 11 105 13 141)) pgg-parse-public-key-encrypted-session-key-packet pgg-parse-signature-packet pgg-parse-symmetric-key-encrypted-session-key-packet pgg-parse-public-key-packet nil] 5]) (defalias 'pgg-parse-packets #[(&optional header-parser body-parser) "\206 \304 \206\n \305\306\211d`TV\203A \307\310\n8!\210\n@\212 \n!)BB\nA@\311U\2039 db\210\202 \nA@u\210\202 ,\207" [header-parser body-parser ptag result pgg-parse-packet-header pgg-parse-packet nil pgg-skip-bytes 2 0] 4]) (defalias 'pgg-parse-signature-subpacket-header #[nil "`f\301W\203 `f\302B\202P `f\303W\203( \304\305`f\301Z\306\"\307`\\f\301#\307B\202P `f\310U\203O \311\305\307`\\f\306\"\312`\\f\"\311\305\313`\\f\306\"\314`\\f\"B\314B\202P \315\211A`\\f@SATE)\207" [length-type 192 1 224 + ash 8 2 255 logior 3 4 5 (0 . 0)] 6]) (defalias 'pgg-parse-signature-subpacket #[(ptag) "@\211\306\267\202\353\307\310\311`\312`\\\312u\210{\"\313\314\n@\315\"\nA@\"\313\314\316\n8\315\"\317\n8\"\320E)B\202\354\321\310\311`\312`\\\312u\210{\"\313\314\n@\315\"\nA@\"\313\314\316\n8\315\"\317\n8\"\320E)B\202\354\322`\323u\210fB\202\354\324`\323u\210fB\202\354\325A@\203\205 `A@`\\A@u\210{\202\221 `d`Z`\\d`Zu\210{B\202\354\326`\323u\210fB\202\354\327\310\311`\312`\\\312u\210{\"\313\314\n@\315\"\nA@\"\313\314\316\n8\315\"\317\n8\"\320E)B\202\354\330`\323u\210f\236AB\202\354\323\202\354\331\332\333A@\203\361 `A@`\\A@u\210{\202\375 `d`Z`\\d`Zu\210{\334#B\202\354\335\312!\210\336\310\311`\316`\\\316u\210{\"\310\311`\316`\\\316u\210{\"`\313\314 @\315\" A@\"`\\\313\314 @\315\" A@\"u\210{`\313\314\f@\315\"\fA@\"`\\\313\314\f@\315\"\fA@\"u\210{*BB\202\354\337`\323u\210f$\236AB\202\354\340`\323u\210f%\236AB\202\354\341\310\311A@\203\216`A@`\\A@u\210{\202\232`d`Z`\\d`Zu\210{\"B\202\354\342A@\203\265`A@`\\A@u\210{\202\301`d`Z`\\d`Zu\210{B\202\354\343A@\203\333`A@`\\A@u\210{\202\347`d`Z`\\d`Zu\210{B\202\354\323)\207" [ptag #1=#:temp bytes pgg-parse-symmetric-key-algorithm-alist value-bytes name-bytes #s(hash-table size 16 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (2 9 3 50 4 91 5 101 6 111 7 149 9 159 11 200 12 213 16 217 20 259 21 346 22 360 23 374 24 415 26 453)) creation-time mapcar pgg-char-int 4 logior ash 8 2 3 0 signature-expiry exportability nil trust-level regular-expression revocability key-expiry preferred-symmetric-key-algorithm key-identifier mapconcat #[(c) "\301\302\"\207" [c format "%02X"] 3] "" pgg-skip-bytes notation preferred-hash-algorithm preferred-compression-algorithm key-server-preferences preferred-key-server policy-url pgg-parse-hash-algorithm-alist pgg-parse-compression-algorithm-alist] 9]) (defalias 'pgg-parse-signature-packet #[(ptag) "`f\306BC\307\211\307\310U\203z \311\312!\210\313\314`\315`\\\315u\210{\" \316\n\211A\242 \236ABC\244\211\317\320\321\n@\322\"\nA@\"\320\321\312\n8\322\"\310\n8\"\323EBC\244\211\324\325\326`\322`\\\322u\210{\327#BC\244\211\330`\307u\210fBC\244\211\331`\307u\210fBC\244\202 \332U\203 \311\333!\210 \316`\307u\210f \236ABC\244\211\330`\307u\210fBC\244\211\331`\307u\210fBC\244\334\313\314`\312`\\\312u\210{\"\320\321\f@\322\"\fA@\"\211Y\203\332 \214`\f`\\}\210 \313\335\336\337\340\"\"\244\210db\210)\334\313\314`\312`\\\312u\210{\"\320\321\f@\322\"\fA@\"\211Y\203 \214`\f`\\}\210 \313\335\336\337\340\"\"\244\210)\330 \236\211\211A!\236A\241\210\331 \236\211\211A\"\236A\241\210 -\207" [signature-version result hashed-material field n pgg-parse-signature-type-alist version nil 3 pgg-skip-bytes 2 mapcar pgg-char-int 5 signature-type creation-time logior ash 8 0 key-identifier mapconcat #[(c) "\301\302\"\207" [c format "%02X"] 3] "" public-key-algorithm hash-algorithm 4 1 10000 cdr pgg-parse-packets pgg-parse-signature-subpacket-header pgg-parse-signature-subpacket pgg-parse-public-key-algorithm-alist pgg-parse-hash-algorithm-alist] 8]) (defalias 'pgg-parse-public-key-encrypted-session-key-packet #[(ptag) "\302\211\303`\302u\210fBC\244\211\304\305\306`\307`\\\307u\210{\310#BC\244\211\311`\302u\210f \236ABC\244\211)\207" [result pgg-parse-public-key-algorithm-alist nil version key-identifier mapconcat #[(c) "\301\302\"\207" [c format "%02X"] 3] 8 "" public-key-algorithm] 8]) (defalias 'pgg-parse-symmetric-key-encrypted-session-key-packet #[(ptag) "\302\211\303`\302u\210fBC\244\211\304`\302u\210f \236ABC\244\211)\207" [result pgg-parse-symmetric-key-algorithm-alist nil version symmetric-key-algorithm] 5]) (defalias 'pgg-parse-public-key-packet #[(ptag) "`\305u\210f\306BC\305\307U\203\\ \310\311\312`\313`\\\313u\210{\"\314\315@\316\"A@\"\314\315\3178\316\"\3078\"\320E)BC\244\211\321\311\312`\317`\\\317u\210{\"BC\244\211\322`\305u\210fBC\244\202\227 \313U\203\227 \310\311\312`\313`\\\313u\210{\"\314\315@\316\"A@\"\314\315\3178\316\"\3078\"\320E)BC\244\211\322`\305u\210fBC\244\322 \236\211\211A\f\236A\241\210 +\207" [key-version result field bytes pgg-parse-public-key-algorithm-alist nil version 3 creation-time mapcar pgg-char-int 4 logior ash 8 2 0 key-expiry public-key-algorithm] 8]) (defalias 'pgg-decode-packets #[nil "\303\304\305\306#\203K \307\224\310\311!\211d|\210\3121 \313e \"0\202# \210\202D \203D \314\315!?\206I \n\206I \316\315\317 !!\230\206I \320\321!\210\305\202I \320\322!\210\305*\207\320\323!\210\305\207" [checksum p pgg-ignore-packet-checksum re-search-forward "^=\\([A-Za-z0-9+/]\\{4\\}\\)$" nil t 0 match-string 1 (error) base64-decode-region fboundp pgg-parse-crc24-string base64-encode-string buffer-string message "PGP packet checksum does not match" "PGP packet contain invalid base64" "PGP packet checksum not found"] 5]) (defalias 'pgg-decode-armor-region #[(start end) "\214 }\210eb\210\302\303\304\305#\210e\306\307!\205 \310\225|\210\311 \205# eb\210\312 )\207" [start end re-search-forward "^-+BEGIN PGP" nil t search-forward "\n\n" 0 pgg-decode-packets pgg-parse-packets] 4]) (defalias 'pgg-parse-armor #[(string) "\302\303!rq\210\304\216\305 \210\306\307!\210 c\210\310e`\"+\207" [#1=#:temp-buffer string generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] buffer-disable-undo set-buffer-multibyte nil pgg-decode-armor-region] 3]) (byte-code "\300\301\302\303!\203\f \303\202 \304\"\207" [defalias pgg-string-as-unibyte fboundp string-as-unibyte identity] 4) (defalias 'pgg-parse-armor-region #[(start end) "\302\303 {!!\207" [start end pgg-parse-armor pgg-string-as-unibyte] 4]) (provide 'pgg-parse)