]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Amend fr_pair_find_by_num() to take fr_pair_list_t *
authorNick Porter <nick@portercomputing.co.uk>
Mon, 9 Nov 2020 09:32:45 +0000 (09:32 +0000)
committerAlan DeKok <aland@freeradius.org>
Mon, 9 Nov 2020 13:21:17 +0000 (08:21 -0500)
src/lib/server/auth.c
src/lib/server/paircmp.c
src/lib/util/pair.c
src/lib/util/pair.h

index 43d953c1c87f61ce0046c8efae10e97195db8e30..2a3ea8737bc1cd3794e3b0fe4fa4add1dd2206af 100644 (file)
@@ -53,12 +53,12 @@ rlm_rcode_t rad_virtual_server(request_t *request)
        RDEBUG("Virtual server %s received request", cf_section_name2(request->server_cs));
        log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, NULL);
 
-       username = fr_pair_find_by_num(request->request_pairs, 0, FR_STRIPPED_USER_NAME);
-       if (!username) username = fr_pair_find_by_num(request->request_pairs, 0, FR_USER_NAME);
+       username = fr_pair_find_by_num(&request->request_pairs, 0, FR_STRIPPED_USER_NAME);
+       if (!username) username = fr_pair_find_by_num(&request->request_pairs, 0, FR_USER_NAME);
 
        if (request->parent) {
-               parent_username = fr_pair_find_by_num(request->parent->request_pairs, 0, FR_STRIPPED_USER_NAME);
-               if (!parent_username) parent_username = fr_pair_find_by_num(request->parent->request_pairs, 0, FR_USER_NAME);
+               parent_username = fr_pair_find_by_num(&request->parent->request_pairs, 0, FR_STRIPPED_USER_NAME);
+               if (!parent_username) parent_username = fr_pair_find_by_num(&request->parent->request_pairs, 0, FR_USER_NAME);
        }
 
        /*
@@ -69,7 +69,7 @@ rlm_rcode_t rad_virtual_server(request_t *request)
                 *      Look at the full User-Name with realm.
                 */
                if (parent_username->da->attr == FR_STRIPPED_USER_NAME) {
-                       vp = fr_pair_find_by_num(request->parent->request_pairs, 0, FR_USER_NAME);
+                       vp = fr_pair_find_by_num(&request->parent->request_pairs, 0, FR_USER_NAME);
                        if (!vp) goto runit;
                } else {
                        vp = parent_username;
index 198eec948b52367c3f14c94829baf008191ff910..a29313d5af0e5fe50107566c71757abc3690a2e7 100644 (file)
@@ -595,7 +595,7 @@ int paircmp(request_t *request,
                                WARN("Are you sure you don't mean Cleartext-Password?");
                                WARN("See \"man rlm_pap\" for more information");
                        }
-                       if (fr_pair_find_by_num(request_list, 0, FR_USER_PASSWORD) == NULL) continue;
+                       if (fr_pair_find_by_num(&request_list, 0, FR_USER_PASSWORD) == NULL) continue;
                }
 
                /*
index ee6a3fa86ab8f92a4b653ddaf8b3f1a826be9308..125c2042b15a1099b64b44d9436cd037542df3de 100644 (file)
@@ -414,16 +414,16 @@ fr_pair_t *fr_pair_find_by_da(fr_pair_list_t *head, fr_dict_attr_t const *da)
  *
  * @todo should take DAs and do a pointer comparison.
  */
-fr_pair_t *fr_pair_find_by_num(fr_pair_t *head, unsigned int vendor, unsigned int attr)
+fr_pair_t *fr_pair_find_by_num(fr_pair_list_t *head, unsigned int vendor, unsigned int attr)
 {
        fr_pair_t       *vp;
 
        /* List head may be NULL if it contains no VPs */
-       if (!head) return NULL;
+       if (!*head) return NULL;
 
-       LIST_VERIFY(head);
+       LIST_VERIFY(*head);
 
-       for (vp = head; vp != NULL; vp = vp->next) {
+       for (vp = *head; vp != NULL; vp = vp->next) {
                if (!fr_dict_attr_is_top_level(vp->da)) continue;
 
                if (vendor > 0) {
index c23cdb577e81ac80445280d1a039066e3c833f74..c0a105963e542fef286aaa18d042720b86dc6d89 100644 (file)
@@ -226,7 +226,7 @@ static inline fr_pair_t *fr_cursor_iter_by_ancestor_init(fr_cursor_t *cursor,
 
 fr_pair_t      *fr_pair_find_by_da(fr_pair_list_t *head, fr_dict_attr_t const *da);
 
-fr_pair_t      *fr_pair_find_by_num(fr_pair_t *head, unsigned int vendor, unsigned int attr);
+fr_pair_t      *fr_pair_find_by_num(fr_pair_list_t *head, unsigned int vendor, unsigned int attr);
 
 fr_pair_t      *fr_pair_find_by_child_num(fr_pair_t *head, fr_dict_attr_t const *parent, unsigned int attr);