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

Reply via email to