begin the grand unification for 3.0. Start by splitting DAV into a web accessible component and a DAV accessible component so that we can eliminate the http-auth prompts for web-accessed resources.

This commit is contained in:
friendica
2015-01-06 11:55:42 -08:00
parent 7ee5567421
commit c05586fbe7
2 changed files with 156 additions and 27 deletions

View File

@@ -3,7 +3,7 @@
* @file mod/cloud.php
* @brief Initialize RedMatrix's cloud (SabreDAV).
*
* Module for accessing the DAV storage area.
* Module for accessing the DAV storage area from a web client.
*/
use Sabre\DAV;
@@ -12,25 +12,6 @@ use RedMatrix\RedDAV;
// composer autoloader for SabreDAV
require_once('vendor/autoload.php');
// 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.
*
@@ -126,13 +107,8 @@ function cloud_init(&$a) {
}
if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) {
try {
$auth->Authenticate($server, t('RedMatrix - Guests: Username: {your email address}, Password: +++'));
}
catch (Exception $e) {
logger('mod_cloud: auth exception' . $e->getMessage());
http_status_exit($e->getHTTPCode(), $e->getMessage());
}
logger('mod_cloud: auth exception' . $e->getMessage());
http_status_exit($e->getHTTPCode(), $e->getMessage());
}
require_once('include/RedDAV/RedBrowser.php');