NGINX Unit - universal web app server - a lightweight and versatile open source server that simplifies the application stack by natively executing application code across eight different programming language runtimes.
Find a file
Sergey Kandaurov 6cfa1c3970 Using SSL_OP_IGNORE_UNEXPECTED_EOF.
A new behaviour was introduced in OpenSSL 1.1.1e, when a peer does not send
close_notify before closing the connection.  Previously, it was to return
SSL_ERROR_SYSCALL with errno 0, known since at least OpenSSL 0.9.7, and is
handled gracefully in unitd.  Now it returns SSL_ERROR_SSL with a distinct
reason SSL_R_UNEXPECTED_EOF_WHILE_READING ("unexpected eof while reading").
This leads to critical errors seen in nginx within various routines such as
SSL_do_handshake(), SSL_read(), SSL_shutdown().  The behaviour was restored
in OpenSSL 1.1.1f, but presents in OpenSSL 3.0 by default.

Use of the SSL_OP_IGNORE_UNEXPECTED_EOF option added in OpenSSL 3.0 allows
setting a compatible behaviour to return SSL_ERROR_ZERO_RETURN:
https://git.openssl.org/?p=openssl.git;a=commitdiff;h=09b90e0

See for additional details: https://github.com/openssl/openssl/issues/11381
2022-05-12 12:04:54 +04:00
auto Workarounded Clang bug triggered by Ruby. 2022-04-28 20:02:30 +02:00
docs Ruby: added the Rack environment parameter "SCRIPT_NAME". 2022-03-09 13:29:43 +08:00
go Tests: using modules in Go. 2022-01-10 16:07:31 +03:00
pkg Updated copyright notice. 2022-02-15 18:21:10 +03:00
src Using SSL_OP_IGNORE_UNEXPECTED_EOF. 2022-05-12 12:04:54 +04:00
test Tests: added test for "SCRIPT_NAME" variable in Ruby. 2022-05-10 01:53:23 +01:00
.gitignore Added .gitignore. 2022-05-03 12:41:36 +02:00
.hgignore Added .hgignore file. 2020-09-18 19:37:56 +01:00
.hgtags Unit 1.26.1 release. 2021-12-02 18:36:28 +03:00
CHANGES Added version 1.26.1 CHANGES. 2021-12-02 18:22:57 +03:00
configure Printing version in "./configure" output. 2021-12-03 03:11:06 +03:00
LICENSE Added LICENSE and NOTICE files. 2017-09-06 18:26:37 +03:00
NOTICE Updated copyright notice. 2022-02-15 18:21:10 +03:00
README README: added project name to the beginning. 2017-09-19 19:05:03 +03:00
version Version bump. 2021-11-22 07:23:07 +03:00

NGINX Unit
----------

The documentation and binary packages are available online:

  http://unit.nginx.org

The source code is provided under the terms of Apache License 2.0:

  http://hg.nginx.org/unit

Please ask questions, report issues, and send patches to the mailing list:

  unit@nginx.org (http://mailman.nginx.org/mailman/listinfo/unit)

or via Github:

  https://github.com/nginx/unit

--
NGINX, Inc.
http://nginx.com