[Pkg-gnupg-commit] [gnupg2] 157/241: gpg: Allow updating the expiration time of multiple subkeys at once.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Wed Dec 9 20:32:11 UTC 2015


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch master
in repository gnupg2.

commit b64b33bb80a8cf5dcc1fdbc62023d019fe2c8cb1
Author: Neal H. Walfield <neal at g10code.com>
Date:   Mon Nov 23 12:16:33 2015 +0100

    gpg: Allow updating the expiration time of multiple subkeys at once.
    
    * g10/keyedit.c (menu_expire): Allow updating the expiration time of
    multiple subkeys at once.
    
    --
    Signed-off-by: Neal H. Walfield <neal at g10code.com>
    GnuPG-bug-id: 1944
---
 g10/keyedit.c | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

diff --git a/g10/keyedit.c b/g10/keyedit.c
index 8320aa4..1511c17 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -4003,8 +4003,23 @@ menu_expire (KBNODE pub_keyblock)
   n1 = count_selected_keys (pub_keyblock);
   if (n1 > 1)
     {
-      tty_printf (_("Please select at most one subkey.\n"));
-      return 0;
+      char *s = xtryasprintf (_("Are you sure you want to change the"
+                                " expiration time %d subkeys? (y/N) "), n1);
+      int s_need_free;
+      if (s)
+        s_need_free = 0;
+      else
+        {
+          s = _("Are you sure you want to change the"
+                " expiration time for multiple subkeys? (y/N) ");
+          s_need_free = 0;
+        }
+
+      rc = cpr_get_answer_is_yes ("keyedit.expire_multiple_subkeys.okay", s);
+      if (s_need_free)
+        xfree (s);
+      if (! rc)
+	return 0;
     }
   else if (n1)
     tty_printf (_("Changing expiration time for a subkey.\n"));
@@ -4029,11 +4044,15 @@ menu_expire (KBNODE pub_keyblock)
 	  keyid_from_pk (main_pk, keyid);
 	  main_pk->expiredate = expiredate;
 	}
-      else if (node->pkt->pkttype == PKT_PUBLIC_SUBKEY
-	       && (node->flag & NODFLG_SELKEY))
+      else if (node->pkt->pkttype == PKT_PUBLIC_SUBKEY)
 	{
-	  sub_pk = node->pkt->pkt.public_key;
-	  sub_pk->expiredate = expiredate;
+          if (node->flag & NODFLG_SELKEY)
+            {
+              sub_pk = node->pkt->pkt.public_key;
+              sub_pk->expiredate = expiredate;
+            }
+          else
+            sub_pk = NULL;
 	}
       else if (node->pkt->pkttype == PKT_USER_ID)
 	uid = node->pkt->pkt.user_id;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list