Make server prompts available in $auth<n> when plaintext is running as a
[exim.git] / src / src / auths / spa.c
index 48ca879f26ea4b7ce33b3f26b52c95aef7c36644..3fd4bde6a11906a8953a4a42abfad14b529c55ef 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/auths/spa.c,v 1.4 2005/01/04 10:00:43 ph10 Exp $ */
+/* $Cambridge: exim/src/src/auths/spa.c,v 1.7 2006/02/23 12:41:22 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2006 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* This file, which provides support for Microsoft's Secure Password
@@ -162,8 +162,6 @@ if (spa_base64_to_bits((char *)(&response), sizeof(response), (const char *)(dat
   return FAIL;
   }
 
-/* get username and put it in $1 */
-
 /***************************************************************
 PH 07-Aug-2003: The original code here was this:
 
@@ -194,10 +192,15 @@ that causes failure if the size of msgbuf is exceeded. ****/
 
 /***************************************************************/
 
-expand_nstring[1] = msgbuf;
+/* Put the username in $auth1 and $1. The former is now the preferred variable;
+the latter is the original variable. */
+
+auth_vars[0] = expand_nstring[1] = msgbuf;
 expand_nlength[1] = Ustrlen(msgbuf);
 expand_nmax = 1;
 
+debug_print_string(ablock->server_debug_string);    /* customized debug */
+
 /* look up password */
 
 clearpass = expand_string(ob->spa_serverpassword);
@@ -260,6 +263,8 @@ auth_spa_client(
 
        /* Code added by PH to expand the options */
 
+       *buffer = 0;    /* Default no message when cancelled */
+
        username = CS expand_string(ob->spa_username);
        if (username == NULL)
          {