* Purpose: Establish connection to the db
*
*************************************************************************/
-static int sql_init_socket(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
-
+static int sql_init_socket(SQLSOCK *sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock;
sqlsocket->conn = (rlm_sql_mysql_sock *)rad_malloc(sizeof(rlm_sql_mysql_sock));
sqlsocket->id);
mysql_init(&(mysql_sock->conn));
- if (!(mysql_sock->sock = mysql_real_connect(&(mysql_sock->conn), config->sql_server, config->sql_login, config->sql_password,
- config->sql_db, 0, NULL, CLIENT_FOUND_ROWS))) {
+ if (!(mysql_sock->sock = mysql_real_connect(&(mysql_sock->conn),
+ config->sql_server,
+ config->sql_login,
+ config->sql_password,
+ config->sql_db,
+ atoi(config->sql_port),
+ NULL,
+ CLIENT_FOUND_ROWS))) {
radlog(L_ERR, "rlm_sql_mysql: Couldn't connect socket to MySQL server %s@%s:%s", config->sql_login, config->sql_server, config->sql_db);
radlog(L_ERR, "rlm_sql_mysql: Mysql error '%s'", mysql_error(&mysql_sock->conn));
mysql_sock->sock = NULL;
* Purpose: Free socket and any private connection data
*
*************************************************************************/
-static int sql_destroy_socket(SQLSOCK *sqlsocket, SQL_CONFIG *config) {
-
+static int sql_destroy_socket(SQLSOCK *sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
free(mysql_sock);
* Purpose: check the error to see if the server is down
*
*************************************************************************/
-static int sql_check_error(int error) {
+static int sql_check_error(int error)
+{
switch(error) {
case CR_SERVER_GONE_ERROR:
case CR_SERVER_LOST:
* Purpose: Issue a query to the database
*
*************************************************************************/
-static int sql_query(SQLSOCK * sqlsocket, SQL_CONFIG *config, char *querystr) {
-
+static int sql_query(SQLSOCK * sqlsocket, SQL_CONFIG *config, char *querystr)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (config->sqltrace)
* set for the query.
*
*************************************************************************/
-static int sql_store_result(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_store_result(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (mysql_sock->sock == NULL) {
}
if (!(mysql_sock->result = mysql_store_result(mysql_sock->sock))) {
radlog(L_ERR, "rlm_sql_mysql: MYSQL Error: Cannot get result");
- radlog(L_ERR, "rlm_sql_mysql: MYSQL Error: %s", mysql_error(mysql_sock->sock));
+ radlog(L_ERR, "rlm_sql_mysql: MYSQL Error: %s",
+ mysql_error(mysql_sock->sock));
return sql_check_error(mysql_errno(mysql_sock->sock));
}
return 0;
* of columns from query
*
*************************************************************************/
-static int sql_num_fields(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
-
+static int sql_num_fields(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
int num = 0;
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (!(num = mysql_num_fields(mysql_sock->sock))) {
#endif
radlog(L_ERR, "rlm_sql_mysql: MYSQL Error: No Fields");
- radlog(L_ERR, "rlm_sql_mysql: MYSQL error: %s", mysql_error(mysql_sock->sock));
+ radlog(L_ERR, "rlm_sql_mysql: MYSQL error: %s",
+ mysql_error(mysql_sock->sock));
}
return num;
}
* Purpose: Issue a select query to the database
*
*************************************************************************/
-static int sql_select_query(SQLSOCK *sqlsocket, SQL_CONFIG *config, char *querystr) {
-
+static int sql_select_query(SQLSOCK *sqlsocket, SQL_CONFIG *config,
+ char *querystr)
+{
int ret;
ret = sql_query(sqlsocket, config, querystr);
* query
*
*************************************************************************/
-static int sql_num_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_num_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
- if(mysql_sock->result)
+ if (mysql_sock->result)
return mysql_num_rows(mysql_sock->result);
return 0;
* 0 on success, -1 on failure, SQL_DOWN if database is down.
*
*************************************************************************/
-static int sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_fetch_row(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
sqlsocket->row = mysql_fetch_row(mysql_sock->result);
* for a result set
*
*************************************************************************/
-static int sql_free_result(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_free_result(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (mysql_sock->result) {
* connection
*
*************************************************************************/
-static char *sql_error(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static char *sql_error(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (mysql_sock == NULL || mysql_sock->sock == NULL) {
* connection
*
*************************************************************************/
-static int sql_close(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_close(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
if (mysql_sock && mysql_sock->sock){
* Purpose: End the query, such as freeing memory
*
*************************************************************************/
-static int sql_finish_query(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_finish_query(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
return 0;
}
* Purpose: End the select query, such as freeing memory or result
*
*************************************************************************/
-static int sql_finish_select_query(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_finish_select_query(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
sql_free_result(sqlsocket, config);
return 0;
* Purpose: End the select query, such as freeing memory or result
*
*************************************************************************/
-static int sql_affected_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config) {
-
+static int sql_affected_rows(SQLSOCK * sqlsocket, SQL_CONFIG *config)
+{
rlm_sql_mysql_sock *mysql_sock = sqlsocket->conn;
return mysql_affected_rows(mysql_sock->sock);