Subversion Repositories ALCASAR

Rev

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

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