Commit graph

177 commits

Author SHA1 Message Date
Robin Appelman
c2c6caee93 remove global credentials 2016-02-17 13:55:27 +01:00
Robin Appelman
176fb191b7 remove login credentails and user provided backends 2016-02-16 15:27:55 +01:00
Joas Schilling
7e4c3b577c Add index names so Doctrine does not use a too long random string 2016-02-15 14:52:41 +01:00
Robin Appelman
b95e388526 Add occ command to verify storage configurations 2016-02-08 14:07:58 +01:00
Robin Appelman
54d2175bf5 Add occ files_external:create command to add new mounts 2016-02-05 14:20:22 +01:00
Robin Appelman
9dfe9f77f2 Add global auth backend for files external 2016-02-04 14:57:17 +01:00
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
Robin McCorkell
37beb58c6f Introduce BackendService for managing external storage backends
Backends are registered to the BackendService through new data
structures:

Backends are concrete classes, deriving from
\OCA\Files_External\Lib\Backend\Backend. During construction, the
various configuration parameters of the Backend can be set, in a design
similar to Symfony Console.

DefinitionParameter stores a parameter configuration for an external
storage: name of parameter, human-readable name, type of parameter
(text, password, hidden, checkbox), flags (optional or not).

Storages in the StoragesController now get their parameters validated
server-side (fixes a TODO).
2015-08-19 10:05:11 +01:00
Roeland Jago Douma
e84cffc063 Moved core apps to the capabilities manager
* Files
* Files_Sharing
* Files_Trashbin
* Files_Versions
2015-08-10 10:45:16 +02:00
Morris Jobke
f63915d0c8 update license headers and authors 2015-06-25 14:13:49 +02:00
Martin
cdbf472c4d Make string 'SFTP with secret key login' translatable 2015-05-27 15:38:05 +02:00
Lukas Reschke
20a6073a9f Migrate personal certificate handling into AppFramework controllers
Also added unit-tests and better error-handling
2015-04-20 12:58:58 +02:00
Joas Schilling
3f3f8c2f99 Fix usage of deprecated private constants 2015-04-18 10:30:02 +02:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Vincent Petry
e5e30924b1 Fix PHPDoc in files_external, add missing tag
Fix various PHPDoc issues in external storage app.

Added missing NoAdminRequired tag
2015-03-17 11:42:52 +01:00
Vincent Petry
ce94a998dd Use storage id + appframework for ext storage CRUD
- Added StorageConfig class to replace ugly arrays
- Implemented StorageService and StorageController for Global and User
  storages
- Async status checking for storages (from Xenopathic)
- Auto-generate id for external storage configs (not the same as
  storage_id)
- Refactor JS classes for external storage settings, this mostly
  moves/encapsulated existing global event handlers into the
  MountConfigListView class.
- Added some JS unit tests for the external storage UI
2015-03-12 18:51:02 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Robin Appelman
d2255a1d30 New SMB storage backend 2015-02-16 13:52:11 +01:00
Vincent Petry
bd01ff135a Merge pull request #13190 from is-apps/master-sftp-key
Add SFTP public key authentication support
2015-02-10 16:44:29 +01:00
Vincent Petry
2bb65dd9b1 Merge pull request #13364 from is-apps/files_external_cleanup
Clean up files_external
2015-02-09 13:20:42 +01:00
Ross Nicoll
02c6b72e25 Change from array() to [] style in files_external application info. 2015-01-14 17:16:12 +00:00
Morris Jobke
455ad005a0 Merge pull request #13350 from owncloud/autoload-translations
Autoload app's js translations
2015-01-14 18:12:05 +01:00
Ross Nicoll
64f4f8fc84 Add support for SFTP key authentication
Add support for external files accessed via SFTP using public key exchange authentication.
Keys are generated automatically when the configuration is added, or can be regenerated on demand if a key is compromised.
Creation of a new configuration row now triggers focus on that row. This is used to trigger auto-configuration for SFTP keys.
Generated public keys are saved in user's data directory for easy retrieval by an external application.
Add controller for SFTP key generation AJAX
SFTP class initialisation no longer produces a warning if the password field is missing.
Add unit tests for SFTP with key authentication backend
2015-01-14 17:00:34 +00:00
Vincent Petry
87f81e5926 Remove unneeded addTranslations() calls 2015-01-14 14:36:23 +01:00
Morris Jobke
3a6d2fcc10 Merge pull request #13345 from owncloud/increase-files-external-versions
Increase files_externals oC required version and its own version
2015-01-14 13:24:08 +01:00
Joas Schilling
f031a479ad Increase files_externals oC required version and its own version 2015-01-14 12:21:47 +01:00
Joas Schilling
caaae1094f The files_external app might need the password so autologin must be disabled 2015-01-14 10:19:22 +01:00
Christopher Bunn
0f715708dc Minor typo updates to External Storage description
This text is visible to admin users when they read the description of
the External Storage app.
2015-01-07 22:37:20 -06:00
Martin
edcba11a91 smb: rename textfield from root to subfolder
"root" or "subfolder" -> "Remote subfolder" on selected storages

missed ftp...
2015-01-07 20:54:05 +01:00
Robin Appelman
a369d78124 Use the mount config api for files_external 2014-12-04 16:47:30 +01:00
Vincent Petry
ec1a73fab9 Added OC.L10N namespace with translation functions
Added addTranslations and fixed de.js file

Fixed de.js to use OC.L10N.register() and use to correct expected
format.

Added JS unit tests for OC.L10N class

Include translations JS script for all apps
2014-10-29 10:09:12 +01:00
Lukas Reschke
16cd749065 Add support for keys in the info.xml
This allows to have links to different doc base URLs

a.
2014-10-09 15:48:30 +02:00
MTRichards
fc0ae29be5 Updated info.xml app description
Added larger app description
2014-10-08 20:49:22 -04:00
Jörn Friedrich Dreyer
aa3ad898a9 fix amazon s3 issues
folder size and mtime is always unknown in s3

more s3 fixes

make rescanDelay of root dir configurable, add on the fly update of legacy storage ids, !isset -> empty when checking strings

reduce number of http calls on remove and rmdir

fix typo
2014-10-08 18:49:47 +02:00
Robin Appelman
3d7aff84e5 Fix configuration of rackspace 2014-09-05 13:22:35 +02:00
Robin Appelman
d0266c0bf8 Use public api for getting l10n 2014-08-31 10:08:22 +02:00
Robin McCorkell
0e8a973579 Improve UI of external storage configuration
* Highlight fields that need to be filled
 * Remove (required) and (optional) strings where possible
 * Focus first configuration field when creating new external storage
 * Add ability to force external storage re-check
 * Various jQuery improvements
 * Prevent wrapping of checkboxes in configuration
2014-08-30 09:02:37 +01:00
Jörn Friedrich Dreyer
308e8d6379 replace chosen with select2 to provide ajaxified user and group selection for files_external, fixes #7499
remove minified select2 js

show avatars for users, simpler results

remove unneeded users and groups from settings template

fix css, escape user and group names
2014-08-25 11:50:19 +02:00
Jörn Friedrich Dreyer
ffe54e260a explicit routes for files_external 2014-08-22 11:51:39 +02:00
Georg Ehrke
e5e8e28ae7 add ocsids to info.xml 2014-07-07 17:11:50 +02:00
Thomas Müller
171475b95a fix autoloader 2014-06-27 08:52:40 +02:00
Vincent Petry
01c2c3107a Added external storage list in files app 2014-06-06 15:06:26 +02:00
Vincent Petry
c64e920b4d Adjust core apps to use "requiremin" instead of "require"
Also added a few missing authors.
2014-05-27 11:54:44 +02:00
Robin McCorkell
05642733a3 Add storage priority support
Each storage backend has a default priority, assigned to any system mounts
created in ownCloud. mount.json can be manually modified to change these
priorities.

The priority order is as follows:
 * Personal
 * User
 * Group
 * Global

Within each mount type, the mount with the highest priority is active.

The storage backend defaults were chosen to be the following:
 * Local - 150
 * Remote storage - 100
 * SMB / CIFS with OC login - 90
2014-05-21 22:17:21 +01:00
fibsifan
06c084cc3c changing label "URL" to "Host" 2014-05-15 14:09:10 +02:00
Thomas Müller
9128900c56 drop files_irods from apps_external 2014-04-28 12:39:28 +02:00
Volkan Gezer
da61acd1e2 Add translatable mount configs
Will close #8070
2014-04-23 17:58:14 +02:00
Thomas Müller
c0ebc1dfb1 Update backends and their configurations 2014-04-03 16:57:26 +02:00
Philipp Kapfer
ff9a4a6d91 Added cURL dependency for Amazon S3, Dropbox and SWIFT
Conflicts:
	apps/files_external/lib/amazons3.php
	apps/files_external/lib/swift.php
2014-04-03 16:38:43 +02:00
Philipp Kapfer
8ca897df76 Added cURL dependency check to Google Drive and WebDAV backend
Added check for backend's checkDependencies method to OC_Mount_Config::getBackends() when backend is configured to have some instead of blindly calling it and crashing

Conflicts:
	apps/files_external/lib/config.php
	apps/files_external/lib/google.php
2014-04-03 16:30:48 +02:00