Allow sqlite filename to be specified in the configuration file.
[freeradius.git] / src / modules / rlm_sql / conf.h
index 2f366de..d1faae0 100644 (file)
@@ -1,3 +1,5 @@
+#ifndef SQL_CONF_H
+#define SQL_CONF_H
 /***************************************************************************
 *  conf.h                             rlm_sql - FreeRADIUS SQL Module      *
 *                                                                          *
@@ -5,6 +7,55 @@
 *                                                                          *
 *                                     Mike Machado <mike@innercite.com>    *
 ***************************************************************************/
+
+#include <freeradius-devel/ident.h>
+RCSIDH(conf_h, "$Id$")
+
+typedef struct sql_config {
+       char   *sql_driver;
+       char   *sql_server;
+       char   *sql_port;
+       char   *sql_login;
+       char   *sql_password;
+       char   *sql_db;
+       char   *sql_file;       /* for sqlite */
+       char   *query_user;
+       char   *default_profile;
+       char   *nas_query;
+       char   *authorize_check_query;
+       char   *authorize_reply_query;
+       char   *authorize_group_check_query;
+       char   *authorize_group_reply_query;
+       char   *accounting_onoff_query;
+       char   *accounting_update_query;
+       char   *accounting_update_query_alt;
+       char   *accounting_start_query;
+       char   *accounting_start_query_alt;
+       char   *accounting_stop_query;
+       char   *accounting_stop_query_alt;
+       char   *simul_count_query;
+       char   *simul_verify_query;
+       char   *groupmemb_query;
+       int     sqltrace;
+       int     do_clients;
+       int     read_groups;
+       char   *tracefile;
+       char   *xlat_name;
+       int     deletestalesessions;
+       int     num_sql_socks;
+       int     lifetime;
+       int     max_queries;
+       int     connect_failure_retry_delay;
+       char   *postauth_query;
+       char   *allowed_chars;
+       int     query_timeout;
+
+       /* individual driver config */
+       void    *localcfg;
+
+} SQL_CONFIG;
+
+
 #define CHECKRAD1              "/usr/sbin/checkrad"
 #define CHECKRAD2              "/usr/local/sbin/checkrad"
 
 
 #define ASCEND_PORT_HACK
 #define ASCEND_CHANNELS_PER_LINE        23
-
 #define CISCO_ACCOUNTING_HACK
 
 /* SQL defines */
-#define SQL_LOCK_LEN                   sizeof(SQLACCTREC)
+#define MAX_QUERY_LEN                  4096
+#define SQL_LOCK_LEN                   MAX_QUERY_LEN
 #define        SQLTRACEFILE                    RADLOG_DIR "/sqltrace.sql"
-#define SQLBIGREC                      32
-#define SQLLILREC                      15
+
+/* SQL Errors */
+#define SQL_DOWN                       1 /* for re-connect */
 
 #define MAX_COMMUNITY_LEN              50
 #define MAX_SQL_SOCKS                  256
 #define MAX_TABLE_LEN                  20
 #define MAX_AUTH_QUERY_LEN             256
 #define AUTH_STRING_LEN                        128
+
+#endif /* SQL_CONF_H */