Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
Shibboleth authentication results in a failed query due to the way the cryptkeyid file is located in getCryptKeyID in utils.php. The function ends up getting called from vcl/shibauth/index.php. This results in the function looking for vcl/shibauth/.ht-inc/cryptkey/cryptkeyid instead of vcl/.ht-inc/cryptkey/cryptkeyid. An additional preg_replace should be added to strip out /shibauth if it exists in $_SERVER['SCRIPT_FILENAME'].
function getCryptKeyID() {
$reg = "|" . SCRIPT . "$|";
$filebase = preg_replace($reg, '', $_SERVER['SCRIPT_FILENAME']);
$filebase = preg_replace('|/shibauth|', '', $filebase);
$filebase .= "/.ht-inc/cryptkey";
$idfile = "$filebase/cryptkeyid";