From: Arran Cudbard-Bell Date: Mon, 6 Oct 2025 22:55:48 +0000 (-0600) Subject: Revert "add and use automatic re-init on connection failure" X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=95d6c278d9fbd05f458980d22485a8c3553ab9a8;p=thirdparty%2Ffreeradius-server.git Revert "add and use automatic re-init on connection failure" This reverts commit c141294c8e13171f99a8b8c510f2df68d0b03b8c. It's not clear why this commit was necessary, and it caused the MySQL code to leak file descriptors when a connection could not be established to the MySQL server. --- diff --git a/src/lib/server/connection.c b/src/lib/server/connection.c index 76b8ab22a4..bf5f78944a 100644 --- a/src/lib/server/connection.c +++ b/src/lib/server/connection.c @@ -1443,14 +1443,6 @@ int connection_signal_on_fd(connection_t *conn, int fd) return 0; } -/** Tell a failed connection to move to CONNECTION_STATE_INIT - * - */ -connection_state_t connection_failed_reinit(UNUSED void *handle, UNUSED connection_state_t state, UNUSED void *uctx) -{ - return CONNECTION_STATE_INIT; -} - /** Close a connection if it's freed * * @param[in] conn to free. diff --git a/src/lib/server/connection.h b/src/lib/server/connection.h index d7d33eca1e..8bf24101ee 100644 --- a/src/lib/server/connection.h +++ b/src/lib/server/connection.h @@ -269,8 +269,6 @@ void connection_signals_resume(connection_t *conn); * @{ */ int connection_signal_on_fd(connection_t *conn, int fd); - -connection_state_t connection_failed_reinit(void *handle, connection_state_t state, void *uctx); /** @} */ /** @name Allocate a new connection diff --git a/src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c b/src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c index 963dea6d03..dcbee041d0 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c @@ -1114,7 +1114,6 @@ static void *sql_escape_arg_alloc(TALLOC_CTX *ctx, fr_event_list_t *el, void *uc conn = connection_alloc(ctx, el, &(connection_funcs_t){ .init = _sql_connection_init, - .failed = connection_failed_reinit, .close = _sql_connection_close, }, inst->config.trunk_conf.conn_conf, diff --git a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c index c6610a44a9..2264a0872d 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c @@ -853,7 +853,6 @@ static void *sql_escape_arg_alloc(TALLOC_CTX *ctx, fr_event_list_t *el, void *uc conn = connection_alloc(ctx, el, &(connection_funcs_t){ .init = _sql_connection_init, - .failed = connection_failed_reinit, .close = _sql_connection_close, }, inst->config.trunk_conf.conn_conf,