X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fchap-new.c;h=ab4302b96a207313d81a1cfaf24897d19d63743a;hp=fab82800a7b33950935c8b13a1be41a0982b45dd;hb=4a54e34cf5629f9fed61f0b7d69ee3ba4d874bc6;hpb=7f7ea8967e3b02234811a4b9bb893fc21544319c diff --git a/pppd/chap-new.c b/pppd/chap-new.c index fab8280..ab4302b 100644 --- a/pppd/chap-new.c +++ b/pppd/chap-new.c @@ -30,6 +30,10 @@ #define RCSID "$Id: chap-new.c,v 1.9 2007/06/19 02:08:35 carlsonj Exp $" +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include #include #include "pppd.h" @@ -166,6 +170,18 @@ chap_register_digest(struct chap_digest_type *dp) chap_digests = dp; } +/* + * Lookup a digest type by code + */ +struct chap_digest_type * +chap_find_digest(int digest_code) { + struct chap_digest_type *dp = NULL; + for (dp = chap_digests; dp != NULL; dp = dp->next) + if (dp->code == digest_code) + break; + return dp; +} + /* * chap_lowerup - we can start doing stuff now. */ @@ -210,9 +226,8 @@ chap_auth_peer(int unit, char *our_name, int digest_code) error("CHAP: peer authentication already started!"); return; } - for (dp = chap_digests; dp != NULL; dp = dp->next) - if (dp->code == digest_code) - break; + + dp = chap_find_digest(digest_code); if (dp == NULL) fatal("CHAP digest 0x%x requested but not available", digest_code);