1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

gpg: Allow --dearmor to decode all kinds of armor files.

* g10/filter.h (armor_filter_context_t): New fields dearmor_mode and
dearmor_state.
* g10/dearmor.c (dearmor_file): Set dearmor_mode.
* g10/armor.c (is_armor_header): Magic to switch to generic dearmor
mode.
(parse_header_line): Treat non OpenPGP armor in a special way.
(check_input): Ditto.
(radix64_read): Detect non OpenPGP armor END lines.
This commit is contained in:
Werner Koch 2022-01-28 12:09:34 +01:00
parent f2d1187fcd
commit 34ea19aff9
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 35 additions and 8 deletions

View file

@ -35,6 +35,7 @@ typedef struct {
/* these fields may be initialized */
int what; /* what kind of armor headers to write */
int only_keyblocks; /* skip all headers but ".... key block" */
int dearmor_mode; /* dearmor all kind of stuff. */
const char *hdrlines; /* write these headerlines */
/* these fields must be initialized to zero */
@ -49,6 +50,7 @@ typedef struct {
int faked; /* we are faking a literal data packet */
int truncated; /* number of truncated lines */
int qp_detected;
int dearmor_state; /* helper for dearmor_mode. */
byte eol[3]; /* The end of line characters as a
zero-terminated string. Defaults
(eol[0]=='\0') to whatever the local