Skip to content

Commit 468bb39

Browse files
committed
[TASK] Handle possible exception in PwnedPasswordsService
Signed-off-by: Torben Hansen <derhansen@gmail.com>
1 parent 19b34d2 commit 468bb39

2 files changed

Lines changed: 19 additions & 13 deletions

File tree

.Build/composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
}
1515
],
1616
"require": {
17-
"typo3/cms-core": "^14.0",
18-
"typo3/cms-setup": "^14.0",
19-
"typo3/cms-backend": "^14.0",
20-
"typo3/cms-felogin": "^14.0",
17+
"typo3/cms-core": "^14.3",
18+
"typo3/cms-setup": "^14.3",
19+
"typo3/cms-backend": "^14.3",
20+
"typo3/cms-felogin": "^14.3",
2121
"derhansen/add_pwd_policy": "@dev"
2222
},
2323
"require-dev": {

Classes/Service/PwnedPasswordsService.php

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,21 @@ public function checkPassword(string $password): int
2424
{
2525
$hash = sha1($password);
2626
$request = GeneralUtility::makeInstance(RequestFactory::class);
27-
$response = $request->request(
28-
'https://api.pwnedpasswords.com/range/' . substr($hash, 0, 5),
29-
'GET',
30-
[
31-
'User-Agent' => 'TYPO3 Extension add_pwd_policies',
32-
]
33-
);
34-
35-
$results = $response->getBody()->getContents();
27+
28+
try {
29+
$response = $request->request(
30+
'https://api.pwnedpasswords.com/range/' . substr($hash, 0, 5),
31+
'GET',
32+
[
33+
'User-Agent' => 'TYPO3 Extension add_pwd_policies',
34+
]
35+
);
36+
$results = $response->getBody()->getContents();
37+
} catch (\Throwable) {
38+
// Something went wrong with the request, return 0 and ignore check
39+
return 0;
40+
}
41+
3642
if (empty($results) || ($response->getStatusCode() !== 200)) {
3743
// Something went wrong with the request, return 0 and ignore check
3844
return 0;

0 commit comments

Comments
 (0)