Index: tests/t3lib/t3lib_divTest.php =================================================================== --- tests/t3lib/t3lib_divTest.php (revision 8132) +++ tests/t3lib/t3lib_divTest.php (working copy) @@ -643,7 +643,45 @@ $this->assertTrue(t3lib_div::isOnCurrentHost($testUrl)); } + /** + * @test + * @see t3lib_div::getIndpEnv() + */ + public function checkEqualityTypo3HostOnlyWithRefererHostEvenUnderInternetProtocolVersion6AddressAsHttpHost() { + $this->assertEquals(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST), t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '127.0.0.1'; + $this->assertEquals('127.0.0.1', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '127.0.0.1:81'; + $this->assertEquals('127.0.0.1', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '[::1]'; + $this->assertEquals('[::1]', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '[::1]:81'; + $this->assertEquals('[::1]', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '[2001:DB8::1]'; + $this->assertEquals('[2001:DB8::1]', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + $_SERVER['HTTP_HOST'] = '[2001:DB8::1]:81'; + $this->assertEquals('[2001:DB8::1]', t3lib_div::getIndpEnv('TYPO3_HOST_ONLY')); + } + /** + * @test + * @see t3lib_div::getIndpEnv() + */ + public function checkEqualityTypo3PortIsProperlyRecognizedWhenUsingInternetProtocolVersion6AddressAsHttpHost () { + $this->assertEquals(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PORT), t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '127.0.0.1'; + $this->assertEquals('', t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '127.0.0.1:81'; + $this->assertEquals('81', t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '[::1]'; + $this->assertEquals('', t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '[::1]:81'; + $this->assertEquals('81', t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '[2001:DB8::1]'; + $this->assertEquals('', t3lib_div::getIndpEnv('TYPO3_PORT')); + $_SERVER['HTTP_HOST'] = '[2001:DB8::1]:81'; + $this->assertEquals('81', t3lib_div::getIndpEnv('TYPO3_PORT')); + } //////////////////////////////////////// // Tests concerning sanitizeLocalUrl ////////////////////////////////////////