On Sat, 2008-06-21 at 16:44 +0200, Blacktate wrote:
> Patch, make, replace the dovecot-auth executable, start inetd, telnet 
> localhost: just the same error ("EOF while reading..."). The error log 
> shows:
> 
> dovecot: Jun 21 15:51:53 Error: child 9904 (auth) returned error 53

Wasn't this logged before? This is the real reason why it doesn't work.
Googling Cygwin 53 exit code shows that it means it can't find some DLL.
Maybe because Dovecot drops PATH environment before calling
dovecot-auth, or maybe Cygwin needs some other environment variable?

One sure way to test that theory is the attached patch that doesn't
clear environment anywhere ever.

diff -r 8d9046082230 src/lib/env-util.c
--- a/src/lib/env-util.c	Sat Jun 21 16:11:26 2008 +0300
+++ b/src/lib/env-util.c	Sat Jun 21 17:49:44 2008 +0300
@@ -19,6 +19,7 @@
 
 void env_clean(void)
 {
+#if 0
 #ifdef HAVE_CLEARENV
 	if (clearenv() < 0)
 		i_fatal("clearenv() failed");
@@ -36,4 +37,5 @@
 #endif
 	/* don't clear the env_pool, otherwise the environment would get
 	   corrupted if we failed to clear it. */
+#endif
 }

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to