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)
committerRISCi_ATOM <bob@bobcall.me>
Mon, 30 Mar 2020 00:43:53 +0000 (20:43 -0400)
commit090a98b0a0a07a63918adf6cd9800f655d34eec5
tree978c0211c2af4fab0a4ac29a25e609acc82c76dd
parent0e99290c53c419064cdf45c2de2c8306e531428b
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>
(cherry picked from commit 2e8a4db9b6b942e3180afda0dc0fd8ac506527f1)
package/libs/openssl/Makefile
package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch [new file with mode: 0644]