From: Nick Porter Date: Tue, 29 Dec 2020 14:31:34 +0000 (+0000) Subject: Update trigger_args_afrom_server to return fr_pair_list_t * X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cd177ce39d438cba355d7645128b5ed2d16bb8d2;p=thirdparty%2Ffreeradius-server.git Update trigger_args_afrom_server to return fr_pair_list_t * --- diff --git a/src/lib/redis/cluster.c b/src/lib/redis/cluster.c index 711537276df..6a6149300a9 100644 --- a/src/lib/redis/cluster.c +++ b/src/lib/redis/cluster.c @@ -325,10 +325,9 @@ static int _cluster_node_cmp(void const *a, void const *b) */ static void _cluster_node_conf_apply(fr_pool_t *pool, void *opaque) { - fr_pair_list_t args; + fr_pair_list_t *args = NULL; fr_redis_cluster_node_t *node = opaque; - fr_pair_list_init(&args); node->addr = node->pending_addr; if (node->cluster->triggers_enabled) { @@ -338,9 +337,9 @@ static void _cluster_node_conf_apply(fr_pool_t *pool, void *opaque) if (!fr_pair_list_empty(&node->cluster->trigger_args)) MEM(fr_pair_list_copy(node->cluster, args, &node->cluster->trigger_args) >= 0); - fr_pool_enable_triggers(pool, node->cluster->trigger_prefix, &args); + fr_pool_enable_triggers(pool, node->cluster->trigger_prefix, args); - fr_pair_list_free(&args); + fr_pair_list_free(args); } } @@ -373,10 +372,9 @@ static fr_redis_cluster_rcode_t cluster_node_connect(fr_redis_cluster_t *cluster */ if (!node->pool) { char buffer[256]; - fr_pair_list_t args; + fr_pair_list_t *args = NULL; CONF_SECTION *pool; - fr_pair_list_init(&args); snprintf(buffer, sizeof(buffer), "%s [%i]", cluster->log_prefix, node->id); pool = cf_section_find(cluster->module, "pool", NULL); @@ -401,9 +399,9 @@ static fr_redis_cluster_rcode_t cluster_node_connect(fr_redis_cluster_t *cluster if (!fr_pair_list_empty(&cluster->trigger_args)) MEM(fr_pair_list_copy(cluster, args, &cluster->trigger_args) >= 0); - fr_pool_enable_triggers(node->pool, node->cluster->trigger_prefix, &args); + fr_pool_enable_triggers(node->pool, node->cluster->trigger_prefix, args); - fr_pair_list_free(&args); + fr_pair_list_free(args); } if (fr_pool_start(node->pool) < 0) goto error; diff --git a/src/lib/server/trigger.c b/src/lib/server/trigger.c index 7849291e471..15c2823d4e6 100644 --- a/src/lib/server/trigger.c +++ b/src/lib/server/trigger.c @@ -461,15 +461,15 @@ int trigger_exec(request_t *request, CONF_SECTION const *cs, char const *name, b * - NULL on failure, or if triggers are not enabled. * - list containing Pool-Server and Pool-Port */ -fr_pair_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port) +fr_pair_list_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port) { fr_dict_attr_t const *server_da; fr_dict_attr_t const *port_da; - fr_pair_list_t out; + fr_pair_list_t *out; fr_pair_t *vp; - fr_cursor_t cursor; - fr_pair_list_init(&out); + out = fr_pair_list_alloc(ctx); + fr_pair_list_init(out); server_da = fr_dict_attr_child_by_num(fr_dict_root(fr_dict_internal()), FR_CONNECTION_POOL_SERVER); if (!server_da) { ERROR("Incomplete dictionary: Missing definition for \"Connection-Pool-Server\""); @@ -482,15 +482,13 @@ fr_pair_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16 return NULL; } - fr_cursor_init(&cursor, &out); - MEM(vp = fr_pair_afrom_da(ctx, server_da)); fr_pair_value_strdup(vp, server); - fr_cursor_append(&cursor, vp); + fr_pair_add(out, vp); MEM(vp = fr_pair_afrom_da(ctx, port_da)); vp->vp_uint16 = port; - fr_cursor_append(&cursor, vp); + fr_pair_add(out, vp); return out; } diff --git a/src/lib/server/trigger.h b/src/lib/server/trigger.h index 045ebd19a53..2b1a901ce88 100644 --- a/src/lib/server/trigger.h +++ b/src/lib/server/trigger.h @@ -50,7 +50,7 @@ void trigger_exec_free(void); bool trigger_enabled(void); -fr_pair_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port); +fr_pair_list_t *trigger_args_afrom_server(TALLOC_CTX *ctx, char const *server, uint16_t port); typedef int (*fr_trigger_worker_t)(request_t *request, module_method_t process, void *ctx); extern fr_trigger_worker_t trigger_worker_request_add;