]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't call radius_pairmove. It does too much work.
authorAlan T. DeKok <aland@freeradius.org>
Tue, 15 Mar 2016 18:01:04 +0000 (14:01 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 15 Mar 2016 18:01:04 +0000 (14:01 -0400)
src/modules/rlm_sql/rlm_sql.c

index 713fd4fc0d2e232909e2f3b82dff34d18040e6f1..748bec262a9f9802338579ccd226f55ac54b4c3a 100644 (file)
@@ -498,8 +498,13 @@ int sql_set_user(rlm_sql_t *inst, REQUEST *request, char const *username)
 
        fr_pair_value_strsteal(vp, expanded);
        RDEBUG2("SQL-User-Name set to '%s'", vp->vp_strvalue);
-       vp->op = T_OP_SET;
-       radius_pairmove(request, &request->packet->vps, vp, false);     /* needs to be pair move else op is not respected */
+       vp->op = T_OP_SET;      
+
+       /*
+        *      Delete any existing SQL-User-Name, and replace it with ours.
+        */
+       fr_pair_delete_by_num(&request->packet->vps, vp->da->attr, vp->da->vendor, TAG_ANY);
+       fr_pair_add(&request->packet->vps, vp);
 
        return 0;
 }