1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-25 08:51:50 +02:00

Issue #5487 Additional logging.

This commit is contained in:
camer0n
2025-05-03 07:58:04 -07:00
parent 8b4c29cf08
commit cbf05e47ed
3 changed files with 38 additions and 17 deletions

View File

@@ -348,7 +348,10 @@ class e_admin_log
'dblog_remarks' => $explain 'dblog_remarks' => $explain
); );
$this->rldb->insert('admin_log', $adminLogInsert); if(!$this->rldb->insert('admin_log', $adminLogInsert))
{
trigger_error('Error inserting admin log entry: '.print_r($adminLogInsert,true), E_USER_WARNING);
}
} }
//--------------------------------------- //---------------------------------------
@@ -431,12 +434,18 @@ class e_admin_log
); );
$this->rldb->insert('dblog', '0, ' . intval($time_sec) . ', ' . intval($time_usec) . ", '{$importance}', '{$eventcode}', {$userid}, '{$userstring}', '{$userIP}', '{$source_call}', '{$event_title}', '{$explain}' "); if(!$this->rldb->insert('dblog', '0, ' . intval($time_sec) . ', ' . intval($time_usec) . ", '{$importance}', '{$eventcode}', {$userid}, '{$userstring}', '{$userIP}', '{$source_call}', '{$event_title}', '{$explain}' "))
{
trigger_error("Error inserting admin rolling log entry: $eventcode", E_USER_WARNING);
}
// Now delete any old stuff // Now delete any old stuff
if(!empty($this->_roll_log_days)) if(!empty($this->_roll_log_days))
{ {
$this->rldb->delete('dblog', "dblog_datestamp < '" . intval(time() - ($this->_roll_log_days * 86400)) . "' "); if(!$this->rldb->delete('dblog', "dblog_datestamp < '" . intval(time() - ($this->_roll_log_days * 86400)) . "' "))
{
// trigger_error("Error deleting old rolling log entries.", E_USER_WARNING);
}
} }
} }

View File

@@ -925,23 +925,27 @@ class eIPHandler
$sql = e107::getDb(); $sql = e107::getDb();
$pref = e107::getPref(); $pref = e107::getPref();
$tp = e107::getParser(); $tp = e107::getParser();
$admin_log = e107::getLog(); $log = e107::getLog();
$log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Check for Ban",$query,FALSE,LOG_TO_ROLLING);
//$admin_log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Check for Ban",$query,FALSE,LOG_TO_ROLLING);
if ($sql->select('banlist', '*', $query.' ORDER BY `banlist_bantype` DESC')) if ($sql->select('banlist', '*', $query.' ORDER BY `banlist_bantype` DESC'))
{ {
// Any whitelist entries will be first, because they are positive numbers - so we can answer based on the first DB record read // Any whitelist entries will be first, because they are positive numbers - so we can answer based on the first DB record read
$row = $sql->fetch(); $row = $sql->fetch();
if($row['banlist_bantype'] >= eIPHandler::BAN_TYPE_WHITELIST) if($row['banlist_bantype'] >= eIPHandler::BAN_TYPE_WHITELIST)
{ {
//$admin_log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Whitelist hit",$query,FALSE,LOG_TO_ROLLING); $log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Whitelist hit",$query,FALSE,LOG_TO_ROLLING);
return true; // Whitelisted entry return true; // Whitelisted entry
} }
// Found banlist entry in table here // Found banlist entry in table here
if(($row['banlist_banexpires'] > 0) && ($row['banlist_banexpires'] < time())) if(($row['banlist_banexpires'] > 0) && ($row['banlist_banexpires'] < time())) // Ban has expired - delete from DB
{ // Ban has expired - delete from DB {
$sql->delete('banlist', $query); $sql->delete('banlist', $query);
$log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Ban Expired",$row['banlist_ip'],FALSE,LOG_TO_ROLLING);
$this->regenerateFiles(); $this->regenerateFiles();
return true; return true;
@@ -952,6 +956,7 @@ class eIPHandler
if (!empty($pref['ban_retrigger']) && !empty($pref['ban_durations'][$row['banlist_bantype']])) if (!empty($pref['ban_retrigger']) && !empty($pref['ban_durations'][$row['banlist_bantype']]))
{ {
$dur = (int) $pref['ban_durations'][$row['banlist_bantype']]; $dur = (int) $pref['ban_durations'][$row['banlist_bantype']];
$updateQry = array( $updateQry = array(
'banlist_banexpires' => (time() + ($dur * 60 * 60)), 'banlist_banexpires' => (time() + ($dur * 60 * 60)),
'WHERE' => "banlist_ip ='".$row['banlist_ip']."'" 'WHERE' => "banlist_ip ='".$row['banlist_ip']."'"
@@ -959,25 +964,30 @@ class eIPHandler
$sql->update('banlist', $updateQry); $sql->update('banlist', $updateQry);
$this->regenerateFiles(); $this->regenerateFiles();
//$admin_log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Retrigger Ban",$row['banlist_ip'],FALSE,LOG_TO_ROLLING);
$log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Retrigger Ban",$row['banlist_ip'],FALSE,LOG_TO_ROLLING);
} }
//$admin_log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Active Ban",$query,FALSE,LOG_TO_ROLLING);
$log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","Active Ban",$query,FALSE,LOG_TO_ROLLING);
if ($show_error) if ($show_error)
{ {
header('HTTP/1.1 403 Forbidden', true); header('HTTP/1.1 403 Forbidden', true);
} }
// May want to display a message // May want to display a message
if (!empty($pref['ban_messages'])) if (!empty($pref['ban_messages']))
{ {
// Ban still current here
if($do_return) if($do_return) // Ban still current here
{ {
return false; return false;
} }
echo $tp->toHTML(varset($pref['ban_messages'][$row['banlist_bantype']])); // Show message if one set echo $tp->toHTML(varset($pref['ban_messages'][$row['banlist_bantype']])); // Show message if one set
} }
//$admin_log->addEvent(4, __FILE__."|".__FUNCTION__."@".__LINE__, 'BAN_03', 'LAN_AUDIT_LOG_003', $query, FALSE, LOG_TO_ROLLING);
$log->addEvent(4, __FILE__."|".__FUNCTION__."@".__LINE__, 'BAN_03', 'LAN_AUDIT_LOG_003', $query, FALSE, LOG_TO_ROLLING);
if($this->debug) if($this->debug)
{ {
@@ -1001,7 +1011,7 @@ class eIPHandler
} }
//$admin_log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","No ban found",$query,FALSE,LOG_TO_ROLLING); $log->addEvent(4,__FILE__."|".__FUNCTION__."@".__LINE__,"DBG","No ban found",$query,FALSE,LOG_TO_ROLLING);
return true; // Email address OK return true; // Email address OK
} }
@@ -1031,6 +1041,7 @@ class eIPHandler
$sql = e107::getDb(); $sql = e107::getDb();
$pref = e107::getPref(); $pref = e107::getPref();
$log = e107::getLog();
switch ($bantype) // Convert from 'internal' ban types to those used in the DB switch ($bantype) // Convert from 'internal' ban types to those used in the DB
{ {
@@ -1056,9 +1067,9 @@ class eIPHandler
{ {
list($banType) = $sql->fetch(); list($banType) = $sql->fetch();
if ($banType >= eIPHandler::BAN_TYPE_WHITELIST) if ($banType >= eIPHandler::BAN_TYPE_WHITELIST) // Got a whitelist entry for this
{ // Got a whitelist entry for this {
//$admin_log->addEvent(4, __FILE__."|".__FUNCTION__."@".__LINE__, "BANLIST_11", 'LAN_AL_BANLIST_11', $ban_ip, FALSE, LOG_TO_ROLLING); $log->addEvent(4, __FILE__."|".__FUNCTION__."@".__LINE__, "BANLIST_11", 'LAN_AL_BANLIST_11', $ban_ip, FALSE, LOG_TO_ROLLING);
return FALSE; return FALSE;
} }
return 1; // Already in ban list return 1; // Already in ban list

View File

@@ -72,6 +72,7 @@ class eIPHandlerTest extends \Codeception\Test\Unit
foreach($tests as $index => $test) foreach($tests as $index => $test)
{ {
$this->ip->setIP(null);
$result = $method->invoke($this->ip, $test['server']); // IP6 $result = $method->invoke($this->ip, $test['server']); // IP6
$expected = $this->ip->ipEncode($test['expected']); // convert to IP6. $expected = $this->ip->ipEncode($test['expected']); // convert to IP6.