<p></p>
<p><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/miconda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/miconda">@miconda</a> it was a very naïve modification so it just created a new connection and never reused which was a horrible solution</p>
<p>Re-reading through tcp_main.c I had a spark of inspiration when I noticed that  <code>tcpconn_rm</code> checked if <code>c->extra_data</code> had a value other than 0 to determine if <code>tls_tcpconn_clean</code> needed calling.</p>
<p>I have currently hacked an extra property to indicate sni force connection into the <code>tls_extra_data</code> struct, which gets set by calling  <code>ksr_tls_set_connect_server_id</code>, an additional check is added to <code>_tcpconn_find</code> which checks if the connection is TLS or WSS and that the sni force new connection <code>extra_data</code> property is 1,   now only requests which have a call to <code>tls_set_connect_server_id</code> force a new connection, otherwise connections are reused (in my limited testing so far).  I havnt investigated if the flags property might be more appropriate.  One thing that occurs to me with this solution is that other than the changes to the <code>tls_extra_data</code> struct the behaviour could be explicitly triggered with an additional argument on <code>tls_set_connect_server_id(str serverId, bool forceNew)</code> thus wouldnt effect any existing behaviours?</p>
<p>I shall dig out the PR guidelines and get one raised ASAP, i suspect my fix is a bit too hairy a solution to make it, but im happy to contribute to the discussion.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/2760#issuecomment-858713772">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABO7UZLLSPXNTTHKJZQOIQ3TSDJZLANCNFSM46BFDBOA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/ABO7UZLD2YVNX246P5WUD4LTSDJZLA5CNFSM46BFDBOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGMXO5LA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/kamailio/kamailio/issues/2760#issuecomment-858713772",
"url": "https://github.com/kamailio/kamailio/issues/2760#issuecomment-858713772",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>