Merge branch 'QA_5_2'

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2024-03-13 21:03:42 -03:00
commit 104487b253
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
9 changed files with 39 additions and 19 deletions

View File

@ -18,13 +18,8 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.7'
- name: Install Sphinx for the documentation build
run: pip install 'Sphinx'
run: sudo apt install sphinx-doc python3-sphinx
- name: Build the documentation
run: make -C docs html SPHINXOPTS='-n -W -a'

View File

@ -79,6 +79,7 @@ phpMyAdmin - ChangeLog
- issue #15670 Fix case where the data is truncated after changing a longtext column's collation
- issue #18865 Fix missing text-nowrap for timestamps columns
- issue #19022 Fix case where tables from wrong database is loaded in navigation tree
- issue #18049 Also check that curl_exec is enabled for the new version check
5.2.1 (2023-02-07)
- issue #17522 Fix case where the routes cache file is invalid

View File

@ -9255,11 +9255,6 @@ parameters:
count: 4
path: src/Navigation/NavigationTree.php
-
message: "#^Method PhpMyAdmin\\\\Navigation\\\\NavigationTree\\:\\:parsePath\\(\\) should return non\\-empty\\-array\\<int, string\\> but returns non\\-empty\\-array\\<int, string\\|false\\>\\.$#"
count: 1
path: src/Navigation/NavigationTree.php
-
message: "#^Only booleans are allowed in &&, int given on the right side\\.$#"
count: 5
@ -12880,6 +12875,11 @@ parameters:
count: 1
path: src/Server/Plugins.php
-
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
count: 1
path: src/Server/Privileges.php
-
message: "#^Cannot access offset 'CHARACTER_MAXIMUM…' on mixed\\.$#"
count: 2

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="5.23.0@005e3184fb6de4350a873b9b8c4dc3cede9db762">
<files psalm-version="5.22.2@d768d914152dbbf3486c36398802f74e80cfde48">
<file src="app/services_loader.php">
<MixedArgument>
<code><![CDATA[$argumentName]]></code>
@ -833,6 +833,9 @@
<code><![CDATA[$userGroups]]></code>
<code><![CDATA[$userGroups[$groupName]]]></code>
</PossiblyNullArrayOffset>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$result->numRows()]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Console.php">
<DeprecatedMethod>
@ -2995,6 +2998,7 @@
<RiskyTruthyFalsyComparison>
<code><![CDATA[empty($GLOBALS['back'])]]></code>
<code><![CDATA[empty($GLOBALS['goto'])]]></code>
<code><![CDATA[empty($GLOBALS['sql_query'])]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Controllers/Table/AddFieldController.php">
@ -3215,6 +3219,7 @@
</PossiblyInvalidIterator>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$message->isError()]]></code>
<code><![CDATA[empty($selected)]]></code>
</RiskyTruthyFalsyComparison>
<UnusedParam>
<code><![CDATA[$request]]></code>
@ -3891,6 +3896,11 @@
<code><![CDATA[$_POST['field_expression'][$i]]]></code>
<code><![CDATA[$_POST['field_virtuality'][$i]]]></code>
</PossiblyInvalidOperand>
<RiskyTruthyFalsyComparison>
<code><![CDATA[$_POST['field_virtuality'][$i]]]></code>
<code><![CDATA[empty($_POST['field_adjust_privileges'][$i])]]></code>
<code><![CDATA[empty($_POST['field_move_to'][$i])]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Controllers/Table/StructureController.php">
<DeprecatedMethod>
@ -4211,6 +4221,7 @@
<code><![CDATA[$array]]></code>
</PossiblyUnusedParam>
<RiskyTruthyFalsyComparison>
<code><![CDATA[! $size]]></code>
<code><![CDATA[Config::getInstance()->get('is_setup')]]></code>
<code><![CDATA[empty($_SERVER['REMOTE_ADDR'])]]></code>
</RiskyTruthyFalsyComparison>
@ -4546,6 +4557,7 @@
<code><![CDATA[! empty($indexArray2[$f2])]]></code>
</RedundantCondition>
<RiskyTruthyFalsyComparison>
<code><![CDATA[! $value]]></code>
<code><![CDATA[$foreigner]]></code>
</RiskyTruthyFalsyComparison>
</file>
@ -4700,8 +4712,6 @@
<code><![CDATA[$routine['item_param_name'][$i]]]></code>
<code><![CDATA[$routine['item_param_name'][$i]]]></code>
<code><![CDATA[$routine['item_param_name'][$i]]]></code>
<code><![CDATA[$routine['item_param_name'][$i]]]></code>
<code><![CDATA[$routine['item_param_name'][$i]]]></code>
<code><![CDATA[$routine['item_param_opts_text'][$i]]]></code>
<code><![CDATA[$routine['item_param_type'][$i]]]></code>
<code><![CDATA[$routine['item_param_type'][$i]]]></code>
@ -4848,6 +4858,7 @@
</PossiblyUndefinedArrayOffset>
<RiskyTruthyFalsyComparison>
<code><![CDATA[empty($_POST['editor_process_edit'])]]></code>
<code><![CDATA[empty($_POST['funcs'][$routine['item_param_name'][$i]])]]></code>
<code><![CDATA[empty($_POST['item_adjust_privileges'])]]></code>
<code><![CDATA[empty($_POST['item_comment'])]]></code>
<code><![CDATA[empty($_POST['item_returnlength'])]]></code>
@ -4924,6 +4935,8 @@
</MixedArrayAssignment>
<MixedArrayOffset>
<code><![CDATA[$row[$keyIndex]]]></code>
<code><![CDATA[$row[$keyIndex]]]></code>
<code><![CDATA[$row[$keyIndex]]]></code>
</MixedArrayOffset>
<MixedAssignment>
<code><![CDATA[$aLength]]></code>
@ -6685,6 +6698,9 @@
<PossiblyFalseOperand>
<code><![CDATA[mb_strpos($tab, '_')]]></code>
</PossiblyFalseOperand>
<RiskyTruthyFalsyComparison>
<code><![CDATA[empty($binaryLogs)]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Message.php">
<MixedArgument>
@ -6858,6 +6874,10 @@
<PossiblyNullOperand>
<code><![CDATA[$arr[0]]]></code>
</PossiblyNullOperand>
<RiskyTruthyFalsyComparison>
<code><![CDATA[empty($this->config->selectedServer['only_db'])]]></code>
<code><![CDATA[empty($this->config->selectedServer['only_db'])]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Navigation/Nodes/NodeColumn.php">
<MixedArgument>
@ -9347,6 +9367,7 @@
<RiskyTruthyFalsyComparison>
<code><![CDATA[$foreigner]]></code>
<code><![CDATA[$foreigner]]></code>
<code><![CDATA[empty($showComment)]]></code>
</RiskyTruthyFalsyComparison>
<UnusedProperty>
<code><![CDATA[$bottomMargin]]></code>
@ -10359,6 +10380,9 @@
<DeprecatedMethod>
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
<RiskyTruthyFalsyComparison>
<code><![CDATA[empty($server['only_db'])]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Server/Status/Data.php">
<MixedArgumentTypeCoercion>

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="referrer" content="no-referrer">
<meta name="referrer" content="same-origin">
<meta name="robots" content="noindex,nofollow,notranslate">
<meta name="google" content="notranslate">
<script>window.allowThirdPartyFraming = {{ allow_third_party_framing == 'sameorigin' ? '"sameorigin"' : (allow_third_party_framing ? '1' : '0') }};</script>

View File

@ -432,7 +432,7 @@ class Header
$headers['X-Frame-Options'] = 'DENY';
}
$headers['Referrer-Policy'] = 'no-referrer';
$headers['Referrer-Policy'] = 'same-origin';
$headers = array_merge($headers, $this->getCspHeaders());

View File

@ -239,7 +239,7 @@ class AuthenticationCookie extends AuthenticationPlugin
$captchaSiteVerifyURL = $config->settings['CaptchaSiteVerifyURL'] ?? '';
$captchaSiteVerifyURL = empty($captchaSiteVerifyURL) ? null : $captchaSiteVerifyURL;
if (function_exists('curl_init')) {
if (function_exists('curl_init') && function_exists('curl_exec')) {
$reCaptcha = new ReCaptcha\ReCaptcha(
$config->settings['CaptchaLoginPrivateKey'],
new ReCaptcha\RequestMethod\CurlPost(null, $captchaSiteVerifyURL),

View File

@ -275,7 +275,7 @@ class HttpRequest
mixed $content = null,
string $header = '',
): string|bool|null {
if (function_exists('curl_init')) {
if (function_exists('curl_init') && function_exists('curl_exec')) {
return $this->curl($url, $method, $returnOnlyStatus, $content, $header);
}

View File

@ -173,7 +173,7 @@ class HeaderTest extends AbstractTestCase
$expected = [
'X-Frame-Options' => $expectedFrameOptions,
'Referrer-Policy' => 'no-referrer',
'Referrer-Policy' => 'same-origin',
'Content-Security-Policy' => $expectedCsp,
'X-Content-Security-Policy' => $expectedXCsp,
'X-WebKit-CSP' => $expectedWebKitCsp,