mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-04 20:38:50 +01:00
Fix bug#1087.
This commit is contained in:
parent
bdc004bafe
commit
81d7fbc7cb
@ -1,3 +1,8 @@
|
|||||||
|
2009-07-16 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* misc.c (has_invalid_email_chars): Let non-ascii characters pass
|
||||||
|
through. Fixes bug#1087.
|
||||||
|
|
||||||
2009-06-24 Werner Koch <wk@g10code.com>
|
2009-06-24 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* passphrase.c (passphrase_to_dek): Do not deref a PW of NULL.
|
* passphrase.c (passphrase_to_dek): Do not deref a PW of NULL.
|
||||||
@ -13459,7 +13464,7 @@ Thu Feb 12 22:24:42 1998 Werner Koch (wk@frodo)
|
|||||||
|
|
||||||
|
|
||||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||||
2007 Free Software Foundation, Inc.
|
2007, 2008, 2009 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is free software; as a special exception the author gives
|
This file is free software; as a special exception the author gives
|
||||||
unlimited permission to copy and/or distribute it, with or without
|
unlimited permission to copy and/or distribute it, with or without
|
||||||
|
12
g10/misc.c
12
g10/misc.c
@ -1132,6 +1132,16 @@ unescape_percent_string (const unsigned char *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Check whether the string has characters not valid in an RFC-822
|
||||||
|
address. To cope with OpenPGP we ignore non-ascii characters
|
||||||
|
so that for example umlauts are legal in an email address. An
|
||||||
|
OpenPGP user ID must be utf-8 encoded but there is no strict
|
||||||
|
requirement for RFC-822. Thus to avoid IDNA encoding we put the
|
||||||
|
address verbatim as utf-8 into the user ID under the assumption
|
||||||
|
that mail programs handle IDNA at a lower level and take OpenPGP
|
||||||
|
user IDs as utf-8. Note that we can't do an utf-8 encoding
|
||||||
|
checking here because in keygen.c this function is called with the
|
||||||
|
native encoding and native to utf-8 encoding is only done later. */
|
||||||
int
|
int
|
||||||
has_invalid_email_chars (const char *s)
|
has_invalid_email_chars (const char *s)
|
||||||
{
|
{
|
||||||
@ -1142,7 +1152,7 @@ has_invalid_email_chars (const char *s)
|
|||||||
for ( ; *s; s++ )
|
for ( ; *s; s++ )
|
||||||
{
|
{
|
||||||
if ( *s & 0x80 )
|
if ( *s & 0x80 )
|
||||||
return 1;
|
continue; /* We only care about ASCII. */
|
||||||
if ( *s == '@' )
|
if ( *s == '@' )
|
||||||
at_seen=1;
|
at_seen=1;
|
||||||
else if ( !at_seen && !( !!strchr( valid_chars, *s ) || *s == '+' ) )
|
else if ( !at_seen && !( !!strchr( valid_chars, *s ) || *s == '+' ) )
|
||||||
|
Loading…
Reference in New Issue
Block a user