svn commit: r439854 - in head/mail/dovecot2: . files
Adam Weinberger
adamw at FreeBSD.org
Sun Apr 30 22:40:02 UTC 2017
Author: adamw
Date: Sun Apr 30 22:40:00 2017
New Revision: 439854
URL: https://svnweb.freebsd.org/changeset/ports/439854
Log:
Add an alread-upstreamed patch to fix dovecot-auth wedging with
NTLM authentication.
PR: 218693
Submitted by: Andriy Syrovenko
Obtained from: https://github.com/dovecot/core/commit/a319c3201bff1ea7bae3e7ab1fae42e9c4759056
MFH: 2017Q2
Added:
head/mail/dovecot2/files/patch-fix-ntlm_auth (contents, props changed)
Modified:
head/mail/dovecot2/Makefile
Modified: head/mail/dovecot2/Makefile
==============================================================================
--- head/mail/dovecot2/Makefile Sun Apr 30 22:09:42 2017 (r439853)
+++ head/mail/dovecot2/Makefile Sun Apr 30 22:40:00 2017 (r439854)
@@ -14,6 +14,7 @@
PORTNAME= dovecot
PORTVERSION= 2.2.29.1
+PORTREVISION= 1
CATEGORIES= mail ipv6
MASTER_SITES= https://www.dovecot.org/releases/${PORTVERSION:R:R}/
PKGNAMESUFFIX= 2
Added: head/mail/dovecot2/files/patch-fix-ntlm_auth
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/mail/dovecot2/files/patch-fix-ntlm_auth Sun Apr 30 22:40:00 2017 (r439854)
@@ -0,0 +1,36 @@
+From a319c3201bff1ea7bae3e7ab1fae42e9c4759056 Mon Sep 17 00:00:00 2001
+From: Andriy Syrovenko <andriys at gmail.com>
+Date: Mon, 17 Apr 2017 01:14:02 +0300
+Subject: [PATCH] auth: Fixed dovecot/auth hanging when child ntlm_auth crashes
+ while processing an authentication request
+
+---
+ src/auth/mech-winbind.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/auth/mech-winbind.c b/src/auth/mech-winbind.c
+index 4a65696..c12fb5e 100644
+--- src/auth/mech-winbind.c
++++ src/auth/mech-winbind.c
+@@ -187,12 +187,18 @@ do_auth_continue(struct auth_request *auth_request,
+ request->continued = FALSE;
+
+ while ((answer = i_stream_read_next_line(in_pipe)) == NULL) {
+- if (in_pipe->stream_errno != 0)
++ if (in_pipe->stream_errno != 0 || in_pipe->eof)
+ break;
+ }
+ if (answer == NULL) {
+- auth_request_log_error(auth_request, AUTH_SUBSYS_MECH,
+- "read(in_pipe) failed: %m");
++ if (in_pipe->stream_errno != 0) {
++ auth_request_log_error(auth_request, AUTH_SUBSYS_MECH,
++ "read(in_pipe) failed: %m");
++ } else {
++ auth_request_log_error(auth_request, AUTH_SUBSYS_MECH,
++ "read(in_pipe) failed: "
++ "unexpected end of file");
++ }
+ return HR_RESTART;
+ }
+
More information about the svn-ports-all
mailing list