diff options
author | Richard Levitte <levitte@openssl.org> | 2018-01-18 10:54:48 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-01-18 11:30:19 +0100 |
commit | 3469f386316cb0e520fa513d45e2b1f73a692449 (patch) | |
tree | 2b273c1026d592a844785b377dc4cf1fdb63836d /util | |
parent | 634c1a6b752830d6631a9a8e7884b2f600aca696 (diff) |
TLSProxy::Proxy: Don't use ReuseAddr on Windows
On Windows, we sometimes see a behavior with SO_REUSEADDR where there
remains lingering listening sockets on the same address and port as a
newly created one.
An easy solution is not to use ReuseAddr on Windows.
Thanks Bernd Edlinger for the suggestion.
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/5103)
(cherry picked from commit e02d5886636095c26a8bff1bf8344bd0bba7ccff)
Diffstat (limited to 'util')
-rw-r--r-- | util/perl/TLSProxy/Proxy.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/util/perl/TLSProxy/Proxy.pm b/util/perl/TLSProxy/Proxy.pm index e30b0aaf67..6ed13e3109 100644 --- a/util/perl/TLSProxy/Proxy.pm +++ b/util/perl/TLSProxy/Proxy.pm @@ -178,13 +178,15 @@ sub clientstart # Create the Proxy socket my $proxaddr = $self->proxy_addr; $proxaddr =~ s/[\[\]]//g; # Remove [ and ] - my $proxy_sock = $IP_factory->( + my @proxyargs = ( LocalHost => $proxaddr, LocalPort => $self->proxy_port, Proto => "tcp", Listen => SOMAXCONN, - ReuseAddr => 1 - ); + ); + push @proxyargs, ReuseAddr => 1 + unless $^O eq "MSWin32"; + my $proxy_sock = $IP_factory->(@proxyargs); if ($proxy_sock) { print "Proxy started on port ".$self->proxy_port."\n"; |