Commit graph

121 commits

Author SHA1 Message Date
Robin Appelman
51b5179839 Add occ command to manage applicables 2016-02-02 12:45:10 +01:00
Thomas Müller
b961ada089 Merge pull request #22018 from owncloud/occ-external-delete
Add delete command for external storages
2016-01-29 17:03:42 +01:00
Robin Appelman
03c79ac24f remove custom controler for user provided password auth 2016-01-29 14:51:30 +01:00
Robin Appelman
419507c118 Add user provided credentials mechanism 2016-01-29 14:50:52 +01:00
Robin Appelman
b9b74d935f Add delete command for external storages 2016-01-29 14:10:43 +01:00
Thomas Müller
9b4c9a0357 Merge pull request #18531 from owncloud/ext-user-credentials
External storage 'Login credentials' auth mechanism
2016-01-22 13:14:14 +01:00
Robin Appelman
483c6b68e2 clear mount cache when removing applicables 2016-01-20 16:32:56 +01:00
Robin Appelman
1fcb36cc39 Add files_external:export command 2016-01-18 14:17:27 +01:00
Robin Appelman
15451b29da bumb app version 2016-01-18 12:09:44 +01:00
Robin McCorkell
3fe802d931 Introduce 'login credentials' auth mechanism
Stores user credentials in the database after user login, uses the new
CredentialsManager class
2016-01-18 11:10:41 +01:00
Robin McCorkell
4ffe8d70fa Consolidate user mounting check code 2016-01-14 22:13:28 +00:00
Thomas Müller
7a569a0915 Merge pull request #21392 from owncloud/files_external-import
Add import command for files external
2016-01-13 10:35:10 +01:00
Thomas Müller
682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Robin Appelman
50857e6d7b Add import command for files external 2016-01-11 11:55:00 +01:00
Joas Schilling
ae285c0654 Remove deprecated shipped flag from info.xml which has no use anymore 2016-01-07 15:15:58 +01:00
Joas Schilling
40f786060e Add ownCloud min and max version for shipped apps 2016-01-07 15:11:49 +01:00
Robin Appelman
ce3adb8121 Let doctrine generate index names 2015-12-09 15:38:49 +01:00
Robin Appelman
a1898dc2bf db config backend for files_external 2015-12-04 13:48:21 +01:00
Robin Appelman
62cc316c6a remove old propagation logic 2015-12-01 16:50:20 +01:00
Robin Appelman
2dd0066b0e Add command to set mount options for external storages 2015-12-01 13:47:32 +01:00
Robin Appelman
d5ffbc9401 Add command to get and set config for external mounts 2015-12-01 13:47:32 +01:00
Thomas Müller
9385eef31a Merge pull request #18999 from owncloud/ext-config-listadmin
Improvements to external storages list rendering
2015-11-24 16:03:35 +01:00
Robin Appelman
f5cdd27b22 Add files_external:list command to list configured external storages 2015-11-23 11:31:40 +01:00
Robin McCorkell
28876bf463 Display applicable global storages in personal mount list 2015-11-21 22:54:21 +00:00
Lukas Reschke
8f09d5b67c Update license headers 2015-10-26 14:04:01 +01:00
Joas Schilling
0d3d75b3b3 Increase the 2nd digit of shipped apps 2015-10-17 08:47:11 +02:00
Morris Jobke
8366ce2767 deduplicate @xenopathic 2015-10-06 09:52:19 +02:00
Morris Jobke
b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Robin McCorkell
0dc7181335 Merge pull request #18441 from owncloud/ext-backends.advanced
Migrate advanced external storage backends to new registration API [part 3]
2015-09-13 19:38:22 +01:00
Robin McCorkell
82d9829c97 Fire event when BackendService is available 2015-08-31 15:11:45 +01:00
Robin McCorkell
080fafe63a AjaxController uses RSA auth mechanism 2015-08-28 12:58:47 +01:00
Robin McCorkell
1084e3adc7 Migrate SFTP_Key external storage to new API
The SFTP backend now supports public key authentication alongside
password authentication.
2015-08-28 12:58:47 +01:00
Robin McCorkell
cb1ef82702 Migrate SMB_OC external storage to new API
SMB_OC has been merged with SMB, via the identifier aliases mechanism.
Legacy migration is done to the Session Credentials password mechanism
2015-08-28 12:58:47 +01:00
Robin McCorkell
19bc5a452a Migrate Swift external storage to new API
The Rackspace/OpenStack differences have been split into separate auth
mechanisms, with correct legacy migration
2015-08-28 12:58:47 +01:00
Robin McCorkell
88a78237b0 Migrate Google external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell
a50ef61876 Migrate Dropbox external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell
ced04f9ad2 Migrate AmazonS3 external storage to new API 2015-08-25 00:22:10 +01:00
Robin McCorkell
d93bf35482 Merge pull request #18408 from owncloud/ext-ocp
Use OCP classes as much as possible in files_external v2
2015-08-20 13:09:12 +01:00
Robin McCorkell
d577aad4ac Use OCP classes as much as possible in files_external 2015-08-19 15:26:38 +01:00
Robin McCorkell
16389270ff Migrate SFTP external storage to new API 2015-08-19 14:41:44 +01:00
Robin McCorkell
a99e524898 Migrate OwnCloud external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell
68418bdd34 Migrate DAV external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell
ab8c738b8d Migrate SMB external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell
0f1809eced Migrate FTP external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell
0ffb51c6cc Migrate Local external storage to new API 2015-08-19 14:41:43 +01:00
Robin McCorkell
3bb793b6a7 Implement password authentication mechanisms
Introduces the basic password authentication mechanism, along with a
mechanism based on ownCloud credentials stored in the user session.

Change to lib/private is an extension of PermissionsMask, as
isSharable() override was missing.

Session credentials auth mechanism now disables sharing on applied
storages, as credentials will not be available.
2015-08-19 14:20:09 +01:00
Robin McCorkell
eb0e5ce12c Restrict Local backend to admin-only 2015-08-19 10:08:24 +01:00
Robin McCorkell
c592e24c87 Make Application a singleton
The same Application must be used in the settings templates and in
routes, so that any registered backends are correctly seen
2015-08-19 10:08:23 +01:00
Robin McCorkell
97dbc79c16 Compatibility shims for OC_Mount_Config
The following functions have been removed:
 - addMountPoint()
 - removeMountPoint()
 - movePersonalMountPoint()

registerBackend() has been rewritten as a shim around BackendService,
allowing legacy code to interact with the new API seamlessly

addMountPoint() was already disconnected from all production code, so
this commit completes the job and removes the function itself, along
with disconnecting and removing related functions. Unit tests have
likewise been removed.

getAbsoluteMountPoints(), getSystemMountPoints() and
getPersonalMountPoints() have been rewritten to use the StoragesServices
2015-08-19 10:08:14 +01:00
Robin McCorkell
272a46ebe1 Authentication mechanisms for external storage backends
A backend can now specify generic authentication schemes that it
supports, instead of specifying the parameters for its authentication
method directly. This allows multiple authentication mechanisms to be
implemented for a single scheme, providing altered functionality.

This commit introduces the backend framework for this feature, and so at
this point the UI will be broken as the frontend does not specify the
required information.

Terminology:
 - authentication scheme
    Parameter interface for the authentication method. A backend
    supporting the 'password' scheme accepts two parameters, 'user' and
    'password'.
 - authentication mechanism
    Specific mechanism implementing a scheme. Basic mechanisms may
    forward configuration options directly to the backend, more advanced
    ones may lookup parameters or retrieve them from the session

New dropdown selector for external storage configurations to select the
authentication mechanism to be used.

Authentication mechanisms can have visibilities, just like backends.
The API was extended too to make it easier to add/remove visibilities.
In addition, the concept of 'allowed visibility' has been introduced, so
a backend/auth mechanism can force a maximum visibility level (e.g.
Local storage type) that cannot be overridden by configuration in the
web UI.

An authentication mechanism is a fully instantiated implementation. This
allows an implementation to have dependencies injected into it, e.g. an
\OCP\IDB for database operations.

When a StorageConfig is being prepared for mounting, the authentication
mechanism implementation has manipulateStorage() called,
which inserts the relevant authentication method options into the
storage ready for mounting.
2015-08-19 10:05:11 +01:00