Subversion Repositories ALCASAR

Rev

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

Rev 2010 Rev 2069
1
#!/bin/sh
1
#!/bin/sh
2
 
2
 
3
# alcasar-conup.sh
3
# alcasar-conup.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 successfull login
7
# This script is launched after each successfull login
8
# Ce script est lancé à chaque connexion d'usager (authentification réussi)
8
# Ce script est lancé à chaque connexion d'usager (authentification réussi)
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-conup.txt
11
#echo "parse coova variables" > /tmp/debug-conup.txt
12
#echo `date` >> /tmp/debug-conup.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-conup.txt
15
#	echo "$i : ${!i}" >> /tmp/debug-conup.txt
15
#done
16
#done
-
 
17
 
16
ipset del not_auth_yet $FRAMED_IP_ADDRESS
18
ipset del not_auth_yet $FRAMED_IP_ADDRESS
17
 
19
 
18
 
20
 
19
# Add user to the SET (function of his filtering level)
21
# Add user to the SET (depending on FILTER_ID)
20
 
22
 
21
#12345678
23
#12345678
22
#1-> profile1
24
#1-> profile1
23
#2-> profile2
25
#2-> profile2
24
#3-> profile3
26
#3-> profile3
25
#4-> warn_user (if imputability report has been generated)
27
#4-> warn_user (if imputability report has been generated)
26
#6-> WL
28
#6-> WL
27
#7-> BL
29
#7-> BL
28
#8-> HAVP
30
#8-> HAVP
29
 
31
 
30
if [ ${FILTER_ID:7:1} -eq '1' ] #HAVP
32
if [ ${FILTER_ID:7:1} -eq '1' ] #HAVP
31
then 
33
then 
32
	set="havp"
34
	set="havp"
33
	if [ ${FILTER_ID:0:1} -eq '1' ]
35
	if [ ${FILTER_ID:0:1} -eq '1' ]
34
	then 
36
	then 
35
		set_proto="proto_1";
37
		set_proto="proto_1";
36
	fi
38
	fi
37
 
39
 
38
	if [ ${FILTER_ID:1:1} -eq '1' ]
40
	if [ ${FILTER_ID:1:1} -eq '1' ]
39
	then 
41
	then 
40
		set_proto="proto_2";
42
		set_proto="proto_2";
41
	fi
43
	fi
42
	
44
	
43
	if [ ${FILTER_ID:2:1} -eq '1' ]
45
	if [ ${FILTER_ID:2:1} -eq '1' ]
44
	then 
46
	then 
45
		set_proto="proto_3";
47
		set_proto="proto_3";
46
	fi
48
	fi
47
 
49
 
48
	if [ -z "$set_proto"  ]
50
	if [ -z "$set_proto"  ]
49
	then 
51
	then 
50
		set_proto="proto_0";
52
		set_proto="proto_0";
51
	fi
53
	fi
52
fi
54
fi
53
 
55
 
54
 
56
 
55
if [ ${FILTER_ID:6:1} -eq '1' ] #HAVP_BL
57
if [ ${FILTER_ID:6:1} -eq '1' ] #HAVP_BL
56
then 
58
then 
57
	set="havp_bl"
59
	set="havp_bl"
58
	if [ ${FILTER_ID:0:1} -eq '1' ]
60
	if [ ${FILTER_ID:0:1} -eq '1' ]
59
	then 
61
	then 
60
		set_proto="proto_1";
62
		set_proto="proto_1";
61
	fi
63
	fi
62
 
64
 
63
	if [ ${FILTER_ID:1:1} -eq '1' ]
65
	if [ ${FILTER_ID:1:1} -eq '1' ]
64
	then 
66
	then 
65
		set_proto="proto_2";
67
		set_proto="proto_2";
66
	fi
68
	fi
67
	
69
	
68
	if [ ${FILTER_ID:2:1} -eq '1' ]
70
	if [ ${FILTER_ID:2:1} -eq '1' ]
69
	then 
71
	then 
70
		set_proto="proto_3";
72
		set_proto="proto_3";
71
	fi
73
	fi
72
 
74
 
73
	if [ -z "$set_proto"  ]
75
	if [ -z "$set_proto"  ]
74
	then 
76
	then 
75
		set_proto="proto_0";
77
		set_proto="proto_0";
76
	fi
78
	fi
77
fi
79
fi
78
 
80
 
79
if [ ${FILTER_ID:5:1} -eq '1' ] #HAVP_WL
81
if [ ${FILTER_ID:5:1} -eq '1' ] #HAVP_WL
80
then 
82
then 
81
	set="havp_wl"
83
	set="havp_wl"
82
	if [ ${FILTER_ID:0:1} -eq '1' ]
84
	if [ ${FILTER_ID:0:1} -eq '1' ]
83
	then 
85
	then 
84
		set_proto="proto_1";
86
		set_proto="proto_1";
85
	fi
87
	fi
86
 
88
 
87
	if [ ${FILTER_ID:1:1} -eq '1' ]
89
	if [ ${FILTER_ID:1:1} -eq '1' ]
88
	then 
90
	then 
89
		set_proto="proto_2";
91
		set_proto="proto_2";
90
	fi
92
	fi
91
	
93
	
92
	if [ ${FILTER_ID:2:1} -eq '1' ]
94
	if [ ${FILTER_ID:2:1} -eq '1' ]
93
	then 
95
	then 
94
		set_proto="proto_3";
96
		set_proto="proto_3";
95
	fi
97
	fi
96
 
98
 
97
	if [ -z "$set_proto"  ]
99
	if [ -z "$set_proto"  ]
98
	then 
100
	then 
99
		set_proto="proto_0";
101
		set_proto="proto_0";
100
	fi
102
	fi
101
fi
103
fi
102
 
104
 
103
 
105
 
104
 
106
 
105
if [ -z "$set"  ] #NOT_FILTERED
107
if [ -z "$set"  ] #NOT_FILTERED
106
then 
108
then 
107
	set="not_filtered"
109
	set="not_filtered"
108
	if [ ${FILTER_ID:0:1} -eq '1' ]
110
	if [ ${FILTER_ID:0:1} -eq '1' ]
109
	then 
111
	then 
110
		set_proto="proto_1";
112
		set_proto="proto_1";
111
	fi
113
	fi
112
 
114
 
113
	if [ ${FILTER_ID:1:1} -eq '1' ]
115
	if [ ${FILTER_ID:1:1} -eq '1' ]
114
	then 
116
	then 
115
		set_proto="proto_2";
117
		set_proto="proto_2";
116
	fi
118
	fi
117
	
119
	
118
	if [ ${FILTER_ID:2:1} -eq '1' ]
120
	if [ ${FILTER_ID:2:1} -eq '1' ]
119
	then 
121
	then 
120
		set_proto="proto_3";
122
		set_proto="proto_3";
121
	fi
123
	fi
122
 
124
 
123
	if [ -z "$set_proto"  ]
125
	if [ -z "$set_proto"  ]
124
	then 
126
	then 
125
		set_proto="proto_0";
127
		set_proto="proto_0";
126
	fi
128
	fi
127
fi
129
fi
128
 
130
 
129
 
131
 
130
ipset add $set $FRAMED_IP_ADDRESS
132
ipset add $set $FRAMED_IP_ADDRESS
131
ipset add $set_proto $FRAMED_IP_ADDRESS
133
ipset add $set_proto $FRAMED_IP_ADDRESS
132
 
134