Allow sqlite filename to be specified in the configuration file.
[freeradius.git] / src / modules / rlm_sql / conf.h
1 #ifndef SQL_CONF_H
2 #define SQL_CONF_H
3 /***************************************************************************
4 *  conf.h                             rlm_sql - FreeRADIUS SQL Module      *
5 *                                                                          *
6 *      Configuration options for the SQL module                            *
7 *                                                                          *
8 *                                     Mike Machado <mike@innercite.com>    *
9 ***************************************************************************/
10
11 #include <freeradius-devel/ident.h>
12 RCSIDH(conf_h, "$Id$")
13
14 typedef struct sql_config {
15         char   *sql_driver;
16         char   *sql_server;
17         char   *sql_port;
18         char   *sql_login;
19         char   *sql_password;
20         char   *sql_db;
21         char   *sql_file;       /* for sqlite */
22         char   *query_user;
23         char   *default_profile;
24         char   *nas_query;
25         char   *authorize_check_query;
26         char   *authorize_reply_query;
27         char   *authorize_group_check_query;
28         char   *authorize_group_reply_query;
29         char   *accounting_onoff_query;
30         char   *accounting_update_query;
31         char   *accounting_update_query_alt;
32         char   *accounting_start_query;
33         char   *accounting_start_query_alt;
34         char   *accounting_stop_query;
35         char   *accounting_stop_query_alt;
36         char   *simul_count_query;
37         char   *simul_verify_query;
38         char   *groupmemb_query;
39         int     sqltrace;
40         int     do_clients;
41         int     read_groups;
42         char   *tracefile;
43         char   *xlat_name;
44         int     deletestalesessions;
45         int     num_sql_socks;
46         int     lifetime;
47         int     max_queries;
48         int     connect_failure_retry_delay;
49         char   *postauth_query;
50         char   *allowed_chars;
51         int     query_timeout;
52
53         /* individual driver config */
54         void    *localcfg;
55
56 } SQL_CONFIG;
57
58
59 #define CHECKRAD1               "/usr/sbin/checkrad"
60 #define CHECKRAD2               "/usr/local/sbin/checkrad"
61
62 /* Hack for funky ascend ports on MAX 4048 (and probably others)
63    The "NAS-Port-Id" value is "xyyzz" where "x" = 1 for digital, 2 for analog;
64    "yy" = line number (1 for first PRI/T1/E1, 2 for second, so on);
65    "zz" = channel number (on the PRI or Channelized T1/E1).
66     This should work with normal terminal servers, unless you have a TS with
67         more than 9999 ports ;^).
68     The "ASCEND_CHANNELS_PER_LINE" is the number of channels for each line into
69         the unit.  For my US/PRI that's 23.  A US/T1 would be 24, and a
70         European E1 would be 30 (I think ... never had one ;^).
71     This will NOT change the "NAS-Port-Id" reported in the detail log.  This
72         is simply to fix the dynamic IP assignments a la Cistron.
73     WARNING: This hack works for me, but I only have one PRI!!!  I've not
74         tested it on 2 or more (or with models other than the Max 4048)
75     Use at your own risk!
76   -- dgreer@austintx.com
77 */
78
79 #define ASCEND_PORT_HACK
80 #define ASCEND_CHANNELS_PER_LINE        23
81 #define CISCO_ACCOUNTING_HACK
82
83 /* SQL defines */
84 #define MAX_QUERY_LEN                   4096
85 #define SQL_LOCK_LEN                    MAX_QUERY_LEN
86 #define SQLTRACEFILE                    RADLOG_DIR "/sqltrace.sql"
87
88 /* SQL Errors */
89 #define SQL_DOWN                        1 /* for re-connect */
90
91 #define MAX_COMMUNITY_LEN               50
92 #define MAX_SQL_SOCKS                   256
93 #define MAX_TABLE_LEN                   20
94 #define MAX_AUTH_QUERY_LEN              256
95 #define AUTH_STRING_LEN                 128
96
97 #endif /* SQL_CONF_H */