X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/eb57651e8badf0b65af0371732e42f2ee5c7772c..f6f4a58dcac2a21f4104bb8d7e580e90ba6bf3f4:/src/util/proxy_protocol_client.pl diff --git a/src/util/proxy_protocol_client.pl b/src/util/proxy_protocol_client.pl index 7cfc13ddc..67a171d5d 100644 --- a/src/util/proxy_protocol_client.pl +++ b/src/util/proxy_protocol_client.pl @@ -21,6 +21,7 @@ # use strict; use warnings; +BEGIN { pop @INC if $INC[-1] eq '.' }; use IO::Select; use IO::Socket; use Getopt::Long; @@ -82,10 +83,10 @@ sub generate_preamble { if (!$opts{version} || $opts{version} == 2) { @preamble = ( "\x0D\x0A\x0D\x0A\x00\x0D\x0A\x51\x55\x49\x54\x0A", # 12 byte v2 header - "\x02", # declares v2 - "\x01", # connection is proxied + "\x21", # top 4 bits declares v2 + # bottom 4 bits is command $opts{6} ? "\x21" : "\x11", # inet6/4 and TCP (stream) - $opts{6} ? "\x24" : "\x0b", # 36 bytes / 12 bytes + $opts{6} ? "\x00\x24" : "\x00\x0b", # 36 bytes / 12 bytes $source_ip, $dest_ip, $source_port,