diff --git a/typo3/sysext/core/Classes/Log/Writer/FileWriter.php b/typo3/sysext/core/Classes/Log/Writer/FileWriter.php index 971373b82c176e9efdccf4f4343df6e4da142d1d..891bb2c84dfa62815db2aa494c712733068f4424 100644 --- a/typo3/sysext/core/Classes/Log/Writer/FileWriter.php +++ b/typo3/sysext/core/Classes/Log/Writer/FileWriter.php @@ -191,8 +191,11 @@ class FileWriter extends AbstractWriter $logFileDirectory = dirname($this->logFile); if (!@is_dir($logFileDirectory)) { GeneralUtility::mkdir_deep($logFileDirectory); - // only create .htaccess, if we created the directory on our own - $this->createHtaccessFile($logFileDirectory . '/.htaccess'); + // create .htaccess file if log file is within the site path + if (PathUtility::getCommonPrefix(array(PATH_site, $logFileDirectory)) === PATH_site) { + // only create .htaccess, if we created the directory on our own + $this->createHtaccessFile($logFileDirectory . '/.htaccess'); + } } // create the log file GeneralUtility::writeFile($this->logFile, ''); diff --git a/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php b/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php index 654a3c5c60634ed4a42fbe9831ae76c8f42b7a5b..f6bd074fc09d8b052e8f8b46729430efd345537c 100644 --- a/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php +++ b/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php @@ -186,31 +186,4 @@ class FileWriterTest extends \TYPO3\CMS\Core\Tests\UnitTestCase $firstWriter->setLogFile($this->getDefaultFileName($logFilePrefix)); $secondWriter->setLogFile($this->getDefaultFileName($logFilePrefix)); } - - /** - * @test - */ - public function createsHtaccessForNewDirectory() - { - $this->setUpVfsStream(); - $directory = $this->getUniqueId('Log'); - $logFile = 'vfs://LogRoot/' . $directory . '/' . $this->logFileName; - $this->createWriter()->setLogFile($logFile); - $this->assertFileExists('vfs://LogRoot/' . $directory . '/.htaccess'); - } - - /** - * @test - */ - public function createsNoHtaccessForExistingDirectory() - { - $this->setUpVfsStream(); - $directory = $this->getUniqueId('Log'); - // create a directory - vfsStreamWrapper::getRoot()->addChild(new vfsStreamDirectory($directory)); - $logFile = 'vfs://LogRoot/' . $directory . '/' . $this->logFileName; - $this->assertTrue(is_dir('vfs://LogRoot/' . $directory)); - $this->createWriter()->setLogFile($logFile); - $this->assertFileNotExists('vfs://LogRoot/' . $directory . '/.htaccess'); - } }