]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use request->server_cs instead of request->server for hashing
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 22 Jun 2017 21:18:38 +0000 (17:18 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 22 Jun 2017 21:20:07 +0000 (17:20 -0400)
request->server isn't being set somewhere, and is annoying and should die.

src/main/state.c

index 218db7d8888f3a33b62f43c37a89b44cf76c4ef9..e02e2462ade66b3b62923de5d1fba4466f3e7563 100644 (file)
@@ -464,7 +464,7 @@ static fr_state_entry_t *state_entry_create(fr_state_tree_t *state, REQUEST *req
         *      only succeed in the virtual server that created the state
         *      value.
         */
-       *((uint32_t *)(&entry->state_comp.server_hash)) ^= fr_hash_string(request->server);
+       *((uint32_t *)(&entry->state_comp.server_hash)) ^= fr_hash_string(cf_section_name2(request->server_cs));
 
        if (!rbtree_insert(state->tree, entry)) {
                talloc_free(entry);
@@ -509,7 +509,7 @@ static fr_state_entry_t *state_entry_find(fr_state_tree_t *state, REQUEST *reque
        /*
         *      Make it unique for different virtual servers handling the same request
         */
-       my_entry.state_comp.server_hash ^= fr_hash_string(request->server);
+       my_entry.state_comp.server_hash ^= fr_hash_string(cf_section_name2(request->server_cs));
 
        entry = rbtree_finddata(state->tree, &my_entry);