From: Alan T. DeKok Date: Tue, 15 Mar 2016 18:01:04 +0000 (-0400) Subject: Don't call radius_pairmove. It does too much work. X-Git-Tag: release_3_0_12~178 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8afce710b714ffbed5ce3d4116a0acbf0dab28e3;p=thirdparty%2Ffreeradius-server.git Don't call radius_pairmove. It does too much work. --- diff --git a/src/modules/rlm_sql/rlm_sql.c b/src/modules/rlm_sql/rlm_sql.c index 713fd4fc0d2..748bec262a9 100644 --- a/src/modules/rlm_sql/rlm_sql.c +++ b/src/modules/rlm_sql/rlm_sql.c @@ -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; }