Merge pull request #21640 from owncloud/add-config-to-disable-wellknown-check
Add config switch to disable the .well-known URL check
This commit is contained in:
commit
2493cfede9
|
@ -476,6 +476,13 @@ $CONFIG = array(
|
||||||
*/
|
*/
|
||||||
'check_for_working_webdav' => true,
|
'check_for_working_webdav' => true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows ownCloud to verify a working .well-known URL redirects. This is done
|
||||||
|
* by attempting to make a request from JS to
|
||||||
|
* https://your-domain.com/.well-known/caldav/
|
||||||
|
*/
|
||||||
|
'check_for_working_wellknown_setup' => true,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a crucial security check on Apache servers that should always be set
|
* This is a crucial security check on Apache servers that should always be set
|
||||||
* to ``true``. This verifies that the ``.htaccess`` file is writable and works.
|
* to ``true``. This verifies that the ``.htaccess`` file is writable and works.
|
||||||
|
|
|
@ -51,10 +51,16 @@
|
||||||
*
|
*
|
||||||
* @param url the URL to test
|
* @param url the URL to test
|
||||||
* @param placeholderUrl the placeholder URL - can be found at oc_defaults.docPlaceholderUrl
|
* @param placeholderUrl the placeholder URL - can be found at oc_defaults.docPlaceholderUrl
|
||||||
|
* @param {boolean} runCheck if this is set to false the check is skipped and no error is returned
|
||||||
* @return $.Deferred object resolved with an array of error messages
|
* @return $.Deferred object resolved with an array of error messages
|
||||||
*/
|
*/
|
||||||
checkWellKnownUrl: function(url, placeholderUrl) {
|
checkWellKnownUrl: function(url, placeholderUrl, runCheck) {
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
|
|
||||||
|
if(runCheck === false) {
|
||||||
|
deferred.resolve([]);
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
var afterCall = function(xhr) {
|
var afterCall = function(xhr) {
|
||||||
var messages = [];
|
var messages = [];
|
||||||
if (xhr.status !== 207) {
|
if (xhr.status !== 207) {
|
||||||
|
|
|
@ -62,7 +62,7 @@ describe('OC.SetupChecks tests', function() {
|
||||||
|
|
||||||
describe('checkWellKnownUrl', function() {
|
describe('checkWellKnownUrl', function() {
|
||||||
it('should fail with another response status code than 207', function(done) {
|
it('should fail with another response status code than 207', function(done) {
|
||||||
var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', 'http://example.org/PLACEHOLDER');
|
var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', 'http://example.org/PLACEHOLDER', true);
|
||||||
|
|
||||||
suite.server.requests[0].respond(200);
|
suite.server.requests[0].respond(200);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ describe('OC.SetupChecks tests', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return no error with a response status code of 207', function(done) {
|
it('should return no error with a response status code of 207', function(done) {
|
||||||
var async = OC.SetupChecks.checkWebDAV('/.well-known/caldav/', 'http://example.org/PLACEHOLDER');
|
var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', 'http://example.org/PLACEHOLDER', true);
|
||||||
|
|
||||||
suite.server.requests[0].respond(207);
|
suite.server.requests[0].respond(207);
|
||||||
|
|
||||||
|
@ -85,6 +85,15 @@ describe('OC.SetupChecks tests', function() {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should return no error when no check should be run', function(done) {
|
||||||
|
var async = OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', 'http://example.org/PLACEHOLDER', false);
|
||||||
|
|
||||||
|
async.done(function( data, s, x ){
|
||||||
|
expect(data).toEqual([]);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('checkSetup', function() {
|
describe('checkSetup', function() {
|
||||||
|
|
|
@ -75,6 +75,7 @@ $template->assign('showLog', $showLog);
|
||||||
$template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled());
|
$template->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled());
|
||||||
$template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
|
$template->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
|
||||||
$template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
|
$template->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
|
||||||
|
$template->assign('checkForWorkingWellKnownSetup', $config->getSystemValue('check_for_working_wellknown_setup', true));
|
||||||
$template->assign('has_fileinfo', OC_Util::fileInfoLoaded());
|
$template->assign('has_fileinfo', OC_Util::fileInfoLoaded());
|
||||||
$template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax'));
|
$template->assign('backgroundjobs_mode', $appConfig->getValue('core', 'backgroundjobs_mode', 'ajax'));
|
||||||
$template->assign('cron_log', $config->getSystemValue('cron_log', true));
|
$template->assign('cron_log', $config->getSystemValue('cron_log', true));
|
||||||
|
|
|
@ -168,8 +168,8 @@ $(document).ready(function(){
|
||||||
// run setup checks then gather error messages
|
// run setup checks then gather error messages
|
||||||
$.when(
|
$.when(
|
||||||
OC.SetupChecks.checkWebDAV(),
|
OC.SetupChecks.checkWebDAV(),
|
||||||
OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', oc_defaults.docPlaceholderUrl),
|
OC.SetupChecks.checkWellKnownUrl('/.well-known/caldav/', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === 'true'),
|
||||||
OC.SetupChecks.checkWellKnownUrl('/.well-known/carddav/', oc_defaults.docPlaceholderUrl),
|
OC.SetupChecks.checkWellKnownUrl('/.well-known/carddav/', oc_defaults.docPlaceholderUrl, $('#postsetupchecks').data('check-wellknown') === 'true'),
|
||||||
OC.SetupChecks.checkSetup(),
|
OC.SetupChecks.checkSetup(),
|
||||||
OC.SetupChecks.checkGeneric()
|
OC.SetupChecks.checkGeneric()
|
||||||
).then(function(check1, check2, check3, check4, check5) {
|
).then(function(check1, check2, check3, check4, check5) {
|
||||||
|
|
|
@ -177,7 +177,7 @@ if ($_['cronErrors']) {
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div id="postsetupchecks">
|
<div id="postsetupchecks" data-check-wellknown="<?php if($_['checkForWorkingWellKnownSetup']) { p('true'); } else { p('false'); } ?>">
|
||||||
<div class="loading"></div>
|
<div class="loading"></div>
|
||||||
<ul class="errors hidden"></ul>
|
<ul class="errors hidden"></ul>
|
||||||
<ul class="warnings hidden"></ul>
|
<ul class="warnings hidden"></ul>
|
||||||
|
|
Loading…
Reference in New Issue