replace passwords even before logging, not just for display
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -312,41 +312,9 @@ class Database {
|
|||||||
private static function _showerror($error, $showerror = true) {
|
private static function _showerror($error, $showerror = true) {
|
||||||
global $userinfo, $theme, $linker;
|
global $userinfo, $theme, $linker;
|
||||||
|
|
||||||
/**
|
|
||||||
* log to a file, so we can actually ask people for the error
|
|
||||||
* (no one seems to find the stuff in the syslog)
|
|
||||||
*/
|
|
||||||
$sl_dir = makeCorrectDir(FROXLOR_INSTALL_DIR."/logs/");
|
|
||||||
if (!file_exists($sl_dir)) {
|
|
||||||
@mkdir($sl_dir, 0755);
|
|
||||||
}
|
|
||||||
$sl_file = makeCorrectFile($sl_dir."/sql-error.log");
|
|
||||||
$sqllog = @fopen($sl_file, 'a');
|
|
||||||
@fwrite($sqllog, date('d.m.Y H:i', time())." --- ".str_replace("\n", " ", $error->getMessage())."\n");
|
|
||||||
@fwrite($sqllog, date('d.m.Y H:i', time())." --- DEBUG: \n".$error->getTraceAsString()."\n");
|
|
||||||
@fclose($sqllog);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* log error for reporting
|
|
||||||
*/
|
|
||||||
$errid = substr(md5(microtime()), 5, 5);
|
|
||||||
$err_file = makeCorrectFile($sl_dir."/".$errid."_sql-error.log");
|
|
||||||
$errlog = @fopen($err_file, 'w');
|
|
||||||
@fwrite($errlog, "|CODE ".$error->getCode()."\n");
|
|
||||||
@fwrite($errlog, "|MSG ".$error->getMessage()."\n");
|
|
||||||
@fwrite($errlog, "|FILE ".$error->getFile()."\n");
|
|
||||||
@fwrite($errlog, "|LINE ".$error->getLine()."\n");
|
|
||||||
@fwrite($errlog, "|TRACE\n".$error->getTraceAsString()."\n");
|
|
||||||
@fclose($errlog);
|
|
||||||
|
|
||||||
if ($showerror) {
|
|
||||||
|
|
||||||
// include userdata.inc.php
|
// include userdata.inc.php
|
||||||
require FROXLOR_INSTALL_DIR."/lib/userdata.inc.php";
|
require FROXLOR_INSTALL_DIR."/lib/userdata.inc.php";
|
||||||
|
|
||||||
// fallback
|
|
||||||
$theme = 'Sparkle';
|
|
||||||
|
|
||||||
// le format
|
// le format
|
||||||
if (isset($sql['root_user'])
|
if (isset($sql['root_user'])
|
||||||
&& isset($sql['root_password'])
|
&& isset($sql['root_password'])
|
||||||
@@ -370,6 +338,38 @@ class Database {
|
|||||||
$error_trace = "";
|
$error_trace = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* log to a file, so we can actually ask people for the error
|
||||||
|
* (no one seems to find the stuff in the syslog)
|
||||||
|
*/
|
||||||
|
$sl_dir = makeCorrectDir(FROXLOR_INSTALL_DIR."/logs/");
|
||||||
|
if (!file_exists($sl_dir)) {
|
||||||
|
@mkdir($sl_dir, 0755);
|
||||||
|
}
|
||||||
|
$sl_file = makeCorrectFile($sl_dir."/sql-error.log");
|
||||||
|
$sqllog = @fopen($sl_file, 'a');
|
||||||
|
@fwrite($sqllog, date('d.m.Y H:i', time())." --- ".str_replace("\n", " ", $error_message)."\n");
|
||||||
|
@fwrite($sqllog, date('d.m.Y H:i', time())." --- DEBUG: \n".$error_trace."\n");
|
||||||
|
@fclose($sqllog);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* log error for reporting
|
||||||
|
*/
|
||||||
|
$errid = substr(md5(microtime()), 5, 5);
|
||||||
|
$err_file = makeCorrectFile($sl_dir."/".$errid."_sql-error.log");
|
||||||
|
$errlog = @fopen($err_file, 'w');
|
||||||
|
@fwrite($errlog, "|CODE ".$error->getCode()."\n");
|
||||||
|
@fwrite($errlog, "|MSG ".$error_message."\n");
|
||||||
|
@fwrite($errlog, "|FILE ".$error->getFile()."\n");
|
||||||
|
@fwrite($errlog, "|LINE ".$error->getLine()."\n");
|
||||||
|
@fwrite($errlog, "|TRACE\n".$error_trace."\n");
|
||||||
|
@fclose($errlog);
|
||||||
|
|
||||||
|
if ($showerror) {
|
||||||
|
|
||||||
|
// fallback
|
||||||
|
$theme = 'Sparkle';
|
||||||
|
|
||||||
// clean up sensitive data
|
// clean up sensitive data
|
||||||
unset($sql);
|
unset($sql);
|
||||||
unset($sql_root);
|
unset($sql_root);
|
||||||
|
|||||||
Reference in New Issue
Block a user