Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[defect]: AcctSessionTime will be reset when the device disconnect Wi-Fi and reconnect Wi-Fi #5278

Open
vincentchan-930760398456 opened this issue Jan 25, 2024 · 1 comment
Labels
defect category: a defect or misbehaviour

Comments

@vincentchan-930760398456

What type of defect/bug is this?

Unexpected behaviour (obvious or verified by project member)

How can the issue be reproduced?

For my case,
Use Ruckus Access-Point with Wireless Controller.
Broadcast a Hotspot SSID with captive portal (landing page), point the authentication and accounting to a Ubuntu 22.04.3 Linux server installed FreeRadius 3.0.26 and MySQL 8.0.35.
My captive portal is in the same server.
My Ruckus Wireless Controller is set to periodically send accounting update to the radius accounting server every 10 minutes.

First, Use laptop connect SSID and then the landing page show.
Next, click the accept button in landing page.
Then, waiting the response from web server and then the web page jump to an website which is set in the Ruckus Wireless Controller, such as google.com
Then, the laptop can go to Internet.
Then, wait 10 mins for the radius accounting update from Wireless Controller to the FreeRadius server.
After update, the mysql database radius.radacct table show that the acctsessiontime is 600 which is 600 seconds = 10 mins.
After update, turn off the Wi-Fi on the laptop.
Then, wait 1 minute.
Then, turn on the Wi-Fi on the laptop.
Then, use laptop connect SSID and login the landing page again.
Then, the acctsessiontime is reset to less than 600.
I have a workaround solution for that.
Remove the "UNIQUE KEY acctuniqueid (acctuniqueid)" in the radius.radacct table
Edit /etc/freeradius/3.0/mods-config/sql/main/mysql/queries.conf file
Revise all queries with condition of AcctUniqueId as below.
From:
WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}'
To:
WHERE AcctUniqueId = '%{Acct-Unique-Session-Id}' and radacctid = (select * from (select max(radacctid) from ${....acct_table2} where AcctUniqueId = '%{Acct-Unique-Session-Id}') as a)"
Restart FreeRadius service

Log output from the FreeRADIUS daemon

no

Relevant log output from client utilities

no

Backtrace from LLDB or GDB

no
@vincentchan-930760398456 vincentchan-930760398456 added the defect category: a defect or misbehaviour label Jan 25, 2024
@alandekok
Copy link
Member

There is unsufficient information here for us to do anything.

When you opened this issue, the default template had explicit instructions on what to do, and what information we need. Please give us the information which was already requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
defect category: a defect or misbehaviour
Projects
None yet
Development

No branches or pull requests

2 participants