Hello!<br><br>This is my first post in the list, so please excuse any eventual problem I could cause.<br><br>I'm running a FreeRadius 1.1.3 server with the Debian patches and a little patch I made to correct the NAS-Port known behaviour for fixed NAS-Port.
<br><br>I would like to test the rlm_sqlippool module, but I can't get it work. I finally got it compiled using this settings:<br>-----------------------<br>package         = freeradius<br>debiandir       = $(shell pwd)/debian
<br>freeradius_dir  = $(debiandir)/$(package)<br><br>mandir          = /usr/share/man<br>libdir          = /usr/lib/$(package)<br>logdir          = /var/log/$(package)<br>pkgdocdir       = /usr/share/doc/$(package)<br>raddbdir        = /etc/$(package)
<br><br>confflags += --build $(DEB_HOST_GNU_TYPE)<br>buildssl=--with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` --with-rlm_sql_postgresql_include_dir=`pg_config --includedir`<br><br>        ./configure \<br>                $(confflags) \
<br>                --prefix=/usr \<br>                --exec-prefix=/usr \<br>                --mandir=$(mandir) \<br>                --sysconfdir=/etc \<br>                --libdir=$(libdir) \<br>                --datadir=/usr/share \
<br>                --localstatedir=/var \<br>                --with-raddbdir=$(raddbdir) \<br>                --with-logdir=/var/log/$(package) \<br>                --enable-ltdl-install=no --enable-strict-dependencies \
<br>                --with-large-files --with-udpfromto --with-edir \<br>                --enable-developer \<br>                ${buildssl} \<br>                --with-system-libtool \<br>                --with-experimental-modules \
<br>                --without-rlm_python<br><br>-------------<br><br>In my config, I'm using the proposed sqlippool.conf provided in the examples directory.<br>        $INCLUDE  ${confdir}/sqlippool.conf in the module section.
<br><br>I do the Auth with LDAP, and I have enabled in accounting and post-auth sections the sqlippool module.<br>As I don't see the way to configure the sql settings, I finally added the postgresql.conf provided file with my customized settings (db, dbuser, dbpasword, dbhost, and so... ). I wouldn't like to enable it, but I don't find any other way to "configure" those settings.
<br><br>When executing freeradius -X I can see the following:<br>--------------<br>Module: Loaded SQL IP Pool<br> sqlippool: sql-instance-name = "sql"<br> sqlippool: lease-duration = 3600<br> sqlippool: pool-name = ""
<br> sqlippool: allocate-begin = "BEGIN"<br> sqlippool: allocate-clear = "UPDATE radippool   SET nasipaddress = '', pool_key = 0, callingstationid = '',   expiry_time = 'now'::timestamp(0) - '1 second'::interval   WHERE pool_key = '%{Calling-Station-Id}'"
<br> sqlippool: allocate-find = "SELECT framedipaddress FROM radippool   WHERE pool_name = '%{reply:Pool-Name}' AND expiry_time < 'now'::timestamp(0)   ORDER BY pool_name, (username <> '%{User-Name}'), (callingstationid <> '%{Calling-Station-Id}'), expiry_time   LIMIT 1   FOR UPDATE"
<br> sqlippool: allocate-update = "UPDATE radippool   SET nasipaddress = '%{NAS-IP-Address}', pool_key = '%{Calling-Station-Id}',   callingstationid = '%{Calling-Station-Id}', username = '%{User-Name}',   expiry_time = 'now'::timestamp(0) + '3600 second'::interval   WHERE framedipaddress = '%I'"
<br> sqlippool: allocate-commit = "COMMIT"<br> sqlippool: allocate-rollback = "ROLLBACK"<br> sqlippool: start-begin = "BEGIN"<br> sqlippool: start-update = "UPDATE radippool   SET expiry_time = 'now'::timestamp(0) + '%J second'::interval   WHERE nasipaddress = '%n' AND nas_port = '%p' AND pool_name = '%P'"
<br> sqlippool: start-commit = "COMMIT"<br> sqlippool: start-rollback = "ROLLBACK"<br> sqlippool: alive-begin = "BEGIN"<br> sqlippool: alive-update = "UPDATE radippool   SET expiry_time = 'now'::timestamp(0) + '3600 seconds'::interval   WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '%{Calling-Station-Id}' AND username = '%{User-Name}'   AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'"
<br> sqlippool: alive-commit = "COMMIT"<br> sqlippool: alive-rollback = "ROLLBACK"<br> sqlippool: stop-begin = "BEGIN"<br> sqlippool: stop-clear = "UPDATE radippool   SET nasipaddress = '', pool_key = 0, callingstationid = '',   expiry_time = 'now'::timestamp(0) - '1 second'::interval   WHERE nasipaddress = '%{Nas-IP-Address}' AND pool_key = '%{Calling-Station-Id}' AND username = '%{User-Name}'   AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'"
<br> sqlippool: stop-commit = "COMMIT"<br> sqlippool: stop-rollback = "ROLLBACK"<br> sqlippool: on-begin = "BEGIN"<br> sqlippool: on-clear = "UPDATE radippool   SET nasipaddress = '', pool_key = 0, callingstationid = '',   expiry_time = 'now'::timestamp(0) - '1 second'::interval   WHERE nasipaddress = '%{Nas-IP-Address}' AND username = '%{User-Name}'   AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'"
<br> sqlippool: on-commit = "COMMIT"<br> sqlippool: on-rollback = "ROLLBACK"<br> sqlippool: off-begin = "BEGIN"<br> sqlippool: off-clear = "UPDATE radippool   SET nasipaddress = '', pool_key = 0, callingstationid = '',   expiry_time = 'now'::timestamp(0) - '1 second'::interval   WHERE nasipaddress = '%{Nas-IP-Address}' AND username = '%{User-Name}'   AND callingstationid = '%{Calling-Station-Id}' AND framedipaddress = '%{Framed-IP-Address}'"
<br> sqlippool: off-commit = "COMMIT"<br> sqlippool: off-rollback = "ROLLBACK"<br>Module: Loaded SQL<br> sql: driver = "rlm_sql_postgresql"<br> sql: server = "MY_POSTGRESQL_SERVER_IP"
<br> sql: port = ""<br> sql: login = "MY_POSTGRESQL_USER"<br> sql: password = "MY_POSTGRESQL_PASSWORD"<br> sql: radius_db = "MY_POSTGRESQL_DB"<br> sql: nas_table = "nas"<br>
 sql: sqltrace = yes<br> sql: sqltracefile = "/var/log/freeradius/sqltrace.sql"<br> sql: readclients = no<br> sql: deletestalesessions = yes<br> sql: num_sql_socks = 5<br> sql: sql_user_name = "%{User-Name}"
<br> sql: default_user_profile = ""<br> sql: query_on_not_found = no<br><br>.<br>.<br>.<br> sql: group_membership_query = "SELECT GroupName FROM usergroup WHERE UserName='%{SQL-User-Name}'"<br> sql: connect_failure_retry_delay = 60
<br> sql: simul_count_query = ""<br> sql: simul_verify_query = ""<br> sql: postauth_query = "INSERT INTO radpostauth (username, pass, reply, authdate) VALUES ('%{User-Name}', '%{User-Password:-Chap-Password}', '%{reply:Packet-Type}', NOW())"
<br> sql: safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"<br>rlm_sql (sql): Driver rlm_sql_postgresql (module rlm_sql_postgresql) loaded and linked<br>rlm_sql (sql): Attempting to connect to 
radiusdbuser@10.160.2.74:/radiusdb<br>rlm_sql (sql): starting 0<br>rlm_sql (sql): Attempting to connect rlm_sql_postgresql #0<br>rlm_sql (sql): Connected new DB handle, #0<br>rlm_sql (sql): starting 1<br>rlm_sql (sql): Attempting to connect rlm_sql_postgresql #1
<br>rlm_sql (sql): Connected new DB handle, #1<br>rlm_sql (sql): starting 2<br>rlm_sql (sql): Attempting to connect rlm_sql_postgresql #2<br>rlm_sql (sql): Connected new DB handle, #2<br>rlm_sql (sql): starting 3<br>rlm_sql (sql): Attempting to connect rlm_sql_postgresql #3
<br>rlm_sql (sql): Connected new DB handle, #3<br>rlm_sql (sql): starting 4<br>rlm_sql (sql): Attempting to connect rlm_sql_postgresql #4<br>rlm_sql (sql): Connected new DB handle, #4<br>Module: Instantiated sql (sql)<br>
freeradius: relocation error: /usr/lib/freeradius/rlm_sqlippool-<a href="http://1.1.3.so">1.1.3.so</a>: undefined symbol: sql_get_socket<br><br>----------------<br><br>The strange thing is that the sql module seems initialized, but sqlippool doesn't load.
<br>I looked the sql_get_socket function over the code, and I found it in the sql.c file in the rlm_sql module. Furthermore, I see that function being compiled and linked in the rlm_sql.so file as it's shown here:<br>---------
<br>[08:11:33] fgd@myBox:/home/fgd/src/freeradius-1.1.3/src/modules/rlm_sql/.libs# nm rlm_sql.so | grep sql_get_socket<br>000047f0 T sql_get_socket<br>---------<br><br>I don't know how to force it to be loaded... any hint?
<br><br>Thanks you!<br>Francisco Gimeno<br>