2016-09-13 - Re: [GRASE-Hotspot] Re: Power Off and User Re-Login

Header Data

From: Hotspotuser <jo***s@algardata.pt>
Message Hash: 5933fcd1d77d7d3fb649a26f35ad1f1e4febc9010d4bee05033cc2861c3b69cf
Message ID: <682b43ab-fcec-4a04-ad24-db1030fa1bbb@grasehotspot.org>
Reply To: <CAESLx0+Cfprf_qnrKK0nj86-xNeY1S=DGFFLLnOxDUVMivRW_g@mail.gmail.com>
UTC Datetime: 2016-09-13 01:42:44 UTC
Raw Date: Tue, 13 Sep 2016 01:42:44 -0700

Raw message

Yes... we only use this script on UNCLEAN power off... As a matter of fact, 
we have it on a cronjob, to give time for devices to reconnect to the wifi. 
Until now, it has been working great (with "AcctStopTime is null") but you 
can change have it also the way Tim mentions.

sábado, 10 de Setembro de 2016 às 11:33:17 UTC+1, timwhite88 escreveu:
>
> Just an observation:
>
> ... WHERE UserName != 'CoovaChilli' and AcctStopTime is null ...
> After a reboot, you shouldn't have any session with AcctStopTime as null 
> unless they are new sessions. The reason is that when Freeradius is cleanly 
> shutdown, it ends all sessions. You should see the session stop reason as 
> one of the reasons listed at 
> http://www.juniper.net/techpubs/en_US/junos16.1/topics/concept/radius-terminate-code-app-terminate-reasons-mapping.html 
> <http://www.google.com/url?q=http%3A%2F%2Fwww.juniper.net%2Ftechpubs%2Fen_US%2Fjunos16.1%2Ftopics%2Fconcept%2Fradius-terminate-code-app-terminate-reasons-mapping.html&sa=D&sntz=1&usg=AFQjCNHStVl6EfNur4iHdMAYn_kB4wQ8sA>. 
> I believe it'll be "Admin Reboot" or "NAS Reboot". So you'd want to look 
> for sessions that have recently ended with a stop reason like that.
>
> Not sure why this script was working for other people, but in my 
> experience the only reason you'd have a Null AcctStopTime after a reboot 
> would be an unclean shutdown.
>
> Regards
>
> Tim
>
> On Fri, Sep 9, 2016 at 11:11 PM, 'Eliot Ness' via Grase Hotspot <
> gr***.@grasehotspot.org <javascript:>> wrote:
>
>> Let's have a detailed review :
>>
>> <?php
>>  
>>  # GET ALL DEVICES CONNECTED TO HOTSPOT WITHOUT LOGIN
>>  $result = str_replace("\n", "|", trim(shell_exec("sudo chilli_query list 
>> | grep 'dnat' | awk '{print $1}'")));
>>  $macs_connected = explode("|",$result);
>>  echo "<h1>Connected devices without login</h1>";
>>  echo "<pre>";
>>  print_r($macs_connected);
>>  echo "</pre>";
>>  
>>  # GET ALL UNCLOSED SESSIONS FROM DATABASE THAT MATCH THE CURRENTLY 
>> CONNECTED DEVICES WITHOUT LOGIN
>>  $link = mysqli_connect("127.0.0.1", "root", "password", "radius");
>>  $query = "SELECT CallingStationId, UserName, FramedIpAddress, 
>> AcctStopTime FROM radius.radacct WHERE UserName != 'CoovaChilli' and 
>> AcctStopTime is null and CallingStationId in 
>> ('".implode("','",$macs_connected)."') Group BY CallingStationId ORDER by 
>> RadAcctId DESC";
>>  if ($result = $link->query($query))
>>  {
>>     $loggedin = array();
>>     while ($device= $result->fetch_assoc()) {
>>         shell_exec("sudo chilli_query authorize mac 
>> ".$device['CallingStationId']." username ".$device['UserName']);
>>         $loggedin[]=$row['CallingStationId'];
>>     }
>>     $result->free();
>>     echo "<h1>Devices we auto-logged in</h1>";
>>     var_dump($loggedin);
>>  }
>>  mysqli_close($link);
>> ?>
>>
>> The above script seems that running ok.
>> I cant run with wget, but i test it on var/www/html and call it via web 
>> browser.
>>
>> So if i call it on http://grase-ip/reconnect.php  results are ( where xx 
>> is the device mac address )
>>
>> Connected devices without login
>>
>> Array
>> (
>>     [0] => xx-xx-xx-xx-xx-xx  
>> )
>>
>> Devices we auto-logged in
>> array(0) { } 
>>
>> So on reboot it does not reconnect any device and result is
>> Devices we auto-logged in
>> array(0) { } 
>>
>> This script need an extra param to re-auth users....but i dont know what.
>> Any php expert can help?
>>
>> 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?
>>>
>> -- 
>> This mailing list is for the Grase Hotspot Project 
>> http://grasehotspot.org
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Grase Hotspot" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to gr***.@grasehotspot.org <javascript:>.
>> To post to this group, send email to gr***.@grasehotspot.org 
>> <javascript:>.
>> Visit this group at 
>> https://groups.google.com/a/grasehotspot.org/group/grase-hotspot/.
>> To view this discussion on the web visit 
>> https://groups.google.com/a/grasehotspot.org/d/msgid/grase-hotspot/8a5dc0cf-a32a-4c4f-8df8-9ceadbc21922%40grasehotspot.org 
>> <https://groups.google.com/a/grasehotspot.org/d/msgid/grase-hotspot/8a5dc0cf-a32a-4c4f-8df8-9ceadbc21922%40grasehotspot.org?utm_medium=email&utm_source=footer>
>> .
>>
>
>

Thread