]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/chap-new.c
Remove the requirement that redistributions in binary form reproduce
[ppp.git] / pppd / chap-new.c
index ef002d1e1dd3c807b01d501d5c80a2a6a182d264..b09fa3e3ce9623e883bac253da86796166e87a0c 100644 (file)
  * 1. Redistributions of source code must retain the above copyright
  *    notice, this list of conditions and the following disclaimer.
  *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The name(s) of the authors of this software must not be used to
+ * 2. The name(s) of the authors of this software must not be used to
  *    endorse or promote products derived from this software without
  *    prior written permission.
  *
- * 4. Redistributions of any form whatsoever must retain the following
+ * 3. Redistributions of any form whatsoever must retain the following
  *    acknowledgment:
  *    "This product includes software developed by Paul Mackerras
  *     <paulus@samba.org>".
@@ -33,7 +28,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id"
+#define RCSID  "$Id: chap-new.c,v 1.6 2004/11/04 10:02:26 paulus Exp $"
 
 #include <stdlib.h>
 #include <string.h>
 
 #ifdef CHAPMS
 #include "chap_ms.h"
+#define MDTYPE_ALL (MDTYPE_MICROSOFT_V2 | MDTYPE_MICROSOFT | MDTYPE_MD5)
+#else
+#define MDTYPE_ALL (MDTYPE_MD5)
 #endif
 
+int chap_mdtype_all = MDTYPE_ALL;
+
 /* Hook for a plugin to validate CHAP challenge */
 int (*chap_verify_hook)(char *name, char *ourname, int id,
                        struct chap_digest_type *digest,
                        unsigned char *challenge, unsigned char *response,
-                       unsigned char *message, int message_space) = NULL;
+                       char *message, int message_space) = NULL;
 
 /*
  * Option variables.
@@ -119,7 +119,7 @@ static void chap_handle_response(struct chap_server_state *ss, int code,
 static int chap_verify_response(char *name, char *ourname, int id,
                struct chap_digest_type *digest,
                unsigned char *challenge, unsigned char *response,
-               unsigned char *message, int message_space);
+               char *message, int message_space);
 static void chap_respond(struct chap_client_state *cs, int id,
                unsigned char *pkt, int len);
 static void chap_handle_status(struct chap_client_state *cs, int code, int id,
@@ -216,7 +216,7 @@ chap_auth_peer(int unit, char *our_name, int digest_code)
 }
 
 /*
- * chap_auth_peer - Prepare to authenticate ourselves to the peer.
+ * chap_auth_with_peer - Prepare to authenticate ourselves to the peer.
  * There isn't much to do until we receive a challenge.
  */
 void
@@ -306,11 +306,11 @@ chap_handle_response(struct chap_server_state *ss, int id,
 {
        int response_len, ok, mlen;
        unsigned char *response, *p;
-       unsigned char *name = NULL;     /* initialized to shut gcc up */
+       char *name = NULL;      /* initialized to shut gcc up */
        int (*verifier)(char *, char *, int, struct chap_digest_type *,
-               unsigned char *, unsigned char *, unsigned char *, int);
+               unsigned char *, unsigned char *, char *, int);
        char rname[MAXNAMELEN+1];
-       unsigned char message[256];
+       char message[256];
 
        if ((ss->flags & LOWERUP) == 0)
                return;
@@ -322,7 +322,7 @@ chap_handle_response(struct chap_server_state *ss, int id,
                response = pkt;
                GETCHAR(response_len, pkt);
                len -= response_len + 1;        /* length of name */
-               name = pkt + response_len;
+               name = (char *)pkt + response_len;
                if (len < 0)
                        return;
 
@@ -391,14 +391,14 @@ static int
 chap_verify_response(char *name, char *ourname, int id,
                     struct chap_digest_type *digest,
                     unsigned char *challenge, unsigned char *response,
-                    unsigned char *message, int message_space)
+                    char *message, int message_space)
 {
        int ok;
-       char secret[MAXSECRETLEN];
+       unsigned char secret[MAXSECRETLEN];
        int secret_len;
 
        /* Get the secret that the peer is supposed to know */
-       if (!get_secret(0, name, ourname, secret, &secret_len, 1)) {
+       if (!get_secret(0, name, ourname, (char *)secret, &secret_len, 1)) {
                error("No CHAP secret found for authenticating %q", name);
                return 0;
        }