Subversion Repositories ALCASAR

Rev

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

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