mirror of
https://github.com/seregonwar/zftpd.git
synced 2026-10-22 11:42:21 -05:00
The PS4 entry point never ignored SIGPIPE (the shared handler is compiled out there), so a browser cancelling a download killed the payload with signal 13. Ignore SIGPIPE on PS4 like PS5 and POSIX do, and set SO_NOSIGPIPE on the HTTP listener and client sockets (FTP sockets follow through pal_socket_configure) so a vanished peer only breaks its own connection. test_http_server aborts a streamed download mid-flight and checks the server keeps answering.