]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/scripts/captive-cleanup
Captive-Portal: redesign Webinterface
[people/pmueller/ipfire-2.x.git] / src / scripts / captive-cleanup
CommitLineData
4d900227
AM
1#!/usr/bin/perl
2###############################################################################
3# #
4# IPFire.org - A linux based firewall #
5# Copyright (C) 2016 IPFire Team <alexander.marx@ipfire.org> #
6# #
7# This program is free software: you can redistribute it and/or modify #
8# it under the terms of the GNU General Public License as published by #
9# the Free Software Foundation, either version 3 of the License, or #
10# (at your option) any later version. #
11# #
12# This program is distributed in the hope that it will be useful, #
13# but WITHOUT ANY WARRANTY; without even the implied warranty of #
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15# GNU General Public License for more details. #
16# #
17# You should have received a copy of the GNU General Public License #
18# along with this program. If not, see <http://www.gnu.org/licenses/>. #
19# #
20###############################################################################
21
22use strict;
23
24require '/var/ipfire/general-functions.pl';
25
26my %settings=();
27my %clientshash=();
28my $settingsfile="${General::swroot}/captive/settings";
29my $clients="${General::swroot}/captive/clients";
30my $time;
31my $expiretime;
32
33if (-f $settingsfile && -f $clients && ! -z $clients){
34 &General::readhash("$settingsfile", \%settings) if(-f $settingsfile);
35 &General::readhasharray("$clients", \%clientshash);
36 $time = time();
37 foreach my $key (keys %clientshash) {
e01c5ab7 38 $expiretime=($clientshash{$key}[2])+$clientshash{$key}[3];
4d900227
AM
39 if ($expiretime < $time){
40 delete $clientshash{key};
41 }
42 }
43}