summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/chap.h
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2002-06-17 01:12:38 +0000
committerbrian <brian@FreeBSD.org>2002-06-17 01:12:38 +0000
commit50179a581980027539d8a5a3f805e0053d68ca8c (patch)
tree9a698b9766e6465d1ffa7863d5d865f73bb51e8d /usr.sbin/ppp/chap.h
parent47e1ed8bb9c0ae00f909dc4c3c9ed4dee013b38e (diff)
downloadFreeBSD-src-50179a581980027539d8a5a3f805e0053d68ca8c.zip
FreeBSD-src-50179a581980027539d8a5a3f805e0053d68ca8c.tar.gz
Compensate for dodgy Win98/WinME MSCHAPv2 responses later in the code
path... after we've talked to any RADIUS servers involved, so that we haven't touched the data before it gets to the server. Make it clearer in the code that this compensation is done by setting a flag to a value of zero, a flag which rfc2759 says *MUST* be zero. While we're here, don't bother passing the peer challenge into radius_Authenticate(). It's already part of the key we're passing in (this becomes obvious now that I've structured that data...). This ``fix'' doesn't help to authenticate Win98/WinME users in my test environment as ports/net/freeradius seems to ignore the flag completely anyway, but it may help with other RADIUS servers.
Diffstat (limited to 'usr.sbin/ppp/chap.h')
-rw-r--r--usr.sbin/ppp/chap.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/usr.sbin/ppp/chap.h b/usr.sbin/ppp/chap.h
index 33a5b99..617555d 100644
--- a/usr.sbin/ppp/chap.h
+++ b/usr.sbin/ppp/chap.h
@@ -63,6 +63,13 @@ struct chap {
#define auth2chap(a) \
((struct chap *)((char *)a - (int)&((struct chap *)0)->auth))
+struct MSCHAPv2_resp { /* rfc2759 */
+ char PeerChallenge[16];
+ char Reserved[8];
+ char NTResponse[24];
+ char Flags;
+};
+
extern void chap_Init(struct chap *, struct physical *);
extern void chap_ReInit(struct chap *);
extern struct mbuf *chap_Input(struct bundle *, struct link *, struct mbuf *);
OpenPOWER on IntegriCloud