Skip to content

Commit 16fc75e

Browse files
authored
Merge pull request #4551 from LibreSign/fix/prevent-warning-of-fsockopen
fix: prevent warning of fsockopen
2 parents 1dd22e9 + c977579 commit 16fc75e

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

lib/Handler/CertificateEngine/CfsslHandler.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -272,13 +272,15 @@ private function wakeUp(): void {
272272
private function portOpen(): bool {
273273
$host = parse_url($this->getCfsslUri(), PHP_URL_HOST);
274274
$port = parse_url($this->getCfsslUri(), PHP_URL_PORT);
275-
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
276-
if (!$socket) {
275+
276+
set_error_handler(function () { });
277+
$socket = fsockopen($host, $port, $errno, $errstr, 0.1);
278+
restore_error_handler();
279+
if (!$socket || $errno || $errstr) {
277280
return false;
278281
}
279-
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, ['sec' => 0, 'usec' => 100000]); // 100ms
280-
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, ['sec' => 0, 'usec' => 100000]);
281-
return @socket_connect($socket, $host, $port);
282+
fclose($socket);
283+
return true;
282284
}
283285

284286
private function getServerPid(): int {

tests/psalm-baseline.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@
6666
<code><![CDATA[addServiceListener]]></code>
6767
</InvalidArgument>
6868
</file>
69+
<file src="lib/Handler/CertificateEngine/CfsslHandler.php">
70+
<InvalidArgument>
71+
<code><![CDATA[function () { }]]></code>
72+
</InvalidArgument>
73+
</file>
6974
<file src="lib/Helper/Pagination.php">
7075
<MissingTemplateParam>
7176
<code><![CDATA[Pagination]]></code>

0 commit comments

Comments
 (0)