Now that we have request->client, we don't need client_find()
authoraland <aland>
Mon, 10 Dec 2007 16:07:30 +0000 (16:07 +0000)
committeraland <aland>
Mon, 10 Dec 2007 16:07:30 +0000 (16:07 +0000)
as much

src/main/auth.c
src/main/xlat.c
src/modules/rlm_radutmp/rlm_radutmp.c
src/modules/rlm_unix/rlm_unix.c

index 626d186..a6ced2b 100644 (file)
@@ -47,7 +47,7 @@ char *auth_name(char *buf, size_t buflen, REQUEST *request, int do_cli)
                port = pair->vp_integer;
 
        snprintf(buf, buflen, "from client %.128s port %u%s%.128s%s",
-                       client_name_old(&request->packet->src_ipaddr), port,
+                       request->client->shortname, port,
                 (do_cli ? " cli " : ""), (do_cli ? (char *)cli->vp_strvalue : ""),
                 (request->packet->src_port == 0) ? " via TLS tunnel" : "");
 
@@ -201,6 +201,8 @@ static int rad_check_password(REQUEST *request)
        }
 
        if (password_pair) {
+               DICT_ATTR *da;
+
                DEBUG("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
                DEBUG("!!!    Replacing User-Password in config items with Cleartext-Password.     !!!");
                DEBUG("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
@@ -208,8 +210,13 @@ static int rad_check_password(REQUEST *request)
                DEBUG("!!! clear text password is in Cleartext-Password, and not in User-Password. !!!");
                DEBUG("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
                password_pair->attribute = PW_CLEARTEXT_PASSWORD;
-               strlcpy(password_pair->name, "Cleartext-Password",
-                       sizeof(password_pair->name));
+               da = dict_attrbyvalue(PW_CLEARTEXT_PASSWORD);
+               if (!da) {
+                       radlog(L_ERR, "FATAL: You broke the dictionaries.  Please use the default dictionaries!");
+                       _exit(1);
+               }
+
+               password_pair->name = da->name;
        }
 
        /*
index d0c83a9..284d15e 100644 (file)
@@ -1077,7 +1077,7 @@ int radius_xlat(char *out, int outlen, const char *fmt,
                                p++;
                                break;
                        case 'C': /* ClientName */
-                               strlcpy(q,client_name_old(&request->packet->src_ipaddr),freespace);
+                               strlcpy(q,request->client->shortname,freespace);
                                q += strlen(q);
                                p++;
                                break;
index 207dc61..a2f497a 100644 (file)
@@ -320,22 +320,11 @@ static int radutmp_accounting(void *instance, REQUEST *request)
        if (nas_address == 0) {
                nas_address = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr;
                ut.nas_address = nas_address;
-               nas = client_name_old(&request->packet->src_ipaddr); /* MUST be a valid client */
+               nas = request->client->shortname;
 
        } else if (request->packet->src_ipaddr.ipaddr.ip4addr.s_addr == nas_address) {          /* might be a client, might not be. */
-               RADCLIENT *cl;
+               nas = request->client->shortname;
 
-               /*
-                *      Hack like 'client_name()', but with sane
-                *      fall-back.
-                */
-               cl = client_find_old(&request->packet->src_ipaddr);
-               if (!cl) rad_assert(0 == 1); /* WTF? */
-               if (cl->shortname && cl->shortname[0]) {
-                       nas = cl->shortname;
-               } else {
-                       nas = cl->longname;
-               }
        } else {
                /*
                 *      The NAS isn't a client, it's behind
index b1987b9..6e42833 100644 (file)
@@ -514,11 +514,9 @@ static int unix_accounting(void *instance, REQUEST *request)
         *      originator's IP address.
         */
        if (nas_address == 0) {
-               RADCLIENT *cl;
                nas_address = request->packet->src_ipaddr.ipaddr.ip4addr.s_addr;
 
-               if ((cl = client_find_old(&request->packet->src_ipaddr)) != NULL)
-                       s = cl->shortname;
+               s = request->client->shortname;
        }
        if (!s || s[0] == 0) s = uue(&(nas_address));