diff options
-rw-r--r-- | g10/ChangeLog | 9 | ||||
-rw-r--r-- | g10/armor.c | 25 | ||||
-rw-r--r-- | g10/g10.c | 4 |
3 files changed, 27 insertions, 11 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 11639c94b..8493bdad0 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,12 @@ +2005-01-05 David Shaw <[email protected]> + + * g10.c (main): Typo. + + * armor.c (is_armor_header): Allow CR and LF (not just actual + spaces) in an armor header line (-----BEGIN etc). This is needed + due to CRLF issues on win32. As before, --openpgp makes it + strict. + 2005-01-03 David Shaw <[email protected]> * Makefile.am: Use @LIBUSB@ instead of @LIBUSB_LIBS@ diff --git a/g10/armor.c b/g10/armor.c index 1fe73f2ed..ca63f45f6 100644 --- a/g10/armor.c +++ b/g10/armor.c @@ -291,17 +291,24 @@ is_armor_header( byte *line, unsigned len ) save_p = p; p += 5; - /* Some mail programs on Windows seem to add spaces to the end of - the line. This becomes strict if --openpgp is set. */ - - if(!RFC2440) - while(*p==' ') + /* Some Windows environments seem to add whitespace to the end of + the line, so we strip it here. This becomes strict if + --rfc2440 is set since 2440 reads "The header lines, therefore, + MUST start at the beginning of a line, and MUST NOT have text + following them on the same line." It is unclear whether "text" + refers to all text or just non-whitespace text. */ + + if(RFC2440) + { + if( *p == '\r' ) + p++; + if( *p == '\n' ) + p++; + } + else + while(*p==' ' || *p=='\r' || *p=='\n') p++; - if( *p == '\r' ) - p++; - if( *p == '\n' ) - p++; if( *p ) return -1; /* garbage after dashes */ save_c = *save_p; *save_p = 0; @@ -2607,8 +2607,8 @@ main( int argc, char **argv ) if(require_secmem && !got_secmem) { - log_info(_("will not run with insecure memory due to %s"), - "--require-secmem\n"); + log_info(_("will not run with insecure memory due to %s\n"), + "--require-secmem"); g10_exit(2); } |