aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2025-03-28 16:41:42 +1100
committerDavid Gibson <david@gibson.dropbear.id.au>2025-03-28 16:41:42 +1100
commit13e78051702c26ad112d1edbf3c3385272419dba (patch)
treed0a7a99b8653a5f8f8fa3f35d32eac60336079bd
parent65cca54be84ffc5d2e18fcb8229dcc9d1f229479 (diff)
downloadpasst-tcpsoerror.tar
passt-tcpsoerror.tar.gz
passt-tcpsoerror.tar.bz2
passt-tcpsoerror.tar.lz
passt-tcpsoerror.tar.xz
passt-tcpsoerror.tar.zst
passt-tcpsoerror.zip
log tcp socket errortcpsoerror
-rw-r--r--tcp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tcp.c b/tcp.c
index fa1d885..c2fa2c3 100644
--- a/tcp.c
+++ b/tcp.c
@@ -2333,6 +2333,15 @@ void tcp_sock_handler(const struct ctx *c, union epoll_ref ref,
return;
if (events & EPOLLERR) {
+ int err;
+ socklen_t sl = sizeof(err);
+
+ if (getsockopt(conn->sock, SOL_SOCKET, SO_ERROR, &err, &sl))
+ flow_dbg(conn, "Error getting SO_ERROR: %s",
+ strerror_(errno));
+ else
+ flow_dbg(conn, "Resetting due to socket error: %s",
+ strerror_(err));
tcp_rst(c, conn);
return;
}