aboutsummaryrefslogtreecommitdiffstats
path: root/main/kamailio/0004-src_core_tcp_read_c.patch
diff options
context:
space:
mode:
authorSergey Safarov <s.safarov@gmail.com>2017-07-28 07:50:03 +0000
committerJakub Jirutka <jakub@jirutka.cz>2017-07-28 23:20:00 +0200
commit29b8e946b311e0f2712874bb73891477f8a74eaf (patch)
tree2d76847ef6674f5d4ca5f146731effc41ca764fd /main/kamailio/0004-src_core_tcp_read_c.patch
parent74812a3edc3b97ac8458b998d85e6208f54bd490 (diff)
downloadaports-29b8e946b311e0f2712874bb73891477f8a74eaf.tar.bz2
aports-29b8e946b311e0f2712874bb73891477f8a74eaf.tar.xz
main/kamailio: backport TLS mod patches for LibreSSL from OpenBSD
Diffstat (limited to 'main/kamailio/0004-src_core_tcp_read_c.patch')
-rw-r--r--main/kamailio/0004-src_core_tcp_read_c.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/main/kamailio/0004-src_core_tcp_read_c.patch b/main/kamailio/0004-src_core_tcp_read_c.patch
new file mode 100644
index 0000000000..08308f77b1
--- /dev/null
+++ b/main/kamailio/0004-src_core_tcp_read_c.patch
@@ -0,0 +1,20 @@
+$OpenBSD: patch-src_core_tcp_read_c,v 1.1 2017/07/03 22:14:20 sthen Exp $
+
+Index: a/src/core/tcp_read.c
+--- a/src/core/tcp_read.c.orig
++++ a/src/core/tcp_read.c
+@@ -1497,6 +1497,14 @@ void release_tcpconn(struct tcp_connection* c, long st
+ ip_addr2a(&c->rcv.src_ip), c->rcv.src_port,
+ ip_addr2a(&c->rcv.dst_ip), c->rcv.dst_port);
+ LM_DBG("extra_data %p\n", c->extra_data);
++
++ /* experimental fix tls crash with libressl */
++ /* add cleanup SSL structure in child process, in parent process SSL structure is empty */
++ if ((c->type==PROTO_TLS || c->type==PROTO_WSS) && (c->extra_data) && c->fd != -1) {
++ tls_close(c, c->fd);
++ tls_tcpconn_clean(c);
++ }
++
+ /* release req & signal the parent */
+ c->reader_pid=0; /* reset it */
+ if (c->fd!=-1){