mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpgsm: Terminate key listing on output write error.
* sm/keylist.c (list_internal_keys): Detect write errors to the output stream. * sm/server.c (any_failure_printed): New var. (gpgsm_status2): Handle new var. Move statusfp init to ... (gpgsm_init_statusfp): new function. (gpgsm_exit_failure_status): New. * sm/gpgsm.c (main): Explicit statusfp init. (gpgsm_exit): Print failure status on error. -- Test by using gpgsm -k >/dev/full gpgsm -k --wit-colons >/dev/full and also by redirecting to a file on a small partition. GnuPG-bug-id: 6185
This commit is contained in:
parent
40707c8bff
commit
18081e2ecf
4 changed files with 74 additions and 15 deletions
|
@ -355,12 +355,14 @@ int gpgsm_parse_validation_model (const char *model);
|
|||
|
||||
/*-- server.c --*/
|
||||
void gpgsm_server (certlist_t default_recplist);
|
||||
void gpgsm_init_statusfp (ctrl_t ctrl);
|
||||
gpg_error_t gpgsm_status (ctrl_t ctrl, int no, const char *text);
|
||||
gpg_error_t gpgsm_status2 (ctrl_t ctrl, int no, ...) GPGRT_ATTR_SENTINEL(0);
|
||||
gpg_error_t gpgsm_status_with_err_code (ctrl_t ctrl, int no, const char *text,
|
||||
gpg_err_code_t ec);
|
||||
gpg_error_t gpgsm_status_with_error (ctrl_t ctrl, int no, const char *text,
|
||||
gpg_error_t err);
|
||||
void gpgsm_exit_failure_status (void);
|
||||
gpg_error_t gpgsm_progress_cb (ctrl_t ctrl, uint64_t current, uint64_t total);
|
||||
gpg_error_t gpgsm_proxy_pinentry_notify (ctrl_t ctrl,
|
||||
const unsigned char *line);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue