help-gnu-radius
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gnu-radius] [ address@hidden ] DV_AUTH_TYPE_SQL, DV_AUTH_TYPE_CRYP


From: Georges Arnould
Subject: [Help-gnu-radius] [ address@hidden ] DV_AUTH_TYPE_SQL, DV_AUTH_TYPE_CRYPT_LOCAL and DV_AUTH_TYPE_LOCAL
Date: Fri, 4 Nov 2005 11:41:05 +0100
User-agent: Internet Messaging Program (IMP) 3.1

Hi to everyone !

  While trying to make Asterisk and gnu-radius/PostgresSQL interact through
app_radius.so, I saw something strange in the code after many tries and many
"Login incorrect".

  It seems that gnu-radius forces the auth-type to DV_AUTH_TYPE_CRYPT_LOCAL when
the auth system uses a SQL connection (MySQL or SQL). I patched the code in
radck.c in order to use DV_AUTH_TYPE_LOCAL and it works perfectly, resulting in
"Login OK" ...

  My question is : 
  - did I correctly understand the meaning of the code ?
  - is there a way to tell gnu-radius to compare plain text password and not
crypted one ?

  Georges

---

Heres my patch (in radius-1.2.95), in radiusd/radck.c inside fix_check_pairs()
function :

        case DV_AUTH_TYPE_SQL:
        {
                const char *msg;
                if (!sql_auth_avail_p(&msg)) {
                        grad_log_loc(L_ERR, loc, "%s", msg);
                        errcnt++;
                        break;
                }
                                                                               
                                                                
                if (password || crypt_password) {
                        grad_log_loc(L_WARN, loc,
                                     "%s",
                               _("User-Password attribute ignored for this
Auth-Type"));
                }
                                                                               
                                                                
                grad_avl_delete(pairs, DA_AUTH_TYPE);

                /* 
                   We dont want to use crypted password when id'ing 
                   against a SQL database
                   GAD 2005-11-03, when trying to have app_radius.so working
                 */
                /*
                p = grad_avp_create_integer(DA_AUTH_TYPE,
                                            DV_AUTH_TYPE_CRYPT_LOCAL);
                 */
                p = grad_avp_create_integer(DA_AUTH_TYPE,
                                            DV_AUTH_TYPE_LOCAL);
                grad_avl_add_pair(pairs, p);
                                                                               
                                                                
                p = grad_avp_create_integer(DA_PASSWORD_LOCATION,
                                            DV_PASSWORD_LOCATION_SQL);
                grad_avl_add_pair(pairs, p);
                                                                               
                                                                
                break;
        }








reply via email to

[Prev in Thread] Current Thread [Next in Thread]