On Mon, 8 Jul 2002, Alan DeKok wrote:

> Thomas Jalsovsky <[EMAIL PROTECTED]> wrote:
> >     Cisco IVR uses return  VSAs in access-reject messages. By the RFC
> > RADIUS access-reject message have to has only one attribute, therefore you
> > have to look into the code and hack the server to send access-reject
> > packets to the Cisco NAS (not compatible with RFC).
>
>   No, the RFC's (and FreeRADIUS) allow Vendor-Specific attributes in
> Access-Reject packets.

Sorry, I'm confusing.
radiusd.c
        /*
         *  Authentication REJECT's can have only
         *  EAP-Message, Message-Authenticator
         *  Reply-Message and Proxy-State.
         *
         *  We delete everything other than these.
         *  Proxy-State is added below, just before the
         *  reply is sent.
         */

auth.c
            /*
             *  Error. radius_exec_program() returns -1 on
             *  fork/exec errors, or >0 if the exec'ed program
             *  had a non-zero exit status.
             */

            if (user_msg == NULL)
              user_msg = "\r\nAccess denied (external check failed).";

            request->reply->code = PW_AUTHENTICATION_REJECT;
            pairfree(&request->reply->vps);
            tmp = pairmake("Reply-Message", user_msg, T_OP_SET);
            request->reply->vps = tmp;

            rad_authlog("Login incorrect (external check failed)",
                  request, 0);

So, if my perl script returns non-zero value (I reject the user), the
radius server sends back PW_AUTHENTICATION_REJECT with only one attribut:
Reply-Message. Where are the mentioned VSAs?

        Regards,
                Thomas


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

Reply via email to