@miconda it was a very naïve modification so it just created a new connection and never reused which was a horrible solution

Re-reading through tcp_main.c I had a spark of inspiration when I noticed that tcpconn_rm checked if c->extra_data had a value other than 0 to determine if tls_tcpconn_clean needed calling.

I have currently hacked an extra property to indicate sni force connection into the tls_extra_data struct, which gets set by calling ksr_tls_set_connect_server_id, an additional check is added to _tcpconn_find which checks if the connection is TLS or WSS and that the sni force new connection extra_data property is 1, now only requests which have a call to tls_set_connect_server_id 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 tls_extra_data struct the behaviour could be explicitly triggered with an additional argument on tls_set_connect_server_id(str serverId, bool forceNew) thus wouldnt effect any existing behaviours?

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.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.