openssl: revert EOF detection change in 1.1.1
authorEneas U de Queiroz <cotequeiroz@gmail.com>
Fri, 27 Mar 2020 02:20:08 +0000 (23:20 -0300)
committerPetr Štetiar <ynezz@true.cz>
Sat, 28 Mar 2020 12:03:02 +0000 (13:03 +0100)
commit2e8a4db9b6b942e3180afda0dc0fd8ac506527f1
tree88048096345b41b23e31786744debf9b575f0edc
parent247043c968d22c193055a97a9cdf5baef4aaf96d
openssl: revert EOF detection change in 1.1.1

This adds patches to avoid possible application breakage caused by a
change in behavior introduced in 1.1.1e.  It affects at least nginx,
which logs error messages such as:
nginx[16652]: [crit] 16675#0: *358 SSL_read() failed (SSL: error:
4095126:SSL routines:ssl3_read_n:unexpected eof while reading) while
keepalive, client: xxxx, server: [::]:443

Openssl commits db943f4 (Detect EOF while reading in libssl), and
22623e0 (Teach more BIOs how to handle BIO_CTRL_EOF) changed the
behavior when encountering an EOF in SSL_read().  Previous behavior was
to return SSL_ERROR_SYSCALL, but errno would still be 0.  The commits
being reverted changed it to SSL_ERRO_SSL, and add an error to the
stack, which is correct.  Unfortunately this affects a number of
applications that counted on the old behavior, including nginx.

The reversion was discussed in openssl/openssl#11378, and implemented as
PR openssl/openssl#11400.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
package/libs/openssl/Makefile
package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch [new file with mode: 0644]