mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
* keygen.c (keygen_add_keyserver_url), keyedit.c (menu_set_keyserver_url):
Allow setting a keyserver URL of "none" to remove an existing keyserver URL.
This commit is contained in:
parent
617a5a91bf
commit
0862ee6979
@ -1,5 +1,9 @@
|
|||||||
2004-09-16 David Shaw <dshaw@jabberwocky.com>
|
2004-09-16 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* keygen.c (keygen_add_keyserver_url), keyedit.c
|
||||||
|
(menu_set_keyserver_url): Allow setting a keyserver URL of "none"
|
||||||
|
to remove an existing keyserver URL.
|
||||||
|
|
||||||
* keyedit.c (menu_set_keyserver_url): Confirm replacement of a
|
* keyedit.c (menu_set_keyserver_url): Confirm replacement of a
|
||||||
keyserver URL before overwriting the old one.
|
keyserver URL before overwriting the old one.
|
||||||
|
|
||||||
|
@ -3270,8 +3270,7 @@ menu_set_keyserver_url (const char *url,
|
|||||||
u32 keyid[2];
|
u32 keyid[2];
|
||||||
int selected, select_all;
|
int selected, select_all;
|
||||||
int modified = 0;
|
int modified = 0;
|
||||||
char *answer;
|
char *answer,*uri;
|
||||||
struct keyserver_spec *keyserver;
|
|
||||||
|
|
||||||
no_primary_warning(pub_keyblock);
|
no_primary_warning(pub_keyblock);
|
||||||
|
|
||||||
@ -3288,6 +3287,11 @@ menu_set_keyserver_url (const char *url,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(ascii_strcasecmp(answer,"none")==0)
|
||||||
|
uri=NULL;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
struct keyserver_spec *keyserver=NULL;
|
||||||
/* Sanity check the format */
|
/* Sanity check the format */
|
||||||
keyserver=parse_keyserver_uri(answer,1,NULL,0);
|
keyserver=parse_keyserver_uri(answer,1,NULL,0);
|
||||||
m_free(answer);
|
m_free(answer);
|
||||||
@ -3296,6 +3300,9 @@ menu_set_keyserver_url (const char *url,
|
|||||||
log_info(_("could not parse keyserver URL\n"));
|
log_info(_("could not parse keyserver URL\n"));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
uri=m_strdup(keyserver->uri);
|
||||||
|
free_keyserver_spec(keyserver);
|
||||||
|
}
|
||||||
|
|
||||||
select_all = !count_selected_uids (pub_keyblock);
|
select_all = !count_selected_uids (pub_keyblock);
|
||||||
|
|
||||||
@ -3349,22 +3356,27 @@ menu_set_keyserver_url (const char *url,
|
|||||||
tty_printf("Current preferred keyserver for user"
|
tty_printf("Current preferred keyserver for user"
|
||||||
" ID \"%s\": %.*s\n",user,plen,p);
|
" ID \"%s\": %.*s\n",user,plen,p);
|
||||||
if(!cpr_get_answer_is_yes("keyedit.confirm_keyserver",
|
if(!cpr_get_answer_is_yes("keyedit.confirm_keyserver",
|
||||||
_("Are you sure you want"
|
uri?_("Are you sure you want to replace it? (y/N) "):
|
||||||
" to replace it? (y/N) ")))
|
_("Are you sure you want to delete it? (y/N) ")))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if(uri==NULL)
|
||||||
|
{
|
||||||
|
/* There is no current keyserver URL, so there
|
||||||
|
is no point in trying to un-set it. */
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = update_keysig_packet (&newsig, sig,
|
rc = update_keysig_packet (&newsig, sig,
|
||||||
main_pk, uid, NULL,
|
main_pk, uid, NULL,
|
||||||
sk,
|
sk,
|
||||||
keygen_add_keyserver_url,
|
keygen_add_keyserver_url, uri );
|
||||||
keyserver->uri );
|
|
||||||
if( rc )
|
if( rc )
|
||||||
{
|
{
|
||||||
log_error ("update_keysig_packet failed: %s\n",
|
log_error ("update_keysig_packet failed: %s\n",
|
||||||
g10_errstr(rc));
|
g10_errstr(rc));
|
||||||
free_keyserver_spec(keyserver);
|
|
||||||
free_secret_key( sk );
|
free_secret_key( sk );
|
||||||
|
m_free(uri);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* replace the packet */
|
/* replace the packet */
|
||||||
@ -3382,7 +3394,7 @@ menu_set_keyserver_url (const char *url,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free_keyserver_spec(keyserver);
|
m_free(uri);
|
||||||
free_secret_key( sk );
|
free_secret_key( sk );
|
||||||
return modified;
|
return modified;
|
||||||
}
|
}
|
||||||
|
@ -599,7 +599,10 @@ keygen_add_keyserver_url(PKT_signature *sig, void *opaque)
|
|||||||
{
|
{
|
||||||
const char *url=opaque;
|
const char *url=opaque;
|
||||||
|
|
||||||
|
if(url)
|
||||||
build_sig_subpkt(sig,SIGSUBPKT_PREF_KS,url,strlen(url));
|
build_sig_subpkt(sig,SIGSUBPKT_PREF_KS,url,strlen(url));
|
||||||
|
else
|
||||||
|
delete_sig_subpkt (sig->hashed,SIGSUBPKT_PREF_KS);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user