summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2021-02-07 02:03:41 +1300
committerTom Ryder <tom@sanctum.geek.nz>2021-02-07 02:05:50 +1300
commita2a6b489e5bceda1dda10d90f7cee62f9ff62852 (patch)
treee6cc9daa483419742a9cde4c6c870eb411ff8674
parentSwitch protocol for Origin header based on TLS (diff)
downloadPOE-Component-Client-WebSocket-a2a6b489e5bceda1dda10d90f7cee62f9ff62852.tar.gz
POE-Component-Client-WebSocket-a2a6b489e5bceda1dda10d90f7cee62f9ff62852.zip
Add SNI parameter to POE::Filter::SSL
-rw-r--r--lib/POE/Component/Client/WebSocket.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/POE/Component/Client/WebSocket.pm b/lib/POE/Component/Client/WebSocket.pm
index 8f5ff3c..642ac64 100644
--- a/lib/POE/Component/Client/WebSocket.pm
+++ b/lib/POE/Component/Client/WebSocket.pm
@@ -433,7 +433,10 @@ sub _socket_birth {
my ($kernel, $socket, $sockid, $heap) = @_[KERNEL, ARG0, ARG3, HEAP];
if ( uc($heap->{uri}->{scheme}) eq 'WSS' ) {
- $heap->{_state}->{sslfilter} = POE::Filter::SSL->new(client=>1);
+ $heap->{_state}->{sslfilter} = POE::Filter::SSL->new(
+ client => 1,
+ sni => $heap->{uri}->{host},
+ );
$heap->{filters}->{output} = POE::Filter::Stackable->new(Filters => [ $heap->{_state}->{sslfilter} ]);
$heap->{filters}->{input} = POE::Filter::Stackable->new(Filters => [ $heap->{_state}->{sslfilter} ]);