Commit 3469f386 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarBernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/5103)

(cherry picked from commit e02d5886)
parent 634c1a6b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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";