diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php index b5ce246efe48e6007a7aec13e5843d4d67f67ed2..088b662f77352e13126ba0b5fbac9cc33fec61e2 100644 --- a/lib/SimpleSAML/Configuration.php +++ b/lib/SimpleSAML/Configuration.php @@ -595,8 +595,8 @@ class SimpleSAML_Configuration $dir = $this->getString('basedir', null); if ($dir !== null) { // add trailing slash if it is missing - if (substr($dir, -1) !== '/') { - $dir .= '/'; + if (substr($dir, -1) !== DIRECTORY_SEPARATOR) { + $dir .= DIRECTORY_SEPARATOR; } return $dir; @@ -614,8 +614,8 @@ class SimpleSAML_Configuration $dir = dirname($dir); - // Add trailing slash - $dir .= '/'; + // Add trailing directory separator + $dir .= DIRECTORY_SEPARATOR; return $dir; } diff --git a/lib/SimpleSAML/Utils/HTTP.php b/lib/SimpleSAML/Utils/HTTP.php index 612bf5c42a03bd43b18f4c381e762d7fff48651e..de6149f390ac6bc35dcbb79a75f8fafde91ea4e8 100644 --- a/lib/SimpleSAML/Utils/HTTP.php +++ b/lib/SimpleSAML/Utils/HTTP.php @@ -724,7 +724,11 @@ class HTTP $url = self::getBaseURL(); $cfg = \SimpleSAML_Configuration::getInstance(); $baseDir = $cfg->getBaseDir(); - $rel_path = str_replace($baseDir.'www/', '', realpath($_SERVER['SCRIPT_FILENAME'])); + $rel_path = str_replace( + DIRECTORY_SEPARATOR, + '/', + str_replace($baseDir.'www'.DIRECTORY_SEPARATOR, '', realpath($_SERVER['SCRIPT_FILENAME'])) + ); $pos = strpos($_SERVER['REQUEST_URI'], $rel_path) + strlen($rel_path); return $url.$rel_path.substr($_SERVER['REQUEST_URI'], $pos); }