Add checks & realpath() usage

- New util class "FileSystem"
- Add check in admin summary too
This commit is contained in:
Philipp Holzer 2019-10-22 22:47:37 +02:00
parent 0e84a843a4
commit 6b2c28e2d7
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
5 changed files with 129 additions and 60 deletions

View file

@ -14,6 +14,7 @@ use Friendica\Model\Register;
use Friendica\Module\BaseAdminModule;
use Friendica\Util\ConfigFileLoader;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\FileSystem;
use Friendica\Util\Network;
class Summary extends BaseAdminModule
@ -76,11 +77,21 @@ class Summary extends BaseAdminModule
// Check logfile permission
if (Config::get('system', 'debugging')) {
$stream = Config::get('system', 'logfile');
$file = Config::get('system', 'logfile');
if (is_file($stream) &&
!is_writeable($stream)) {
$warningtext[] = L10n::t('The logfile \'%s\' is not writable. No logging possible', $stream);
/** @var FileSystem $fileSystem */
$fileSystem = self::getClass(FileSystem::class);
try {
$stream = $fileSystem->createStream($file);
if (is_file($stream) &&
!is_writeable($stream)) {
$warningtext[] = L10n::t('The logfile \'%s\' is not writable. No logging possible', $stream);
}
} catch (\Throwable $exception) {
$warningtext[] = L10n::t('The logfile \'%s\' is not usable. No logging possible (error: \'%s\')', $file, $exception->getMessage());
}
$stream = Config::get('system', 'dlogfile');