Expose the "fixed" pairmove function
authoraland <aland>
Wed, 30 Apr 2008 10:00:53 +0000 (10:00 +0000)
committeraland <aland>
Wed, 30 Apr 2008 10:00:53 +0000 (10:00 +0000)
src/include/radiusd.h
src/main/evaluate.c

index 114fa0d..12b5a2d 100644 (file)
@@ -493,4 +493,5 @@ int radius_evaluate_condition(REQUEST *request, int modreturn, int depth,
                              const char **ptr, int evaluate_it, int *presult);
 int radius_update_attrlist(REQUEST *request, CONF_SECTION *cs,
                           VALUE_PAIR *input_vps, const char *name);
+void radius_pairmove(REQUEST *request, VALUE_PAIR **to, VALUE_PAIR *from);
 #endif /*RADIUSD_H*/
index 40f11f4..cc059ef 100644 (file)
@@ -803,7 +803,7 @@ int radius_evaluate_condition(REQUEST *request, int modreturn, int depth,
  *     only paircopy() those attributes that we're really going to
  *     use.
  */
-static void my_pairmove(REQUEST *request, VALUE_PAIR **to, VALUE_PAIR *from)
+void radius_pairmove(REQUEST *request, VALUE_PAIR **to, VALUE_PAIR *from)
 {
        int i, j, count, from_count, to_count, tailto;
        VALUE_PAIR *vp, *next, **last;
@@ -1059,6 +1059,9 @@ static void my_pairmove(REQUEST *request, VALUE_PAIR **to, VALUE_PAIR *from)
                        if (to_list[i]->attribute == PW_USER_NAME) {
                                request->username = to_list[i];
                                
+                       } else if (to_list[i]->attribute == PW_STRIPPED_USER_NAME) {
+                               request->username = to_list[i];
+                               
                        } else if (to_list[i]->attribute == PW_USER_PASSWORD) {
                                request->password = to_list[i];
                        }
@@ -1191,7 +1194,7 @@ int radius_update_attrlist(REQUEST *request, CONF_SECTION *cs,
                vp = vp->next;
        }
 
-       my_pairmove(request, output_vps, newlist);
+       radius_pairmove(request, output_vps, newlist);
 
        return RLM_MODULE_UPDATED;
 }