remove args from logging of common-spelled methods dependent on class
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
parent
7886642979
commit
b70053be25
|
@ -21,7 +21,9 @@
|
|||
|
||||
namespace OC\Log;
|
||||
|
||||
use OC\Core\Controller\SetupController;
|
||||
use OC\HintException;
|
||||
use OC\Setup;
|
||||
|
||||
class ExceptionSerializer {
|
||||
const methodsWithSensitiveParameters = [
|
||||
|
@ -76,24 +78,36 @@ class ExceptionSerializer {
|
|||
|
||||
// files_external: UserStoragesController
|
||||
'update',
|
||||
|
||||
// Setup
|
||||
'install',
|
||||
|
||||
// SetupController
|
||||
'run',
|
||||
'display',
|
||||
'loadAutoConfig',
|
||||
];
|
||||
|
||||
const methodsWithSensitiveParametersByClass = [
|
||||
SetupController::class => [
|
||||
'run',
|
||||
'display',
|
||||
'loadAutoConfig',
|
||||
],
|
||||
Setup::class => [
|
||||
'install'
|
||||
]
|
||||
];
|
||||
|
||||
private function editTrace(array &$sensitiveValues, array $traceLine): array {
|
||||
$sensitiveValues = array_merge($sensitiveValues, $traceLine['args']);
|
||||
$traceLine['args'] = ['*** sensitive parameters replaced ***'];
|
||||
return $traceLine;
|
||||
}
|
||||
|
||||
private function filterTrace(array $trace) {
|
||||
$sensitiveValues = [];
|
||||
$trace = array_map(function (array $traceLine) use (&$sensitiveValues) {
|
||||
$className = $traceLine['class'];
|
||||
if (isset(self::methodsWithSensitiveParametersByClass[$className])
|
||||
&& in_array($traceLine['function'], self::methodsWithSensitiveParametersByClass[$className], true)) {
|
||||
return $this->editTrace($sensitiveValues, $traceLine);
|
||||
}
|
||||
foreach (self::methodsWithSensitiveParameters as $sensitiveMethod) {
|
||||
if (strpos($traceLine['function'], $sensitiveMethod) !== false) {
|
||||
$sensitiveValues = array_merge($sensitiveValues, $traceLine['args']);
|
||||
$traceLine['args'] = ['*** sensitive parameters replaced ***'];
|
||||
return $traceLine;
|
||||
return $this->editTrace($sensitiveValues, $traceLine);
|
||||
}
|
||||
}
|
||||
return $traceLine;
|
||||
|
|
Loading…
Reference in New Issue