From: Bernd Edlinger Date: Mon, 17 Jun 2019 14:57:25 +0000 (+0200) Subject: Handle CTRL-C as non-redoable abort signal X-Git-Tag: openssl-3.0.0-alpha1~1877 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f8922b5107d098c78f846c8c999f96111345de8d;p=oweals%2Fopenssl.git Handle CTRL-C as non-redoable abort signal This is a bit annoying, if for instance "openssl genrsa -aes128" tries to read a 4+ character size password, but CTRL-C does no longer work after a RETURN key, since the flag UI_FLAG_REDOABLE is set by UI_set_result_ex, together with the error "You must type in 4 to 1023 characters". Thus remove the REDOABLE flag to allow CTRL-C to work. [extended tests] Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/9170) --- diff --git a/crypto/ui/ui_lib.c b/crypto/ui/ui_lib.c index a3a0065279..8c3502e8cf 100644 --- a/crypto/ui/ui_lib.c +++ b/crypto/ui/ui_lib.c @@ -500,6 +500,7 @@ int UI_process(UI *ui) if (ui->meth->ui_flush != NULL) switch (ui->meth->ui_flush(ui)) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */ @@ -517,6 +518,7 @@ int UI_process(UI *ui) sk_UI_STRING_value(ui->strings, i))) { case -1: /* Interrupt/Cancel/something... */ + ui->flags &= ~UI_FLAG_REDOABLE; ok = -2; goto err; case 0: /* Errors */