pdp 2010/06/05 11:16:36 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src/auths spa.c
Log:
Handle SASL Initial Response.
See discussion at:
http://lists.exim.org/lurker/message/20090125.014515.3746c882.en.html
and the code is "correct by inspection", for whatever that's worth.
Revision Changes Path
1.619 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.11 +6 -2 exim/exim-src/src/auths/spa.c
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.618
retrieving revision 1.619
diff -u -r1.618 -r1.619
--- ChangeLog 5 Jun 2010 10:04:43 -0000 1.618
+++ ChangeLog 5 Jun 2010 10:16:36 -0000 1.619
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.618 2010/06/05 10:04:43 pdp Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.619 2010/06/05 10:16:36 pdp Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -20,6 +20,9 @@
PP/05 Bugzilla 834: provide a permit_codedump option for pipe transports.
+PP/06 Adjust NTLM authentication to handle SASL Initial Response.
+
+
Exim version 4.72
-----------------
Index: spa.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/auths/spa.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- spa.c 16 Nov 2009 19:50:38 -0000 1.10
+++ spa.c 5 Jun 2010 10:16:36 -0000 1.11
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/auths/spa.c,v 1.10 2009/11/16 19:50:38 nm4 Exp $ */
+/* $Cambridge: exim/exim-src/src/auths/spa.c,v 1.11 2010/06/05 10:16:36 pdp Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -14,6 +14,7 @@
References:
http://www.innovation.ch/java/ntlm.html
http://www.kuro5hin.org/story/2002/4/28/1436/66154
+ http://download.microsoft.com/download/9/5/e/95ef66af-9026-4bb0-a41d-a4f81802d92c/%5bMS-SMTP%5d.pdf
* It seems that some systems have existing but different definitions of some
* of the following types. I received a complaint about "int16" causing
@@ -28,6 +29,7 @@
07-August-2003: PH: Patched up the code to avoid assert bombouts for stupid
input data. Find appropriate comment by grepping for "PH".
16-October-2006: PH: Added a call to auth_check_serv_cond() at the end
+05-June-2010: PP: handle SASL initial response
*/
@@ -128,9 +130,11 @@
uschar msgbuf[2048];
uschar *clearpass;
-/* send a 334, MS Exchange style, and grab the client's request */
+/* send a 334, MS Exchange style, and grab the client's request,
+unless we already have it via an initial response. */
-if (auth_get_no64_data(&data, US"NTLM supported") != OK)
+if ((*data == '\0') &&
+ (auth_get_no64_data(&data, US"NTLM supported") != OK))
{
/* something borked */
return FAIL;