openpgp: '&openpgp-unrecognized-packet-error' includes type tag.

* guix/openpgp.scm (&openpgp-unrecognized-packet-error)[type]: New
field.
(get-data, parse-subpackets): Initialize 'type' field.
This commit is contained in:
Ludovic Courtès 2020-10-14 10:19:38 +02:00
parent f73f3d01a2
commit 37a8f5b281
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -34,6 +34,7 @@ (define-module (guix openpgp)
openpgp-error?
openpgp-unrecognized-packet-error?
openpgp-unrecognized-packet-error-port
openpgp-unrecognized-packet-error-type
openpgp-invalid-signature-error?
openpgp-invalid-signature-error-port
@ -132,6 +133,7 @@ (define-condition-type &openpgp-error &error
;; Error raised when reading an unsupported or unrecognized packet tag.
(define-condition-type &openpgp-unrecognized-packet-error &openpgp-error
openpgp-unrecognized-packet-error?
(type openpgp-unrecognized-packet-error-type)
(port openpgp-unrecognized-packet-error-port))
;; Error raised when reading an invalid signature packet.
@ -477,7 +479,8 @@ (define (get-data p tag len)
((= tag PACKET-ONE-PASS-SIGNATURE)
'one-pass-signature) ;TODO: implement
(else
(raise (condition (&openpgp-unrecognized-packet-error (port p))))))))
(raise (condition (&openpgp-unrecognized-packet-error (type tag)
(port p))))))))
(define-record-type <openpgp-public-key>
(make-openpgp-public-key version subkey? time value fingerprint)
@ -817,6 +820,7 @@ (define (parse tag data)
(if critical?
(raise (condition
(&openpgp-unrecognized-packet-error
(type type)
(port signature-port))))
(list 'unsupported-subpacket type data))))))