Commit Graph

11282 Commits

Author SHA1 Message Date
Thomas Müller 4777f78187 Merge pull request #20903 from owncloud/sharing-mount-option
Add mount option to disable sharing
2016-02-02 10:26:24 +01:00
Thomas Müller e60b217156 Merge pull request #22015 from owncloud/share-no-permissions
Block shares that dont have the correct source permissions
2016-02-02 10:26:06 +01:00
Joas Schilling b5e40bc8f6 Fix IManager::isFormattingFilteredObject() 2016-02-02 10:11:58 +01:00
Joas Schilling 25cbc17bec Add activities when a tag is (un-)assigned 2016-02-02 10:11:58 +01:00
Joas Schilling d5126b1ad4 Dispatch events when tags are added/updated/deleted 2016-02-02 09:57:42 +01:00
Joas Schilling 591613fce2 Dispatch some events when tags are un-/assigned 2016-02-02 09:57:42 +01:00
Jenkins for ownCloud 9861a7f6cc [tx-robot] updated from transifex 2016-02-02 01:55:41 -05:00
Roeland Jago Douma 619a4d2e52 Update old password hashed for link shares on access
Fixes https://github.com/owncloud/core/issues/16594
2016-02-01 21:46:32 +01:00
Thomas Müller b4853f3fce Merge pull request #21967 from owncloud/comments-webdav
Comments WebDAV adjustements
2016-02-01 16:17:45 +01:00
Thomas Müller 84d9704121 Merge pull request #22028 from owncloud/share_hook_expirationdate
Share hook expirationdate
2016-02-01 14:13:54 +01:00
Thomas Müller e23cd35019 Merge pull request #21953 from owncloud/make-enable_avatars-more-robust
Make enable_avatars setting more robust
2016-02-01 14:08:40 +01:00
Thomas Müller 32067ac49b Merge pull request #21989 from owncloud/make-csp-modifiable
Add public API to give developers the possibility to adjust the global CSP defaults
2016-02-01 10:10:40 +01:00
Thomas Müller a025b2865f Merge pull request #22022 from owncloud/share_ocs_filter_path_sharedwithme
Add path filter to OCS Share API shared_with_me=true
2016-02-01 09:00:31 +01:00
Thomas Müller 5f4b204a49 Merge pull request #22012 from owncloud/storagenotavailableexception-code
Default to STATUS_ERROR in StorageNotAvailableException
2016-02-01 09:00:14 +01:00
Jenkins for ownCloud 2b376b9e5c [tx-robot] updated from transifex 2016-01-31 01:54:49 -05:00
Roeland Jago Douma 1efe877d00 Emit hook for expirationDate verification 2016-01-30 15:40:31 +01:00
Jenkins for ownCloud c14464875f [tx-robot] updated from transifex 2016-01-30 01:55:56 -05:00
Thomas Müller 67bf225fbe Merge pull request #21956 from owncloud/cross-cache-move
Add fallback moveFromCache implementation
2016-01-29 17:03:16 +01:00
Roeland Jago Douma a24e7f6558 Add path filter to OCS Share API ?shared_with_me=true
This allows all clients to quickly get the share info for a given path.
Instead of returning everything and filtering it then manually on the
client side.
2016-01-29 15:36:23 +01:00
Robin Appelman 3c8aac3867 Add mount option to disable sharing 2016-01-29 13:14:26 +01:00
Arthur Schiwon 01cdc70f9c introduce comments read marke tables, comes with user cleanup after deletion 2016-01-29 13:08:02 +01:00
Arthur Schiwon d2882b9021 Comments WebDAV adjustements 2016-01-29 13:08:02 +01:00
Robin Appelman ec3f6549f6 Add fallback moveFromCache implementation 2016-01-29 13:06:59 +01:00
Robin Appelman e3b5639fc1 Block shares that dont have the correct source permissions 2016-01-29 13:05:53 +01:00
Robin McCorkell 2abb173599 Default to STATUS_ERROR in StorageNotAvailableException 2016-01-29 11:57:25 +00:00
Thomas Müller 62b9e81919 Merge pull request #21995 from owncloud/share2_delete_user_defined_group_shares
[Share 2.0] When deleting a group share delete children
2016-01-29 11:34:38 +01:00
Thomas Müller 24908a439a Merge pull request #21987 from owncloud/issue-21980-too-many-job-send-mysql-away
Do not create a loop that generates thousands of jobs
2016-01-29 10:02:52 +01:00
Joas Schilling c83b3d6a26 Remove other broken usages in deprecated methods 2016-01-29 08:50:29 +01:00
Jenkins for ownCloud 1765e11f75 [tx-robot] updated from transifex 2016-01-29 01:55:53 -05:00
Roeland Jago Douma 1ff4ec1cd3 [Share 2.0] When deleting a group share delete children
For group shares we can have children. Those are custom shares when a
user has moved or deleted a group share. Those also have to be deleted
if the group share is removed.
2016-01-28 20:35:46 +01:00
Lukas Reschke 809ff5ac95 Add public API to give developers the possibility to adjust the global CSP defaults
Allows to inject something into the default content policy. This is for
example useful when you're injecting Javascript code into a view belonging
to another controller and cannot modify its Content-Security-Policy itself.
Note that the adjustment is only applied to applications that use AppFramework
controllers.

To use this from your `app.php` use `\OC::$server->getContentSecurityPolicyManager()->addDefaultPolicy($policy)`,
$policy has to be of type `\OCP\AppFramework\Http\ContentSecurityPolicy`.

To test this add something like the following into an `app.php` of any enabled app:
```
$manager = \OC::$server->getContentSecurityPolicyManager();
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('asdf');
$policy->addAllowedScriptDomain('yolo.com');

$policy->allowInlineScript(false);
$manager->addDefaultPolicy($policy);
$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFontDomain('yolo.com');
$manager->addDefaultPolicy($policy);

$policy = new \OCP\AppFramework\Http\ContentSecurityPolicy(false);
$policy->addAllowedFrameDomain('banana.com');
$manager->addDefaultPolicy($policy);
```

If you now open the files app the policy should be:

```
Content-Security-Policy:default-src 'none';script-src yolo.com 'self' 'unsafe-eval';style-src 'self' 'unsafe-inline';img-src 'self' data: blob:;font-src yolo.com 'self';connect-src 'self';media-src 'self';frame-src asdf banana.com 'self'
```
2016-01-28 18:36:46 +01:00
Joas Schilling ef73aedd7e Deprecate the method and warn against using it 2016-01-28 15:40:23 +01:00
Robin Appelman d7a777af3a fix cachejail->update 2016-01-28 11:46:44 +01:00
Robin Appelman 1369f2c684 cleanup shared cache 2016-01-28 11:46:43 +01:00
Thomas Müller b7710ab6d7 Merge pull request #21858 from owncloud/getMountsForFileId
add IUserMountCache->getMountsForFileId
2016-01-28 11:20:42 +01:00
Roeland Jago Douma 8d44e537ac [Share 2.0] Remove setId and setProviderId from the interface
Those should only ever be set by the providers
2016-01-28 07:54:16 +01:00
Roeland Jago Douma 34e912ab6b [Share 2.0] Fix interfaces and comments
* Made comments more clear
* Removed unneeded methods
* IShares shareTime is now a proper DateTime object
* IShares getPath -> getNode & setPath -> setNode
* Fix unit tests
2016-01-28 07:54:09 +01:00
Roeland Jago Douma f2e70441e4 [Share 2.0] Add getShareManager to OCP\IServerContainer 2016-01-27 22:04:37 +01:00
Roeland Jago Douma 357b271cb4 [Share 2.0] Create IManger interface for share manager 2016-01-27 22:04:37 +01:00
Roeland Jago Douma 185b9c6edd [Share 2.0] Move IShare to OCP 2016-01-27 22:04:37 +01:00
Roeland Jago Douma 0832cca54e [Share 2.0] Fix IShare 2016-01-27 22:04:09 +01:00
Thomas Müller 90f2a2352d Merge pull request #21963 from owncloud/fix-installer
Check whether ownCloud is installed
2016-01-27 20:25:51 +01:00
Thomas Müller 40a8686fe7 Merge pull request #21959 from owncloud/cache-interface-clean
clean cache interface
2016-01-27 19:33:35 +01:00
Lukas Reschke cb1a64b949 Check whether ownCloud is installed
ownCloud might not yet be setup. This causes an issue as the user config requires a setup ownCloud. Thus this needs a block whether ownCloud is installed or not.

Fixes https://github.com/owncloud/core/issues/21955
2016-01-27 18:30:18 +01:00
Thomas Müller 816c23c17a Merge pull request #21923 from owncloud/fix-errors-after-install
Fix errors after install
2016-01-27 16:16:31 +01:00
Thomas Müller 6973718fb8 Merge pull request #21940 from owncloud/share2_do_not_returned_removed_group_shares
[Share 2.0] Properly handle user deleted group shares
2016-01-27 16:16:06 +01:00
Robin Appelman 6682f31074 clean cache interface 2016-01-27 15:51:39 +01:00
Morris Jobke 1601d9235a Make enable_avatars setting more robust
* handles the setting in the same way everywhere
* fixes #21949
2016-01-27 15:17:25 +01:00
Lukas Reschke f32827e903 Ignore GD JPEG warnings
Fixes https://github.com/owncloud/core/issues/21873
2016-01-27 13:59:15 +01:00
Joas Schilling 0c7922cf70 Use new constants 2016-01-27 12:53:44 +01:00
Robin Appelman 644a8ab797 add IUserMountCache->getMountsForFileId 2016-01-27 12:53:44 +01:00
Thomas Müller a067355a98 In case the hint of the HintException is empty we better use the exception message 2016-01-27 10:08:21 +01:00
Thomas Müller 1594371c8c Merge pull request #21741 from owncloud/l10n-improvements
Move methods to the factory that are not related to translating, but to guessing/finding the language
2016-01-27 09:37:00 +01:00
Thomas Müller 5b7a1b13f3 Merge pull request #21887 from owncloud/share2_updateShare
[Sharing 2.0] update share
2016-01-27 09:36:41 +01:00
Thomas Müller c274f03e12 Merge pull request #21906 from owncloud/querybuilder-clob-comparison
Querybuilder clob comparison
2016-01-27 09:36:21 +01:00
Thomas Müller 0fffc3a0de Merge pull request #21930 from owncloud/less-error-messages
Avoid error message in log during setup because of existing data dir
2016-01-27 09:34:09 +01:00
Roeland Jago Douma a4900d721f [Share 2.0] Properly handle user deleted group shares
If a user deletes a group share we create a special share entry. To the
API this is just a normal group share for that user with permissions 0.
But we should not return this.
2016-01-27 09:02:12 +01:00
Jenkins for ownCloud 1df31c802b [tx-robot] updated from transifex 2016-01-27 01:55:01 -05:00
Morris Jobke e43aaf4a15 Avoid error message in log during setup because of existing data dir 2016-01-26 18:50:41 +01:00
Thomas Müller aa598fc701 Merge pull request #21664 from owncloud/comments-dav
Comments DAV implementation
2016-01-26 17:20:32 +01:00
Lukas Reschke 8a4e1fbecd Fix errors after install
When installing ownCloud the first time the first thing that an admin saw was an error message:

> Error   PHP   touch(): Unable to create file owncloud.log because Permission denied at /var/www/owncloud/lib/private/log/owncloud.php#48

Or something related. This lead to a lot confusion as can be seen in our forum and in our issue tracker. This change should make the error messages disappear in most cases (e.g. where the file can actually be written). To test this:

1. On master install ownCloud and check owncloud.log => Error message
2. On this branch install ownCloud and check owncloud.log => No error message

Fixes https://github.com/owncloud/core/issues/13736 and https://github.com/owncloud/core/issues/12893
2016-01-26 17:06:23 +01:00
Roeland Jago Douma d11682dcb4 Fix comments from Thomas 2016-01-26 15:31:52 +01:00
Joas Schilling 01164e89a4 Move parameter to the right function call 2016-01-26 14:56:07 +01:00
Joas Schilling 76f506e264 Use our OCP constants 2016-01-26 14:56:07 +01:00
Joas Schilling a0e8a9de61 Introduce helper method 2016-01-26 14:56:07 +01:00
Joas Schilling 7514695399 Fix Oracle comparisons 2016-01-26 14:56:07 +01:00
Joas Schilling 90ce876378 Adjust comments to the new constants 2016-01-26 14:56:07 +01:00
Roeland Jago Douma c090d709e7 We must resolve to the proper usergroup share 2016-01-26 14:14:54 +01:00
Joas Schilling 3a6390031c Move class to legacy folder 2016-01-26 14:10:05 +01:00
Joas Schilling 70396581eb Add tests for findLanguage() 2016-01-26 14:02:32 +01:00
Joas Schilling b24b198a83 Add tests for the factory 2016-01-26 14:02:31 +01:00
Joas Schilling 2cb26a9151 Fix the tests 2016-01-26 14:02:31 +01:00
Joas Schilling c7abe68776 Deprecate OC_L10N in favor of a namespaces and DI version 2016-01-26 14:02:31 +01:00
Joas Schilling 4ea0d3c05d Deprecate getFirstWeekDay() and getDateFormat() in favor of l() 2016-01-26 14:02:31 +01:00
Joas Schilling 6652a0fb6c Move finding the language files and creating the function out of the object 2016-01-26 14:02:31 +01:00
Joas Schilling 7ec7464ee2 Move validation and fallbacks of app and lang to the constructor/factory 2016-01-26 14:02:31 +01:00
Joas Schilling 043625ee52 Move findLanguage() and setLanguageFromRequest() to factory 2016-01-26 14:02:31 +01:00
Joas Schilling 29a9306429 Move languageExists() to the factory 2016-01-26 14:02:31 +01:00
Joas Schilling 6aec550d6e Move findAvailableLanguages() to the factory 2016-01-26 14:02:30 +01:00
Roeland Jago Douma e508bcb7a7 [Share 2.0] Fire off hook 2016-01-26 13:59:58 +01:00
Roeland Jago Douma 46045ecc52 [Share 2.0] Add update share 2016-01-26 13:59:58 +01:00
Arthur Schiwon ed546bd2a5 Comments DAV implementation 2016-01-26 12:10:14 +01:00
Thomas Müller 3da78c8f1c Merge pull request #21901 from owncloud/fix-setup
Fix setup page
2016-01-26 11:42:55 +01:00
Thomas Müller 5285460669 Merge pull request #21845 from owncloud/sync-system-addressbook-on-avatar-change
Changing the avatar of the user emits the changeUser event which trig…
2016-01-26 11:37:17 +01:00
Thomas Müller 2bafb1c649 Merge pull request #21894 from owncloud/refactor-csrf
Add new CSRF manager for unit testing purposes
2016-01-26 11:36:56 +01:00
Morris Jobke 2ecc202843 Fix setup page
* fixes #21897
2016-01-26 09:05:10 +01:00
Jenkins for ownCloud ecf2d178b1 [tx-robot] updated from transifex 2016-01-26 01:56:06 -05:00
Thomas Müller 4c9e328211 Merge pull request #21892 from owncloud/issue-21890-parameters
Add parameters types to IQueryBuilder
2016-01-25 21:13:41 +01:00
Thomas Müller a1ca9de0f5 Trigger change on avatar delete 2016-01-25 20:56:04 +01:00
Thomas Müller f165ad8864 Changing the avatar of the user emits the changeUser event which triggers update of the system addressbook 2016-01-25 20:05:11 +01:00
Lukas Reschke 12b22c2759 Regenerate CSRF token upon login
Otherwise somebody else might be able to note down the CSRF token before login on a shared computer.
2016-01-25 20:03:40 +01:00
Lukas Reschke a977465af5 Add new CSRF manager for unit testing purposes
This adds a new CSRF manager for unit testing purposes, it's interface is based upon https://github.com/symfony/security-csrf. Due to some of our required custom changes it is however not possible to use the Symfony component directly.
2016-01-25 20:03:40 +01:00
Joas Schilling 09ae160463 Replace other usages 2016-01-25 17:17:36 +01:00
Joas Schilling c5046fb2a9 Add parameters to public interface 2016-01-25 17:17:20 +01:00
Thomas Müller 728caf13f8 Adding support of -1 as size to be passed into get and getFile 2016-01-25 16:54:40 +01:00
Thomas Müller d69167caff Merge pull request #21424 from owncloud/appversions
Use appConfig to get app versions
2016-01-25 10:02:02 +01:00
Thomas Müller adf532fe4e Merge pull request #21806 from owncloud/mdusher-master
[jenkins] Added ' to characters allowed in the username
2016-01-25 10:01:43 +01:00
Thomas Müller ef4fca22d1 Merge pull request #21844 from owncloud/drop-image-path
Remove OC_Helper::imagePath and use the proper public interface
2016-01-25 10:00:21 +01:00
Morris Jobke 287e6d36bf remove unused variable 2016-01-25 09:29:44 +01:00
Jenkins for ownCloud a331979a67 [tx-robot] updated from transifex 2016-01-25 01:54:39 -05:00
Morris Jobke 75e6734ef4 Remove OC_Helper::imagePath and use the proper public interface 2016-01-24 18:04:20 +01:00
Thomas Müller 99e9c81c8b Merge pull request #21841 from owncloud/share2_deletefromself
[Share 2.0] Add deleteFromSelf method
2016-01-22 17:27:17 +01:00
Thomas Müller a203089cfd Merge pull request #21836 from RomanKreisel/master
Solves #21835 (https://github.com/owncloud/core/issues/21835)
2016-01-22 17:26:28 +01:00
Thomas Müller 7731b29136 Merge pull request #21719 from owncloud/move-notification-api-to-ocp
Move the notification API to public namespace
2016-01-22 16:20:26 +01:00
Roeland Jago Douma a6600e95dc [Share 2.0] Add deleteFromSelf method
This allows recipient to delete a share. For user shares this is the
same as deleting (at least for now).
But for group shares this means creating a new share with type 2. With
permissions set to 0.
2016-01-22 15:06:50 +01:00
Morris Jobke bd456b5889 Fix addUserToGroup hook of the share code
* sets up the filesystem of the user that is added to a group
  to properly accept shares
* fixes #18499
2016-01-22 14:17:37 +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
Thomas Müller 0bccdbc959 Merge pull request #21849 from owncloud/add-custom-marker-into-htaccess
Add custom marker into htaccess and execute integrity check after installation
2016-01-22 13:13:59 +01:00
Thomas Müller e3013a99ef Merge pull request #21816 from owncloud/require-a-specific-path-instead-of-autoguessing
Use path instead of app id for occ app signing
2016-01-22 13:13:41 +01:00
Lukas Reschke bc62aa1ef5 Exclude .htaccess modifications from code checker
After the initial installation ownCloud will write some content into the .htaccess file such as the 404 or 403 directives. This adds a magic marker into the .htaccess file and only the content above this marker will be compared in the integrity checker.
2016-01-22 11:51:54 +01:00
Joas Schilling 31c5848e51 Allow automatic injection of the Manager 2016-01-22 11:02:40 +01:00
Thomas Müller 1410120758 Merge pull request #20768 from owncloud/mount-cache
cache mountpoints in the db
2016-01-22 11:01:54 +01:00
Joas Schilling 9ea7ae6f87 Adjust the since on the interface 2016-01-22 10:51:36 +01:00
Joas Schilling ee02165005 Move the notification API to public namespace 2016-01-22 10:32:42 +01:00
Thomas Müller e2e5eedb40 Merge pull request #21824 from owncloud/list-of-notifiers
Make it possible to get a list of notifiers for a potential settings …
2016-01-22 10:24:46 +01:00
Joas Schilling 3cca8498cb Make it possible to get a list of notifiers for a potential settings page 2016-01-22 08:47:21 +01:00
Morris Jobke 75ee5a9e9a Fix PHPDoc - @changed is no official tag -> use @since 2016-01-22 08:43:05 +01:00
Roman Kreisel b35aa513ab Solves # 2016-01-21 17:29:14 +01:00
Roeland Jago Douma 658959592d [Share 2.0] Fix displaying old shares proplery 2016-01-21 16:06:12 +01:00
Roeland Jago Douma 3a582e88e5 Comments from Vincent 2016-01-21 16:06:12 +01:00
Roeland Jago Douma 9b5ea18ce5 Add Unit tests for the default share provider 2016-01-21 16:06:12 +01:00
Roeland Jago Douma 0a9cd91e1d [Share 2.0] Add subfiles=x 2016-01-21 15:56:44 +01:00
Roeland Jago Douma 0c9f881e7d [Share 2.0] Resolve group shares 2016-01-21 15:56:44 +01:00
Roeland Jago Douma 3666c34a19 [Sharing 2.0] Start with getShares 2016-01-21 15:56:44 +01:00
Thomas Müller e2f231d051 Merge pull request #21761 from owncloud/share2_link
Share2 link
2016-01-21 15:43:08 +01:00
Thomas Müller 2b4532c6b9 Merge pull request #21797 from owncloud/proper-controller-in-core
Move controller in core/ to a common subfolder
2016-01-21 15:20:10 +01:00
Thomas Müller 7c7467fe42 Merge pull request #21792 from owncloud/systemtags-managerfactory
Allow custom implementation of system tag managers
2016-01-21 12:13:01 +01:00
Jenkins for ownCloud 50b303f3ad [tx-robot] updated from transifex 2016-01-21 01:55:20 -05:00
Thomas Müller 2f7dcf1a2c Merge pull request #21782 from owncloud/update-system-addressbook-on-user-change-2
Introduce IUser::setEMailAddress and add hook mechanism
2016-01-21 00:07:46 +01:00
Roeland Jago Douma e40d21673e [Share 2.0] Add fetching link shares to share manager 2016-01-20 21:12:26 +01:00
Lukas Reschke ea367b598a Use path instead of app id
This change requires the usage of a path instead of the App ID when signing code. This has the advantage that developers can also sign code under a different location to make it easier. (e.g. remove `.git`, …)

Also it adds an example command usage as well as a link to the documentation
2016-01-20 20:38:18 +01:00
Vincent Petry 899f9bd113 Allow custom implementation of system tag managers
Added config.php option to replace the default implementation of system
tag manager and system tag object mapper.

Also adjusted the comments manager factory to inject the server container
2016-01-20 16:36:10 +01:00
Robin Appelman 8a4c0829fb use insertifnotexists 2016-01-20 16:32:56 +01:00
Robin Appelman 483c6b68e2 clear mount cache when removing applicables 2016-01-20 16:32:56 +01:00
Robin Appelman bc7bd0cd05 handle changed mount points 2016-01-20 16:32:56 +01:00
Robin Appelman be380accb9 clear mount cache when deleting user 2016-01-20 16:32:56 +01:00
Robin Appelman 99415a9f7f multiple minor fies 2016-01-20 16:32:52 +01:00
Robin Appelman fd37e72ee9 use getmountmanager 2016-01-20 16:30:22 +01:00
Robin Appelman 8940429976 log duplicates 2016-01-20 16:30:22 +01:00
Robin Appelman f986fb99f2 Filter uncached mounts 2016-01-20 16:30:22 +01:00
Robin Appelman cf6ee1c866 cache mountpoints in the db 2016-01-20 16:30:22 +01:00
Thomas Müller 647d8ea5de Merge pull request #21775 from owncloud/apcu-iterator-constructor
Fix constructor arguments for APCUIterator
2016-01-20 15:23:01 +01:00
Thomas Müller 51b50bd260 Emit OC\User::changeUser on change of display name 2016-01-20 14:57:20 +01:00
Thomas Müller aeb89947a2 Introduce IUser::setEMailAddress and add hook mechanism 2016-01-20 14:57:20 +01:00
Morris Jobke 7b54bf26ea fix error message and comment 2016-01-20 14:21:54 +01:00
Michael U dbfa143e2d Added ' to characters allowed in the username 2016-01-20 14:11:27 +01:00
Morris Jobke 06fe4cabfc move setup controller to core/controller 2016-01-20 10:23:57 +01:00
Roeland Jago Douma 7a946a05f5 Properly DI the servercontainer 2016-01-20 08:33:36 +01:00
Jenkins for ownCloud f076bfac32 [tx-robot] updated from transifex 2016-01-20 01:54:54 -05:00
Thomas Müller f0f308dfbf Merge pull request #21744 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2016-01-19 12:17:25 +01:00
Morris Jobke 930555bd5e properly use standard
* JEDEC standard - https://en.wikipedia.org/wiki/JEDEC_memory_standards#Unit_prefixes_for_semiconductor_storage_capacity
2016-01-19 10:41:12 +01:00
Roeland Jago Douma 0939520e1a [Share 2.0] Share Object creation is a fragile thing
* We can't assume that the file still exists
* We can't assume that the user/group still exists

Basically we do not always nicely cleanup shares.
2016-01-18 19:57:30 +01:00
Thomas Müller 14c98b4df7 Merge pull request #21519 from owncloud/propagate-folder-size
propagate folder size in the same query for write updates
2016-01-18 16:57:30 +01:00
Robin Appelman 58afddfaa5 allow comparing clob using expressionbuilder->eq if you explicitly say you're comparing strings 2016-01-18 16:03:41 +01:00
Robin Appelman a225fe4c96 Fix constructor arguments for APCUIterator 2016-01-18 12:20:05 +01:00
Robin Appelman ebd15fd5ed handle bool in setValue 2016-01-18 12:09:01 +01:00
Robin Appelman 895fd49fb2 also handle not null violations 2016-01-18 12:09:01 +01:00
Robin McCorkell da4127d23b Introduce CredentialsManager for storage of credentials in DB
CredentialsManager performs a simple role, of storing and retrieving
encrypted credentials from the database. Credentials are stored by user
ID (which may be null) and credentials identifier. Credentials
themselves may be of any type that can be JSON encoded.

The rationale behind this is to avoid further (mis)use of
oc_preferences, which was being used for all manner of data not related
to user preferences.
2016-01-18 11:10:41 +01:00
Robin McCorkell 88cd615214 Introduce IDBConnection::setValues()
setValues() attempts to insert a new row, or failing that, update an
existing row. The ability to set preconditions is also available.
2016-01-18 11:10:41 +01:00
Jenkins for ownCloud e4d5229940 [tx-robot] updated from transifex 2016-01-18 01:54:41 -05:00
Jenkins for ownCloud 2095a31000 [tx-robot] updated from transifex 2016-01-17 01:54:53 -05:00
Thomas Müller 807cf750b3 Merge pull request #21705 from owncloud/improve-background-job-message
Improve background job error message
2016-01-15 20:12:26 +01:00
Robin Appelman ddbbe1742f propagate folder size in the same query for write updates 2016-01-15 15:36:52 +01:00
Thomas Müller f6c4b10189 Add message key to context of logException 2016-01-15 14:55:30 +01:00
Thomas Müller fcec704174 Merge pull request #21730 from owncloud/fix-install-of-shipped-apps
Fix installation of shipped apps
2016-01-15 14:33:40 +01:00
Thomas Müller b7c0dc46be Merge pull request #21702 from owncloud/fix_emit_scanFiles_II
Fix: emit 'scanFiles' will only fire on files and not on folders (II)
2016-01-15 14:31:49 +01:00
Scrutinizer Auto-Fixer 83a8e75614 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-01-15 12:54:26 +00:00
Thomas Müller 6824704699 Merge pull request #21117 from owncloud/owner-file-exists
Only return an owner if the file exists + improved getUidAndFilename
2016-01-15 13:31:56 +01:00
Thomas Müller 41106c1967 Merge pull request #21543 from owncloud/Larzenegger-master
[CI] Larzenegger master
2016-01-15 13:29:57 +01:00
Thomas Müller 416fb65605 Merge pull request #21717 from owncloud/addpublicgroupinterface
allow apps to add an OCP GroupInterface backend
2016-01-15 12:38:18 +01:00
Thomas Müller b37634a57d Merge pull request #21721 from owncloud/capped-memcache-indirect-set
Allow indirect set in CappedMemoryCache
2016-01-15 12:37:36 +01:00
Thomas Müller d8867f7692 Merge pull request #21723 from owncloud/prevent-group-enable-for-apps
Prevent group enable for apps
2016-01-15 12:26:43 +01:00
Thomas Müller 52040a3f23 Merge pull request #20898 from owncloud/cache-interfaces
Public Cache interfaces
2016-01-15 12:02:31 +01:00
Jenkins for ownCloud cd840f01ae [tx-robot] updated from transifex 2016-01-15 01:54:57 -05:00
Thomas Müller 1d0724a772 Fixing CodeChecker usage 🙈 2016-01-14 17:35:28 +01:00
Thomas Müller 7d2a6d4c1a - isolate include calls in installer.php which prevents local variables to be overwritten
- add the app to the autoloader before calling install.php
2016-01-14 17:28:00 +01:00
Thomas Müller 3f64d37f2a Merge pull request #21623 from owncloud/stricter_defaultprovider
[Share 2.0] Default share provider should only query for supported types
2016-01-14 16:12:06 +01:00
Thomas Müller 953c4bf18a Merge pull request #21714 from owncloud/groups-insertifnotexists
Groups insertifnotexists
2016-01-14 16:11:43 +01:00
Joas Schilling e3a0858444 Check whether the app can be enabled for groups 2016-01-14 15:45:48 +01:00
Robin Appelman d195584a32 Allow indirect set in CappedMemoryCache 2016-01-14 15:00:41 +01:00
Jörn Friedrich Dreyer 2ebb5726d7 add TODOs with the actual interface name 2016-01-14 14:34:35 +01:00
Jörn Friedrich Dreyer 64043e9bcc move methods to correct interface, deprecate private interface 2016-01-14 14:28:03 +01:00
Jörn Friedrich Dreyer bd77cd98c9 allow apps to add an OCP GroupInterface backend 2016-01-14 13:58:45 +01:00
Thomas Müller 5036e4527f Use IDbConnectin::insertIfNotExist 2016-01-14 13:17:26 +01:00
Joas Schilling 436ce1f4a6 Use insertIfNotExists() when creating a group 2016-01-14 13:13:27 +01:00
Robin Appelman 7530f66f52 remove unneeded public cache methods 2016-01-14 13:01:46 +01:00
Robin Appelman bdf51d9ea4 only trigger locking on lockingstorages 2016-01-14 13:01:43 +01:00
Robin Appelman 0724ac1e5e split locking related methods to their own interface 2016-01-14 12:54:42 +01:00
Robin Appelman 3deb3bd163 Add IStorage interface for consistent naming
minor phpdoc fixed
2016-01-14 12:54:42 +01:00
Robin Appelman e77e76fef4 fix object store storage 2016-01-14 12:54:42 +01:00
Robin Appelman d2c579e167 fix quota wrapper 2016-01-14 12:54:42 +01:00
Robin Appelman dcbeeced3b add since tags 2016-01-14 12:54:42 +01:00
Robin Appelman 989995a852 fix phpdoc 2016-01-14 12:54:42 +01:00
Robin Appelman a3d50ef49a add watcher interface 2016-01-14 12:54:42 +01:00
Robin Appelman c27894791e Add updater interface and expose cache interfaces from storage 2016-01-14 12:54:42 +01:00
Robin Appelman 5fae07f422 add scanner interface 2016-01-14 12:54:42 +01:00
Robin Appelman 6d321f5f6b Return a class from cache operations instead of an array 2016-01-14 12:54:42 +01:00
Robin Appelman 3ab0ccd4a2 add cache entry interface 2016-01-14 12:54:42 +01:00
Robin Appelman 2dcdc81477 propagator interface 2016-01-14 12:54:42 +01:00
Robin Appelman cdc8c40d60 Add public cache interface 2016-01-14 12:54:42 +01:00
Roeland Jago Douma 663e71e4b3 Only select elements from the database that we support 2016-01-14 10:54:40 +01:00
Roeland Jago Douma 0f454ff5aa Use namedparameter 2016-01-14 10:54:40 +01:00
Morris Jobke 86f08f59d6 use logException() to properly log the exception 2016-01-14 10:40:23 +01:00
Thomas Müller 4d037b76b4 Merge pull request #21704 from owncloud/fix-namespace-issue
Fix usage of PHP method within namespace
2016-01-14 10:25:34 +01:00
Thomas Müller 03c08bea9d Merge pull request #21703 from owncloud/fix_share_create_hooks
[Share 2.0] Fix pre_share and post_share hooks
2016-01-14 09:56:37 +01:00
Morris Jobke 64c8427d81 Improved error message for failing background job 2016-01-14 09:49:40 +01:00
Morris Jobke 73dd8c17de Fix usage of PHP method within namespace
* introduced wiht 045ea4eb
2016-01-14 09:24:21 +01:00
Jenkins for ownCloud 205fbcbfa3 [tx-robot] updated from transifex 2016-01-14 01:55:43 -05:00
Roeland Jago Douma 4cc2230c58 [Share 2.0] Fix pre_share and post_share hooks 2016-01-13 21:56:04 +01:00
Martin 06ca5cbade Fix: emit 'scanFiles' will only fire on files and not on folders (II) 2016-01-13 21:40:48 +01:00
Thomas Müller d1010696a1 Merge pull request #20497 from owncloud/bubble_up_hint_exception
Bubble up hint exceptions in hooks, so the user can see the hint
2016-01-13 17:36:42 +01:00
Roeland Jago Douma 5f5951c8cf [Share 2.0] Let the factory do the factory stuff
* Updated unit tests (bit cleaner now)
2016-01-13 16:35:15 +01:00
Roeland Jago Douma cbd3050f4c [Share 2.0] Use full share id (providerId:shareId)
Now that we support multiple managers we communicate shares to the
outside as 'providerId:shareId'. This makes sures that id's are unique
when references from the OCS API.

However, since we do not want to break the OCS API v1 we need to
somewhat hack around this.

When we switch to OCS API v2 (which we should when we support more
custom providers). We will change the id to always be the fullShareId.
2016-01-13 16:35:15 +01:00
Roeland Jago Douma 67b7ebccd1 [Share 2.0] Add share provider factory
* Add providers
* Add share manager to server container
* Use share manager from server container
* Properly get the share manager
2016-01-13 16:35:14 +01:00
Roeland Jago Douma b4de427c1e [Share 2.0] Allow registering of share providers
* Properly register the default share provider
2016-01-13 16:35:07 +01:00
Thomas Müller 3ee3d02a76 Merge pull request #20018 from owncloud/cache_group_backend
The group database backend should cache groups
2016-01-13 15:58:21 +01:00
Thomas Müller e7038a2736 Simply use logException() to log the exception - no need for custom code 2016-01-13 15:52:18 +01:00
Thomas Müller fa75866879 Fix PHPDoc 2016-01-13 15:52:18 +01:00
Jörn Friedrich Dreyer cbe995af31 Bubble up hint exceptions in hooks, so the user can see the hint 2016-01-13 15:52:18 +01:00
Thomas Müller 37e8a87d46 Merge pull request #21591 from owncloud/add-code-checking-for-apps
Verify signature of apps with level "Official" coming from the appstore
2016-01-13 10:35:00 +01:00
Thomas Müller b1ee51f255 Merge pull request #21630 from owncloud/add-some-security-headers-as-hardening
Add X-Download-Options and X-Permitted-Cross-Domain-Policies
2016-01-13 10:33:58 +01:00
Thomas Müller 5565b19382 Merge pull request #21648 from owncloud/smb-statcache-cap
cap the number of entries we cache in smb's statcache
2016-01-13 10:33:43 +01:00
Thomas Müller 3fd976995a Merge pull request #21668 from owncloud/add-super-evil-and-hidden-config-switch-to-disable-integrity-checks-really-just-do-not-use-this
Add hidden config switch to disable code integrity checking
2016-01-13 10:30:02 +01:00
Thomas Müller 4129480eb0 Merge pull request #21671 from owncloud/fix-setup-on-master
Use legacy method when ownCloud is not yet installed
2016-01-13 10:29:36 +01:00
Thomas Müller e22186d234 Merge pull request #21673 from owncloud/chrsch-master
-- Fixed error where $enabled is parsed but empty
2016-01-13 10:29:21 +01:00
Thomas Müller c5a200c419 Merge pull request #21653 from owncloud/update-license-headers-2016
Update license headers 2016
2016-01-13 08:29:42 +01:00
Thomas Müller 59e9b93be6 Merge pull request #20948 from owncloud/fed-sync-contacts
Syncing system addressbooks across federated ownClouds
2016-01-13 08:27:51 +01:00
Jenkins for ownCloud eb90fa78ad [tx-robot] updated from transifex 2016-01-13 01:55:56 -05:00
Christoph Schaefer 4b3bef4dc7 -- Fixed error where $enabled is parsed but empty 2016-01-13 06:39:02 +01:00
Lukas Reschke 28049b510b Use legacy method when ownCloud is not yet installed
The new `\OCP\ICertificateManager::getAbsoluteBundlePath` API instantiiates an ownCloud view which makes the installation fail as it queries the DB before it actually is setup. This change uses the old approach again for the case that the installation is not yet setup.

The client service is required for the `.htaccess` effectivity check in the setup. In the future we could move this to a JS based one (as we have for the other setupchecks) so we can get rid of such hacks.

Fixes https://github.com/owncloud/core/issues/21669 which was a regression in master caused by https://github.com/owncloud/core/issues/21336
2016-01-12 21:47:49 +01:00
Lukas Reschke 08e73d2c8f Add hidden config switch to disable code integrity checking
This adds a hidden config flag that allows somebody to disable the code integrity check. If `integrity.check.disabled` is set to `true` in the config file:

1. The integrity check functions will return always an empty result
2. The integrity check is not performed when installing apps
3. The integrity check is not performed when updating apps
4. The integrity check is not performed when updating the core

Furthermore this adds support for a list of channels that the code checker will run on. At the moment this is only stable because I didn't want to break any build scripts that we have. Once we have a proper CA setup and updated the build process to sign the releases we can add the RC, alpha, beta as well as daily releases. So everything except "git" basically.
2016-01-12 18:48:36 +01:00
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Thomas Müller dbddbb634b Use EventDispatcher to allow additional setup of auth backends - move federation auth to federation app 2016-01-12 14:24:01 +01:00
Robin Appelman d8d6368dd7 cap the number of entries we cache in smb's statcache 2016-01-12 13:26:58 +01:00
Robin Appelman c15cab7ed6 Allow admins to add system wide root certificates 2016-01-12 12:50:59 +01:00
Lukas Reschke 4d0dcd3c53 Add X-Download-Options and X-Permitted-Cross-Domain-Policies
Two small security hardenings for our IE users and those with Adobe products. Aligns it more with https://github.com/twitter/secureheaders#secureheaders---
2016-01-12 10:37:16 +01:00
Thomas Müller 3317dd0a8e Merge pull request #21637 from owncloud/reformat-irequest
fix identation in public/irequest.php
2016-01-12 09:13:17 +01:00
Thomas Müller 3ec8789c77 Merge pull request #21628 from owncloud/deprecated_secure_random_funcions
Replace deprecated function calls to SecureRandom
2016-01-12 09:12:13 +01:00
Morris Jobke 078cf8ae36 fix identation in public/irequest.php 2016-01-12 08:48:51 +01:00
Thomas Müller d11d9407ce Merge pull request #21624 from owncloud/l10n_deprecated_function
Remove unused deprecated function from l10n.php
2016-01-12 08:34:00 +01:00
Roeland Jago Douma 9f4b296685 Properly close cursors 2016-01-12 08:24:08 +01:00
Roeland Jago Douma 9e322828f2 Cache if a group exists 2016-01-12 08:24:08 +01:00
Roeland Jago Douma 3c8f4784e9 Inject DBConnection
* Use query builder
* Minor unit tests additions
2016-01-12 08:24:08 +01:00
Roeland Jago Douma 53e37804ec The group database backend should cache groups
This avoids duplicated queries like first checking the group_users db
and then just doing a select on the group db. Those enries are linked
(and should be using foreign keys!)

This commit makes sure we cache those entries.
If a user is part of N groups this saves N queries on webdav access
2016-01-12 08:24:08 +01:00
Jenkins for ownCloud 44e91bb90a [tx-robot] updated from transifex 2016-01-12 01:56:33 -05:00
Roeland Jago Douma 876fb83ddc getMediumStrengthGenerator is deprecated and does not do anything anymore 2016-01-11 20:06:30 +01:00
Roeland Jago Douma 98c4951f45 getLowStrengthGenerator does not do anything anymore 2016-01-11 19:59:15 +01:00
Roeland Jago Douma eccd9ca1cb Remove unused deprecated function 2016-01-11 16:41:46 +01:00
Lukas Reschke 43dbe1cebf Revert "Remove unneeded check if htaccess test file already exists" 2016-01-11 15:37:08 +01:00
Robin Appelman a3cbdcf202 Faster AppConfig->getValues 2016-01-11 11:59:24 +01:00
Robin Appelman ae7c49f93c Use appconfig for getAppVersions 2016-01-11 11:59:24 +01:00
Lars 3a5087ccdf tempnam accepts a directory as its first parameter, not a full path and filename.
tempnam falls back to creating a file in the system's temp directory. On systems with open_basedir restrictions, this may trigger an error message. By moving this below the checkTemporaryDirectory-loop, tempnam will only be tested if all alternatives fail and the error message is most likely avoided.
2016-01-11 11:50:31 +01:00
Lukas Reschke 3e8a5f8a53 Typo in error message 2016-01-11 11:40:58 +01:00
Robin Appelman 300eb54c87 de-deplicate getUidAndFilename 2016-01-11 11:40:58 +01:00
Robin Appelman fd2e1086c6 dont return an owner for files that don't exist 2016-01-11 11:40:58 +01:00
Thomas Müller 94cf9e56b6 Merge pull request #21593 from owncloud/strict_autoloader
Stricter autoloader
2016-01-11 11:24:11 +01:00
Thomas Müller 939cd43b58 Merge pull request #21586 from owncloud/fix-no-minimum-version
Assume apps from the appstore are compatible with the current version
2016-01-11 11:23:36 +01:00
Thomas Müller 171b279753 Merge pull request #21594 from owncloud/cleanup_util
Remove generateRandomBytes from OC_Util
2016-01-11 09:55:35 +01:00
Jenkins for ownCloud 77a8085f84 [tx-robot] updated from transifex 2016-01-11 01:55:34 -05:00
Roeland Jago Douma e01a488b31 Remove generateRandomBytes from OC_Util 2016-01-10 22:07:33 +01:00
Roeland Jago Douma 1a592e5745 Only '/tests' to be autoloaded when running unit tests 2016-01-10 21:36:14 +01:00
Roeland Jago Douma fce8c42240 OC autoloader is not allowed to load 3rdparty 2016-01-10 21:32:52 +01:00
Lukas Reschke c009d5dcc1 Verify signature of apps with level "Official" coming from the appstore
This change will verify the signature of all apps with the level "Official" coming from the appstore or if they have been signed before.
2016-01-10 19:40:28 +01:00
Lukas Reschke e43bf54503 Assume apps from the appstore are compatible with the current version
Filtering is done server-side already so only compatible apps are delivered. Otherwise this leads to a ton of error messages as the info.xml cannot be read at that state.

Fixes https://github.com/owncloud/core/issues/21556
2016-01-10 17:02:50 +01:00
Lukas Reschke 74876fa6e7 Remove code related to session regeneration after some time
I do not really consider this necessary or a real security addition. Let's get rid of it thus, cleans up the code and makes the logic easier.
2016-01-10 11:01:30 +01:00
Lukas Reschke a58ca89e7f Use ISession::clear
The native approach using the PHP calls will not work properly with the cryptowrapper and thus this code is effectively doing nothing at the moment.
2016-01-10 10:39:22 +01:00
Jenkins for ownCloud 580deb09f8 [tx-robot] updated from transifex 2016-01-10 01:55:57 -05:00
Lukas Reschke 3d4cf2e598 Use proper class name
This has never worked before. Introduced with https://github.com/owncloud/core/pull/18658
2016-01-09 23:43:12 +01:00
Roeland Jago Douma 77c611d339 Just query the securerandom from the container 2016-01-09 19:57:03 +01:00
Jenkins for ownCloud 72b34575df [tx-robot] updated from transifex 2016-01-09 01:55:50 -05:00
Roeland Jago Douma 17a066c18e Properly close db cursors 2016-01-08 20:27:01 +01:00
Roeland Jago Douma 629bac22fd Make sure to respect deleted group shares by user 2016-01-08 20:27:01 +01:00
Roeland Jago Douma c882d46e5f Moved to the query builder
Anything to keep Lukas happy
2016-01-08 20:27:01 +01:00
Roeland Jago Douma 066e3770bb Make sure that permissions stay in sync for share_type 2
When a file/folder is shared with a group and one of the group members
moves this file/folder an extra entry is created in the share table.

When the permission of the group share is updated we used to only
sometimes update the shares for individual users.

* Added intergration tests
2016-01-08 20:27:01 +01:00
Thomas Müller 6ab5ad0593 Merge pull request #21447 from owncloud/leave-disabled-apps-off
Only enable apps that are not intentionally disabled
2016-01-08 18:17:15 +01:00
Thomas Müller 3de81be692 Merge pull request #21494 from owncloud/underscores-in-class-names
Remove underscores from class names - part 1
2016-01-08 18:11:25 +01:00
Thomas Müller 0f281cdd30 Merge pull request #21286 from owncloud/use-owncloud-mail-when-sending-caldav-schedule-mails
Adding IMip scheduling which uses ownClouds mail delivery
2016-01-08 17:58:33 +01:00
Thomas Müller e60dddf57d Merge pull request #21479 from owncloud/fix-broken-state-in-htaccess-test
Remove unneeded check if htaccess test file already exists
2016-01-08 15:53:16 +01:00
Thomas Müller 0f5132552c Merge pull request #21292 from owncloud/checkAppEnabled-not-needed-anymore
core will handle invalid URLs and redirects properly
2016-01-08 13:36:11 +01:00
Thomas Müller 71999ef820 Merge pull request #21139 from owncloud/makeswifturltypeconfigurable
make url type configurable
2016-01-08 12:34:58 +01:00
Thomas Müller b3550db02d Adding IMip scheduling which uses ownClouds mail delivery 2016-01-08 12:21:41 +01:00
Thomas Müller a0345b9465 Merge pull request #21032 from owncloud/router-error-handling
Router error handling + Base.php
2016-01-08 10:06:54 +01:00
Thomas Müller a1a8a06042 Merge pull request #21527 from owncloud/remove_all_avatars
Remove all cache avatars on avatar deletion
2016-01-08 09:41:25 +01:00
Roeland Jago Douma 34c8249799 Deprecate remaining function and entire class 2016-01-07 21:29:51 +01:00
Lukas Reschke 9bf01283e7 Cleanup router code
- Some functions are entirely broken
- PHPDoc etc...
2016-01-07 21:29:51 +01:00
Lukas Reschke 0e561afe79 Check if app does exists 2016-01-07 21:29:45 +01:00
Roeland Jago Douma 4e6f6518ff Remove all cache avatars on avatar deletion
Fixes #21513

Since we cache the generated avatars. We should also delete the
generated sizes when we remove the avatar.
2016-01-07 20:51:18 +01:00
Thomas Müller 1cc6fddead Merge pull request #21498 from owncloud/cleanup-OC_DB
Cleanup OC_DB methods
2016-01-07 20:13:16 +01:00
Thomas Müller 46107f82d4 Merge pull request #21506 from owncloud/issue-20218-min-max-owncloud-version-warning
Issue 20218 min max owncloud version warning
2016-01-07 16:51:00 +01:00
Thomas Müller f6f492ba4e Merge pull request #21502 from owncloud/di_mimetypedetector
Add 'OCP\Files\IMimeTypeDetector' to DI container
2016-01-07 16:18:55 +01:00
Thomas Müller 9ca670f94f Merge pull request #21505 from owncloud/allow-downgrades-for-brave-developers
Allow downgrades for our brave developers, that switch between branches
2016-01-07 16:03:36 +01:00
Joas Schilling c55da1fc8d Add a warning to the app:check-code if the version is missing 2016-01-07 15:04:36 +01:00
Thomas Müller 601457d221 Merge pull request #20773 from owncloud/share2.0_create
[Sharing 2.0] create share
2016-01-07 14:57:05 +01:00
Morris Jobke 190cc2bb67 Remove OC_DB::getConnection 2016-01-07 14:54:55 +01:00
Morris Jobke fddece9552 Remove OC_DB::insertid 2016-01-07 14:54:55 +01:00
Morris Jobke 0a41cfefe3 Remove beginTransaction, commit, rollback from OC_DB 2016-01-07 14:54:55 +01:00
Morris Jobke 3917d888bd Remove OC_DB::isError 2016-01-07 14:54:55 +01:00
Morris Jobke 547fbfdb76 Remove OC_DB::dropTable 2016-01-07 14:54:54 +01:00
Joas Schilling fd7ed93937 Allow downgrades for our brave developers, that switch between branches 2016-01-07 14:18:33 +01:00
Roeland Jago Douma cd35ad6aaa Add 'OCP\Files\IMimeTypeDetector' to DI container
* Added test to server container as well
2016-01-07 13:20:43 +01:00