Browse Source

Revert "Migrate code integrity to SetupCheck API"

This reverts commit aa2d315d95.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pull/41134/head
Côme Chilliet 2 years ago
parent
commit
00d3856b92
No known key found for this signature in database GPG Key ID: A3E2F658B28C760A
  1. 1
      apps/settings/composer/composer/autoload_classmap.php
  2. 1
      apps/settings/composer/composer/autoload_static.php
  3. 4
      apps/settings/lib/AppInfo/Application.php
  4. 2
      apps/settings/lib/Controller/CheckSetupController.php
  5. 63
      apps/settings/lib/SetupChecks/CodeIntegrity.php
  6. 2
      apps/settings/tests/Controller/CheckSetupControllerTest.php
  7. 10
      core/js/setupchecks.js
  8. 19
      core/js/tests/specs/setupchecksSpec.js

1
apps/settings/composer/composer/autoload_classmap.php

@ -74,7 +74,6 @@ return array(
'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => $baseDir . '/../lib/Settings/Personal/Security/WebAuthn.php', 'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => $baseDir . '/../lib/Settings/Personal/Security/WebAuthn.php',
'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => $baseDir . '/../lib/Settings/Personal/ServerDevNotice.php', 'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => $baseDir . '/../lib/Settings/Personal/ServerDevNotice.php',
'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => $baseDir . '/../lib/SetupChecks/CheckUserCertificates.php', 'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => $baseDir . '/../lib/SetupChecks/CheckUserCertificates.php',
'OCA\\Settings\\SetupChecks\\CodeIntegrity' => $baseDir . '/../lib/SetupChecks/CodeIntegrity.php',
'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => $baseDir . '/../lib/SetupChecks/DefaultPhoneRegionSet.php', 'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => $baseDir . '/../lib/SetupChecks/DefaultPhoneRegionSet.php',
'OCA\\Settings\\SetupChecks\\EmailTestSuccessful' => $baseDir . '/../lib/SetupChecks/EmailTestSuccessful.php', 'OCA\\Settings\\SetupChecks\\EmailTestSuccessful' => $baseDir . '/../lib/SetupChecks/EmailTestSuccessful.php',
'OCA\\Settings\\SetupChecks\\FileLocking' => $baseDir . '/../lib/SetupChecks/FileLocking.php', 'OCA\\Settings\\SetupChecks\\FileLocking' => $baseDir . '/../lib/SetupChecks/FileLocking.php',

1
apps/settings/composer/composer/autoload_static.php

@ -89,7 +89,6 @@ class ComposerStaticInitSettings
'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/WebAuthn.php', 'OCA\\Settings\\Settings\\Personal\\Security\\WebAuthn' => __DIR__ . '/..' . '/../lib/Settings/Personal/Security/WebAuthn.php',
'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => __DIR__ . '/..' . '/../lib/Settings/Personal/ServerDevNotice.php', 'OCA\\Settings\\Settings\\Personal\\ServerDevNotice' => __DIR__ . '/..' . '/../lib/Settings/Personal/ServerDevNotice.php',
'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => __DIR__ . '/..' . '/../lib/SetupChecks/CheckUserCertificates.php', 'OCA\\Settings\\SetupChecks\\CheckUserCertificates' => __DIR__ . '/..' . '/../lib/SetupChecks/CheckUserCertificates.php',
'OCA\\Settings\\SetupChecks\\CodeIntegrity' => __DIR__ . '/..' . '/../lib/SetupChecks/CodeIntegrity.php',
'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => __DIR__ . '/..' . '/../lib/SetupChecks/DefaultPhoneRegionSet.php', 'OCA\\Settings\\SetupChecks\\DefaultPhoneRegionSet' => __DIR__ . '/..' . '/../lib/SetupChecks/DefaultPhoneRegionSet.php',
'OCA\\Settings\\SetupChecks\\EmailTestSuccessful' => __DIR__ . '/..' . '/../lib/SetupChecks/EmailTestSuccessful.php', 'OCA\\Settings\\SetupChecks\\EmailTestSuccessful' => __DIR__ . '/..' . '/../lib/SetupChecks/EmailTestSuccessful.php',
'OCA\\Settings\\SetupChecks\\FileLocking' => __DIR__ . '/..' . '/../lib/SetupChecks/FileLocking.php', 'OCA\\Settings\\SetupChecks\\FileLocking' => __DIR__ . '/..' . '/../lib/SetupChecks/FileLocking.php',

4
apps/settings/lib/AppInfo/Application.php

@ -49,7 +49,6 @@ use OCA\Settings\Search\AppSearch;
use OCA\Settings\Search\SectionSearch; use OCA\Settings\Search\SectionSearch;
use OCA\Settings\Search\UserSearch; use OCA\Settings\Search\UserSearch;
use OCA\Settings\SetupChecks\CheckUserCertificates; use OCA\Settings\SetupChecks\CheckUserCertificates;
use OCA\Settings\SetupChecks\CodeIntegrity;
use OCA\Settings\SetupChecks\DefaultPhoneRegionSet; use OCA\Settings\SetupChecks\DefaultPhoneRegionSet;
use OCA\Settings\SetupChecks\EmailTestSuccessful; use OCA\Settings\SetupChecks\EmailTestSuccessful;
use OCA\Settings\SetupChecks\FileLocking; use OCA\Settings\SetupChecks\FileLocking;
@ -57,9 +56,9 @@ use OCA\Settings\SetupChecks\InternetConnectivity;
use OCA\Settings\SetupChecks\LegacySSEKeyFormat; use OCA\Settings\SetupChecks\LegacySSEKeyFormat;
use OCA\Settings\SetupChecks\MemcacheConfigured; use OCA\Settings\SetupChecks\MemcacheConfigured;
use OCA\Settings\SetupChecks\PhpDefaultCharset; use OCA\Settings\SetupChecks\PhpDefaultCharset;
use OCA\Settings\SetupChecks\PhpModules;
use OCA\Settings\SetupChecks\PhpFreetypeSupport; use OCA\Settings\SetupChecks\PhpFreetypeSupport;
use OCA\Settings\SetupChecks\PhpGetEnv; use OCA\Settings\SetupChecks\PhpGetEnv;
use OCA\Settings\SetupChecks\PhpModules;
use OCA\Settings\SetupChecks\PhpOutdated; use OCA\Settings\SetupChecks\PhpOutdated;
use OCA\Settings\SetupChecks\PhpOutputBuffering; use OCA\Settings\SetupChecks\PhpOutputBuffering;
use OCA\Settings\SetupChecks\RandomnessSecure; use OCA\Settings\SetupChecks\RandomnessSecure;
@ -157,7 +156,6 @@ class Application extends App implements IBootstrap {
); );
}); });
$context->registerSetupCheck(CheckUserCertificates::class); $context->registerSetupCheck(CheckUserCertificates::class);
$context->registerSetupCheck(CodeIntegrity::class);
$context->registerSetupCheck(DefaultPhoneRegionSet::class); $context->registerSetupCheck(DefaultPhoneRegionSet::class);
$context->registerSetupCheck(EmailTestSuccessful::class); $context->registerSetupCheck(EmailTestSuccessful::class);
$context->registerSetupCheck(FileLocking::class); $context->registerSetupCheck(FileLocking::class);

2
apps/settings/lib/Controller/CheckSetupController.php

@ -736,6 +736,8 @@ Raw output
'forwardedForHeadersWorking' => $this->forwardedForHeadersWorking(), 'forwardedForHeadersWorking' => $this->forwardedForHeadersWorking(),
'reverseProxyDocs' => $this->urlGenerator->linkToDocs('admin-reverse-proxy'), 'reverseProxyDocs' => $this->urlGenerator->linkToDocs('admin-reverse-proxy'),
'isCorrectMemcachedPHPModuleInstalled' => $this->isCorrectMemcachedPHPModuleInstalled(), 'isCorrectMemcachedPHPModuleInstalled' => $this->isCorrectMemcachedPHPModuleInstalled(),
'hasPassedCodeIntegrityCheck' => $this->checker->hasPassedCheck(),
'codeIntegrityCheckerDocumentation' => $this->urlGenerator->linkToDocs('admin-code-integrity'),
'OpcacheSetupRecommendations' => $this->getOpcacheSetupRecommendations(), 'OpcacheSetupRecommendations' => $this->getOpcacheSetupRecommendations(),
'isSettimelimitAvailable' => $this->isSettimelimitAvailable(), 'isSettimelimitAvailable' => $this->isSettimelimitAvailable(),
'missingPrimaryKeys' => $this->hasMissingPrimaryKeys(), 'missingPrimaryKeys' => $this->hasMissingPrimaryKeys(),

63
apps/settings/lib/SetupChecks/CodeIntegrity.php

@ -1,63 +0,0 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2023 Côme Chilliet <come.chilliet@nextcloud.com>
*
* @author Côme Chilliet <come.chilliet@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Settings\SetupChecks;
use OC\IntegrityCheck\Checker;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\SetupCheck\ISetupCheck;
use OCP\SetupCheck\SetupResult;
class CodeIntegrity implements ISetupCheck {
public function __construct(
private IL10N $l10n,
private IURLGenerator $urlGenerator,
private Checker $checker,
) {
}
public function getName(): string {
return $this->l10n->t('Code integrity');
}
public function getCategory(): string {
return 'security';
}
public function run(): SetupResult {
if (!$this->checker->isCodeCheckEnforced()) {
return SetupResult::info($this->l10n->t('Integrity checker has been disabled. Integrity cannot be verified.'));
} elseif ($this->checker->hasPassedCheck()) {
return SetupResult::success($this->l10n->t('No altered files'));
} else {
// FIXME: If setup check can link to settings pages this should link to /settings/integrity/failed and /settings/integrity/rescan?requesttoken=TOKEN
return SetupResult::error(
$this->l10n->t('Some files have not passed the integrity check.'),
$this->urlGenerator->linkToDocs('admin-code-integrity')
);
}
}
}

2
apps/settings/tests/Controller/CheckSetupControllerTest.php

@ -432,6 +432,8 @@ class CheckSetupControllerTest extends TestCase {
'forwardedForHeadersWorking' => false, 'forwardedForHeadersWorking' => false,
'reverseProxyDocs' => 'reverse-proxy-doc-link', 'reverseProxyDocs' => 'reverse-proxy-doc-link',
'isCorrectMemcachedPHPModuleInstalled' => true, 'isCorrectMemcachedPHPModuleInstalled' => true,
'hasPassedCodeIntegrityCheck' => true,
'codeIntegrityCheckerDocumentation' => 'http://docs.example.org/server/go.php?to=admin-code-integrity',
'OpcacheSetupRecommendations' => ['recommendation1', 'recommendation2'], 'OpcacheSetupRecommendations' => ['recommendation1', 'recommendation2'],
'isSettimelimitAvailable' => true, 'isSettimelimitAvailable' => true,
'isSqliteUsed' => false, 'isSqliteUsed' => false,

10
core/js/setupchecks.js

@ -246,6 +246,16 @@
type: OC.SetupChecks.MESSAGE_TYPE_WARNING type: OC.SetupChecks.MESSAGE_TYPE_WARNING
}); });
} }
if(!data.hasPassedCodeIntegrityCheck) {
messages.push({
msg: t('core', 'Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the {linkstart1}documentation ↗{linkend}. ({linkstart2}List of invalid files…{linkend} / {linkstart3}Rescan…{linkend})')
.replace('{linkstart1}', '<a target="_blank" rel="noreferrer noopener" class="external" href="' + data.codeIntegrityCheckerDocumentation + '">')
.replace('{linkstart2}', '<a href="' + OC.generateUrl('/settings/integrity/failed') + '">')
.replace('{linkstart3}', '<a href="' + OC.generateUrl('/settings/integrity/rescan?requesttoken={requesttoken}', {'requesttoken': OC.requestToken}) + '">')
.replace(/{linkend}/g, '</a>'),
type: OC.SetupChecks.MESSAGE_TYPE_ERROR
});
}
if(data.OpcacheSetupRecommendations.length > 0) { if(data.OpcacheSetupRecommendations.length > 0) {
var listOfOPcacheRecommendations = ""; var listOfOPcacheRecommendations = "";
data.OpcacheSetupRecommendations.forEach(function(element){ data.OpcacheSetupRecommendations.forEach(function(element){

19
core/js/tests/specs/setupchecksSpec.js

@ -227,6 +227,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -281,6 +282,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -335,6 +337,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -389,6 +392,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: false, isCorrectMemcachedPHPModuleInstalled: false,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -441,6 +445,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -496,6 +501,7 @@ describe('OC.SetupChecks tests', function() {
forwardedForHeadersWorking: false, forwardedForHeadersWorking: false,
reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html', reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html',
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -551,6 +557,7 @@ describe('OC.SetupChecks tests', function() {
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html', reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html',
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -604,6 +611,7 @@ describe('OC.SetupChecks tests', function() {
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html', reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html',
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: false, isSettimelimitAvailable: false,
missingIndexes: [], missingIndexes: [],
@ -657,6 +665,7 @@ describe('OC.SetupChecks tests', function() {
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html', reverseProxyDocs: 'https://docs.nextcloud.com/foo/bar.html',
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -729,6 +738,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -788,6 +798,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: ['recommendation1', 'recommendation2'], OpcacheSetupRecommendations: ['recommendation1', 'recommendation2'],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -840,6 +851,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -896,6 +908,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -949,6 +962,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -999,6 +1013,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -1052,6 +1067,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -1105,6 +1121,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -1157,6 +1174,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],
@ -1216,6 +1234,7 @@ describe('OC.SetupChecks tests', function() {
isFairUseOfFreePushService: true, isFairUseOfFreePushService: true,
forwardedForHeadersWorking: true, forwardedForHeadersWorking: true,
isCorrectMemcachedPHPModuleInstalled: true, isCorrectMemcachedPHPModuleInstalled: true,
hasPassedCodeIntegrityCheck: true,
OpcacheSetupRecommendations: [], OpcacheSetupRecommendations: [],
isSettimelimitAvailable: true, isSettimelimitAvailable: true,
missingIndexes: [], missingIndexes: [],

Loading…
Cancel
Save