aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyedit.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2002-12-04 18:50:10 +0000
committerDavid Shaw <[email protected]>2002-12-04 18:50:10 +0000
commit1aec20776c0568c71aac299feb5519facc80348f (patch)
tree4ddfa6ae507218ab20ac09175b8604859b0fcbc9 /g10/keyedit.c
parent* trustdb.c (validate_keys): Show trust parameters when building trustdb, (diff)
downloadgnupg-1aec20776c0568c71aac299feb5519facc80348f.tar.gz
gnupg-1aec20776c0568c71aac299feb5519facc80348f.zip
* main.h, keyedit.c, keygen.c: Back out previous (2002-12-01) change.
Minimal isn't always best. * sign.c (update_keysig_packet): Use the current time rather then a modification of the original signature time. Make sure that this doesn't cause a time warp. * keygen.c (keygen_add_key_expire): Properly handle a key expiration date in the past (use a duration of 0). * keyedit.c (menu_expire): Use update_keysig_packet so any sig subpackets are maintained during the update. * build-packet.c (build_sig_subpkt): Mark sig expired or unexpired when the sig expiration subpacket is added. (build_sig_subpkt_from_sig): Handle making an expiration subpacket from a sig that has already expired (use a duration of 0). * packet.h, sign.c (update_keysig_packet), keyedit.c (menu_set_primary_uid, menu_set_preferences): Add ability to issue 0x18 subkey binding sigs to update_keysig_packet and change all callers.
Diffstat (limited to '')
-rw-r--r--g10/keyedit.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/g10/keyedit.c b/g10/keyedit.c
index 8373a7f2c..e25debf90 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -2694,20 +2694,12 @@ menu_expire( KBNODE pub_keyblock, KBNODE sec_keyblock )
if( !sn )
log_info(_("No corresponding signature in secret ring\n"));
- /* create new self signature */
if( mainkey )
- rc = make_keysig_packet( &newsig, main_pk, uid, NULL,
- sk, 0x13, 0, 0, 0, 0,
- keygen_add_std_prefs, main_pk );
+ rc = update_keysig_packet(&newsig, sig, main_pk, uid, NULL,
+ sk, keygen_add_key_expire, main_pk);
else
- {
- struct flags_expire fe;
- fe.pk=sub_pk;
- fe.sig=sig;
- rc = make_keysig_packet( &newsig, main_pk, NULL, sub_pk,
- sk, 0x18, 0, 0, 0, 0,
- keygen_copy_flags_add_expire,&fe);
- }
+ rc = update_keysig_packet(&newsig, sig, main_pk, NULL, sub_pk,
+ sk, keygen_add_key_expire, sub_pk );
if( rc ) {
log_error("make_keysig_packet failed: %s\n",
g10_errstr(rc));
@@ -2852,7 +2844,7 @@ menu_set_primary_uid ( KBNODE pub_keyblock, KBNODE sec_keyblock )
if (action) {
int rc = update_keysig_packet (&newsig, sig,
- main_pk, uid,
+ main_pk, uid, NULL,
sk,
change_primary_uid_cb,
action > 0? "x":NULL );
@@ -2937,7 +2929,7 @@ menu_set_preferences (KBNODE pub_keyblock, KBNODE sec_keyblock )
int rc;
rc = update_keysig_packet (&newsig, sig,
- main_pk, uid,
+ main_pk, uid, NULL,
sk,
keygen_upd_std_prefs,
NULL );