aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpg.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2025-08-28 12:41:31 +0000
committerWerner Koch <[email protected]>2025-08-28 12:47:56 +0000
commit48e5282c86c253789e7e4f8bfc0930ce07037acc (patch)
tree4fa995020583f5b40935f3490864ded09a7daf9e /g10/gpg.c
parentgpg: Change the ADSK key binding time to the current time. (diff)
downloadgnupg-48e5282c86c253789e7e4f8bfc0930ce07037acc.tar.gz
gnupg-48e5282c86c253789e7e4f8bfc0930ce07037acc.zip
gpg: New option --auto-key-upload
* g10/options.h (opt.flags): Add member auto_key_upload. (EXPORT_NO_STATUS): New. (KEYSERVER_LDAP_ONLY): New. (KEYSERVER_WARN_ONLY): New. * g10/gpg.c (oAutoKeyUpload): New. (opts): New option --auto-key-upload. (main): Set option. * g10/keyserver.c (keyserver_export_pubkey): New. (keyserver_put): Take care of the WARN_ONLY and LDAP_ONLY options. Delay printing of the EXPORTED status. * g10/keygen.c (do_generate_keypair): Export new key if option is set. * g10/export.c (do_export_one_keyblock): Take care of the NO_STATUS option. (print_status_exported): Move function to ... * g10/cpr.c (write_status_warning): here and make public. -- This change also fixes a bug with --send-key which used to emit an EXPORTED line before actually sending the key to the dirmngr. Thus if the upload failed a EXPORTED status has already been emitted. GnuPG-bug-id: 7333 This is the first part which handles the new key case. We also need to implement an upload after key modifications.
Diffstat (limited to 'g10/gpg.c')
-rw-r--r--g10/gpg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index b2ca71cb8..0244f77ee 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -379,6 +379,7 @@ enum cmd_and_opt_values
oNoAutoKeyRetrieve,
oAutoKeyImport,
oNoAutoKeyImport,
+ oAutoKeyUpload,
oUseAgent,
oNoUseAgent,
oGpgAgentInfo,
@@ -808,6 +809,7 @@ static gpgrt_opt_t opts[] = {
ARGPARSE_s_n (oNoAutoKeyImport, "no-auto-key-import", "@"),
ARGPARSE_s_n (oAutoKeyRetrieve, "auto-key-retrieve", "@"),
ARGPARSE_s_n (oNoAutoKeyRetrieve, "no-auto-key-retrieve", "@"),
+ ARGPARSE_s_n (oAutoKeyUpload, "auto-key-upload", "@"),
ARGPARSE_s_n (oIncludeKeyBlock, "include-key-block",
N_("include the public key in signatures")),
ARGPARSE_s_n (oNoIncludeKeyBlock, "no-include-key-block", "@"),
@@ -3606,6 +3608,8 @@ main (int argc, char **argv)
opt.keyserver_options.options &= ~KEYSERVER_AUTO_KEY_RETRIEVE;
break;
+ case oAutoKeyUpload: opt.flags.auto_key_upload = 1; break;
+
case oShowOnlySessionKey:
opt.show_only_session_key = 1;
/* fallthru */