| # -*- text -*- |
| ## |
| ## sql.conf -- SQL modules |
| ## |
| ## $Id: e1431d634a28f20a0e5deaeedd66a161deb88eb7 $ |
| |
| ###################################################################### |
| # |
| # Configuration for the SQL module |
| # |
| # The database schemas and queries are located in subdirectories: |
| # |
| # sql/<DB>/main/schema.sql Schema |
| # sql/<DB>/main/queries.conf Authorisation and Accounting queries |
| # |
| # Where "DB" is mysql, mssql, oracle, or postgresql. |
| # |
| # |
| |
| sql { |
| # The sub-module to use to execute queries. This should match |
| # the database you're attempting to connect to. |
| # |
| # * rlm_sql_mysql |
| # * rlm_sql_mssql |
| # * rlm_sql_oracle |
| # * rlm_sql_postgresql |
| # * rlm_sql_sqlite |
| # * rlm_sql_null (log queries to disk) |
| # |
| driver = "rlm_sql_sqlite" |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| sqlite { |
| filename = "/opt/db/radius.sqlite3" |
| } |
| |
| # |
| # Several drivers accept specific options, to set them, a |
| # config section with the the name as the driver should be added |
| # to the sql instance. |
| # |
| # Driver specific options are: |
| # |
| # sqlite { |
| # # Path to the sqlite database |
| # filename = "/my/sqlite/database.db" |
| # |
| # # If the file above does not exist and bootstrap is set |
| # # a new database file will be created, and the SQL statements |
| # # contained within the file will be executed. |
| # bootstrap = "/my/sqlite/schema.sql" |
| # } |
| # |
| # mysql { |
| # # If any of the below files are set tls encryption is enabled |
| # tls { |
| # ca_file = "/etc/ssl/certs/my_ca.crt" |
| # ca_path = "/etc/ssl/certs/" |
| # certificate_file = "/etc/ssl/certs/private/client.crt" |
| # private_key_file = "/etc/ssl/certs/private/client.key" |
| # cipher = "DHE-RSA-AES256-SHA:AES128-SHA" |
| # } |
| # } |
| # |
| |
| # The dialect of SQL you want to use, this should usually match |
| # the driver you selected above. |
| # |
| # If you're using rlm_sql_null, then it should be the type of |
| # database the logged queries are going to be executed against. |
| dialect = "sqlite" |
| |
| # Connection info: |
| # |
| # server = "localhost" |
| # port = 3306 |
| # login = "radius" |
| # password = "radpass" |
| |
| # Database table configuration for everything except Oracle |
| radius_db = "radius" |
| |
| # If you are using Oracle then use this instead |
| # radius_db = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=your_sid)))" |
| |
| # If you're using postgresql this can also be used instead of the connection info parameters |
| # radius_db = "dbname=radius host=localhost user=radius password=raddpass" |
| |
| # If you want both stop and start records logged to the |
| # same SQL table, leave this as is. If you want them in |
| # different tables, put the start table in acct_table1 |
| # and stop table in acct_table2 |
| acct_table1 = "radacct" |
| acct_table2 = "radacct" |
| |
| # Allow for storing data after authentication |
| postauth_table = "radpostauth" |
| |
| # Tables containing 'check' items |
| authcheck_table = "radcheck" |
| groupcheck_table = "radgroupcheck" |
| |
| # Tables containing 'reply' items |
| authreply_table = "radreply" |
| groupreply_table = "radgroupreply" |
| |
| # Table to keep group info |
| usergroup_table = "radusergroup" |
| |
| # If set to 'yes' (default) we read the group tables |
| # If set to 'no' the user MUST have Fall-Through = Yes in the radreply table |
| # read_groups = yes |
| |
| # Remove stale session if checkrad does not see a double login |
| delete_stale_sessions = yes |
| |
| # Write SQL queries to a logfile. This is potentially useful for tracing |
| # issues with authorization queries. |
| # logfile = ${logdir}/sqllog.sql |
| |
| # As of version 3.0, the "pool" section has replaced the |
| # following configuration items: |
| # |
| # num_sql_socks |
| # connect_failure_retry_delay |
| # lifetime |
| # max_queries |
| |
| # |
| # The connection pool is new for 3.0, and will be used in many |
| # modules, for all kinds of connection-related activity. |
| # |
| # When the server is not threaded, the connection pool |
| # limits are ignored, and only one connection is used. |
| # |
| pool { |
| # Number of connections to start |
| start = 5 |
| |
| # Minimum number of connections to keep open |
| min = 4 |
| |
| # Maximum number of connections |
| # |
| # If these connections are all in use and a new one |
| # is requested, the request will NOT get a connection. |
| # |
| # Setting 'max' to LESS than the number of threads means |
| # that some threads may starve, and you will see errors |
| # like "No connections available and at max connection limit" |
| # |
| # Setting 'max' to MORE than the number of threads means |
| # that there are more connections than necessary. |
| # |
| max = ${thread[pool].max_servers} |
| |
| # Spare connections to be left idle |
| # |
| # NOTE: Idle connections WILL be closed if "idle_timeout" |
| # is set. |
| spare = 3 |
| |
| # Number of uses before the connection is closed |
| # |
| # 0 means "infinite" |
| uses = 0 |
| |
| # The lifetime (in seconds) of the connection |
| lifetime = 0 |
| |
| # idle timeout (in seconds). A connection which is |
| # unused for this length of time will be closed. |
| idle_timeout = 60 |
| |
| # NOTE: All configuration settings are enforced. If a |
| # connection is closed because of "idle_timeout", |
| # "uses", or "lifetime", then the total number of |
| # connections MAY fall below "min". When that |
| # happens, it will open a new connection. It will |
| # also log a WARNING message. |
| # |
| # The solution is to either lower the "min" connections, |
| # or increase lifetime/idle_timeout. |
| } |
| |
| # Set to 'yes' to read radius clients from the database ('nas' table) |
| # Clients will ONLY be read on server startup. |
| # read_clients = yes |
| |
| # Table to keep radius client info |
| client_table = "nas" |
| |
| # Read database-specific queries |
| $INCLUDE ${modconfdir}/${.:name}/main/${dialect}/queries.conf |
| } |