Browse Source

Migrate HintException to OCP

Signed-off-by: Gary Kim <gary@garykim.dev>
tags/v23.0.0beta1
Gary Kim 2 years ago
parent
commit
b78f3a57d1
No account linked to committer's email address
60 changed files with 185 additions and 134 deletions
  1. 1
    1
      apps/encryption/lib/Command/FixEncryptedVersion.php
  2. 1
    1
      apps/federatedfilesharing/lib/AddressHandler.php
  3. 1
    1
      apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php
  4. 1
    1
      apps/federatedfilesharing/lib/Controller/RequestHandlerController.php
  5. 3
    3
      apps/federatedfilesharing/lib/FederatedShareProvider.php
  6. 3
    3
      apps/federatedfilesharing/lib/Notifications.php
  7. 1
    1
      apps/federatedfilesharing/lib/Notifier.php
  8. 5
    6
      apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php
  9. 1
    1
      apps/federatedfilesharing/tests/AddressHandlerTest.php
  10. 1
    1
      apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php
  11. 1
    1
      apps/federation/lib/Controller/SettingsController.php
  12. 1
    1
      apps/federation/lib/DbHandler.php
  13. 1
    1
      apps/federation/lib/Middleware/AddServerMiddleware.php
  14. 1
    1
      apps/federation/lib/TrustedServers.php
  15. 2
    2
      apps/federation/tests/Controller/SettingsControllerTest.php
  16. 1
    1
      apps/federation/tests/Middleware/AddServerMiddlewareTest.php
  17. 1
    1
      apps/federation/tests/TrustedServersTest.php
  18. 2
    2
      apps/files_sharing/lib/Controller/ShareController.php
  19. 3
    3
      apps/provisioning_api/lib/Controller/UsersController.php
  20. 1
    1
      apps/settings/lib/Controller/ChangePasswordController.php
  21. 1
    1
      apps/sharebymail/lib/ShareByMailProvider.php
  22. 1
    1
      apps/sharebymail/tests/ShareByMailProviderTest.php
  23. 1
    1
      apps/user_ldap/lib/Access.php
  24. 2
    2
      apps/user_ldap/lib/Controller/RenewPasswordController.php
  25. 1
    1
      apps/user_ldap/tests/AccessTest.php
  26. 3
    3
      apps/user_ldap/tests/User_LDAPTest.php
  27. 3
    3
      core/Controller/LostController.php
  28. 1
    1
      index.php
  29. 1
    1
      lib/base.php
  30. 1
    0
      lib/composer/composer/autoload_classmap.php
  31. 1
    0
      lib/composer/composer/autoload_static.php
  32. 2
    1
      lib/private/AppFramework/App.php
  33. 2
    0
      lib/private/Config.php
  34. 2
    0
      lib/private/DatabaseSetupException.php
  35. 15
    56
      lib/private/HintException.php
  36. 1
    0
      lib/private/Installer.php
  37. 1
    1
      lib/private/Log/ExceptionSerializer.php
  38. 1
    1
      lib/private/Log/Systemdlog.php
  39. 2
    2
      lib/private/Memcache/Factory.php
  40. 1
    1
      lib/private/Memcache/Memcached.php
  41. 1
    1
      lib/private/Setup.php
  42. 1
    1
      lib/private/Share20/Manager.php
  43. 1
    0
      lib/private/Updater.php
  44. 1
    1
      lib/private/User/Manager.php
  45. 2
    2
      lib/private/legacy/OC_Hook.php
  46. 7
    5
      lib/private/legacy/OC_Util.php
  47. 1
    1
      lib/public/Encryption/Exceptions/GenericEncryptionException.php
  48. 1
    1
      lib/public/Federation/Exceptions/ActionNotSupportedException.php
  49. 1
    1
      lib/public/Federation/Exceptions/AuthenticationFailedException.php
  50. 1
    1
      lib/public/Federation/Exceptions/BadRequestException.php
  51. 1
    1
      lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php
  52. 1
    1
      lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php
  53. 1
    1
      lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php
  54. 1
    1
      lib/public/Files/StorageNotAvailableException.php
  55. 82
    0
      lib/public/HintException.php
  56. 1
    1
      lib/public/Share/Exceptions/GenericShareException.php
  57. 1
    1
      tests/Core/Controller/ChangePasswordControllerTest.php
  58. 1
    1
      tests/lib/Memcache/FactoryTest.php
  59. 1
    1
      tests/lib/Share20/ManagerTest.php
  60. 3
    3
      tests/lib/User/DatabaseTest.php

+ 1
- 1
apps/encryption/lib/Command/FixEncryptedVersion.php View File

@@ -23,9 +23,9 @@
namespace OCA\Encryption\Command;

use OC\Files\View;
use OC\HintException;
use OCA\Encryption\Util;
use OCP\Files\IRootFolder;
use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserManager;

+ 1
- 1
apps/federatedfilesharing/lib/AddressHandler.php View File

@@ -25,8 +25,8 @@
*/
namespace OCA\FederatedFileSharing;

use OC\HintException;
use OCP\Federation\ICloudIdManager;
use OCP\HintException;
use OCP\IL10N;
use OCP\IURLGenerator;


+ 1
- 1
apps/federatedfilesharing/lib/Controller/MountPublicLinkController.php View File

@@ -31,7 +31,6 @@
*/
namespace OCA\FederatedFileSharing\Controller;

use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCP\AppFramework\Controller;
@@ -39,6 +38,7 @@ use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\Constants;
use OCP\Federation\ICloudIdManager;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
use OCP\ILogger;

+ 1
- 1
apps/federatedfilesharing/lib/Controller/RequestHandlerController.php View File

@@ -230,7 +230,7 @@ class RequestHandlerController extends OCSController {
* @return Http\DataResponse
* @throws OCSException
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
public function acceptShare($id) {
$token = isset($_POST['token']) ? $_POST['token'] : null;

+ 3
- 3
apps/federatedfilesharing/lib/FederatedShareProvider.php View File

@@ -441,7 +441,7 @@ class FederatedShareProvider implements IShareProvider {
*
* @param IShare $share
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
protected function sendPermissionUpdate(IShare $share) {
$remoteId = $this->getRemoteId($share);
@@ -550,7 +550,7 @@ class FederatedShareProvider implements IShareProvider {
*
* @param IShare $share
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
public function delete(IShare $share) {
[, $remote] = $this->addressHandler->splitUserRemote($share->getSharedWith());
@@ -577,7 +577,7 @@ class FederatedShareProvider implements IShareProvider {
* @param IShare $share
* @param bool $isOwner the user can either be the owner or the user who re-sahred it
* @throws ShareNotFound
* @throws \OC\HintException
* @throws \OCP\HintException
*/
protected function revokeShare($share, $isOwner) {
if ($this->userManager->userExists($share->getShareOwner()) && $this->userManager->userExists($share->getSharedBy())) {

+ 3
- 3
apps/federatedfilesharing/lib/Notifications.php View File

@@ -34,8 +34,8 @@ use OCP\EventDispatcher\IEventDispatcher;
use OCP\Federation\ICloudFederationFactory;
use OCP\Federation\ICloudFederationProviderManager;
use OCP\Http\Client\IClientService;
use OCP\OCS\IDiscoveryService;
use OCP\ILogger;
use OCP\OCS\IDiscoveryService;

class Notifications {
public const RESPONSE_FORMAT = 'json'; // default response format for ocs calls
@@ -97,7 +97,7 @@ class Notifications {
* @param string $sharedByFederatedId
* @param int $shareType (can be a remote user or group share)
* @return bool
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
public function sendRemoteShare($token, $shareWith, $name, $remoteId, $owner, $ownerFederatedId, $sharedBy, $sharedByFederatedId, $shareType) {
@@ -156,7 +156,7 @@ class Notifications {
* @param int $permission
* @param string $filename
* @return array|false
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
public function requestReShare($token, $id, $shareId, $remote, $shareWith, $permission, $filename) {

+ 1
- 1
apps/federatedfilesharing/lib/Notifier.php View File

@@ -27,10 +27,10 @@
*/
namespace OCA\FederatedFileSharing;

use OC\HintException;
use OCP\Contacts\IManager;
use OCP\Federation\ICloudId;
use OCP\Federation\ICloudIdManager;
use OCP\HintException;
use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;

+ 5
- 6
apps/federatedfilesharing/lib/OCM/CloudFederationProviderFiles.php View File

@@ -30,7 +30,6 @@ namespace OCA\FederatedFileSharing\OCM;

use OC\AppFramework\Http;
use OC\Files\Filesystem;
use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\Files_Sharing\Activity\Providers\RemoteShares;
@@ -48,6 +47,7 @@ use OCP\Federation\ICloudFederationProviderManager;
use OCP\Federation\ICloudFederationShare;
use OCP\Federation\ICloudIdManager;
use OCP\Files\NotFoundException;
use OCP\HintException;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
@@ -55,7 +55,6 @@ use OCP\ILogger;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\Notification\IManager as INotificationManager;
use OCP\Share;
use OCP\Share\Exceptions\ShareNotFound;
use OCP\Share\IManager;
use OCP\Share\IShare;
@@ -176,7 +175,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
*
* @throws ProviderCouldNotAddShareException
* @throws \OCP\AppFramework\QueryException
* @throws \OC\HintException
* @throws HintException
* @since 14.0.0
*/
public function shareReceived(ICloudFederationShare $share) {
@@ -305,7 +304,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws \OC\HintException
* @throws HintException
* @since 14.0.0
*/
public function notificationReceived($notificationType, $providerId, array $notification) {
@@ -373,7 +372,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws \OC\HintException
* @throws HintException
*/
private function shareAccepted($id, array $notification) {
if (!$this->isS2SEnabled()) {
@@ -442,7 +441,7 @@ class CloudFederationProviderFiles implements ICloudFederationProvider {
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws ShareNotFound
* @throws \OC\HintException
* @throws HintException
*
*/
protected function shareDeclined($id, array $notification) {

+ 1
- 1
apps/federatedfilesharing/tests/AddressHandlerTest.php View File

@@ -136,7 +136,7 @@ class AddressHandlerTest extends \Test\TestCase {
* @param string $id
*/
public function testSplitUserRemoteError($id) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$this->addressHandler->splitUserRemote($id);
}

+ 1
- 1
apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php View File

@@ -29,7 +29,6 @@
namespace OCA\FederatedFileSharing\Tests\Controller;

use OC\Federation\CloudIdManager;
use OC\HintException;
use OCA\FederatedFileSharing\AddressHandler;
use OCA\FederatedFileSharing\Controller\MountPublicLinkController;
use OCA\FederatedFileSharing\FederatedShareProvider;
@@ -37,6 +36,7 @@ use OCP\AppFramework\Http;
use OCP\Contacts\IManager as IContactsManager;
use OCP\Federation\ICloudIdManager;
use OCP\Files\IRootFolder;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IL10N;
use OCP\IRequest;

+ 1
- 1
apps/federation/lib/Controller/SettingsController.php View File

@@ -23,10 +23,10 @@
*/
namespace OCA\Federation\Controller;

use OC\HintException;
use OCA\Federation\TrustedServers;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\DataResponse;
use OCP\HintException;
use OCP\IL10N;
use OCP\IRequest;


+ 1
- 1
apps/federation/lib/DbHandler.php View File

@@ -28,7 +28,7 @@
namespace OCA\Federation;

use OC\Files\Filesystem;
use OC\HintException;
use OCP\HintException;
use OCP\IDBConnection;
use OCP\IL10N;


+ 1
- 1
apps/federation/lib/Middleware/AddServerMiddleware.php View File

@@ -28,12 +28,12 @@
*/
namespace OCA\Federation\Middleware;

use OC\HintException;
use OCA\Federation\Controller\SettingsController;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
use OCP\HintException;
use OCP\IL10N;
use OCP\ILogger;


+ 1
- 1
apps/federation/lib/TrustedServers.php View File

@@ -27,11 +27,11 @@
*/
namespace OCA\Federation;

use OC\HintException;
use OCA\Federation\BackgroundJob\RequestSharedSecret;
use OCP\AppFramework\Http;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\ILogger;

+ 2
- 2
apps/federation/tests/Controller/SettingsControllerTest.php View File

@@ -88,7 +88,7 @@ class SettingsControllerTest extends TestCase {
* @param bool $isOwnCloud
*/
public function testAddServerFail($isTrustedServer, $isOwnCloud) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$this->trustedServers
->expects($this->any())
@@ -136,7 +136,7 @@ class SettingsControllerTest extends TestCase {
* @param bool $isOwnCloud
*/
public function testCheckServerFail($isTrustedServer, $isOwnCloud) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$this->trustedServers
->expects($this->any())

+ 1
- 1
apps/federation/tests/Middleware/AddServerMiddlewareTest.php View File

@@ -26,10 +26,10 @@
*/
namespace OCA\Federation\Tests\Middleware;

use OC\HintException;
use OCA\Federation\Controller\SettingsController;
use OCA\Federation\Middleware\AddServerMiddleware;
use OCP\AppFramework\Http;
use OCP\HintException;
use OCP\IL10N;
use OCP\ILogger;
use Test\TestCase;

+ 1
- 1
apps/federation/tests/TrustedServersTest.php View File

@@ -311,7 +311,7 @@ class TrustedServersTest extends TestCase {
* @dataProvider dataTestCheckOwnCloudVersionTooLow
*/
public function testCheckOwnCloudVersionTooLow($status) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Remote server version is too low. 9.0 is required.');

$this->invokePrivate($this->trustedServers, 'checkOwnCloudVersion', [$status]);

+ 2
- 2
apps/files_sharing/lib/Controller/ShareController.php View File

@@ -42,9 +42,9 @@
*/
namespace OCA\Files_Sharing\Controller;

use OC\Security\CSP\ContentSecurityPolicy;
use OC_Files;
use OC_Util;
use OC\Security\CSP\ContentSecurityPolicy;
use OCA\FederatedFileSharing\FederatedShareProvider;
use OCA\Files_Sharing\Activity\Providers\Downloads;
use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent;
@@ -242,7 +242,7 @@ class ShareController extends AuthPublicShareController {
* otherwise token
* @param int $errorCode
* @param string $errorMessage
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException
*/
protected function emitAccessShareHook($share, $errorCode = 200, $errorMessage = '') {

+ 3
- 3
apps/provisioning_api/lib/Controller/UsersController.php View File

@@ -47,7 +47,6 @@ use libphonenumber\PhoneNumber;
use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberUtil;
use OC\Authentication\Token\RemoteWipe;
use OC\HintException;
use OC\KnownUser\KnownUserService;
use OC\User\Backend;
use OCA\Settings\Mailer\NewUserMailHelper;
@@ -59,6 +58,8 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCS\OCSForbiddenException;
use OCP\AppFramework\OCSController;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\HintException;
use OCP\IConfig;
use OCP\IGroup;
use OCP\IGroupManager;
@@ -68,9 +69,8 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\L10N\IFactory;
use OCP\Security\ISecureRandom;
use OCP\Security\Events\GenerateSecurePasswordEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Security\ISecureRandom;
use OCP\User\Backend\ISetDisplayNameBackend;
use Psr\Log\LoggerInterface;


+ 1
- 1
apps/settings/lib/Controller/ChangePasswordController.php View File

@@ -36,11 +36,11 @@
namespace OCA\Settings\Controller;

use OC\Group\Manager as GroupManager;
use OC\HintException;
use OC\User\Session;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\HintException;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;

+ 1
- 1
apps/sharebymail/lib/ShareByMailProvider.php View File

@@ -40,7 +40,6 @@
*/
namespace OCA\ShareByMail;

use OC\HintException;
use OC\Share20\Exception\InvalidShare;
use OC\Share20\Share;
use OC\User\NoUserException;
@@ -52,6 +51,7 @@ use OCP\EventDispatcher\IEventDispatcher;
use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\HintException;
use OCP\IDBConnection;
use OCP\IL10N;
use OCP\ILogger;

+ 1
- 1
apps/sharebymail/tests/ShareByMailProviderTest.php View File

@@ -479,7 +479,7 @@ class ShareByMailProviderTest extends TestCase {


public function testCreateMailShareFailed() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$this->share->expects($this->any())->method('getToken')->willReturn('token');
$this->share->expects($this->once())->method('setToken')->with('token');

+ 1
- 1
apps/user_ldap/lib/Access.php View File

@@ -47,7 +47,6 @@
namespace OCA\User_LDAP;

use DomainException;
use OC\HintException;
use OC\Hooks\PublicEmitter;
use OC\ServerNotAvailableException;
use OCA\User_LDAP\Exceptions\ConstraintViolationException;
@@ -56,6 +55,7 @@ use OCA\User_LDAP\Mapping\AbstractMapping;
use OCA\User_LDAP\Mapping\UserMapping;
use OCA\User_LDAP\User\Manager;
use OCA\User_LDAP\User\OfflineUser;
use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IUserManager;

+ 2
- 2
apps/user_ldap/lib/Controller/RenewPasswordController.php View File

@@ -23,10 +23,10 @@
*/
namespace OCA\User_LDAP\Controller;

use OC\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\HintException;
use OCP\IConfig;
use OCP\IL10N;
use OCP\IRequest;
@@ -139,7 +139,7 @@ class RenewPasswordController extends Controller {
]);
return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args));
}
try {
if (!is_null($newPassword) && \OC_User::setPassword($user, $newPassword)) {
$this->session->set('loginMessages', [

+ 1
- 1
apps/user_ldap/tests/AccessTest.php View File

@@ -482,7 +482,7 @@ class AccessTest extends TestCase {


public function testSetPasswordWithRejectedChange() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Password change rejected.');

$this->connection

+ 3
- 3
apps/user_ldap/tests/User_LDAPTest.php View File

@@ -31,7 +31,6 @@
*/
namespace OCA\User_LDAP\Tests;

use OC\HintException;
use OC\User\Backend;
use OC\User\Session;
use OCA\User_LDAP\Access;
@@ -44,6 +43,7 @@ use OCA\User_LDAP\User\User;
use OCA\User_LDAP\User_LDAP;
use OCA\User_LDAP\User_LDAP as UserLDAP;
use OCA\User_LDAP\UserPluginManager;
use OCP\HintException;
use OCP\IConfig;
use OCP\IUser;
use OCP\Notification\IManager as INotificationManager;
@@ -1214,7 +1214,7 @@ class User_LDAPTest extends TestCase {


public function testSetPasswordInvalid() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('Password fails quality checking policy');

$this->prepareAccessForSetPassword($this->access);
@@ -1359,7 +1359,7 @@ class User_LDAPTest extends TestCase {


public function testSetDisplayNameErrorWithPlugin() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$newDisplayName = 'J. Baker';
$this->pluginManager->expects($this->once())

+ 3
- 3
core/Controller/LostController.php View File

@@ -35,11 +35,8 @@
*/
namespace OC\Core\Controller;

use function array_filter;
use function count;
use OC\Authentication\TwoFactorAuth\Manager;
use OC\Core\Exception\ResetPasswordException;
use OC\HintException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\TemplateResponse;
@@ -47,6 +44,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Defaults;
use OCP\Encryption\IEncryptionModule;
use OCP\Encryption\IManager;
use OCP\HintException;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IL10N;
@@ -58,6 +56,8 @@ use OCP\IUserManager;
use OCP\Mail\IMailer;
use OCP\Security\ICrypto;
use OCP\Security\ISecureRandom;
use function array_filter;
use function count;
use function reset;

/**

+ 1
- 1
index.php View File

@@ -39,7 +39,7 @@ try {

//show the user a detailed error page
OC_Template::printExceptionErrorPage($ex, 503);
} catch (\OC\HintException $ex) {
} catch (\OCP\HintException $ex) {
try {
OC_Template::printErrorPage($ex->getMessage(), $ex->getHint(), 503);
} catch (Exception $ex2) {

+ 1
- 1
lib/base.php View File

@@ -388,7 +388,7 @@ class OC {
if (!empty($incompatibleShippedApps)) {
$l = \OC::$server->getL10N('core');
$hint = $l->t('The files of the app %1$s were not replaced correctly. Make sure it is a version compatible with the server.', [implode(', ', $incompatibleShippedApps)]);
throw new \OC\HintException('The files of the app ' . implode(', ', $incompatibleShippedApps) . ' were not replaced correctly. Make sure it is a version compatible with the server.', $hint);
throw new \OCP\HintException('The files of the app ' . implode(', ', $incompatibleShippedApps) . ' were not replaced correctly. Make sure it is a version compatible with the server.', $hint);
}

$tmpl->assign('appsToUpgrade', $appManager->getAppsNeedingUpgrade($ocVersion));

+ 1
- 0
lib/composer/composer/autoload_classmap.php View File

@@ -371,6 +371,7 @@ return array(
'OCP\\Group\\Events\\UserAddedEvent' => $baseDir . '/lib/public/Group/Events/UserAddedEvent.php',
'OCP\\Group\\Events\\UserRemovedEvent' => $baseDir . '/lib/public/Group/Events/UserRemovedEvent.php',
'OCP\\Group\\ISubAdmin' => $baseDir . '/lib/public/Group/ISubAdmin.php',
'OCP\\HintException' => $baseDir . '/lib/public/HintException.php',
'OCP\\Http\\Client\\IClient' => $baseDir . '/lib/public/Http/Client/IClient.php',
'OCP\\Http\\Client\\IClientService' => $baseDir . '/lib/public/Http/Client/IClientService.php',
'OCP\\Http\\Client\\IResponse' => $baseDir . '/lib/public/Http/Client/IResponse.php',

+ 1
- 0
lib/composer/composer/autoload_static.php View File

@@ -400,6 +400,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OCP\\Group\\Events\\UserAddedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/UserAddedEvent.php',
'OCP\\Group\\Events\\UserRemovedEvent' => __DIR__ . '/../../..' . '/lib/public/Group/Events/UserRemovedEvent.php',
'OCP\\Group\\ISubAdmin' => __DIR__ . '/../../..' . '/lib/public/Group/ISubAdmin.php',
'OCP\\HintException' => __DIR__ . '/../../..' . '/lib/public/HintException.php',
'OCP\\Http\\Client\\IClient' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IClient.php',
'OCP\\Http\\Client\\IClientService' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IClientService.php',
'OCP\\Http\\Client\\IResponse' => __DIR__ . '/../../..' . '/lib/public/Http/Client/IResponse.php',

+ 2
- 1
lib/private/AppFramework/App.php View File

@@ -34,11 +34,11 @@ namespace OC\AppFramework;
use OC\AppFramework\DependencyInjection\DIContainer;
use OC\AppFramework\Http\Dispatcher;
use OC\AppFramework\Http\Request;
use OC\HintException;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\ICallbackResponse;
use OCP\AppFramework\Http\IOutput;
use OCP\AppFramework\QueryException;
use OCP\HintException;
use OCP\IRequest;

/**
@@ -105,6 +105,7 @@ class App {

/**
* Shortcut for calling a controller method and printing the result
*
* @param string $controllerName the name of the controller under which it is
* stored in the DI container
* @param string $methodName the method that you want to call

+ 2
- 0
lib/private/Config.php View File

@@ -38,6 +38,8 @@
*/
namespace OC;

use OCP\HintException;

/**
* This class is responsible for reading and writing config.php, the very basic
* configuration file of Nextcloud.

+ 2
- 0
lib/private/DatabaseSetupException.php View File

@@ -22,5 +22,7 @@
*/
namespace OC;

use OCP\HintException;

class DatabaseSetupException extends HintException {
}

+ 15
- 56
lib/private/HintException.php View File

@@ -1,28 +1,28 @@
<?php

declare(strict_types=1);
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
* @copyright Copyright (c) 2021 Gary Kim <gary@garykim.dev>
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Bart Visscher <bartv@thisnet.nl>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Michael Gapczynski <GapczynskiM@gmail.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Gary Kim <gary@garykim.dev>
*
* @license AGPL-3.0
* @license GNU AGPL version 3 or any later version
*
* This code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License, version 3,
* along with this program. If not, see <http://www.gnu.org/licenses/>
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

namespace OC;

/**
@@ -31,48 +31,7 @@ namespace OC;
* An Exception class with the intention to be presented to the end user
*
* @package OC
* @depreacted 23.0.0 Use \OCP\HintException
*/
class HintException extends \Exception {
private $hint;

/**
* HintException constructor.
*
* @param string $message The error message. It will be not revealed to the
* the user (unless the hint is empty) and thus
* should be not translated.
* @param string $hint A useful message that is presented to the end
* user. It should be translated, but must not
* contain sensitive data.
* @param int $code
* @param \Exception|null $previous
*/
public function __construct($message, $hint = '', $code = 0, \Exception $previous = null) {
$this->hint = $hint;
parent::__construct($message, $code, $previous);
}

/**
* Returns a string representation of this Exception that includes the error
* code, the message and the hint.
*
* @return string
*/
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message} ({$this->hint})\n";
}

/**
* Returns the hint with the intention to be presented to the end user. If
* an empty hint was specified upon instatiation, the message is returned
* instead.
*
* @return string
*/
public function getHint() {
if (empty($this->hint)) {
return $this->message;
}
return $this->hint;
}
class HintException extends \OCP\HintException {
}

+ 1
- 0
lib/private/Installer.php View File

@@ -48,6 +48,7 @@ use OC\DB\Connection;
use OC\DB\MigrationService;
use OC_App;
use OC_Helper;
use OCP\HintException;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\ILogger;

+ 1
- 1
lib/private/Log/ExceptionSerializer.php View File

@@ -29,10 +29,10 @@
namespace OC\Log;

use OC\Core\Controller\SetupController;
use OC\HintException;
use OC\Security\IdentityProof\Key;
use OC\Setup;
use OC\SystemConfig;
use OCP\HintException;

class ExceptionSerializer {
public const methodsWithSensitiveParameters = [

+ 1
- 1
lib/private/Log/Systemdlog.php View File

@@ -25,8 +25,8 @@
*/
namespace OC\Log;

use OC\HintException;
use OC\SystemConfig;
use OCP\HintException;
use OCP\ILogger;
use OCP\Log\IWriter;


+ 2
- 2
lib/private/Memcache/Factory.php View File

@@ -86,12 +86,12 @@ class Factory implements ICacheFactory {
$missingCacheMessage = 'Memcache {class} not available for {use} cache';
$missingCacheHint = 'Is the matching PHP module installed and enabled?';
if (!class_exists($localCacheClass) || !$localCacheClass::isAvailable()) {
throw new \OC\HintException(strtr($missingCacheMessage, [
throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $localCacheClass, '{use}' => 'local'
]), $missingCacheHint);
}
if (!class_exists($distributedCacheClass) || !$distributedCacheClass::isAvailable()) {
throw new \OC\HintException(strtr($missingCacheMessage, [
throw new \OCP\HintException(strtr($missingCacheMessage, [
'{class}' => $distributedCacheClass, '{use}' => 'distributed'
]), $missingCacheHint);
}

+ 1
- 1
lib/private/Memcache/Memcached.php View File

@@ -31,7 +31,7 @@
*/
namespace OC\Memcache;

use OC\HintException;
use OCP\HintException;
use OCP\IMemcache;

class Memcached extends Cache implements IMemcache {

+ 1
- 1
lib/private/Setup.php View File

@@ -224,7 +224,7 @@ class Setup {
try {
$util = new \OC_Util();
$htAccessWorking = $util->isHtaccessWorking(\OC::$server->getConfig());
} catch (\OC\HintException $e) {
} catch (\OCP\HintException $e) {
$errors[] = [
'error' => $e->getMessage(),
'exception' => $e,

+ 1
- 1
lib/private/Share20/Manager.php View File

@@ -43,7 +43,6 @@ namespace OC\Share20;

use OC\Cache\CappedMemoryCache;
use OC\Files\Mount\MoveableMount;
use OC\HintException;
use OC\Share20\Exception\ProviderException;
use OCA\Files_Sharing\ISharedStorage;
use OCP\EventDispatcher\IEventDispatcher;
@@ -52,6 +51,7 @@ use OCP\Files\Folder;
use OCP\Files\IRootFolder;
use OCP\Files\Mount\IMountManager;
use OCP\Files\Node;
use OCP\HintException;
use OCP\IConfig;
use OCP\IGroupManager;
use OCP\IL10N;

+ 1
- 0
lib/private/Updater.php View File

@@ -45,6 +45,7 @@ use OC\DB\MigrationService;
use OC\Hooks\BasicEmitter;
use OC\IntegrityCheck\Checker;
use OC_App;
use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
use OCP\Util;

+ 1
- 1
lib/private/User/Manager.php View File

@@ -33,10 +33,10 @@
*/
namespace OC\User;

use OC\HintException;
use OC\Hooks\PublicEmitter;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\HintException;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IConfig;

+ 2
- 2
lib/private/legacy/OC_Hook.php View File

@@ -81,7 +81,7 @@ class OC_Hook {
* @param string $signalName name of signal
* @param mixed $params default: array() array with additional data
* @return bool true if slots exists or false if not
* @throws \OC\HintException
* @throws \OCP\HintException
* @throws \OC\ServerNotAvailableException Emits a signal. To get data from the slot use references!
*
* TODO: write example
@@ -107,7 +107,7 @@ class OC_Hook {
} catch (Exception $e) {
self::$thrownExceptions[] = $e;
\OC::$server->getLogger()->logException($e);
if ($e instanceof \OC\HintException) {
if ($e instanceof \OCP\HintException) {
throw $e;
}
if ($e instanceof \OC\ServerNotAvailableException) {

+ 7
- 5
lib/private/legacy/OC_Util.php View File

@@ -63,6 +63,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/

use bantu\IniGetWrapper\IniGetWrapper;
use OC\AppFramework\Http\Request;
use OC\Files\Storage\LocalRootStorage;
@@ -1214,7 +1215,7 @@ class OC_Util {

$fp = @fopen($testFile, 'w');
if (!$fp) {
throw new OC\HintException('Can\'t create test file to check for working .htaccess file.',
throw new \OCP\HintException('Can\'t create test file to check for working .htaccess file.',
'Make sure it is possible for the webserver to write to ' . $testFile);
}
fwrite($fp, $testContent);
@@ -1225,10 +1226,11 @@ class OC_Util {

/**
* Check if the .htaccess file is working
*
* @param \OCP\IConfig $config
* @return bool
* @throws Exception
* @throws \OC\HintException If the test file can't get written.
* @throws \OCP\HintException If the test file can't get written.
*/
public function isHtaccessWorking(\OCP\IConfig $config) {
if (\OC::$CLI || !$config->getSystemValue('check_for_working_htaccess', true)) {
@@ -1422,7 +1424,7 @@ class OC_Util {
*
* @param \OC\SystemConfig $config
* @return bool whether the core or any app needs an upgrade
* @throws \OC\HintException When the upgrade from the given version is not allowed
* @throws \OCP\HintException When the upgrade from the given version is not allowed
*/
public static function needUpgrade(\OC\SystemConfig $config) {
if ($config->getValue('installed', false)) {
@@ -1442,11 +1444,11 @@ class OC_Util {
return true;
} else {
// downgrade attempt, throw exception
throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
throw new \OCP\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
}
} elseif ($versionDiff < 0) {
// downgrade attempt, throw exception
throw new \OC\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
throw new \OCP\HintException('Downgrading is not supported and is likely to cause unpredictable issues (from ' . $installedVersion . ' to ' . $currentVersion . ')');
}

// also check for upgrades for apps (independently from the user)

+ 1
- 1
lib/public/Encryption/Exceptions/GenericEncryptionException.php View File

@@ -26,7 +26,7 @@
*/
namespace OCP\Encryption\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class GenericEncryptionException

+ 1
- 1
lib/public/Federation/Exceptions/ActionNotSupportedException.php View File

@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class ActionNotSupportedException

+ 1
- 1
lib/public/Federation/Exceptions/AuthenticationFailedException.php View File

@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class AuthenticationFailedException

+ 1
- 1
lib/public/Federation/Exceptions/BadRequestException.php View File

@@ -23,7 +23,7 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class BadRequestException

+ 1
- 1
lib/public/Federation/Exceptions/ProviderAlreadyExistsException.php View File

@@ -24,7 +24,7 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class ProviderAlreadyExistsException

+ 1
- 1
lib/public/Federation/Exceptions/ProviderCouldNotAddShareException.php View File

@@ -22,8 +22,8 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\AppFramework\Http;
use OCP\HintException;

/**
* Class ProviderCouldNotAddShareException

+ 1
- 1
lib/public/Federation/Exceptions/ProviderDoesNotExistsException.php View File

@@ -22,7 +22,7 @@
*/
namespace OCP\Federation\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class ProviderDoesNotExistsException

+ 1
- 1
lib/public/Files/StorageNotAvailableException.php View File

@@ -32,7 +32,7 @@

namespace OCP\Files;

use OC\HintException;
use OCP\HintException;

/**
* Storage is temporarily not available

+ 82
- 0
lib/public/HintException.php View File

@@ -0,0 +1,82 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Bart Visscher <bartv@thisnet.nl>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Michael Gapczynski <GapczynskiM@gmail.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
*
* @license AGPL-3.0
*
* This code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License, version 3,
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
namespace OCP;

/**
* Class HintException
*
* An Exception class with the intention to be presented to the end user
*
* @package OCP
* @since 23.0.0
*/
class HintException extends \Exception {
private $hint;

/**
* HintException constructor.
*
* @since 23.0.0
* @param string $message The error message. It will be not revealed to the
* the user (unless the hint is empty) and thus
* should be not translated.
* @param string $hint A useful message that is presented to the end
* user. It should be translated, but must not
* contain sensitive data.
* @param int $code
* @param \Exception|null $previous
*/
public function __construct($message, $hint = '', $code = 0, \Exception $previous = null) {
$this->hint = $hint;
parent::__construct($message, $code, $previous);
}

/**
* Returns a string representation of this Exception that includes the error
* code, the message and the hint.
*
* @since 23.0.0
* @return string
*/
public function __toString(): string {
return __CLASS__ . ": [{$this->code}]: {$this->message} ({$this->hint})\n";
}

/**
* Returns the hint with the intention to be presented to the end user. If
* an empty hint was specified upon instatiation, the message is returned
* instead.
*
* @since 23.0.0
* @return string
*/
public function getHint(): string {
if (empty($this->hint)) {
return $this->message;
}
return $this->hint;
}
}

+ 1
- 1
lib/public/Share/Exceptions/GenericShareException.php View File

@@ -24,7 +24,7 @@
*/
namespace OCP\Share\Exceptions;

use OC\HintException;
use OCP\HintException;

/**
* Class GenericEncryptionException

+ 1
- 1
tests/Core/Controller/ChangePasswordControllerTest.php View File

@@ -22,11 +22,11 @@

namespace Tests\Core\Controller;

use OC\HintException;
use OC\User\Session;
use OCA\Settings\Controller\ChangePasswordController;
use OCP\App\IAppManager;
use OCP\AppFramework\Http\JSONResponse;
use OCP\HintException;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IRequest;

+ 1
- 1
tests/lib/Memcache/FactoryTest.php View File

@@ -129,7 +129,7 @@ class FactoryTest extends \Test\TestCase {
* @dataProvider cacheUnavailableProvider
*/
public function testCacheNotAvailableException($localCache, $distributedCache) {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);

$logger = $this->getMockBuilder(ILogger::class)->getMock();
new \OC\Memcache\Factory('abc', $logger, $localCache, $distributedCache);

+ 1
- 1
tests/lib/Share20/ManagerTest.php View File

@@ -22,7 +22,6 @@
namespace Test\Share20;

use OC\Files\Mount\MoveableMount;
use OC\HintException;
use OC\Share20\DefaultShareProvider;
use OC\Share20\Exception;
use OC\Share20\Manager;
@@ -36,6 +35,7 @@ use OCP\Files\Mount\IMountManager;
use OCP\Files\Mount\IMountPoint;
use OCP\Files\Node;
use OCP\Files\Storage;
use OCP\HintException;
use OCP\IConfig;
use OCP\IGroup;
use OCP\IGroupManager;

+ 3
- 3
tests/lib/User/DatabaseTest.php View File

@@ -22,10 +22,10 @@

namespace Test\User;

use OC\HintException;
use OC\User\User;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\HintException;
use OCP\Security\Events\ValidatePasswordPolicyEvent;
use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -82,9 +82,9 @@ class DatabaseTest extends Backend {
$this->assertSame($user, $this->backend->checkPassword($user, 'newpass'));
}

public function testVerifyPasswordEventFail() {
$this->expectException(\OC\HintException::class);
$this->expectException(\OCP\HintException::class);
$this->expectExceptionMessage('password change failed');

$user = $this->getUser();

Loading…
Cancel
Save