]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/chap.h
ECP patches from Frank Cusack:
[ppp.git] / pppd / chap.h
index 13f05113bedbab2c5b06e3bfac715b643f6e65b4..ae4237908ec1f8fe7686cc564d47cd8fd7771a0d 100644 (file)
@@ -30,7 +30,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id: chap.h,v 1.12 2002/04/02 13:54:59 dfs Exp $
+ * $Id: chap.h,v 1.13 2002/05/21 17:26:49 dfs Exp $
  */
 
 #ifndef __CHAP_INCLUDE__
  */
 
 /* bitmask of supported algorithms */
-#define MDTYPE_MD5             0x1
-#define MDTYPE_MICROSOFT_V2    0x2
-#define MDTYPE_MICROSOFT       0x4
+#define MDTYPE_MICROSOFT_V2    0x1
+#define MDTYPE_MICROSOFT       0x2
+#define MDTYPE_MD5             0x4
 
 #ifdef CHAPMS
-#define MDTYPE_ALL (MDTYPE_MD5 | MDTYPE_MICROSOFT_V2 | MDTYPE_MICROSOFT)
+#define MDTYPE_ALL (MDTYPE_MICROSOFT_V2 | MDTYPE_MICROSOFT |MDTYPE_MD5)
 #else
 #define MDTYPE_ALL (MDTYPE_MD5)
 #endif
@@ -65,9 +65,9 @@
 
 /* Return the digest alg. ID for the most preferred digest type. */
 #define CHAP_DIGEST(mdtype) \
-    ((mdtype) & MDTYPE_MD5)? CHAP_DIGEST_MD5: \
     ((mdtype) & MDTYPE_MICROSOFT_V2)? CHAP_MICROSOFT_V2: \
     ((mdtype) & MDTYPE_MICROSOFT)? CHAP_MICROSOFT: \
+    ((mdtype) & MDTYPE_MD5)? CHAP_DIGEST_MD5: \
     0
 
 /* Return the bit flag (lsb set) for our most preferred digest type. */
 
 /* Return the bit flag for a given digest algorithm ID. */
 #define CHAP_MDTYPE_D(digest) \
-    ((digest) == CHAP_DIGEST_MD5)? MDTYPE_MD5: \
     ((digest) == CHAP_MICROSOFT_V2)? MDTYPE_MICROSOFT_V2: \
     ((digest) == CHAP_MICROSOFT)? MDTYPE_MICROSOFT: \
+    ((digest) == CHAP_DIGEST_MD5)? MDTYPE_MD5: \
     0
 
 /* Can we do the requested digest? */
 #define CHAP_CANDIGEST(mdtype, digest) \
-    ((digest) == CHAP_DIGEST_MD5)? (mdtype) & MDTYPE_MD5: \
     ((digest) == CHAP_MICROSOFT_V2)? (mdtype) & MDTYPE_MICROSOFT_V2: \
     ((digest) == CHAP_MICROSOFT)? (mdtype) & MDTYPE_MICROSOFT: \
+    ((digest) == CHAP_DIGEST_MD5)? (mdtype) & MDTYPE_MD5: \
     0
 
 #define CHAP_CHALLENGE         1
@@ -124,6 +124,7 @@ typedef struct chap_state {
     char saresponse[MS_AUTH_RESPONSE_LENGTH+1];        /* Auth response to send */
     char earesponse[MS_AUTH_RESPONSE_LENGTH+1];        /* Auth response expected */
                                                /* +1 for null terminator */
+    u_char resp_flags;         /* flags from MS-CHAPv2 auth response */
     u_char resp_length;                /* length of response */
     u_char resp_id;            /* ID for response messages */
     u_char resp_type;          /* hash algorithm for responses */