diff options
Diffstat (limited to 'security/sssd/files/patch-src__util__sss_sockets.c')
-rw-r--r-- | security/sssd/files/patch-src__util__sss_sockets.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/security/sssd/files/patch-src__util__sss_sockets.c b/security/sssd/files/patch-src__util__sss_sockets.c new file mode 100644 index 000000000000..5e90879b246f --- /dev/null +++ b/security/sssd/files/patch-src__util__sss_sockets.c @@ -0,0 +1,45 @@ +--- src/util/sss_sockets.c.orig 2020-03-17 13:31:28.000000000 +0000 ++++ src/util/sss_sockets.c 2020-10-22 19:39:46.454834000 +0100 +@@ -120,14 +120,16 @@ + } + + milli = timeout * 1000; /* timeout in milliseconds */ +- ret = setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, &milli, +- sizeof(milli)); +- if (ret != 0) { +- ret = errno; +- DEBUG(SSSDBG_FUNC_DATA, +- "setsockopt TCP_USER_TIMEOUT failed.[%d][%s].\n", ret, +- strerror(ret)); +- } ++ /* FreeBSD does not have TCP_USER_TIMEOUT option yet .... ++ * ret = setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, &milli, ++ * sizeof(milli)); ++ * if (ret != 0) { ++ * ret = errno; ++ * DEBUG(SSSDBG_FUNC_DATA, ++ * "setsockopt TCP_USER_TIMEOUT failed.[%d][%s].\n", ret, ++ * strerror(ret)); ++ * } ++ */ + } + + return EOK; +@@ -230,7 +232,7 @@ + + talloc_zfree(fde); + +- if (ret == EOK) { ++ if (ret == EOK || ret == EISCONN) { + tevent_req_done(req); + } else { + ret = errno; +@@ -313,7 +315,7 @@ + "Using file descriptor [%d] for the connection.\n", state->sd); + + subreq = sssd_async_connect_send(state, ev, state->sd, +- (struct sockaddr *) addr, addr_len); ++ (struct sockaddr *) addr, sizeof(struct sockaddr)); + if (subreq == NULL) { + ret = ENOMEM; + DEBUG(SSSDBG_CRIT_FAILURE, "sssd_async_connect_send failed.\n"); |