Subversion Repositories ALCASAR

Rev

Rev 2068 | Rev 2079 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2068 Rev 2069
1
#!/bin/sh
1
#!/bin/sh
2
 
2
 
3
# alcasar-condown.sh
3
# alcasar-condown.sh
4
# by Rexy
4
# by Rexy
5
# This script is distributed under the Gnu General Public License (GPL)
5
# This script is distributed under the Gnu General Public License (GPL)
6
 
6
 
7
# This script is launched after each logout
7
# This script is launched after each logout
8
# Ce script est lancé à chaque déconnexion d'usager
8
# Ce script est lancé à chaque déconnexion d'usager
9
 
9
 
10
# Debug : show all the coova parse variables. There are declared in /src/chilli.c
10
# Debug : show all the coova parse variables. There are declared in /src/chilli.c
-
 
11
#echo "------------------------------------------------------------" >> /tmp/debug-condown.txt
11
#echo "parse coova variables" > /tmp/debug-conup.txt
12
#echo `date` >> /tmp/debug-condown.txt
12
#for i in LAYER3 DEV NET MASK ADDR USER_NAME NAS_IP_ADDRESS SERVICE_TYPE FRAMED_IP_ADDRESS FILTER_ID STATE CLASS CUI SESSION_TIMEOUT IDLE_TIMEOUT CALLING_STATION_ID CALLED_STATION_ID NAS_ID NAS_PORT_TYPE ACCT_SESSION_ID ACCT_INTERIM_INTERVAL WISPR_LOCATION_ID WISPR_LOCATION_NAME WISPR_BANDWIDTH_MAX_UP WISPR_BANDWIDTH_MAX_DOWN WISPR-SESSION_TERMINATE_TIME CHILLISPOT_MAX_INPUT_OCTETS CHILLISPOT_MAX_OUTPUT_OCTETS CHILLISPOT_MAX_TOTAL_OCTETS INPUT_OCTETS OUTPUT_OCTETS SESSION_TIME IDLE_TIME LOCATION OLD_LOCATION TERMINATE_CAUSE
13
#for i in LAYER3 DEV NET MASK ADDR USER_NAME NAS_IP_ADDRESS SERVICE_TYPE FRAMED_IP_ADDRESS FILTER_ID STATE CLASS CUI SESSION_TIMEOUT IDLE_TIMEOUT CALLING_STATION_ID CALLED_STATION_ID NAS_ID NAS_PORT_TYPE ACCT_SESSION_ID ACCT_INTERIM_INTERVAL WISPR_LOCATION_ID WISPR_LOCATION_NAME WISPR_BANDWIDTH_MAX_UP WISPR_BANDWIDTH_MAX_DOWN WISPR-SESSION_TERMINATE_TIME CHILLISPOT_MAX_INPUT_OCTETS CHILLISPOT_MAX_OUTPUT_OCTETS CHILLISPOT_MAX_TOTAL_OCTETS INPUT_OCTETS OUTPUT_OCTETS SESSION_TIME IDLE_TIME LOCATION OLD_LOCATION TERMINATE_CAUSE
13
#do
14
#do
14
#	echo "$i : ${!i}" >> /tmp/debug-condown.txt
15
#	echo "$i : ${!i}" >> /tmp/debug-condown.txt
15
#done
16
#done
16
 
17
 
17
# Remove user from the SET (function of his filtering level)
18
# Remove user from his IPSET (depending on FILTER_ID)
18
 
19
 
19
#12345678
20
#12345678
20
#1-> profile1
21
#1-> profile1
21
#2-> profile2
22
#2-> profile2
22
#3-> profile3
23
#3-> profile3
23
#6-> WL
24
#6-> WL
24
#7-> BL
25
#7-> BL
25
#8-> HAVP
26
#8-> HAVP
26
 
27
 
27
if [ ${FILTER_ID:7:1} -eq '1' ] #HAVP
28
if [ ${FILTER_ID:7:1} -eq '1' ] #HAVP
28
then 
29
then 
29
	set="havp"
30
	set="havp"
30
	if [ ${FILTER_ID:0:1} -eq '1' ]
31
	if [ ${FILTER_ID:0:1} -eq '1' ]
31
	then 
32
	then 
32
		set_proto="proto_1";
33
		set_proto="proto_1";
33
	fi
34
	fi
34
 
35
 
35
	if [ ${FILTER_ID:1:1} -eq '1' ]
36
	if [ ${FILTER_ID:1:1} -eq '1' ]
36
	then 
37
	then 
37
		set_proto="proto_2";
38
		set_proto="proto_2";
38
	fi
39
	fi
39
	
40
	
40
	if [ ${FILTER_ID:2:1} -eq '1' ]
41
	if [ ${FILTER_ID:2:1} -eq '1' ]
41
	then 
42
	then 
42
		set_proto="proto_3";
43
		set_proto="proto_3";
43
	fi
44
	fi
44
 
45
 
45
	if [ -z "$set_proto"  ]
46
	if [ -z "$set_proto"  ]
46
	then 
47
	then 
47
		set_proto="proto_0";
48
		set_proto="proto_0";
48
	fi
49
	fi
49
fi
50
fi
50
 
51
 
51
if [ ${FILTER_ID:6:1} -eq '1' ] #HAVP_BL
52
if [ ${FILTER_ID:6:1} -eq '1' ] #HAVP_BL
52
then 
53
then 
53
	set="havp_bl"
54
	set="havp_bl"
54
	if [ ${FILTER_ID:0:1} -eq '1' ]
55
	if [ ${FILTER_ID:0:1} -eq '1' ]
55
	then 
56
	then 
56
		set_proto="proto_1";
57
		set_proto="proto_1";
57
	fi
58
	fi
58
 
59
 
59
	if [ ${FILTER_ID:1:1} -eq '1' ]
60
	if [ ${FILTER_ID:1:1} -eq '1' ]
60
	then 
61
	then 
61
		set_proto="proto_2";
62
		set_proto="proto_2";
62
	fi
63
	fi
63
	
64
	
64
	if [ ${FILTER_ID:2:1} -eq '1' ]
65
	if [ ${FILTER_ID:2:1} -eq '1' ]
65
	then 
66
	then 
66
		set_proto="proto_3";
67
		set_proto="proto_3";
67
	fi
68
	fi
68
 
69
 
69
	if [ -z "$set_proto"  ]
70
	if [ -z "$set_proto"  ]
70
	then 
71
	then 
71
		set_proto="proto_0";
72
		set_proto="proto_0";
72
	fi
73
	fi
73
fi
74
fi
74
 
75
 
75
if [ ${FILTER_ID:5:1} -eq '1' ] #HAVP_WL
76
if [ ${FILTER_ID:5:1} -eq '1' ] #HAVP_WL
76
then 
77
then 
77
	set="havp_wl"
78
	set="havp_wl"
78
	if [ ${FILTER_ID:0:1} -eq '1' ]
79
	if [ ${FILTER_ID:0:1} -eq '1' ]
79
	then 
80
	then 
80
		set_proto="proto_1";
81
		set_proto="proto_1";
81
	fi
82
	fi
82
 
83
 
83
	if [ ${FILTER_ID:1:1} -eq '1' ]
84
	if [ ${FILTER_ID:1:1} -eq '1' ]
84
	then 
85
	then 
85
		set_proto="proto_2";
86
		set_proto="proto_2";
86
	fi
87
	fi
87
	
88
	
88
	if [ ${FILTER_ID:2:1} -eq '1' ]
89
	if [ ${FILTER_ID:2:1} -eq '1' ]
89
	then 
90
	then 
90
		set_proto="proto_3";
91
		set_proto="proto_3";
91
	fi
92
	fi
92
 
93
 
93
	if [ -z "$set_proto"  ]
94
	if [ -z "$set_proto"  ]
94
	then 
95
	then 
95
		set_proto="proto_0";
96
		set_proto="proto_0";
96
	fi
97
	fi
97
fi
98
fi
98
 
99
 
99
 
100
 
100
 
101
 
101
if [ -z "$set"  ] #NOT_FILTERED
102
if [ -z "$set"  ] #NOT_FILTERED
102
then 
103
then 
103
	set="not_filtered"
104
	set="not_filtered"
104
	if [ ${FILTER_ID:0:1} -eq '1' ]
105
	if [ ${FILTER_ID:0:1} -eq '1' ]
105
	then 
106
	then 
106
		set_proto="proto_1";
107
		set_proto="proto_1";
107
	fi
108
	fi
108
 
109
 
109
	if [ ${FILTER_ID:1:1} -eq '1' ]
110
	if [ ${FILTER_ID:1:1} -eq '1' ]
110
	then 
111
	then 
111
		set_proto="proto_2";
112
		set_proto="proto_2";
112
	fi
113
	fi
113
	
114
	
114
	if [ ${FILTER_ID:2:1} -eq '1' ]
115
	if [ ${FILTER_ID:2:1} -eq '1' ]
115
	then 
116
	then 
116
		set_proto="proto_3";
117
		set_proto="proto_3";
117
	fi
118
	fi
118
 
119
 
119
	if [ -z "$set_proto"  ]
120
	if [ -z "$set_proto"  ]
120
	then 
121
	then 
121
		set_proto="proto_0";
122
		set_proto="proto_0";
122
	fi
123
	fi
123
fi
124
fi
124
 
125
 
125
 
126
 
126
ipset del $set $FRAMED_IP_ADDRESS
127
ipset del $set $FRAMED_IP_ADDRESS
127
ipset del $set_proto $FRAMED_IP_ADDRESS
128
ipset del $set_proto $FRAMED_IP_ADDRESS
128
 
129