2020-11-02 18:00:05 -05:00
< ? php
declare ( strict_types = 1 );
/**
2024-06-03 04:23:34 -04:00
* SPDX - FileCopyrightText : 2020 Nextcloud GmbH and Nextcloud contributors
* SPDX - License - Identifier : AGPL - 3.0 - or - later
2020-11-02 18:00:05 -05:00
*/
namespace OCA\Settings\SetupChecks ;
use OCP\IConfig ;
use OCP\IL10N ;
2022-05-23 03:25:47 -04:00
use OCP\SetupCheck\ISetupCheck ;
use OCP\SetupCheck\SetupResult ;
2020-11-02 18:00:05 -05:00
2022-05-23 03:25:47 -04:00
class CheckUserCertificates implements ISetupCheck {
private string $configValue ;
2020-11-02 18:00:05 -05:00
2023-09-28 10:15:00 -04:00
public function __construct (
private IL10N $l10n ,
IConfig $config ,
) {
2023-10-16 11:23:47 -04:00
$this -> configValue = $config -> getAppValue ( 'files_external' , 'user_certificate_scan' , '' );
2020-11-02 18:00:05 -05:00
}
2022-05-23 03:25:47 -04:00
public function getCategory () : string {
return 'security' ;
2020-11-02 18:00:05 -05:00
}
2022-05-23 03:25:47 -04:00
public function getName () : string {
2022-09-21 11:44:32 -04:00
return $this -> l10n -> t ( 'Old administration imported certificates' );
2020-11-02 18:00:05 -05:00
}
2022-05-23 03:25:47 -04:00
public function run () : SetupResult {
2020-11-02 18:00:05 -05:00
// all fine if neither "not-run-yet" nor a result
2022-05-23 03:25:47 -04:00
if ( $this -> configValue === '' ) {
2023-10-16 11:23:47 -04:00
return SetupResult :: success ();
2020-11-02 18:00:05 -05:00
}
2022-05-23 03:25:47 -04:00
if ( $this -> configValue === 'not-run-yet' ) {
2022-09-21 11:44:32 -04:00
return SetupResult :: info ( $this -> l10n -> t ( 'A background job is pending that checks for administration imported SSL certificates. Please check back later.' ));
2020-11-02 18:00:05 -05:00
}
2022-09-21 11:44:32 -04:00
return SetupResult :: error ( $this -> l10n -> t ( 'There are some administration imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via "occ security:certificates:import" command. Their paths inside the data directory are shown below.' ));
2020-11-02 18:00:05 -05:00
}
}