summaryrefslogtreecommitdiffstats
path: root/sm
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2011-04-25 23:56:47 +0200
committerWerner Koch <wk@gnupg.org>2011-04-25 23:59:25 +0200
commit5da12674eaae11969b22e6f80e4957217ad406d6 (patch)
tree1ae8b482a2c2cdef4cb24055d6d15c99224b5b1d /sm
parentAdd OPTION:cache-ttl-opt-preset to gpg-agent. (diff)
downloadgnupg2-5da12674eaae11969b22e6f80e4957217ad406d6.tar.xz
gnupg2-5da12674eaae11969b22e6f80e4957217ad406d6.zip
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.
Diffstat (limited to 'sm')
-rw-r--r--sm/ChangeLog11
-rw-r--r--sm/certlist.c4
-rw-r--r--sm/delete.c2
-rw-r--r--sm/export.c4
-rw-r--r--sm/import.c2
-rw-r--r--sm/keydb.c2
-rw-r--r--sm/keylist.c2
-rw-r--r--sm/sign.c2
8 files changed, 20 insertions, 9 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 30e71ba8d..7127fb542 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,14 @@
+2011-04-25 Werner Koch <wk@g10code.com>
+
+ * certlist.c (gpgsm_add_to_certlist): Mark classify_user_id for
+ use with non-OpenPGP.
+ (gpgsm_find_cert): Ditto.
+ * sign.c (get_default_signer): Ditto.
+ * keylist.c (list_internal_keys): Ditto.
+ * import.c (reimport_one): Ditto.
+ * export.c (gpgsm_export): Ditto.
+ * delete.c (delete_one): Ditto.
+
2011-03-10 Werner Koch <wk@g10code.com>
* minip12.c (oid_pkcs5PBKDF2, oid_pkcs5PBES2, oid_aes128_CBC): New.
diff --git a/sm/certlist.c b/sm/certlist.c
index 299d075f2..0e9031953 100644
--- a/sm/certlist.c
+++ b/sm/certlist.c
@@ -301,7 +301,7 @@ gpgsm_add_to_certlist (ctrl_t ctrl, const char *name, int secret,
KEYDB_HANDLE kh = NULL;
ksba_cert_t cert = NULL;
- rc = classify_user_id (name, &desc);
+ rc = classify_user_id (name, &desc, 0);
if (!rc)
{
kh = keydb_new (0);
@@ -480,7 +480,7 @@ gpgsm_find_cert (const char *name, ksba_sexp_t keyid, ksba_cert_t *r_cert)
KEYDB_HANDLE kh = NULL;
*r_cert = NULL;
- rc = classify_user_id (name, &desc);
+ rc = classify_user_id (name, &desc, 0);
if (!rc)
{
kh = keydb_new (0);
diff --git a/sm/delete.c b/sm/delete.c
index 10ec965cb..97fadfa30 100644
--- a/sm/delete.c
+++ b/sm/delete.c
@@ -45,7 +45,7 @@ delete_one (ctrl_t ctrl, const char *username)
int duplicates = 0;
int is_ephem = 0;
- rc = classify_user_id (username, &desc);
+ rc = classify_user_id (username, &desc, 0);
if (rc)
{
log_error (_("certificate `%s' not found: %s\n"),
diff --git a/sm/export.c b/sm/export.c
index 7884adff3..2e4fed9a1 100644
--- a/sm/export.c
+++ b/sm/export.c
@@ -178,7 +178,7 @@ gpgsm_export (ctrl_t ctrl, strlist_t names, estream_t stream)
{
for (ndesc=0, sl=names; sl; sl = sl->next)
{
- rc = classify_user_id (sl->d, desc+ndesc);
+ rc = classify_user_id (sl->d, desc+ndesc, 0);
if (rc)
{
log_error ("key `%s' not found: %s\n",
@@ -348,7 +348,7 @@ gpgsm_p12_export (ctrl_t ctrl, const char *name, estream_t stream)
goto leave;
}
- err = classify_user_id (name, desc);
+ err = classify_user_id (name, desc, 0);
if (err)
{
log_error ("key `%s' not found: %s\n",
diff --git a/sm/import.c b/sm/import.c
index 7b5852443..363552553 100644
--- a/sm/import.c
+++ b/sm/import.c
@@ -433,7 +433,7 @@ reimport_one (ctrl_t ctrl, struct stats_s *stats, int in_fd)
stats->count++;
- err = classify_user_id (line, &desc);
+ err = classify_user_id (line, &desc, 0);
if (err)
{
print_import_problem (ctrl, NULL, 0);
diff --git a/sm/keydb.c b/sm/keydb.c
index 35343f3dc..d3b911efd 100644
--- a/sm/keydb.c
+++ b/sm/keydb.c
@@ -1205,7 +1205,7 @@ keydb_clear_some_cert_flags (ctrl_t ctrl, strlist_t names)
{
for (ndesc=0, sl=names; sl; sl = sl->next)
{
- rc = classify_user_id (sl->d, desc+ndesc);
+ rc = classify_user_id (sl->d, desc+ndesc, 0);
if (rc)
{
log_error ("key `%s' not found: %s\n",
diff --git a/sm/keylist.c b/sm/keylist.c
index fc903bab8..e67c2d8d3 100644
--- a/sm/keylist.c
+++ b/sm/keylist.c
@@ -1345,7 +1345,7 @@ list_internal_keys (ctrl_t ctrl, strlist_t names, estream_t fp,
{
for (ndesc=0, sl=names; sl; sl = sl->next)
{
- rc = classify_user_id (sl->d, desc+ndesc);
+ rc = classify_user_id (sl->d, desc+ndesc, 0);
if (rc)
{
log_error ("key `%s' not found: %s\n",
diff --git a/sm/sign.c b/sm/sign.c
index 0f83db60b..a3005cade 100644
--- a/sm/sign.c
+++ b/sm/sign.c
@@ -211,7 +211,7 @@ get_default_signer (ctrl_t ctrl)
return cert;
}
- rc = classify_user_id (opt.local_user, &desc);
+ rc = classify_user_id (opt.local_user, &desc, 0);
if (rc)
{
log_error ("failed to find default signer: %s\n", gpg_strerror (rc));