offsetof(SQL_CONFIG,deletestalesessions), NULL, "yes"},
{"sql_user_name", PW_TYPE_STRING_PTR,
offsetof(SQL_CONFIG,query_user), NULL, ""},
+ {"logfile", PW_TYPE_STRING_PTR,
+ offsetof(SQL_CONFIG,logfile), NULL, NULL},
{"default_user_profile", PW_TYPE_STRING_PTR,
offsetof(SQL_CONFIG,default_profile), NULL, ""},
{"nas_query", PW_TYPE_STRING_PTR,
if (sqlsocket == NULL)
return 0;
- query_log(inst, request, NULL, querystr);
+ rlm_sql_query_log(inst, request, NULL, querystr);
/*
* If the query starts with any of the following prefixes,
goto error;
}
- /*
- * Sanity check for crazy people.
- */
- if (strncmp(inst->config->sql_driver, "rlm_sql_", 8) != 0) {
- radlog(L_ERR, "\"%s\" is NOT an SQL driver!",
- inst->config->sql_driver);
- goto error;
- }
xlat_name = cf_section_name2(conf);
if (xlat_name == NULL) {
xlat_register(xlat_name, (RAD_XLAT_FUNC)sql_xlat, inst);
/*
+ * Sanity check for crazy people.
+ */
+ if (strncmp(inst->config->sql_driver, "rlm_sql_", 8) != 0) {
+ radlog(L_ERR, "\"%s\" is NOT an SQL driver!",
+ inst->config->sql_driver);
+ goto error;
+ }
+
+ /*
* Load the appropriate driver for our database
*/
inst->handle = lt_dlopenext(inst->config->sql_driver);
pair = cf_itemtopair(item);
attr = cf_pair_attr(pair);
- RDEBUG2("Failing between pairs with name '%s'", attr);
+ RDEBUG2("Using query template '%s'", attr);
sqlsocket = sql_get_socket(inst);
if (sqlsocket == NULL)
if (!*querystr)
goto null_query;
- query_log(inst, request, section, querystr);
+ rlm_sql_query_log(inst, request, section, querystr);
sql_ret = rlm_sql_query(&sqlsocket, inst, querystr);
if (sql_ret == SQL_DOWN)
int sql_read_naslist(SQLSOCK * sqlsocket);
int sql_read_clients(SQLSOCK * sqlsocket);
int sql_dict_init(SQLSOCK * sqlsocket);
-void query_log(SQL_INST *inst, REQUEST *request,
+void rlm_sql_query_log(SQL_INST *inst, REQUEST *request,
rlm_sql_config_section_t *section, char *querystr);
int rlm_sql_select_query(SQLSOCK **sqlsocket, SQL_INST *inst, char *query);
int rlm_sql_query(SQLSOCK **sqlsocket, SQL_INST *inst, char *query);
/*
* Log the query to a file.
*/
-void query_log(SQL_INST *inst, REQUEST *request,
- rlm_sql_config_section_t *section, char *query)
+void rlm_sql_query_log(SQL_INST *inst, REQUEST *request,
+ rlm_sql_config_section_t *section, char *query)
{
int fd;
- const char *filename;
+ const char *filename = NULL;
char buffer[8192];
- if (section) {
- filename = section->logfile;
- } else {
- filename = inst->config->logfile;
- }
+ if (section) filename = section->logfile;
+
+ if (!filename) filename = inst->config->logfile;
if (!filename) return;