mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-31 11:41:32 +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
|
No trust checking is performed for these user ids and even disabled
|
||||||
keys can be used.
|
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
|
@item --no-encrypt-to
|
||||||
@opindex no-encrypt-to
|
@opindex no-encrypt-to
|
||||||
Disable the use of all @option{--encrypt-to} and
|
Disable the use of all @option{--encrypt-to} and
|
||||||
|
@ -1121,7 +1121,7 @@ get_pubkey_byfprint_fast (PKT_public_key * pk,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
const char *
|
||||||
parse_def_secret_key (ctrl_t ctrl)
|
parse_def_secret_key (ctrl_t ctrl)
|
||||||
{
|
{
|
||||||
KEYDB_HANDLE hd = NULL;
|
KEYDB_HANDLE hd = NULL;
|
||||||
|
19
g10/gpg.c
19
g10/gpg.c
@ -303,6 +303,7 @@ enum cmd_and_opt_values
|
|||||||
oEncryptTo,
|
oEncryptTo,
|
||||||
oHiddenEncryptTo,
|
oHiddenEncryptTo,
|
||||||
oNoEncryptTo,
|
oNoEncryptTo,
|
||||||
|
oEncryptToDefaultKey,
|
||||||
oLoggerFD,
|
oLoggerFD,
|
||||||
oLoggerFile,
|
oLoggerFile,
|
||||||
oUtf8Strings,
|
oUtf8Strings,
|
||||||
@ -500,6 +501,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||||||
ARGPARSE_s_s (oEncryptTo, "encrypt-to", "@"),
|
ARGPARSE_s_s (oEncryptTo, "encrypt-to", "@"),
|
||||||
ARGPARSE_s_n (oNoEncryptTo, "no-encrypt-to", "@"),
|
ARGPARSE_s_n (oNoEncryptTo, "no-encrypt-to", "@"),
|
||||||
ARGPARSE_s_s (oHiddenEncryptTo, "hidden-encrypt-to", "@"),
|
ARGPARSE_s_s (oHiddenEncryptTo, "hidden-encrypt-to", "@"),
|
||||||
|
ARGPARSE_s_n (oEncryptToDefaultKey, "encrypt-to-default-key", "@"),
|
||||||
ARGPARSE_s_s (oLocalUser, "local-user",
|
ARGPARSE_s_s (oLocalUser, "local-user",
|
||||||
N_("|USER-ID|use USER-ID to sign or decrypt")),
|
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 = add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings );
|
||||||
sl->flags = 1|2;
|
sl->flags = 1|2;
|
||||||
break;
|
break;
|
||||||
|
case oEncryptToDefaultKey:
|
||||||
|
opt.encrypt_to_default_key = 1;
|
||||||
|
break;
|
||||||
case oRecipient: /* store the recipient */
|
case oRecipient: /* store the recipient */
|
||||||
add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings );
|
add_to_strlist2( &remusr, pargs.r.ret_str, utf8_strings );
|
||||||
any_explicit_recipient = 1;
|
any_explicit_recipient = 1;
|
||||||
@ -3727,6 +3732,20 @@ main (int argc, char **argv)
|
|||||||
break;
|
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. */
|
/* The command dispatcher. */
|
||||||
switch( cmd )
|
switch( cmd )
|
||||||
{
|
{
|
||||||
|
@ -582,6 +582,10 @@ int get_pubkey_byfprint_fast (PKT_public_key *pk,
|
|||||||
with the specified key id. */
|
with the specified key id. */
|
||||||
int have_secret_key_with_kid (u32 *keyid);
|
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.
|
/* Look up a secret key.
|
||||||
|
|
||||||
If PK is not NULL, the public key of the first result is returned
|
If PK is not NULL, the public key of the first result is returned
|
||||||
|
@ -175,6 +175,7 @@ struct
|
|||||||
int no_mdc_warn;
|
int no_mdc_warn;
|
||||||
char *temp_dir;
|
char *temp_dir;
|
||||||
int no_encrypt_to;
|
int no_encrypt_to;
|
||||||
|
int encrypt_to_default_key;
|
||||||
int interactive;
|
int interactive;
|
||||||
struct notation *sig_notations;
|
struct notation *sig_notations;
|
||||||
struct notation *cert_notations;
|
struct notation *cert_notations;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user