summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-01-18 10:54:48 +0100
committerRichard Levitte <levitte@openssl.org>2018-01-18 11:30:19 +0100
commit3469f386316cb0e520fa513d45e2b1f73a692449 (patch)
tree2b273c1026d592a844785b377dc4cf1fdb63836d /util
parent634c1a6b752830d6631a9a8e7884b2f600aca696 (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.pm8
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";