Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-10-13 18:31:01 +0400
committerRobin Appelman <icewind1991@gmail.com>2011-10-13 18:33:39 +0400
commitf1fd374a6f078031e231c89c9fb8ca4b33feba20 (patch)
treedde64ff97b1dbbfd861c6b64576e50f64f4ab39a
parentd7fa2a0f7770acb36c49ea60348bb583e53b04e7 (diff)
webdav workaround for apache+php-cgi
-rw-r--r--.htaccess4
-rw-r--r--lib/base.php8
-rw-r--r--lib/setup.php4
3 files changed, 16 insertions, 0 deletions
diff --git a/.htaccess b/.htaccess
index 8763a8bcde5..dd49442e371 100644
--- a/.htaccess
+++ b/.htaccess
@@ -5,4 +5,8 @@ php_value post_max_size 512M
php_value memory_limit 128M
SetEnv htaccessWorking true
</IfModule>
+<IfModule !mod_php5.c>
+RewriteEngine on
+RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
+</IfModule>
Options -Indexes
diff --git a/lib/base.php b/lib/base.php
index 0156febe231..57a3ae8669b 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -81,6 +81,14 @@ class OC{
date_default_timezone_set('Europe/Berlin');
ini_set('arg_separator.output','&amp;');
+ //set http auth headers for apache+php-cgi work around
+ if (preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'], $matches))
+ {
+ list($name, $password) = explode(':', base64_decode($matches[1]));
+ $_SERVER['PHP_AUTH_USER'] = strip_tags($name);
+ $_SERVER['PHP_AUTH_PW'] = strip_tags($password);
+ }
+
// calculate the documentroot
OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
diff --git a/lib/setup.php b/lib/setup.php
index 355d979dc65..252eaaeea18 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -273,6 +273,10 @@ class OC_Setup {
$content.= "php_value post_max_size 512M\n";
$content.= "SetEnv htaccessWorking true\n";
$content.= "</IfModule>\n";
+ $content.= "<IfModule !mod_php5.c>\n";
+ $content.= "RewriteEngine on\n";
+ $content.= "RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]\n";
+ $content.= "</IfModule>\n";
$content.= "Options -Indexes\n";
@file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it