aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar ctrlaltca2025-11-10 14:49:13 +0100
committerGravatar GitHub2025-11-10 14:49:13 +0100
commit148ad10ea7c4c3b683d76c8ac32691d44328bab6 (patch)
tree8d28f1662f8d1b2ea279e8e3b6e8ff2677173a10
parentSupport cap-notify; fix #2724 (#2725) (diff)
downloadKVIrc-148ad10ea7c4c3b683d76c8ac32691d44328bab6.tar.gz
KVIrc-148ad10ea7c4c3b683d76c8ac32691d44328bab6.tar.bz2
KVIrc-148ad10ea7c4c3b683d76c8ac32691d44328bab6.zip
SSL: ignore SIGPIPE in SSL_connect(); fix #2701 (#2726)
-rw-r--r--src/kvilib/net/KviSSL.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/kvilib/net/KviSSL.cpp b/src/kvilib/net/KviSSL.cpp
index 70a58aeb2..40bdfe925 100644
--- a/src/kvilib/net/KviSSL.cpp
+++ b/src/kvilib/net/KviSSL.cpp
@@ -536,7 +536,15 @@ KviSSL::Result KviSSL::connect()
{
if(!m_pSSL)
return NotInitialized;
+#if !(defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW))
+ // ignore SIGPIPE
+ signal(SIGPIPE, SIG_IGN);
+ int ret = SSL_connect(m_pSSL);
+ //restore normal SIGPIPE behaviour.
+ signal(SIGPIPE, SIG_DFL);
+#else
int ret = SSL_connect(m_pSSL);
+#endif
return connectOrAcceptError(ret);
}