]> source.dussan.org Git - nextcloud-server.git/commitdiff
trying to fix /.well-known/host-meta
authorMichiel de Jong <michiel@unhosted.org>
Fri, 11 May 2012 08:47:42 +0000 (10:47 +0200)
committerMichiel de Jong <michiel@unhosted.org>
Fri, 11 May 2012 08:47:42 +0000 (10:47 +0200)
.htaccess
apps/user_webfinger/appinfo/install.php [deleted file]
apps/user_webfinger/host-meta.php [new file with mode: 0644]

index 65d4ceafb053c996b088fe5bf6a6c4733cd37c58..69dddc9abb6f4010d8b83094199e2029c32030ea 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -15,9 +15,10 @@ php_value memory_limit 512M
 <IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
 RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
 RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]        
 RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
 RewriteRule ^remote/(.*) remote.php [QSA,L]
 </IfModule>
-Options -Indexes
\ No newline at end of file
+Options -Indexes
diff --git a/apps/user_webfinger/appinfo/install.php b/apps/user_webfinger/appinfo/install.php
deleted file mode 100644 (file)
index 00a533e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-$hostMetaHeader = array(
-       'Access-Control-Allow-Origin' => '*',
-       'Content-Type' => 'application/xml+xrd'
-);
-$appInfoDir = __DIR__;
-$thisAppDir = dirname($appInfoDir);
-$appsDir = dirname($thisAppDir);
-$ownCloudDir = dirname($appsDir);
-$docRoot = $_SERVER['DOCUMENT_ROOT'];
-try {
-    $webRoot = substr(realpath($ownCloudDir), strlen(realpath($docRoot)));
-} catch(Exception $e) {
-    // some servers fail on realpath(), let's try it the unsecure way:
-    $webRoot = substr($ownCloudDir, strlen($docRoot));
-}
-$serverName = $_SERVER['SERVER_NAME'];
-$lrddTmpl = 'http';
-if(isset($_SERVER['HTTPS'])) {
-    $lrddTmpl .= 's';
-}
-$lrddTmpl .= '://' . $serverName . $webRoot . '/public.php?service=webfinger&q={uri}';
-$hostMetaPath = $docRoot . '/.well-known/host-meta';
-$hostMetaDir = $docRoot . '/.well-known';
-$hostMetaContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<XRD xmlns=\"http://docs.oasis-open.org/ns/xri/xrd-1.0\" xmlns:hm=\"http://host-meta.net/xrd/1.0\">
-    <hm:Host xmlns=\"http://host-meta.net/xrd/1.0\">" . $serverName . "</hm:Host>
-    <Link rel=\"lrdd\" template=\"" . $lrddTmpl . "\">
-        <Title>Resource Descriptor</Title>
-    </Link>
-</XRD>";
-@mkdir($hostMetaDir);
-$hostMeta = fopen($hostMetaPath, 'w');
-if(!$hostMeta) {
-    die("Could not open " . $hostMetaPath . " for writing, please check permissions!");
-}
-if(!fwrite($hostMeta, $hostMetaContents, strlen($hostMetaContents))) {
-    die("Could not write to " . $hostMetaPath . ", please check permissions!");
-}
-fclose($hostMeta);
-
-// write custom headers into .htaccess:
-$htaccess = fopen($hostMetaDir . '/.htaccess', 'w');
-//TODO: check compatibility!
-fwrite($htaccess, "<filesMatch \"^host-meta$\">
-<ifModule mod_headers.c>\n");
-foreach($hostMetaHeader as $header => $value) {
-       fwrite($htaccess, "Header set " . $header . " \"" . $value . "\"\n");
-}
-fwrite($htaccess, "</ifModule>\n</filesMatch>");
-fclose($htaccess);
diff --git a/apps/user_webfinger/host-meta.php b/apps/user_webfinger/host-meta.php
new file mode 100644 (file)
index 0000000..30072a7
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+$hostMetaHeader = array(
+       'Access-Control-Allow-Origin' => '*',
+       'Content-Type' => 'application/xml+xrd'
+);
+$ownCloudDir = dirname($appsDir);
+$docRoot = $_SERVER['DOCUMENT_ROOT'];
+try {
+    $webRoot = substr(realpath($ownCloudDir), strlen(realpath($docRoot)));
+} catch(Exception $e) {
+    // some servers fail on realpath(), let's try it the unsecure way:
+    $webRoot = substr($ownCloudDir, strlen($docRoot));
+}
+$serverName = $_SERVER['SERVER_NAME'];
+$lrddTmpl = 'http';
+if(isset($_SERVER['HTTPS'])) {
+    $lrddTmpl .= 's';
+}
+$lrddTmpl .= '://' . $serverName . $webRoot . '/public.php?service=webfinger&q={uri}';
+$hostMetaPath = $docRoot . '/.well-known/host-meta';
+$hostMetaDir = $docRoot . '/.well-known';
+$hostMetaContents = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<XRD xmlns=\"http://docs.oasis-open.org/ns/xri/xrd-1.0\" xmlns:hm=\"http://host-meta.net/xrd/1.0\">
+    <hm:Host xmlns=\"http://host-meta.net/xrd/1.0\">" . $serverName . "</hm:Host>
+    <Link rel=\"lrdd\" template=\"" . $lrddTmpl . "\">
+        <Title>Resource Descriptor</Title>
+    </Link>
+</XRD>";
+foreach($hostMetaHeader as $header => $value) {
+       header($header . ": " . $value);
+}
+echo $hostMetaContents;