From a0faafc320ac6af41f8c6df12cd7a55391667f82 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 5 Nov 2010 17:43:01 +0900 Subject: [PATCH] bug fix. --- ChangeLog | 4 ++++ src/openpgp.c | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index 17ffe5c..61186c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-11-05 NIIBE Yutaka + Bug fix. + * src/openpgp.c (gpg_change_keystring): Handle + GPG_KEY_FOR_AUTHENTICATION. + Bug fixes. * src/openpgp-do.c (gpg_do_write_prvkey): compare with != operator. * src/ac.c (verify_admin_0): Don't hardcode 6, but use strlen. diff --git a/src/openpgp.c b/src/openpgp.c index a04af86..3863d56 100644 --- a/src/openpgp.c +++ b/src/openpgp.c @@ -150,6 +150,18 @@ gpg_change_keystring (int who_old, const uint8_t *old_ks, if (r < 0) return -2; + r = gpg_do_load_prvkey (GPG_KEY_FOR_AUTHENTICATION, who_old, old_ks); + if (r < 0) + return r; + + if (r > 0) + prv_keys_exist++; + + r = gpg_do_chks_prvkey (GPG_KEY_FOR_AUTHENTICATION, who_old, old_ks, + who_new, new_ks); + if (r < 0) + return -2; + if (prv_keys_exist) return 1; else