From: Arran Cudbard-Bell Date: Fri, 8 Mar 2013 04:30:56 +0000 (-0500) Subject: Cleanup the last bits of non-talloc socket destruction X-Git-Tag: release_3_0_0_beta1~786 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=478fa70c756c560ff807f61f169df5cd532109a3;p=thirdparty%2Ffreeradius-server.git Cleanup the last bits of non-talloc socket destruction --- diff --git a/src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c b/src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c index f3c70dd4795..3050be5f860 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c @@ -318,7 +318,6 @@ rlm_sql_module_t rlm_sql_db2 = { "rlm_sql_db2", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, not_implemented, /* sql_store_result */ @@ -327,7 +326,6 @@ rlm_sql_module_t rlm_sql_db2 = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows, diff --git a/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c b/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c index af881ccb3d7..b8943390399 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c @@ -299,7 +299,6 @@ rlm_sql_module_t rlm_sql_firebird = { "rlm_sql_firebird", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -308,7 +307,6 @@ rlm_sql_module_t rlm_sql_firebird = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c b/src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c index 901c89dde1a..76701c0f959 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c @@ -313,7 +313,6 @@ rlm_sql_module_t rlm_sql_freetds = { "rlm_sql_freetds", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -322,7 +321,6 @@ rlm_sql_module_t rlm_sql_freetds = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c index 81f15503b49..e785f9570e9 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c @@ -371,7 +371,6 @@ rlm_sql_module_t rlm_sql_iodbc = { "rlm_sql_iodbc", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -380,7 +379,6 @@ rlm_sql_module_t rlm_sql_iodbc = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows 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 d60372fd57e..d51faf32ff4 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 @@ -493,7 +493,6 @@ rlm_sql_module_t rlm_sql_mysql = { "rlm_sql_mysql", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -502,7 +501,6 @@ rlm_sql_module_t rlm_sql_mysql = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_null/rlm_sql_null.c b/src/modules/rlm_sql/drivers/rlm_sql_null/rlm_sql_null.c index 647e853d80f..6faa0557025 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_null/rlm_sql_null.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_null/rlm_sql_null.c @@ -46,21 +46,6 @@ static int sql_socket_init(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *co return 0; } -/************************************************************************* - * - * Function: sql_destroy_socket - * - * Purpose: Free socket and any private connection data - * - *************************************************************************/ -static int sql_destroy_socket(rlm_sql_handle_t *handle, UNUSED rlm_sql_config_t *config) -{ - handle->conn = NULL; - - return 0; -} - - /************************************************************************* * * Function: sql_query @@ -174,22 +159,6 @@ static const char *sql_error(UNUSED rlm_sql_handle_t * handle, UNUSED rlm_sql_co return "Unknown error"; } - -/************************************************************************* - * - * Function: sql_close - * - * Purpose: database specific close. Closes an open database - * connection - * - *************************************************************************/ -static int sql_close(rlm_sql_handle_t * handle, UNUSED rlm_sql_config_t *config) -{ - handle->conn = NULL; - return 0; -} - - /************************************************************************* * * Function: sql_finish_query @@ -237,7 +206,6 @@ rlm_sql_module_t rlm_sql_null = { "rlm_sql_null", NULL, sql_socket_init, - sql_destroy_socket, sql_query, sql_select_query, sql_store_result, @@ -246,7 +214,6 @@ rlm_sql_module_t rlm_sql_null = { sql_fetch_row, sql_free_result, sql_error, - sql_close, sql_finish_query, sql_finish_select_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c b/src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c index 33ea8e79dc9..e72a5fa1c88 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c @@ -163,7 +163,6 @@ static int sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *config) { config->sql_db, strlen(config->sql_db))) { radlog(L_ERR,"rlm_sql_oracle: Oracle logon failed: '%s'", sql_error(handle, config)); - sql_close(handle,config); return -1; } @@ -594,7 +593,6 @@ rlm_sql_module_t rlm_sql_oracle = { "rlm_sql_oracle", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -603,7 +601,6 @@ rlm_sql_module_t rlm_sql_oracle = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows 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 d60244c4a59..b095031743a 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 @@ -489,7 +489,6 @@ rlm_sql_module_t rlm_sql_postgresql = { "rlm_sql_postgresql", NULL, sql_init_socket, - NULL, sql_query, sql_select_query, not_implemented, /* sql_store_result */ @@ -498,7 +497,6 @@ rlm_sql_module_t rlm_sql_postgresql = { sql_fetch_row, not_implemented, /* sql_free_result */ sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows, diff --git a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c index 7adc68ea3ba..b7ec4e1fb54 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c @@ -568,7 +568,6 @@ rlm_sql_module_t rlm_sql_sqlite = { "rlm_sql_sqlite", sql_instantiate, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -577,7 +576,6 @@ rlm_sql_module_t rlm_sql_sqlite = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c b/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c index 75b0f701dd8..9a5bfbd4cc7 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c @@ -236,6 +236,10 @@ static int sql_socket_destructor(void *c) DEBUG2("rlm_sql_sybase: Socket destructor called, closing socket"); + if (conn->db) { + ct_close(conn->db, CS_FORCE_CLOSE); + } + return 0; } @@ -432,8 +436,8 @@ static int sql_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, char *q , sql_error(handle, config)); if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) { radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up."); - ct_close(conn->db, CS_FORCE_CLOSE); - sql_close(handle, config); + + return SQL_DOWN; } return -1; break; @@ -468,8 +472,8 @@ static int sql_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, char *q , sql_error(handle, config)); if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) { radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up."); - ct_close(conn->db, CS_FORCE_CLOSE); - sql_close(handle, config); + + return SQL_DOWN; } return -1; break; @@ -498,8 +502,8 @@ static int sql_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, char *q , sql_error(handle, config)); if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) { radlog(L_ERR,"rlm_sql_sybase(sql_query): cleaning up."); - ct_close(conn->db, CS_FORCE_CLOSE); - sql_close(handle, config); + + return SQL_DOWN; } return -1; break; @@ -699,8 +703,8 @@ static int sql_select_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config, , sql_error(handle, config)); if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) { radlog(L_ERR,"rlm_sql_sybase(sql_select_query): cleaning up."); - ct_close(conn->db, CS_FORCE_CLOSE); - sql_close(handle, config); + + return SQL_DOWN; } return -1; break; @@ -789,8 +793,8 @@ static int sql_fetch_row(rlm_sql_handle_t *handle, rlm_sql_config_t *config) { , sql_error(handle, config)); if ((ret = ct_cancel(NULL, conn->command, CS_CANCEL_ALL)) == CS_FAIL) { radlog(L_ERR,"rlm_sql_sybase(sql_fetch_row): cleaning up."); - ct_close(conn->db, CS_FORCE_CLOSE); - sql_close(handle, config); + + return SQL_DOWN; } return SQL_DOWN; break; @@ -884,7 +888,6 @@ rlm_sql_module_t rlm_sql_sybase = { "rlm_sql_sybase", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -893,7 +896,6 @@ rlm_sql_module_t rlm_sql_sybase = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows diff --git a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c index 60f5d90b205..34e6388934e 100644 --- a/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c +++ b/src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c @@ -437,7 +437,6 @@ rlm_sql_module_t rlm_sql_unixodbc = { "rlm_sql_unixodbc", NULL, sql_socket_init, - NULL, sql_query, sql_select_query, sql_store_result, @@ -446,7 +445,6 @@ rlm_sql_module_t rlm_sql_unixodbc = { sql_fetch_row, sql_free_result, sql_error, - NULL, sql_finish_query, sql_finish_select_query, sql_affected_rows