From 5da12674eaae11969b22e6f80e4957217ad406d6 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 25 Apr 2011 23:56:47 +0200 Subject: Fix regression in gpg's mail address parsing. Since 2009-12-08 gpg was not able to find email addresses indicated by a leading '<'. This happened when I merged the user id classification code of gpgsm and gpg. --- common/userids.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'common/userids.c') diff --git a/common/userids.c b/common/userids.c index 9cc29f3b4..8c89c3284 100644 --- a/common/userids.c +++ b/common/userids.c @@ -61,7 +61,7 @@ */ gpg_error_t -classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc) +classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc, int openpgp_hack) { const char *s; int hexprefix = 0; @@ -95,7 +95,12 @@ classify_user_id (const char *name, KEYDB_SEARCH_DESC *desc) case '<': /* An email address. */ mode = KEYDB_SEARCH_MODE_MAIL; - s++; + /* FIXME: The keyring code in g10 assumes that the mail name is + prefixed with an '<'. However the keybox code used for sm/ + assumes it has been removed. For now we use this simple hack + to overcome the problem. */ + if (!openpgp_hack) + s++; desc->u.name = s; break; -- cgit v1.2.3