v4 rlm_sql timestamp error

Arran Cudbard-Bell a.cudbardb at freeradius.org
Tue Apr 24 00:30:15 CEST 2018



> On Apr 24, 2018, at 9:48 AM, Jeremy Tribby <jeremy at tribby.com> wrote:
> 
> Hello,
> 
> I've recently been using the v4 branch of FreeRADIUS (compiled from Github
> source) to take advantage of PBKDF2 support. I have OpenVPN connections
> hitting RADIUS and I'm not sure that an event timestamp is being sent, so
> I'm getting the following error:
> 
> 
> (1)    sql - EXPAND INSERT INTO radacct (acctsessionid, acctuniqueid,
> username, realm, nasipaddress, nasportid, nasporttype, acctstarttime,
> acctupdatetime, acctstoptime, acctsessiontime,  acctauthentic,
> connectinfo_start,connectinfo_stop,  acctinputoctets, acctoutputoctets,
> calledstationid,  callingstationid, acctterminatecause, servicetype,
> framedprotocol, framedipaddress) VALUES ('%{Acct-Session-Id}',
> '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}',
> '%{NAS-IP-Address}', '%{%{NAS-Port-ID}:-%{NAS-Port}}', '%{NAS-Port-Type}',
> FROM_UNIXTIME(%{integer:Event-Timestamp}),
> FROM_UNIXTIME(%{integer:Event-Timestamp}), NULL, '0', '%{Acct-Authentic}',
> '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}',
> '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}',
> '%{Framed-IP-Address}')
> 
> (1)    sql - --> INSERT INTO radacct (acctsessionid, acctuniqueid,
> username, realm, nasipaddress, nasportid, nasporttype, acctstarttime,
> acctupdatetime, acctstoptime, acctsessiontime,  acctauthentic,
> connectinfo_start,connectinfo_stop,  acctinputoctets, acctoutputoctets,
> calledstationid,  callingstationid, acctterminatecause, servicetype,
> framedprotocol, framedipaddress) VALUES
> ('D3832A451A13ECAA9A3A2075A14A00A8', '7d5e5e76b4d65da7fedea40618fd435a',
> 'testuser', '', '127.0.0.1', '1', 'Virtual', FROM_UNIXTIME(),
> FROM_UNIXTIME(), NULL, '0', '', '', '', '0', '0', '', '73.92.174.103', '',
> 'Outbound-User', 'PPP', '10.8.0.2')
> 
> (1)    sql - Executing query: INSERT INTO radacct (acctsessionid,
> acctuniqueid, username, realm, nasipaddress, nasportid, nasporttype,
> acctstarttime, acctupdatetime, acctstoptime, acctsessiontime,
> acctauthentic, connectinfo_start, connectinfo_stop,  acctinputoctets,
> acctoutputoctets, calledstationid,  callingstationid, acctterminatecause,
> servicetype, framedprotocol, framedipaddress) VALUES
> ('D3832A451A13ECAA9A3A2075A14A00A8', '7d5e5e76b4d65da7fedea40618fd435a',
> 'testuser', '', '127.0.0.1', '1', 'Virtual', FROM_UNIXTIME(),
> FROM_UNIXTIME(), NULL, '0', '', '', '', '0', '0', '', '73.92.174.103', '',
> 'Outbound-User', 'PPP', '10.8.0.2')
> 
> (1)    sql - ERROR: rlm_sql_mysql: ERROR 1582 (Incorrect parameter count in
> the call to native function 'FROM_UNIXTIME'): 42000
> 
> 
> 
> I saw an answer to a similar question a few years ago on the mailing list
> -- 
> http://lists.freeradius.org/pipermail/freeradius-users/2015-September/079524.html
> 
> But the `preprocess` plugin is not available for v4 as far as I can tell,
> and I'm not sure where I would put this bit of code referenced, if it's
> even still compatible with v4 (I've tried a few places):
> 
> 
> if (!Event-Timestamp) {
>    update request {
>        Event-Timestamp := "%l"
>    }
> }

That should still work, and you'd put that config snippet it at the top of recv Accounting-Request.

We should probably add something to proto_radius to set that automatically, maybe with a toggle to disable it if people really don't want it.

-Arran


More information about the Freeradius-Devel mailing list