]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Cleanup the last bits of non-talloc socket destruction
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 8 Mar 2013 04:30:56 +0000 (23:30 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 8 Mar 2013 04:30:56 +0000 (23:30 -0500)
src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c
src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c
src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c
src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c
src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c
src/modules/rlm_sql/drivers/rlm_sql_null/rlm_sql_null.c
src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c
src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c
src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c
src/modules/rlm_sql/drivers/rlm_sql_sybase/rlm_sql_sybase.c
src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c

index f3c70dd4795b1ee980baa77fb5435b2b2e094048..3050be5f860b69db39dcd00157fff43decc6e9c1 100644 (file)
@@ -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,
index af881ccb3d76bb434ca18db16b106c6f3c39c7ef..b8943390399fb2a718e7eddf5cbc81823ac299ba 100644 (file)
@@ -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
index 901c89dde1a1a707898010f7bb371811d831e21f..76701c0f9597d6a0cae89dcbd3b308a959964c97 100644 (file)
@@ -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
index 81f15503b4975dfca94d3013ae535595e6e97efa..e785f9570e9a28384fc75da2b3391adc93e0ad5f 100644 (file)
@@ -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
index d60372fd57e6f91d2f36108d381f64d86abc9b53..d51faf32ff4f8aec330d42bd95701b7d359a963a 100644 (file)
@@ -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
index 647e853d80f4b1193dcb1bf11c5a05dee0d73edb..6faa055702558fc52282b81a7524f93ece2b4f90 100644 (file)
@@ -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
index 33ea8e79dc91d2ce2240fb728fb17b59a24516df..e72a5fa1c885587942f34df4e63534d878e786b8 100644 (file)
@@ -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
index d60244c4a5981a76dddbbd5c90fc95cda7154e3d..b095031743a5e167c4c3b47d098393be1bfa7374 100644 (file)
@@ -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,
index 7adc68ea3baa0a0adfb5c6b34d471af22d5a7531..b7ec4e1fb5459c228357e627444063693536c9c9 100644 (file)
@@ -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
index 75b0f701dd86c16ba472758498fd93e33031cb72..9a5bfbd4cc7a00fb6cc4fa5e1d267690773d06a4 100644 (file)
@@ -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
index 60f5d90b205273c19b5d9ba702ce872822329d8c..34e6388934e56b983168c0f7b347b9c17a3ba87b 100644 (file)
@@ -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