From: Arran Cudbard-Bell Date: Thu, 13 Apr 2023 10:57:07 +0000 (+1000) Subject: redis: If remap fails because the connection is bad, don't leave the stale connection... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48b34828ee23f292ef8b11d505153bc3673e3034;p=thirdparty%2Ffreeradius-server.git redis: If remap fails because the connection is bad, don't leave the stale connection open --- diff --git a/src/modules/rlm_redis/rlm_redis.c b/src/modules/rlm_redis/rlm_redis.c index 0fcda1ddba..98fcee1b59 100644 --- a/src/modules/rlm_redis/rlm_redis.c +++ b/src/modules/rlm_redis/rlm_redis.c @@ -274,7 +274,15 @@ static xlat_action_t redis_remap_xlat(TALLOC_CTX *ctx, fr_dcursor_t *out, } rcode = fr_redis_cluster_remap(request, inst->cluster, conn); - fr_pool_connection_release(pool, request, conn); + switch (rcode) { + case FR_REDIS_CLUSTER_RCODE_NO_CONNECTION: + fr_pool_connection_close(pool, request, conn); + break; + + default: + fr_pool_connection_release(pool, request, conn); + break; + } MEM(vb = fr_value_box_alloc_null(ctx)); fr_value_box_strdup(vb, vb, NULL, fr_table_str_by_value(fr_redis_cluster_rcodes_table, rcode, ""), false);