Skip to content
Snippets Groups Projects
Commit 881f7157 authored by Nick Mathewson's avatar Nick Mathewson :game_die:
Browse files

Return -1 from our PEM password callback

Apparently, contrary to its documentation, this is how OpenSSL now
wants us to report an error.

Fixes bug 26116; bugfix on 0.2.5.16.
parent 033e4723
No related branches found
No related tags found
No related merge requests found
o Minor bugfixes (compatibility, openssl):
- Work around a change in OpenSSL 1.1.1 where
return values that would previously indicate "no password" now
indicate an empty password. Without this workaround, Tor instances
running with OpenSSL 1.1.1 would accept descriptors that other Tor
instances would reject. Fixes bug 26116; bugfix on 0.2.5.16.
......@@ -653,7 +653,12 @@ pem_no_password_cb(char *buf, int size, int rwflag, void *u)
(void)size;
(void)rwflag;
(void)u;
return 0;
/* The openssl documentation says that a callback "must" return 0 if an
* error occurred. But during the 1.1.1 series (commit c82c3462267afdbbaa5
* they changed the interpretation so that 0 indicates an empty password and
* -1 indicates an error. We want to reject any encrypted PEM buffers, so we
* return -1. This will work on older OpenSSL versions and LibreSSL too. */
return -1;
}
/** Read a PEM-encoded private key from the <b>len</b>-byte string <b>s</b>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment