Edvinas Stunžėnas d6b2fd7d35 Handle SSL_send SYSCALL error without errno
Either intentionaly or due to bug in openssl in some marginal
cases SSL_send reports SYSCALL error whilst errno is set to 0.
This either could mean that SSL_send did not made any system
call or errno were prematurely reset with consequent syscalls.
And in consequence sendraw() is not propagate correct errno
ends up in infinite loop trying to send same data.

Such behaviour was usually observed after third consequential
failed SSL send attempt which application was not aware of.
First send failed with syscall errno 32 (Broken pipe) second
one with SSL error 0x1409e10f (bad length) and lastly next
send attemt results with SYSCALL error and errno 0.

Tested using:
* OpenSSL v1.1.1
* musl v1.1.20 (c50985d5c8e316c5c464f352e79eeebfed1121a9)
* Linux 4.4.60+yocto armv7l
2021-05-21 21:20:19 +03:00
2019-10-19 10:22:21 -03:00
2015-03-02 11:33:37 +01:00
2021-04-26 09:16:05 -03:00
2021-04-26 09:16:05 -03:00
2021-04-26 09:16:05 -03:00
2019-10-09 14:49:58 -03:00
2015-10-15 08:19:29 -03:00
2021-04-26 09:16:05 -03:00

LuaSec 1.0.1

LuaSec depends on OpenSSL, and integrates with LuaSocket to make it easy to add secure connections to any Lua applications or scripts.

Documentation: https://github.com/brunoos/luasec/wiki

Description
LuaSec
Readme MIT 1.4 MiB
Languages
C 87.1%
Lua 10.8%
Makefile 2.1%