1 |
diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/etc/e-smith/web/functions/smeadmin smeserver-smeadmin-1.6/root/etc/e-smith/web/functions/smeadmin |
2 |
--- smeserver-smeadmin-1.6.old/root/etc/e-smith/web/functions/smeadmin 2024-05-19 22:52:30.397000000 -0400 |
3 |
+++ smeserver-smeadmin-1.6/root/etc/e-smith/web/functions/smeadmin 2024-05-19 22:53:29.702000000 -0400 |
4 |
@@ -1170,7 +1170,7 @@ |
5 |
sub showPppoe |
6 |
{ |
7 |
# get first db entry |
8 |
-my $requete="SELECT substr(debut,1,4), substr(debut,6,2) FROM pppoe ORDER BY debut ASC LIMIT 1"; |
9 |
+my $requete="SELECT substr(debut,1,4), substr(debut,6,2) FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut ASC LIMIT 1"; |
10 |
|
11 |
#connexion a la base de donnees mySQL |
12 |
connectBD(); |
13 |
@@ -1180,7 +1180,7 @@ |
14 |
|
15 |
my @debut = $rq->fetchrow_array(); |
16 |
# get first db entry |
17 |
-my $requete_DESC="SELECT substr(fin,1,4), substr(fin,6,2) FROM pppoe ORDER BY debut DESC LIMIT 1"; |
18 |
+my $requete_DESC="SELECT substr(fin,1,4), substr(fin,6,2) FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut DESC LIMIT 1"; |
19 |
|
20 |
#connexion a la base de donnees mySQL |
21 |
connectBD(); |
22 |
@@ -1189,6 +1189,7 @@ |
23 |
$rq_DESC->execute or print $q->p(sprintf(gettext("MySQL error : Can't execute query : %s\n"),$rq_DESC->errstr)); |
24 |
|
25 |
my @fin = $rq_DESC->fetchrow_array(); |
26 |
+ #$debut[1] -- if ($debut[1] == $fin[1]); |
27 |
|
28 |
my $end_yymm = $debut[0].$debut[1]; |
29 |
my $yymm = $fin[0].$fin[1]; |
30 |
@@ -1208,9 +1209,9 @@ |
31 |
print $q->th(gettext("OUT (GB)")); |
32 |
print $q->th(gettext("TOTAL (GB)")); |
33 |
$q->end_Tr; |
34 |
- |
35 |
- while ($end_yymm < $yymm) { |
36 |
- |
37 |
+ my $nblines = 0; |
38 |
+ while ($end_yymm < $yymm || $nblines < 1) { |
39 |
+ $nblines =1; |
40 |
if ($startMonth eq '12') { |
41 |
$endMonth = 1; |
42 |
$endYear = $startYear + 1; |
43 |
@@ -1233,9 +1234,9 @@ |
44 |
# print "**$end_yymm<br>\n"; |
45 |
|
46 |
$requete="SELECT substring(`fin`,1,7) as 'month', |
47 |
-round(SUM(`volume_in`)/1024/1024/1024,3) as 'In (Go)' , |
48 |
-round(SUM(`volume_out`) /1024/1024/1024,3) as 'Out (Go)' , |
49 |
-round(SUM(`volume_in` + `volume_out`)/1024/1024/1024,3) as 'Total (Go)' , |
50 |
+round(SUM(`volume_in`)/1000/1000/1000,3) as 'In (Go)' , |
51 |
+round(SUM(`volume_out`) /1000/1000/1000,3) as 'Out (Go)' , |
52 |
+round(SUM(`volume_in` + `volume_out`)/1000/1000/1000,3) as 'Total (Go)' , |
53 |
SUM(TIME_TO_SEC(`duree`))/3600/24 as 'duree' |
54 |
FROM `pppoe` WHERE |
55 |
# mois |
56 |
@@ -1275,10 +1276,10 @@ |
57 |
[gettext("Duration"),], |
58 |
[gettext("IP Address"),sub { return ipnum2ipdot(@_); } ], |
59 |
[gettext("Connection peer"),sub { return ipnum2ipdot(@_); } ], |
60 |
- [gettext("Incoming data (Ko)"),sub {return sprintf('%.2f',$_[0]/1024);}], |
61 |
- [gettext("Outgoing data (ko)"),sub {return sprintf('%.2f',$_[0]/1024);}] |
62 |
+ [gettext("Incoming data (MB)"),sub {return sprintf('%.2f',$_[0]/1000/1000);}], |
63 |
+ [gettext("Outgoing data (MB)"),sub {return sprintf('%.2f',$_[0]/1000/1000);}] |
64 |
], |
65 |
- \"SELECT debut,fin,duree,ip,peer,volume_in,volume_out FROM pppoe ORDER BY debut DESC", |
66 |
+ \"SELECT debut,fin,duree,ip,peer,volume_in,volume_out,fin-debut as 'encours' FROM pppoe WHERE debut >= CURDATE() - INTERVAL 24 MONTH ORDER BY debut DESC", |
67 |
\gettext("Detailed list of ADSL/PPPoE connections.\n")); |
68 |
} |
69 |
#---------------------------------------------------------------- |
70 |
@@ -1425,9 +1426,17 @@ |
71 |
print $q->Tr($q->td({bgcolor=>"#9999FF",colspan=>"7"},sprintf(gettext("Disconnection lasted more than %s minutes"),$params{'LimitPppoeDisconnect'}))) if (($rq2->fetchrow_array)[0] eq '1'); |
72 |
|
73 |
#on match le nb d'heure de la duree cnx |
74 |
- $ligne[2]=~/(\d{2}):\d{2}:\d{2}/; |
75 |
+ my $curdur; |
76 |
+ if ($ligne[2]) { |
77 |
+ # ended connection |
78 |
+ $ligne[2]=~/(\d{2}):\d{2}:\d{2}/; |
79 |
+ $curdur=$1; |
80 |
+ }else{ |
81 |
+ # ongoing connection |
82 |
+ $curdur=$ligne[7]/3600; |
83 |
+ } |
84 |
#si le nb d'heure < limite et different de null, surbrillance |
85 |
- print $q->start_Tr({bgcolor=>((($1 < $params{'LimitPppoeDuration'}) && ($1 ne ''))?"#FF4444":"#FFFFFF")}); |
86 |
+ print $q->start_Tr({bgcolor=>((($curdur < $params{'LimitPppoeDuration'}) && ($1 ne ''))?"#FF4444":"#FFFFFF")}); |
87 |
} |
88 |
elsif ($q->param('service') eq 'sshd') |
89 |
{ |
90 |
diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/bin/smeadmind smeserver-smeadmin-1.6/root/usr/bin/smeadmind |
91 |
--- smeserver-smeadmin-1.6.old/root/usr/bin/smeadmind 2024-05-19 22:52:30.390000000 -0400 |
92 |
+++ smeserver-smeadmin-1.6/root/usr/bin/smeadmind 2024-05-19 22:53:06.837000000 -0400 |
93 |
@@ -497,7 +497,8 @@ |
94 |
if ($ppoeif ne 'none' && $ppoemode eq 'pppoe') { |
95 |
|
96 |
my $recBytes=`cat /proc/net/dev|grep $ppoeif|cut -d ':' -f2|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d ' ' -f1`; |
97 |
- my $senBytes=`cat /proc/net/dev|grep $ppoeif|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d " " -f9`; |
98 |
+ #my $senBytes=`cat /proc/net/dev|grep $ppoeif|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d " " -f9`; |
99 |
+ my $senBytes=`cat /proc/net/dev|grep ppp0|cut -d ':' -f2|tr -s ' '| sed -e 's/^[ \t]*//'|cut -d ' ' -f9`; |
100 |
|
101 |
#my $requete="SELECT pid_pppd FROM pppoe WHERE ORDER DESC LIMIT 1"; |
102 |
#my $rq=$bd->prepare($requete) or print $q->p(sprintf(gettext("MySQL error : Impossible to prepare SQL query \"%s\" : %s\n"),$requete,$bd->errstr)); |
103 |
@@ -904,7 +905,8 @@ |
104 |
#Jul 14 12:49:58 sas pppd[1878]: rcvd [IPCP ConfAck id=0x2 <addr 213.41.134.153>] |
105 |
#Match: date hostname pppd[pid]: rcvd [IPCP ConfAck id=0xxx? <addr ip>] |
106 |
#if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o) |
107 |
- if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o) { |
108 |
+ #if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: rcvd \[IPCP ConfAck id=0x\w+ <addr (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})>\]/o) { |
109 |
+ if($l =~ /(\w{3}\s{1,2}\d{1,2} [0-9:]{8}) $SystemName pppd\[(\d+)\]: local IP address (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/o) { |
110 |
#$1: date $2:pid $3.$4.$5.$6:ip |
111 |
my $date=mkmysqldate($1); |
112 |
my $ip=ipdot2ipnum($3,$4,$5,$6); |
113 |
diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables.sql smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables.sql |
114 |
--- smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables.sql 2020-10-15 07:31:28.000000000 -0400 |
115 |
+++ smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables.sql 2024-05-19 22:55:48.248000000 -0400 |
116 |
@@ -28,8 +28,8 @@ |
117 |
fin datetime, |
118 |
pid_afpd int unsigned not null, |
119 |
login varchar(10), |
120 |
- volume_read int(20) unsigned, |
121 |
- volume_write int(20) unsigned, |
122 |
+ volume_read bigint(20) unsigned, |
123 |
+ volume_write bigint(20) unsigned, |
124 |
primary key (debut) ); |
125 |
|
126 |
-- Structure de la table dchpd |
127 |
@@ -52,8 +52,8 @@ |
128 |
pid_proftpd int unsigned not null, |
129 |
login varchar(10), |
130 |
connecte bool, |
131 |
- volume_in int(20) unsigned, |
132 |
- volume_out int(20) unsigned, |
133 |
+ volume_in bigint(20) unsigned, |
134 |
+ volume_out bigint(20) unsigned, |
135 |
primary key (debut) ); |
136 |
|
137 |
-- Structure de la table pppoe |
138 |
@@ -65,8 +65,8 @@ |
139 |
pid_pppd int unsigned not null, |
140 |
ip int unsigned not null, |
141 |
peer int unsigned not null, |
142 |
- volume_in int(20) unsigned, |
143 |
- volume_out int(20) unsigned, |
144 |
+ volume_in bigint(20) unsigned, |
145 |
+ volume_out bigint(20) unsigned, |
146 |
primary key (debut) ); |
147 |
|
148 |
-- Structure de la table ssh |
149 |
@@ -87,8 +87,8 @@ |
150 |
ip int unsigned, |
151 |
vpn_clt int unsigned, |
152 |
vpn_srv int unsigned not null, |
153 |
- volume_in int unsigned, |
154 |
- volume_out int unsigned, |
155 |
+ volume_in bigint unsigned, |
156 |
+ volume_out bigint unsigned, |
157 |
login varchar(10), |
158 |
pid_pptpd int(20) unsigned not null, |
159 |
pid_pppd int(20) unsigned, |
160 |
diff -Nur --no-dereference smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables-update.sql smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables-update.sql |
161 |
--- smeserver-smeadmin-1.6.old/root/usr/share/doc/smeserver-smeadmin/tables-update.sql 2020-10-15 07:31:28.000000000 -0400 |
162 |
+++ smeserver-smeadmin-1.6/root/usr/share/doc/smeserver-smeadmin/tables-update.sql 2024-05-19 22:58:13.446000000 -0400 |
163 |
@@ -5,15 +5,15 @@ |
164 |
ALTER TABLE `pppoe` CHANGE `ip` `ip` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' |
165 |
; |
166 |
-- Update size of some fields |
167 |
-ALTER TABLE `pppoe` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL , |
168 |
-CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
169 |
+ALTER TABLE `pppoe` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , |
170 |
+CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
171 |
|
172 |
-ALTER TABLE `vpn` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL , |
173 |
-CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
174 |
+ALTER TABLE `vpn` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , |
175 |
+CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
176 |
|
177 |
-ALTER TABLE `ftp` CHANGE `volume_in` `volume_in` INT( 20 ) UNSIGNED NULL DEFAULT NULL , |
178 |
-CHANGE `volume_out` `volume_out` INT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
179 |
+ALTER TABLE `ftp` CHANGE `volume_in` `volume_in` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL , |
180 |
+CHANGE `volume_out` `volume_out` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
181 |
|
182 |
ALTER TABLE `afp` CHANGE `volume_write` `volume_write` INT( 20 ) UNSIGNED NULL DEFAULT NULL , |
183 |
-CHANGE `volume_read` `volume_read` INT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
184 |
+CHANGE `volume_read` `volume_read` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ; |
185 |
|