mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: Add --encrypt-to-default-key.
* g10/getkey.c (parse_def_secret_key): Drop the static qualifier and export the function. * g10/gpg.c (enum cmd_and_opt_values): Add value oEncryptToDefaultKey. (opts): Handle oEncryptToDefaultKey. (main): Likewise. * g10/options.h (opt): Add field encrypt_to_default_key. -- Signed-off-by: Neal H. Walfield <neal@g10code.com> GnuPG-bug-id: 807
This commit is contained in:
parent
e16d7168c5
commit
de9b234015
@ -1916,6 +1916,11 @@ recipients given either by use of @option{--recipient} or by the asked user id.
|
||||
No trust checking is performed for these user ids and even disabled
|
||||
keys can be used.
|
||||
|
||||
@item --encrypt-to-default-key
|
||||
@opindex encrypt-to-default-key
|
||||
If the default secret key is taken from @option{--default-key}, then
|
||||
also encrypt to that key.
|
||||
|
||||
@item --no-encrypt-to
|
||||
@opindex no-encrypt-to
|
||||
Disable the use of all @option{--encrypt-to} and
|
||||
|
@ -1121,7 +1121,7 @@ get_pubkey_byfprint_fast (PKT_public_key * pk,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char *
|
||||
const char *
|
||||
parse_def_secret_key (ctrl_t ctrl)
|
||||
{
|
||||
KEYDB_HANDLE hd = NULL;
|
||||
|
19
g10/gpg.c
19
g10/gpg.c
@ -303,6 +303,7 @@ enum cmd_and_opt_values
|
||||
oEncryptTo,
|
||||
oHiddenEncryptTo,
|
||||
oNoEncryptTo,
|
||||
oEncryptToDefaultKey,
|
||||
oLoggerFD,
|
||||
oLoggerFile,
|
||||
oUtf8Strings,
|
||||
@ -500,6 +501,7 @@ static ARGPARSE_OPTS opts[] = {
|
||||
ARGPARSE_s_s (oEncryptTo, "encrypt-to", "@"),
|
||||
ARGPARSE_s_n (oNoEncryptTo, "no-encrypt-to", "@"),
|
||||
ARGPARSE_s_s (oHiddenEncryptTo, "hidden-encrypt-to", "@"),
|
||||
ARGPARSE_s_n (oEncryptToDefaultKey, "encrypt-to-default-key", "@"),
|
||||
ARGPARSE_s_s (oLocalUser, "local-user",
|
||||
N_("|USER-ID|use USER-ID to sign or decrypt")),
|
||||
|
||||
@ -2776,6 +2778,9 @@ main (int argc, char **argv)
|
||||
sl = add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings );
|
||||
sl->flags = 1|2;
|
||||
break;
|
||||
case oEncryptToDefaultKey:
|
||||
opt.encrypt_to_default_key = 1;
|
||||
break;
|
||||
case oRecipient: /* store the recipient */
|
||||
add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings );
|
||||
any_explicit_recipient = 1;
|
||||
@ -3727,6 +3732,20 @@ main (int argc, char **argv)
|
||||
break;
|
||||
}
|
||||
|
||||
if (opt.encrypt_to_default_key)
|
||||
{
|
||||
const char *default_key = parse_def_secret_key (ctrl);
|
||||
if (default_key)
|
||||
{
|
||||
sl = add_to_strlist2 (&remusr, default_key, utf8_strings);
|
||||
sl->flags = 1;
|
||||
}
|
||||
else if (opt.def_secret_key)
|
||||
log_info (_("--encrypt-to-default-key specified, but no valid default keys specified.\n"));
|
||||
else
|
||||
log_info (_("--encrypt-to-default-key specified, but --default-key not specified.\n"));
|
||||
}
|
||||
|
||||
/* The command dispatcher. */
|
||||
switch( cmd )
|
||||
{
|
||||
|
@ -582,6 +582,10 @@ int get_pubkey_byfprint_fast (PKT_public_key *pk,
|
||||
with the specified key id. */
|
||||
int have_secret_key_with_kid (u32 *keyid);
|
||||
|
||||
/* Parse the --default-key parameter. Returns the last key (in terms
|
||||
of when the option is given) that is available. */
|
||||
const char *parse_def_secret_key (ctrl_t ctrl);
|
||||
|
||||
/* Look up a secret key.
|
||||
|
||||
If PK is not NULL, the public key of the first result is returned
|
||||
|
@ -175,6 +175,7 @@ struct
|
||||
int no_mdc_warn;
|
||||
char *temp_dir;
|
||||
int no_encrypt_to;
|
||||
int encrypt_to_default_key;
|
||||
int interactive;
|
||||
struct notation *sig_notations;
|
||||
struct notation *cert_notations;
|
||||
|
Loading…
x
Reference in New Issue
Block a user