On 11/04/2012 17:24, James J J Hooper wrote:
Hi All,

FR 2.1.x Git, doing PEAP against AD via ntlm_auth. I thought that with:

allow_retry = yes [in modules/mschap]
and
send_error = yes [in modules/eap]

...FR has the functionality to take the second password attempt, and
re-try it against AD i.e. The scenario outlined in section 9.1.4 of
RFC2759: <http://tools.ietf.org/html/rfc2759#section-9.1.4>

I can't get it to work: Configuring as above does indeed make Windows
re-prompt for the password if the first attempt is bad, but when this
comes back to FR, nothing seems to be done with it.

I've had a look at the code. From the little I can understand of it, the
new challenge is generated into 'buffer', and sent back to the client in
the MS-CHAP-Error attribute (C=<new-challenge>). However the challenge in
buffer is not then "put somewhere safe" until the client sends it's
response against the new challenge [having re-prompted the user for the
correct password], and when the response comes in it isn't sent to
do_mschap()

Am I mistaken and this functionality hasn't been written yet? ...or have I
mis-configured something?

Ok - More delving into the code (rlm_eap_mschapv2.c) seems to indicate that the bits missing in 2.1.x are possibly there in FR3:

+
+                       /*
+                        *      Pxarse the new challenge out of the
+                        *      MS-CHAP-Error, so that if the client
+                        *      issues a re-try, we will know which
+                        *      challenge value that they used.
+                        */
+ n = sscanf(response->vp_strvalue, "%*cE=%d R=%d C=%32s", &err, &retry, &buf[0]);
+                       if (n == 3) {
+ DEBUG2(" Found new challenge from MS-CHAP-Error: err=%d retry=%d challenge=%s", err, retry, buf);
+                               fr_hex2bin(buf, data->challenge, 16);
+                       } else {
+                               DEBUG2("  Could not parse new challenge from 
MS-CHAP-Error: %d", n);
+                       }


So I'll see about getting an FR3 test instance going :)

-James
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to