Using Postgresql 4.7 and FreeRadius 0.9.3 on FreeBSD 5.1 On sending an Accounting Stop Request to Freeradius I get some errors in summary invalid input syntax for type bigint: ""
below is the error log and Below the log is the standard part of postgresql.conf I am using it unmodified Nothing to do. Sleeping until we see a request. rad_recv: Accounting-Request packet from host 192.168.0.1:3306, id=21, length=38 User-Name = "clint" Acct-Status-Type = Stop Acct-Session-Id = "816" modcall: entering group preacct for request 3 modcall[preacct]: module "preprocess" returns noop for request 3 rlm_realm: No '@' in User-Name = "clint", looking up realm NULL rlm_realm: No such realm "NULL" modcall[preacct]: module "suffix" returns noop for request 3 modcall: group preacct returns noop for request 3 modcall: entering group accounting for request 3 rlm_acct_unique: WARNING: Attribute NAS-Port-Id was not found in request, unique ID MAY be incons istent rlm_acct_unique: Hashing ',Client-IP-Address = 192.168.0.1,NAS-IP-Address = 192.168.0.1,Acct-Sess ion-Id = "816",User-Name = "clint"' rlm_acct_unique: Acct-Unique-Session-ID = "38a313dce3842355". modcall[accounting]: module "acct_unique" returns ok for request 3 radius_xlat: '/usr/local/var/log/radius/radacct/192.168.0.1/detail-20031213' rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d expands to /usr/ local/var/log/radius/radacct/192.168.0.1/detail-20031213 modcall[accounting]: module "detail" returns ok for request 3 modcall[accounting]: module "unix" returns noop for request 3 radius_xlat: 'clint' rlm_sql (sql): sql_set_user escaped user --> 'clint' radius_xlat: 'UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessionTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0'::bigint << 3 2) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint' ??AND NASI PAddress = '192.168.0.1' AND AcctStopTime IS NULL' radius_xlat: '/usr/local/var/log/radius/sqltrace.sql' rlm_sql (sql): Reserving sql socket id: 1 rlm_sql_postgresql: query: UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessi onTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0': :bigint << 32) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint ' ??AND NASIPAddress = '192.168.0.1' AND AcctStopTime IS NULL rlm_sql_postgresql: Status: PGRES_FATAL_ERROR rlm_sql_postgresql: affected rows = rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN rlm_sql (sql): Attempting to connect rlm_sql_postgresql #1 rlm_sql (sql): Connected new DB handle, #1 rlm_sql_postgresql: query: UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessi onTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0': :bigint << 32) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint ' ??AND NASIPAddress = '192.168.0.1' AND AcctStopTime IS NULL rlm_sql_postgresql: Status: PGRES_FATAL_ERROR rlm_sql_postgresql: affected rows = rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN rlm_sql (sql): failed after re-connect rlm_sql (sql): Couldn't update SQL accounting STOP record - ERROR: invalid input syntax for type bigint: "" rlm_sql (sql): Released sql socket id: 1 modcall[accounting]: module "sql" returns fail for request 3 modcall: group accounting returns fail for request 3 Finished request 3 Going to the next request --- Walking the entire request list --- Cleaning up request 3 ID 21 with timestamp 3fdb4e3b Nothing to do. Sleeping until we see a request. rad_recv: Accounting-Request packet from host 192.168.0.1:3307, id=22, length=38 User-Name = "clint" Acct-Status-Type = Stop Acct-Session-Id = "816" modcall: entering group preacct for request 4 modcall[preacct]: module "preprocess" returns noop for request 4 rlm_realm: No '@' in User-Name = "clint", looking up realm NULL rlm_realm: No such realm "NULL" modcall[preacct]: module "suffix" returns noop for request 4 modcall: group preacct returns noop for request 4 modcall: entering group accounting for request 4 rlm_acct_unique: WARNING: Attribute NAS-Port-Id was not found in request, unique ID MAY be incons istent rlm_acct_unique: Hashing ',Client-IP-Address = 192.168.0.1,NAS-IP-Address = 192.168.0.1,Acct-Sess ion-Id = "816",User-Name = "clint"' rlm_acct_unique: Acct-Unique-Session-ID = "38a313dce3842355". modcall[accounting]: module "acct_unique" returns ok for request 4 radius_xlat: '/usr/local/var/log/radius/radacct/192.168.0.1/detail-20031213' rlm_detail: /usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d expands to /usr/ local/var/log/radius/radacct/192.168.0.1/detail-20031213 modcall[accounting]: module "detail" returns ok for request 4 modcall[accounting]: module "unix" returns noop for request 4 radius_xlat: 'clint' rlm_sql (sql): sql_set_user escaped user --> 'clint' radius_xlat: 'UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessionTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0'::bigint << 3 2) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint' ??AND NASI PAddress = '192.168.0.1' AND AcctStopTime IS NULL' radius_xlat: '/usr/local/var/log/radius/sqltrace.sql' rlm_sql (sql): Reserving sql socket id: 0 rlm_sql_postgresql: query: UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessi onTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0': :bigint << 32) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint ' ??AND NASIPAddress = '192.168.0.1' AND AcctStopTime IS NULL rlm_sql_postgresql: Status: PGRES_FATAL_ERROR rlm_sql_postgresql: affected rows = rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN rlm_sql (sql): Attempting to connect rlm_sql_postgresql #0 rlm_sql (sql): Connected new DB handle, #0 rlm_sql_postgresql: query: UPDATE radacct ??SET AcctStopTime = (now() - '0'::interval), AcctSessi onTime = '', ??AcctInputOctets = (('0'::bigint << 32) + '0'::bigint), ??AcctOutputOctets = (('0': :bigint << 32) + '0'::bigint), ??AcctTerminateCause = '', AcctStopDelay = '0', ??FramedIPAddress = NULLIF('', '')::inet, ConnectInfo_stop = '' ??WHERE AcctSessionId = '816' AND UserName = 'clint ' ??AND NASIPAddress = '192.168.0.1' AND AcctStopTime IS NULL rlm_sql_postgresql: Status: PGRES_FATAL_ERROR rlm_sql_postgresql: affected rows = rlm_sql_postgresql: Postgresql check_error: PGRES_FATAL_ERROR, returning SQL_DOWN rlm_sql (sql): failed after re-connect rlm_sql (sql): Couldn't update SQL accounting STOP record - ERROR: invalid input syntax for type bigint: "" rlm_sql (sql): Released sql socket id: 0 modcall[accounting]: module "sql" returns fail for request 4 modcall: group accounting returns fail for request 4 Finished request 4 Going to the next request postgresql.conf accounting_stop_query = "UPDATE ${acct_table2} \ SET AcctStopTime = (now() - '%{Acct-Delay-Time:-0}'::interval), AcctSessionTime = '%{Acct-Session-Time}', \ AcctInputOctets = (('%{Acct-Input-Gigawords:-0}'::bigint << 32) + '%{Acct-Input-Octets:-0}'::bigint), \ AcctOutputOctets = (('%{Acct-Output-Gigawords:-0}'::bigint << 32) + '%{Acct-Output-Octets:-0}'::bigint), \ AcctTerminateCause = '%{Acct-Terminate-Cause}', AcctStopDelay = '%{Acct-Delay-Time:-0}', \ FramedIPAddress = NULLIF('%{Framed-IP-Address}', '')::inet, ConnectInfo_stop = '%{Connect-Info}' \ WHERE AcctSessionId = '%{Acct-Session-Id}' AND UserName = '%{SQL-User-Name}' \ AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStopTime IS NULL" accounting_stop_query_alt = "INSERT into ${acct_table2} \ (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStop$ AcctSessionTime, AcctAuthentic, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, Callin$ AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStopDelay) \ values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}$ '%{NAS-Port}', '%{NAS-Port-Type}', (now() - '%{Acct-Delay-Time:-0}'::interval - '%{Acct-Session-Time:-0}'::$ (now() - '%{Acct-Delay-Time:-0}'::interval), '%{Acct-Session-Time}', '%{Acct-Authentic}', '%{Connect-Info}',$ (('%{Acct-Input-Gigawords:-0}'::bigint << 32) + '%{Acct-Input-Octets:-0}'::bigint), \ (('%{Acct-Output-Gigawords:-0}'::bigint << 32) + '%{Acct-Output-Octets:-0}'::bigint), '%{Called-Station-Id}'$ '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', \ NULLIF('%{Framed-IP-Address}', '')::inet, '%{Acct-Delay-Time:-0}')" Any pointers would be appreciated, how should I change Gigawords to work properly? -Chebon - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html