mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
libfetch: Avoid SIGPIPE on network connections.
To avoid unexpected process termination from SIGPIPE when writing to a closed network connection, enable SO_NOSIGPIPE on all network connections. The POSIX standard MSG_NOSIGNAL is not used since it requires modifying all send calls to add this flag. This is particularly nasty for SSL connections. Reviewed by: des Tested by: bapt MFC after: 5 days
This commit is contained in:
parent
577554bf92
commit
28fd93073a
1 changed files with 2 additions and 0 deletions
|
|
@ -209,11 +209,13 @@ conn_t *
|
|||
fetch_reopen(int sd)
|
||||
{
|
||||
conn_t *conn;
|
||||
int opt = 1;
|
||||
|
||||
/* allocate and fill connection structure */
|
||||
if ((conn = calloc(1, sizeof(*conn))) == NULL)
|
||||
return (NULL);
|
||||
fcntl(sd, F_SETFD, FD_CLOEXEC);
|
||||
setsockopt(sd, SOL_SOCKET, SO_NOSIGPIPE, &opt, sizeof opt);
|
||||
conn->sd = sd;
|
||||
++conn->ref;
|
||||
return (conn);
|
||||
|
|
|
|||
Loading…
Reference in a new issue