Completed
Push — master ( 229289...e8bd72 )
by Morris
28:00
created
lib/private/Log/ExceptionSerializer.php 1 patch
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -24,118 +24,118 @@
 block discarded – undo
24 24
 use OC\HintException;
25 25
 
26 26
 class ExceptionSerializer {
27
-	const methodsWithSensitiveParameters = [
28
-		// Session/User
29
-		'completeLogin',
30
-		'login',
31
-		'checkPassword',
32
-		'checkPasswordNoLogging',
33
-		'loginWithPassword',
34
-		'updatePrivateKeyPassword',
35
-		'validateUserPass',
36
-		'loginWithToken',
37
-		'{closure}',
38
-		'createSessionToken',
39
-
40
-		// TokenProvider
41
-		'getToken',
42
-		'isTokenPassword',
43
-		'getPassword',
44
-		'decryptPassword',
45
-		'logClientIn',
46
-		'generateToken',
47
-		'validateToken',
48
-
49
-		// TwoFactorAuth
50
-		'solveChallenge',
51
-		'verifyChallenge',
52
-
53
-		// ICrypto
54
-		'calculateHMAC',
55
-		'encrypt',
56
-		'decrypt',
57
-
58
-		// LoginController
59
-		'tryLogin',
60
-		'confirmPassword',
61
-
62
-		// LDAP
63
-		'bind',
64
-		'areCredentialsValid',
65
-		'invokeLDAPMethod',
66
-
67
-		// Encryption
68
-		'storeKeyPair',
69
-		'setupUser',
70
-	];
71
-
72
-	private function filterTrace(array $trace) {
73
-		$sensitiveValues = [];
74
-		$trace = array_map(function (array $traceLine) use (&$sensitiveValues) {
75
-			foreach (self::methodsWithSensitiveParameters as $sensitiveMethod) {
76
-				if (strpos($traceLine['function'], $sensitiveMethod) !== false) {
77
-					$sensitiveValues = array_merge($sensitiveValues, $traceLine['args']);
78
-					$traceLine['args'] = ['*** sensitive parameters replaced ***'];
79
-					return $traceLine;
80
-				}
81
-			}
82
-			return $traceLine;
83
-		}, $trace);
84
-		return array_map(function (array $traceLine) use ($sensitiveValues) {
85
-			$traceLine['args'] = $this->removeValuesFromArgs($traceLine['args'], $sensitiveValues);
86
-			return $traceLine;
87
-		}, $trace);
88
-	}
89
-
90
-	private function removeValuesFromArgs($args, $values) {
91
-		foreach ($args as &$arg) {
92
-			if (in_array($arg, $values, true)) {
93
-				$arg = '*** sensitive parameter replaced ***';
94
-			} else if (is_array($arg)) {
95
-				$arg = $this->removeValuesFromArgs($arg, $values);
96
-			}
97
-		}
98
-		return $args;
99
-	}
100
-
101
-	private function encodeTrace($trace) {
102
-		$filteredTrace = $this->filterTrace($trace);
103
-		return array_map(function (array $line) {
104
-			$line['args'] = array_map([$this, 'encodeArg'], $line['args']);
105
-			return $line;
106
-		}, $filteredTrace);
107
-	}
108
-
109
-	private function encodeArg($arg) {
110
-		if (is_object($arg)) {
111
-			$data = get_object_vars($arg);
112
-			$data['__class__'] = get_class($arg);
113
-			return array_map([$this, 'encodeArg'], $data);
114
-		} else if (is_array($arg)) {
115
-			return array_map([$this, 'encodeArg'], $arg);
116
-		} else {
117
-			return $arg;
118
-		}
119
-	}
120
-
121
-	public function serializeException(\Throwable $exception) {
122
-		$data = [
123
-			'Exception' => get_class($exception),
124
-			'Message' => $exception->getMessage(),
125
-			'Code' => $exception->getCode(),
126
-			'Trace' => $this->encodeTrace($exception->getTrace()),
127
-			'File' => $exception->getFile(),
128
-			'Line' => $exception->getLine(),
129
-		];
130
-
131
-		if ($exception instanceof HintException) {
132
-			$data['Hint'] = $exception->getHint();
133
-		}
134
-
135
-		if ($exception->getPrevious()) {
136
-			$data['Previous'] = $this->serializeException($exception->getPrevious());
137
-		}
138
-
139
-		return $data;
140
-	}
27
+    const methodsWithSensitiveParameters = [
28
+        // Session/User
29
+        'completeLogin',
30
+        'login',
31
+        'checkPassword',
32
+        'checkPasswordNoLogging',
33
+        'loginWithPassword',
34
+        'updatePrivateKeyPassword',
35
+        'validateUserPass',
36
+        'loginWithToken',
37
+        '{closure}',
38
+        'createSessionToken',
39
+
40
+        // TokenProvider
41
+        'getToken',
42
+        'isTokenPassword',
43
+        'getPassword',
44
+        'decryptPassword',
45
+        'logClientIn',
46
+        'generateToken',
47
+        'validateToken',
48
+
49
+        // TwoFactorAuth
50
+        'solveChallenge',
51
+        'verifyChallenge',
52
+
53
+        // ICrypto
54
+        'calculateHMAC',
55
+        'encrypt',
56
+        'decrypt',
57
+
58
+        // LoginController
59
+        'tryLogin',
60
+        'confirmPassword',
61
+
62
+        // LDAP
63
+        'bind',
64
+        'areCredentialsValid',
65
+        'invokeLDAPMethod',
66
+
67
+        // Encryption
68
+        'storeKeyPair',
69
+        'setupUser',
70
+    ];
71
+
72
+    private function filterTrace(array $trace) {
73
+        $sensitiveValues = [];
74
+        $trace = array_map(function (array $traceLine) use (&$sensitiveValues) {
75
+            foreach (self::methodsWithSensitiveParameters as $sensitiveMethod) {
76
+                if (strpos($traceLine['function'], $sensitiveMethod) !== false) {
77
+                    $sensitiveValues = array_merge($sensitiveValues, $traceLine['args']);
78
+                    $traceLine['args'] = ['*** sensitive parameters replaced ***'];
79
+                    return $traceLine;
80
+                }
81
+            }
82
+            return $traceLine;
83
+        }, $trace);
84
+        return array_map(function (array $traceLine) use ($sensitiveValues) {
85
+            $traceLine['args'] = $this->removeValuesFromArgs($traceLine['args'], $sensitiveValues);
86
+            return $traceLine;
87
+        }, $trace);
88
+    }
89
+
90
+    private function removeValuesFromArgs($args, $values) {
91
+        foreach ($args as &$arg) {
92
+            if (in_array($arg, $values, true)) {
93
+                $arg = '*** sensitive parameter replaced ***';
94
+            } else if (is_array($arg)) {
95
+                $arg = $this->removeValuesFromArgs($arg, $values);
96
+            }
97
+        }
98
+        return $args;
99
+    }
100
+
101
+    private function encodeTrace($trace) {
102
+        $filteredTrace = $this->filterTrace($trace);
103
+        return array_map(function (array $line) {
104
+            $line['args'] = array_map([$this, 'encodeArg'], $line['args']);
105
+            return $line;
106
+        }, $filteredTrace);
107
+    }
108
+
109
+    private function encodeArg($arg) {
110
+        if (is_object($arg)) {
111
+            $data = get_object_vars($arg);
112
+            $data['__class__'] = get_class($arg);
113
+            return array_map([$this, 'encodeArg'], $data);
114
+        } else if (is_array($arg)) {
115
+            return array_map([$this, 'encodeArg'], $arg);
116
+        } else {
117
+            return $arg;
118
+        }
119
+    }
120
+
121
+    public function serializeException(\Throwable $exception) {
122
+        $data = [
123
+            'Exception' => get_class($exception),
124
+            'Message' => $exception->getMessage(),
125
+            'Code' => $exception->getCode(),
126
+            'Trace' => $this->encodeTrace($exception->getTrace()),
127
+            'File' => $exception->getFile(),
128
+            'Line' => $exception->getLine(),
129
+        ];
130
+
131
+        if ($exception instanceof HintException) {
132
+            $data['Hint'] = $exception->getHint();
133
+        }
134
+
135
+        if ($exception->getPrevious()) {
136
+            $data['Previous'] = $this->serializeException($exception->getPrevious());
137
+        }
138
+
139
+        return $data;
140
+    }
141 141
 }
142 142
\ No newline at end of file
Please login to merge, or discard this patch.