mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
* 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.
This commit is contained in:
parent
60fce379da
commit
1aec20776c
7 changed files with 104 additions and 78 deletions
|
@ -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 );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue