From 3f4f3e244a7095538c288e66a17195d1bcceb48c Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 11 Jan 2015 15:22:58 -0800 Subject: that was not intended to be merged with master yet. Put it under a define --- mod/cloud.php | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'mod') diff --git a/mod/cloud.php b/mod/cloud.php index 03676c599..abeae88eb 100644 --- a/mod/cloud.php +++ b/mod/cloud.php @@ -12,6 +12,29 @@ use RedMatrix\RedDAV; // composer autoloader for SabreDAV require_once('vendor/autoload.php'); +if(! defined('TRINIDAD')) { + // workaround for HTTP-auth in CGI mode + if (x($_SERVER, 'REDIRECT_REMOTE_USER')) { + $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ; + if(strlen($userpass)) { + list($name, $password) = explode(':', $userpass); + $_SERVER['PHP_AUTH_USER'] = $name; + $_SERVER['PHP_AUTH_PW'] = $password; + } + } + + if (x($_SERVER, 'HTTP_AUTHORIZATION')) { + $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)) ; + if(strlen($userpass)) { + list($name, $password) = explode(':', $userpass); + $_SERVER['PHP_AUTH_USER'] = $name; + $_SERVER['PHP_AUTH_PW'] = $password; + } + } +} + + + /** * @brief Fires up the SabreDAV server. * @@ -107,8 +130,19 @@ function cloud_init(&$a) { } if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) { - logger('mod_cloud: auth exception' . $e->getMessage()); - http_status_exit($e->getHTTPCode(), $e->getMessage()); + if(defined('TRINIDAD')) { + logger('mod_cloud: auth exception' . $e->getMessage()); + http_status_exit($e->getHTTPCode(), $e->getMessage()); + } + else { + try { + $auth->Authenticate($server, t('RedMatrix channel')); + } + catch (Exception $e) { + logger('mod_cloud: auth exception' . $e->getMessage()); + http_status_exit($e->getHTTPCode(), $e->getMessage()); + } + } } require_once('include/RedDAV/RedBrowser.php'); -- cgit v1.2.3