Browse Source
Merge pull request #47787 from nextcloud/backport/47770/stable30
Merge pull request #47787 from nextcloud/backport/47770/stable30
[stable30] fix(dav): Always respond custom error page on exceptionspull/47796/head
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 113 additions and 75 deletions
-
2apps/dav/composer/composer/autoload_classmap.php
-
2apps/dav/composer/composer/autoload_static.php
-
6apps/dav/lib/Connector/Sabre/ServerFactory.php
-
82apps/dav/lib/Files/ErrorPagePlugin.php
-
6apps/dav/lib/Server.php
-
2apps/dav/tests/travis/caldavtest/tests/CalDAV/sync-report.xml
-
8apps/dav/tests/unit/DAV/ErrorPagePluginTest.php
-
18build/integration/dav_features/caldav.feature
-
15build/integration/dav_features/carddav.feature
-
47core/templates/xml_exception.php
@ -0,0 +1,47 @@ |
|||
<?php |
|||
/** |
|||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors |
|||
* SPDX-FileCopyrightText: 2012-2015 ownCloud, Inc. |
|||
* SPDX-License-Identifier: AGPL-3.0-only |
|||
*/ |
|||
|
|||
function print_exception(Throwable $e, \OCP\IL10N $l): void { |
|||
p($e->getTraceAsString()); |
|||
|
|||
if ($e->getPrevious() !== null) { |
|||
print_unescaped('<s:previous-exception>'); |
|||
print_exception($e->getPrevious(), $l); |
|||
print_unescaped('</s:previous-exception>'); |
|||
} |
|||
} |
|||
|
|||
?>
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
|||
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> |
|||
<s:exception><?php p($l->t('Internal Server Error')) ?></s:exception>
|
|||
<s:message> |
|||
<?php p($l->t('The server was unable to complete your request.')) ?>
|
|||
<?php p($l->t('If this happens again, please send the technical details below to the server administrator.')) ?>
|
|||
<?php p($l->t('More details can be found in the server log.')) ?>
|
|||
<?php if (isset($_['serverLogsDocumentation']) && $_['serverLogsDocumentation'] !== ''): ?>
|
|||
<?php p($l->t('For more details see the documentation ↗.'))?>: <?php print_unescaped($_['serverLogsDocumentation']) ?>
|
|||
<?php endif; ?>
|
|||
</s:message> |
|||
|
|||
<s:technical-details> |
|||
<s:remote-address><?php p($_['remoteAddr']) ?></s:remote-address>
|
|||
<s:request-id><?php p($_['requestID']) ?></s:request-id>
|
|||
|
|||
<?php if (isset($_['debugMode']) && $_['debugMode'] === true): ?>
|
|||
<s:type><?php p($_['errorClass']) ?></s:type>
|
|||
<s:code><?php p($_['errorCode']) ?></s:code>
|
|||
<s:message><?php p($_['errorMsg']) ?></s:message>
|
|||
<s:file><?php p($_['file']) ?></s:file>
|
|||
<s:line><?php p($_['line']) ?></s:line>
|
|||
|
|||
<s:stacktrace> |
|||
<?php print_exception($_['exception'], $l); ?>
|
|||
</s:stacktrace> |
|||
<?php endif; ?>
|
|||
</s:technical-details> |
|||
</d:error> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue