At 05:41 PM 11/15/2001 -0500, you wrote:

>   Submit a patch and it will.
>
>   Alan DeKok.


Here ya go.  Please note the 4th line of code, in proxy.c it has:

                vp = paircreate(PW_CHAP_CHALLENGE, PW_TYPE_STRING);
which we changed to:
                vp = paircreate(PW_CHAP_CHALLENGE, PW_TYPE_OCTETS);

otherwise even tho dictionary has octet value this function apparently 
overrides and still sends it in escaped octal.  by changing this it sends 
ir properly in hex.  This modification was done to pre_process.c on the 
110801 cvs snapshot.

insert into pre_process.c @ line 648
        /*
         *      If there is no PW_CHAP_CHALLENGE attribute but there
         *      is a PW_CHAP_PASSWORD we need to add it since we can't
         *      use the request authenticator anymore - we changed it.
         */
        if (pairfind(request->packet->vps, PW_CHAP_PASSWORD) &&
                pairfind(request->packet->vps, PW_CHAP_CHALLENGE) == NULL) {
                VALUE_PAIR *vp;
                vp = paircreate(PW_CHAP_CHALLENGE, PW_TYPE_OCTETS);
                if (!vp) {
                        radlog(L_ERR|L_CONS, "no memory");
                        exit(1);
                }
                vp->length = AUTH_VECTOR_LEN;
                memcpy(vp->strvalue, request->packet->vector, AUTH_VECTOR_LEN);
                pairadd(&request->packet->vps, vp);
        }


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

Reply via email to