2016-08-11 - Re: Power Off and User Re-Login

Header Data

From: Hotspotuser <jo***s@algardata.pt>
Message Hash: 0dbff5e1f170169dd959e2aa2cea91343e60bff57a48f56201f969d47991ab7a
Message ID: <29256f5f-631c-4037-86c4-deb336f9b6b6@grasehotspot.org>
Reply To: <6140675f-5fdf-4152-9092-49217bb98bc0@grasehotspot.org>
UTC Datetime: 2016-08-11 02:00:13 UTC
Raw Date: Thu, 11 Aug 2016 02:00:13 -0700

Raw message

Your best option, at least it's what i recomend is:

Capture in PHP the output of this linux command, which gives you the users 
that are currently connected to your hotspot but have not yet login in 
(after you reboot/power-on):

chilli_query list | grep "dnat" | awk '{print $1}'

Then query your radius radacct database table to get the sessions that where not closed by the hotspot:


SELECT CallingStationId, UserName, FramedIpAddress, AcctStopTime FROM radius.radacct WHERE UserName != 'CoovaChilli' and AcctStopTime is null Group BY CallingStationId

This will list of all the hotspot logins that had no StopTime, which usually means the hotspot rebooted without shutting down. When you issue the shutdown command freeradius closes all the active sessions.

You can change the query to get for instance the sessions that were created in the last day. Change the query as needed.


Cross that list of MAC addresses with the one you got from the chilli_query and for each match run the command:


chilli_query authorize mac *XX**-XX-XX-XX-XX-**XX* username *USERNAME*

Replacing *XX-XX-XX-XX-XX-**XX* and *USERNAME* with the values you got from the chilli_query.


All connected users with data/time available will automatically connect, without user intervension. All that are already expired will still be logged out.


Note that im using the *MAC *parameter instead of *IP *on the chilli_query authorize.


This is what i use in our solution, and i call this script at every hotspot boot, you can off course have a link on your hotspot solution to run this PHP Script manually.



quarta-feira, 10 de Agosto de 2016 às 19:16:44 UTC+1, Eliot Ness escreveu:
>
> I cant make it work, i see the example
>
> # chilli_query list
>        00:0D:XX:XX:XX:XX 10.1.0.3 dnat 46c83f70000 0 - 0/0 0/0 http://url.com
>        # chilli_query authorize ip 10.1.0.3 sessiontimeout 60 username me
>        # chilli_query list
>        00:0D:XX:XX:XX:XX 10.1.0.3 pass 46c83f70000 1 me 2/0 2/0 http://url.com
>        # chilli_query logout 00:0D:XX:XX:XX:XX
>
> Need an extra routine or something else
>
>
>
> On Thursday, June 2, 2016 at 9:40:51 AM UTC+3, Eliot Ness wrote:
>>
>> At least one Pi2 comes yesterday in my hands, and ....grase run again.
>> Detailed tutorial steps install on next days.
>>
>> As simple question : On power off or reboot, user have login again, 
>> except if admin store mac adr.
>>
>> Is there any way on grase to remember users after reboot ? So no need 
>> user to login again....
>>
>> Anyone?
>>
>

Thread