ph10 2007/01/23 12:22:00 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src/auths dovecot.c
Log:
Fix $auth1 problem in dovecot authenticator.
Revision Changes Path
1.459 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.4 +4 -2 exim/exim-src/src/auths/dovecot.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.458
retrieving revision 1.459
diff -u -r1.458 -r1.459
--- ChangeLog 23 Jan 2007 11:01:09 -0000 1.458
+++ ChangeLog 23 Jan 2007 12:22:00 -0000 1.459
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.458 2007/01/23 11:01:09 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.459 2007/01/23 12:22:00 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -40,6 +40,11 @@
to be defined when compiling on OSX (Darwin); (2) Tidies to the Makefile,
including adding "make clean"; (3) Added -fPIC when compiling the test
dynamically loaded module, to get rid of a warning.
+
+PH/07 There was a bug in the dovecot authenticator such that the value of
+ $auth1 could be overwritten, and so not correctly preserved, after a
+ successful authentication. This usually meant that the value preserved by
+ the server_setid option was incorrect.
Exim version 4.66
Index: dovecot.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/auths/dovecot.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- dovecot.c 16 Oct 2006 15:44:36 -0000 1.3
+++ dovecot.c 23 Jan 2007 12:22:00 -0000 1.4
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/auths/dovecot.c,v 1.3 2006/10/16 15:44:36 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/auths/dovecot.c,v 1.4 2007/01/23 12:22:00 ph10 Exp $ */
/*
* Copyright (c) 2004 Andrey Panin <pazke@???>
@@ -278,7 +278,8 @@
uschar *p = US strchr(args[2], '=');
if (p) {
++p;
- expand_nstring[1] = auth_vars[0] = p;
+ expand_nstring[1] = auth_vars[0] =
+ string_copy(p); /* PH */
expand_nlength[1] = Ustrlen(p);
expand_nmax = 1;
}
@@ -296,7 +297,8 @@
OUT("authentication socket protocol error, username missing");
p++;
- expand_nstring[1] = auth_vars[0] = p;
+ expand_nstring[1] = auth_vars[0] =
+ string_copy(p); /* PH */
expand_nlength[1] = Ustrlen(p);
expand_nmax = 1;
}