diff options
Diffstat (limited to 'roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl')
-rwxr-xr-x | roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl b/roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl index 5b2c74e..350bb2c 100755 --- a/roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl +++ b/roles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl @@ -57,41 +57,41 @@ server(); waitpid $_ => 0 foreach @CHILDREN; exit $?; ############################################################################# sub server() { for (my $n = 0; $n < 1; $n++) { accept(my $conn, $S) or do { next if $! == EINTR; die "accept: $!"; }; my $hello = $conn->getline() // ''; unless ($hello =~ /\AH(\d+)\t(\d+)\t(\d+)(?:\t.*)?\n\z/) { warn "Invalid greeting line: $hello\n"; close $conn or warn "Can't close: $!"; next; } # <major-version> <minor-version> <value type> - unless ($1 == 2 and $2 == 1 and $3 == 0) { + unless ($1 == 2 and $2 == 2 and $3 == 0) { warn "Unsupported protocol version $1.$2 (or value type $3)\n"; close $conn or warn "Can't close: $!"; next; } my $cmd = $conn->getline() // ''; if ($cmd =~ /\AI(\d+)\t(\d+)\t(.*)\n\z/) { iterate($conn, $1, $2, $3); } else { fail($conn => "Unknown command line: $cmd"); } close $conn or warn "Can't close: $!"; } } sub fail($;$) { my ($fh, $msg) = @_; $fh->printflush("F\n"); warn "$msg\n" if defined $msg; |