diff options
| author | Werner Koch <[email protected]> | 2025-08-28 12:41:31 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2025-08-28 12:47:56 +0000 |
| commit | 48e5282c86c253789e7e4f8bfc0930ce07037acc (patch) | |
| tree | 4fa995020583f5b40935f3490864ded09a7daf9e /g10/cpr.c | |
| parent | gpg: Change the ADSK key binding time to the current time. (diff) | |
| download | gnupg-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/cpr.c')
| -rw-r--r-- | g10/cpr.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -280,6 +280,19 @@ write_status_printf (int no, const char *format, ...) g10_exit (0); } +/* Write a WARNING status line using a full gpg-error error value. */ +void +write_status_warning (const char *where, gpg_error_t err) +{ + if (!statusfp || !status_currently_allowed (STATUS_WARNING)) + return; /* Not enabled or allowed. */ + + es_fprintf (statusfp, "[GNUPG:] %s %s %u\n", + get_status_string (STATUS_WARNING), where, err); + if (es_fflush (statusfp) && opt.exit_on_status_write_error) + g10_exit (0); +} + /* Write an ERROR status line using a full gpg-error error value. */ void |
