summaryrefslogtreecommitdiffstats
path: root/modules-available/syslog
diff options
context:
space:
mode:
authorUdo Walter2017-11-21 17:52:04 +0100
committerUdo Walter2017-11-21 17:52:04 +0100
commit653851f35d0eea172c2302e9f1b6f0d03c70096c (patch)
tree42f267c360104b98d2e3199273adba62a1e2023b /modules-available/syslog
parent[internetaccess] reworked permission system from "click and you get error" to... (diff)
parent[statistics] Also adapt MAC-UUID fixing code to mltk changes (diff)
downloadslx-admin-653851f35d0eea172c2302e9f1b6f0d03c70096c.tar.gz
slx-admin-653851f35d0eea172c2302e9f1b6f0d03c70096c.tar.xz
slx-admin-653851f35d0eea172c2302e9f1b6f0d03c70096c.zip
Merge remote-tracking branch 'origin/master' into permission-manager
# Conflicts: # modules-available/backup/templates/_page.html # style/default.css
Diffstat (limited to 'modules-available/syslog')
-rw-r--r--modules-available/syslog/api.inc.php6
-rw-r--r--modules-available/syslog/hooks/cron.inc.php5
-rw-r--r--modules-available/syslog/install.inc.php10
3 files changed, 16 insertions, 5 deletions
diff --git a/modules-available/syslog/api.inc.php b/modules-available/syslog/api.inc.php
index 156bc35c..18c42c31 100644
--- a/modules-available/syslog/api.inc.php
+++ b/modules-available/syslog/api.inc.php
@@ -26,8 +26,10 @@ $longdesc = Request::post('longdesc', '', 'string');
if ($type{0} !== '.' && $type{0} !== '~') {
// Spam from IP
- $row = Database::queryFirst('SELECT Count(*) AS cnt FROM clientlog WHERE clientip = :client AND dateline + 3600 > UNIX_TIMESTAMP()', array(':client' => $ip));
- if ($row !== false && $row['cnt'] > 150) exit(0);
+ $row = Database::queryFirst('SELECT Count(*) AS cnt FROM clientlog WHERE clientip = :client AND dateline + 1800 > UNIX_TIMESTAMP()', array(':client' => $ip));
+ if ($row !== false && $row['cnt'] > 250) {
+ exit(0);
+ }
Database::exec('INSERT INTO clientlog (dateline, logtypeid, clientip, machineuuid, description, extra) VALUES (UNIX_TIMESTAMP(), :type, :client, :uuid, :description, :longdesc)', array(
'type' => $type,
diff --git a/modules-available/syslog/hooks/cron.inc.php b/modules-available/syslog/hooks/cron.inc.php
index c796675f..bae882a9 100644
--- a/modules-available/syslog/hooks/cron.inc.php
+++ b/modules-available/syslog/hooks/cron.inc.php
@@ -1,5 +1,8 @@
<?php
if (mt_rand(1, 10) === 1) {
- Database::exec("DELETE FROM clientlog WHERE (UNIX_TIMESTAMP() - dateline) > 86400 * 190");
+ Database::exec("DELETE FROM clientlog WHERE (UNIX_TIMESTAMP() - 86400 * 190) > dateline");
+ if (mt_rand(1, 100) === 1) {
+ Database::exec("OPTIMIZE TABLE clientlog");
+ }
} \ No newline at end of file
diff --git a/modules-available/syslog/install.inc.php b/modules-available/syslog/install.inc.php
index 539f2449..406a6cc6 100644
--- a/modules-available/syslog/install.inc.php
+++ b/modules-available/syslog/install.inc.php
@@ -2,7 +2,7 @@
$res = array();
-$res[] = tableCreate('clientlog', "
+$res[] = $tc = tableCreate('clientlog', "
`logid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`dateline` int(10) unsigned NOT NULL,
`logtypeid` varchar(30) NOT NULL,
@@ -14,7 +14,7 @@ $res[] = tableCreate('clientlog', "
KEY `dateline` (`dateline`),
KEY `logtypeid` (`logtypeid`,`dateline`),
KEY `clientip` (`clientip`,`dateline`),
- KEY `machineuuid` (`machineuuid`,`dateline`)
+ KEY `machineuuid` (`machineuuid`,`logid`)
");
// Update path
@@ -29,6 +29,12 @@ if (!tableHasColumn('clientlog', 'machineuuid')) {
$res[] = UPDATE_DONE;
}
+// 2017-11-03: Create proper index for query in statistics module
+if ($tc !== UPDATE_DONE) {
+ Database::exec("ALTER TABLE `openslx`.`clientlog` DROP INDEX `machineuuid` ,
+ ADD INDEX `machineuuid` ( `machineuuid` , `logid` )");
+}
+
// Create response for browser
if (in_array(UPDATE_DONE, $res)) {