summaryrefslogtreecommitdiffstats
path: root/roles/IMAP/files/usr
diff options
context:
space:
mode:
Diffstat (limited to 'roles/IMAP/files/usr')
-rwxr-xr-xroles/IMAP/files/usr/local/bin/dovecot-auth-proxy.pl2
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;