+# -*- text -*-
+##
+## sql.conf -- SQL modules
+##
+## $Id$
+
+######################################################################
#
# Configuration for the SQL module
#
-# The database schemas are available at:
+# The database schemas and queries are located in subdirectories:
#
-# doc/examples/*.sql
+# sql/DB/schema.sql Schema
+# sql/DB/dialup.conf Basic dialup (including policy) queries
+# sql/DB/counter.conf counter
+# sql/DB/ippool.conf IP Pools in SQL
+# sql/DB/ippool.sql schema for IP pools.
#
-# $Id$
+# Where "DB" is mysql, mssql, oracle, or postgresql.
#
sql {
-
- # Database type
- # Currently supported are: rlm_sql_mysql, rlm_sql_postgresql,
- # rlm_sql_iodbc, rlm_sql_oracle, rlm_sql_unixodbc, rlm_sql_freetds
- driver = "rlm_sql_mysql"
-
- # Connect info
+ #
+ # Set the database to one of:
+ #
+ # mysql, mssql, oracle, postgresql
+ #
+ database = "mysql"
+
+ #
+ # Which FreeRADIUS driver to use.
+ #
+ driver = "rlm_sql_${database}"
+
+ # Connection info:
server = "localhost"
- login = "root"
- password = "rootpass"
+ #port = 3306
+ login = "radius"
+ password = "radpass"
# Database table configuration for everything except Oracle
radius_db = "radius"
- # Oracle Database table configuration
- #radius_db = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=your_sid)))"
+ # 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 want both stop and start records logged to the
# same SQL table, leave this as is. If you want them in
# 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
-
- # Table to keep radius client info
- nas_table = "nas"
-
- # Set to 'yes' to read radius clients from the database ('nas' table)
- #readclients = yes
+ # read_groups = yes
# Remove stale session if checkrad does not see a double login
deletestalesessions = yes
# connection (per_socket)
connect_failure_retry_delay = 60
+ # lifetime of an SQL socket. If you are having network issues
+ # such as TCP sessions expiring, you may need to set the socket
+ # lifetime. If set to non-zero, any open connections will be
+ # closed "lifetime" seconds after they were first opened.
+ lifetime = 0
- ## Uncomment the appropriate config file for your SQL dialect
+ # Maximum number of queries used by an SQL socket. If you are
+ # having issues with SQL sockets lasting "too long", you can
+ # limit the number of queries performed over one socket. After
+ # "max_qeuries", the socket will be closed. Use 0 for "no limit".
+ max_queries = 0
- #$INCLUDE ${confdir}/sql/mssql-dialup.conf
- $INCLUDE ${confdir}/sql/mysql-dialup.conf
- #$INCLUDE ${confdir}/sql/oracle-dialup.conf
- #$INCLUDE ${confdir}/sql/postgresql-dialup.conf
+ # Set to 'yes' to read radius clients from the database ('nas' table)
+ # Clients will ONLY be read on server startup. For performance
+ # and security reasons, finding clients via SQL queries CANNOT
+ # be done "live" while the server is running.
+ #
+ #readclients = yes
+
+ # Table to keep radius client info
+ nas_table = "nas"
+ # Read driver-specific configuration
+ $INCLUDE sql/${database}/dialup.conf
}