Testsuite: tidying
[exim.git] / src / src / auths / auth-spa.h
index 52394e57038f68e7932e5e10e1a301e599fa20da..629f50af5c342710a5cd7989102065217a595675 100644 (file)
@@ -1,5 +1,3 @@
-/* $Cambridge: exim/src/src/auths/auth-spa.h,v 1.1 2004/10/07 13:10:00 ph10 Exp $ */
-
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
@@ -11,6 +9,11 @@
  * All the code used here was torn by Marc Prud'hommeaux out of the
  * Samba project (by Andrew Tridgell, Jeremy Allison, and others).
  */
+/* Copyright (c) The Exim Maintainers 2023 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/* December 2004: The spa_base64_to_bits() function has no length checking in
+it. I have added a check. PH */
 
 /* It seems that some systems have existing but different definitions of some
 of the following types. I received a complaint about "int16" causing
@@ -29,59 +32,59 @@ typedef unsigned char  uint8x;
 
 typedef struct
 {
-       uint16x        len;
-       uint16x        maxlen;
-       uint32x        offset;
+       uint16x         len;
+       uint16x         maxlen;
+       uint32x         offset;
 } SPAStrHeader;
 
 typedef struct
 {
-       char           ident[8];
-       uint32x        msgType;
+       char         ident[8];
+       uint32x         msgType;
        SPAStrHeader    uDomain;
-       uint32x        flags;
-       uint8x         challengeData[8];
-       uint8x         reserved[8];
+       uint32x         flags;
+       uint8x         challengeData[8];
+       uint8x         reserved[8];
        SPAStrHeader    emptyString;
-       uint8x         buffer[1024];
-       uint32x        bufIndex;
+       uint8x         buffer[1024];
+       uint32x         bufIndex;
 } SPAAuthChallenge;
 
 
 typedef struct
 {
-       char           ident[8];
-       uint32x        msgType;
-       uint32x        flags;
+       char         ident[8];
+       uint32x         msgType;
+       uint32x         flags;
        SPAStrHeader    user;
        SPAStrHeader    domain;
-       uint8x         buffer[1024];
-       uint32x        bufIndex;
+       uint8x         buffer[1024];
+       uint32x         bufIndex;
 } SPAAuthRequest;
 
 typedef struct
 {
-       char           ident[8];
-       uint32x        msgType;
+       char         ident[8];
+       uint32x         msgType;
        SPAStrHeader    lmResponse;
        SPAStrHeader    ntResponse;
        SPAStrHeader    uDomain;
        SPAStrHeader    uUser;
        SPAStrHeader    uWks;
        SPAStrHeader    sessionKey;
-       uint32x        flags;
-       uint8x         buffer[1024];
-       uint32x        bufIndex;
+       uint32x         flags;
+       uint8x         buffer[1024];
+       uint32x         bufIndex;
 } SPAAuthResponse;
 
 #define spa_request_length(ptr) (((ptr)->buffer - (uint8x*)(ptr)) + (ptr)->bufIndex)
 
 void spa_bits_to_base64 (unsigned char *, const unsigned char *, int);
-int spa_base64_to_bits(char *, const char *);
-void spa_build_auth_response (SPAAuthChallenge *challenge,
-       SPAAuthResponse *response, char *user, char *password);
-void spa_build_auth_request (SPAAuthRequest *request, char *user,
-       char *domain);
+int spa_base64_to_bits(char *, int, const char *);
+void spa_build_auth_response (SPAAuthChallenge * challenge,
+       SPAAuthResponse * response, uschar * user, uschar * password);
+void spa_build_auth_request (SPAAuthRequest * request, uschar * user,
+       uschar * domain);
 extern void spa_smb_encrypt (unsigned char * passwd, unsigned char * c8,
                              unsigned char * p24);
 extern void spa_smb_nt_encrypt (unsigned char * passwd, unsigned char * c8,