mirror of
git://git.gnupg.org/gnupg.git
synced 2025-06-09 17:41:05 +02:00
* armor.c (is_armor_tag): New. Detect if an armor header matches
2440bis-21. (parse_header_line): Call it here, as bis-21 requires warning the user (but continuing to process the message) when seeing an unknown header.
This commit is contained in:
parent
66c5c46b95
commit
d26739aa5a
@ -1,3 +1,11 @@
|
|||||||
|
2007-07-18 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* armor.c (is_armor_tag): New. Detect if an armor header matches
|
||||||
|
2440bis-21.
|
||||||
|
(parse_header_line): Call it here, as bis-21 requires warning the
|
||||||
|
user (but continuing to process the message) when seeing an
|
||||||
|
unknown header.
|
||||||
|
|
||||||
2007-07-09 Werner Koch <wk@g10code.com>
|
2007-07-09 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* gpg.c: Better print an extra warning if Camellia has been
|
* gpg.c: Better print an extra warning if Camellia has been
|
||||||
|
28
g10/armor.c
28
g10/armor.c
@ -1,6 +1,6 @@
|
|||||||
/* armor.c - Armor flter
|
/* armor.c - Armor flter
|
||||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||||
* 2006 Free Software Foundation, Inc.
|
* 2007 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
@ -314,7 +314,19 @@ parse_hash_header( const char *line )
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns true if this is a valid armor tag as per RFC-2440bis-21. */
|
||||||
|
static int
|
||||||
|
is_armor_tag(const char *line)
|
||||||
|
{
|
||||||
|
if(strncmp(line,"Version",7)==0
|
||||||
|
|| strncmp(line,"Comment",7)==0
|
||||||
|
|| strncmp(line,"MessageID",9)==0
|
||||||
|
|| strncmp(line,"Hash",4)==0
|
||||||
|
|| strncmp(line,"Charset",7)==0)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/****************
|
/****************
|
||||||
* Check whether this is a armor line.
|
* Check whether this is a armor line.
|
||||||
@ -424,6 +436,18 @@ parse_header_line( armor_filter_context_t *afx, byte *line, unsigned int len )
|
|||||||
putc('\n', stderr);
|
putc('\n', stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Section 6.2: OpenPGP should consider improperly formatted Armor
|
||||||
|
Headers to be corruption of the ASCII Armor. Unknown keys
|
||||||
|
should be reported to the user, but OpenPGP should continue to
|
||||||
|
process the message. */
|
||||||
|
|
||||||
|
if(!is_armor_tag(line))
|
||||||
|
{
|
||||||
|
log_info(_("unknown armor header: "));
|
||||||
|
print_string( stderr, line, len, 0 );
|
||||||
|
putc('\n', stderr);
|
||||||
|
}
|
||||||
|
|
||||||
if( afx->in_cleartext ) {
|
if( afx->in_cleartext ) {
|
||||||
if( (hashes=parse_hash_header( line )) )
|
if( (hashes=parse_hash_header( line )) )
|
||||||
afx->hashes |= hashes;
|
afx->hashes |= hashes;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user