Christoph Wurst
0486d750aa
use the UID for creating the session token, not the login name
2016-05-11 13:36:46 +02:00
Christoph Wurst
69dafd727d
delete the token in case an exception is thrown when decrypting the password
2016-05-11 13:36:46 +02:00
Christoph Wurst
af707fba41
use the query builder instead of raw sql statements
2016-05-11 13:36:46 +02:00
Christoph Wurst
46bdf6ea2b
fix PHPDoc and other minor issues
2016-05-11 13:36:46 +02:00
Christoph Wurst
a9b500c03b
catch possible SessionNotAvailableExceptions
2016-05-11 13:36:46 +02:00
Christoph Wurst
f0f8bdd495
PHPDoc and other minor fixes
2016-05-11 13:36:46 +02:00
Christoph Wurst
699289cd26
pass in $request on OCS api
2016-05-11 13:36:46 +02:00
Christoph Wurst
168ccf90a6
try apache auth too
2016-05-11 13:36:46 +02:00
Christoph Wurst
8cc5f6036f
Fix existing tests
2016-05-11 13:36:46 +02:00
Christoph Wurst
7aa16e1559
fix setup
2016-05-11 13:36:46 +02:00
Christoph Wurst
7e7d5a2ef2
Add fallback to allow user:token basic auth
2016-05-11 13:36:46 +02:00
Christoph Wurst
fdc2cd7554
Add token auth for OCS APIs
2016-05-11 13:36:46 +02:00
Christoph Wurst
8d48502187
Add index on 'last_activity'
...
add token type column and delete only temporary tokens in the background job
debounce token updates; fix wrong class import
2016-05-11 13:36:46 +02:00
Christoph Wurst
53636c73d6
Add controller to generate client tokens
2016-05-11 13:36:46 +02:00
Christoph Wurst
3ab922601a
Check if session token is valid and log user out if the check fails
...
* Update last_activity timestamp of the session token
* Check user backend credentials once in 5 minutes
2016-05-11 13:36:46 +02:00
Christoph Wurst
2fa5e0a24e
invalidate (delete) session token on logout
...
add 'last_activity' column to session tokens and delete old ones via a background job
2016-05-11 13:36:46 +02:00
Christoph Wurst
d8cde414bd
token based auth
...
* Add InvalidTokenException
* add DefaultTokenMapper and use it to check if a auth token exists
* create new token for the browser session if none exists
hash stored token; save user agent
* encrypt login password when creating the token
2016-05-11 13:36:46 +02:00
Joas Schilling
db16dc6644
Correctly register autoloading before install.php and loading commands
2016-05-11 11:18:00 +02:00
Thomas Müller
9eea062004
Merge pull request #24433 from owncloud/user_psr4
...
lib/private/user to PSR-4
2016-05-11 11:16:56 +02:00
Lukas Reschke
4a05e9ce76
Merge pull request #24379 from owncloud/remove-unneeded-code
...
Remove unneeded private wrapper methods
2016-05-10 20:19:48 +02:00
Roeland Jago Douma
f6ee738ba8
Add \OC\User\Backend
...
Since some apps (ldap et al) still depend on OC_User_Backend this seemed
like the cleanest approach.
2016-05-10 19:53:36 +02:00
Roeland Jago Douma
9e1d9871a8
Move OC_User_Database to \OC\User\Database
2016-05-10 19:53:36 +02:00
Roeland Jago Douma
9504500e5f
Move \OC\User to PSR-4
2016-05-10 19:53:36 +02:00
Roeland Jago Douma
c51ebb02fa
Move OC_User_XX to legacy folder
2016-05-10 19:53:36 +02:00
Lukas Reschke
e8e72aa910
Merge pull request #24434 from owncloud/permalinks
...
Permalinks
2016-05-10 09:44:50 +02:00
Lukas Reschke
8b428d84c0
Make update server URL configurable
...
Currently testing the updates is a big problem and not really super easy possible. Since we now have a new updater server we should also make this configurable so that people can properly test updates.
2016-05-09 11:25:58 +02:00
Thomas Müller
a502de0d28
Merge pull request #24419 from owncloud/allow-di-for-migration-steps
...
Allow migration steps to use automatic DI
2016-05-09 09:56:56 +02:00
Vincent Petry
caefe23bb6
Send permalink in internal share notification emails
2016-05-06 16:46:59 +02:00
Jarrett
482bfae123
Set higher timeout limit
...
Set the timeout limit to be 20 instead of 5 for machines that take longer to load the apps from apps.owncloud.org so that it doesn't show up blank.
2016-05-05 14:20:46 -06:00
Morris Jobke
873849e843
Merge pull request #24432 from owncloud/issue-24270-never-save-app-language-into-request-lang
...
Do not save the language as request lang for apps when we didn't find…
2016-05-04 13:47:08 +02:00
Björn Schießle
61be98f554
Merge pull request #24410 from owncloud/fix_24182
...
first call the post_login hooks, before we call getUserFolder.
2016-05-04 10:23:38 +02:00
Joas Schilling
9fbb8ce302
Do not save the language as request lang for apps when we didn't find any
2016-05-04 08:28:13 +02:00
Roeland Douma
b059aac143
Merge pull request #24411 from owncloud/share_psr4
...
Move \OC\Share to PSR-4
2016-05-04 07:47:52 +02:00
Robin Appelman
e2f6aa3a57
factor out redis configuration into it's own factory
2016-05-03 16:02:17 +02:00
Thomas Müller
4b2544925f
Merge pull request #23844 from owncloud/disable-user
...
Add occ commands to enable and disable a user + a disabled user can n…
2016-05-03 15:22:41 +02:00
Joas Schilling
dda949e915
Allow migration steps to use automatic DI
2016-05-03 15:16:39 +02:00
Lukas Reschke
df2eb96cc4
Merge pull request #24389 from owncloud/login-by-email
...
Allow login by email address
2016-05-03 13:44:38 +02:00
Roeland Jago Douma
f90acb1b53
Move \OC\Share to PSR-4
2016-05-03 12:39:13 +02:00
Thomas Müller
06293783e0
Merge pull request #24387 from owncloud/locking-mark-reload-free
...
free up memory when releasing the last shared lock
2016-05-03 12:03:41 +02:00
Thomas Müller
f8c04a4219
Merge pull request #24392 from owncloud/declare-cron-jobs-in-info.xml
...
Declare cron jobs in info.xml
2016-05-03 12:03:28 +02:00
Thomas Müller
15a479fb96
Merge pull request #24408 from owncloud/improve-server-container
...
Improve server container
2016-05-03 12:03:09 +02:00
Thomas Müller
66bc092724
Merge pull request #24405 from owncloud/user_db_capped_cache
...
Use a CappedCache in the user database backend
2016-05-03 11:54:21 +02:00
Björn Schießle
8c0984d605
first call the post_login hooks, before we call getUserFolder.
...
The login process needs to be completed before we can safely create
the users home folder. For example we need to give encryption a chance
to initialize the users encryption keys in order to copy the skeleton
files correctly
2016-05-03 10:46:05 +02:00
Joas Schilling
6ab004fac1
Fix doc block
2016-05-03 10:30:07 +02:00
Joas Schilling
1e5f85ac8c
Use internal tag so IDEs highlight the usage
2016-05-03 10:29:47 +02:00
Roeland Jago Douma
5ba6fe2983
Use a CappedCache in the user database backend
...
When running with a user database backend on large installations the
cache can grow to significant sizes. This can be especially problematic
when running big cron/repair jobs.
2016-05-03 09:29:22 +02:00
Thomas Müller
71fa0a75bf
Allow declaration of background jobs in info.xml
2016-05-03 08:58:12 +02:00
Roeland Jago Douma
03f1a270cc
Move \OC\Log to PSR-4
2016-05-03 08:57:26 +02:00
Roeland Jago Douma
fc82047e26
Move OC_Log_xx to \OC\Log namespace
2016-05-03 08:57:26 +02:00
Lukas Reschke
adf7e7295e
Merge pull request #24375 from owncloud/archive_move
...
Move OC_Archive to \OC\Archive and PSR-4
2016-05-03 08:37:01 +02:00
Morris Jobke
a72e6a2dac
Merge pull request #24386 from owncloud/psr4-for-apps
...
PSR-4 for apps
2016-05-03 08:24:22 +02:00
Roeland Douma
ed3b9d5aff
Merge pull request #24381 from owncloud/correc_typehint
...
Use correct typehint for the IProviderFactory
2016-05-03 07:40:25 +02:00
Roeland Douma
c87bd0432a
Merge pull request #24380 from owncloud/move-activity-manager-to-namespace
...
Move activity manager to the namespace
2016-05-03 07:40:04 +02:00
Roeland Jago Douma
c96ed5c4ce
Move OC_Archive to \OC\Archive\Archive
...
* Move out of legacy folder
* Move to proper namespace
* Fix calling code
2016-05-02 19:34:32 +02:00
Roeland Jago Douma
0cb434686c
Move OC_Archive_XX to PSR-4
...
* Fix code
* Fix tests
2016-05-02 19:32:51 +02:00
Thomas Müller
05cf552f66
Merge pull request #24322 from owncloud/install-and-uninstall-repair-steps
...
Adding repair steps for install and uninstall
2016-05-02 17:50:29 +02:00
Roeland Douma
b84825f030
Merge pull request #24229 from owncloud/session-id-wrapper
...
add ISession::getId() wrapper for session_id
2016-05-02 16:49:38 +02:00
Joas Schilling
d879354ccb
Use lib/ instead of src/ because that is what people are used to
2016-05-02 15:45:52 +02:00
Joas Schilling
ee3457aec0
Register the PSR-4 path on loadApp
2016-05-02 15:17:14 +02:00
Thomas Müller
7aca13f14c
Allow login by email address
2016-05-02 14:51:01 +02:00
Thomas Müller
fd844f3eb3
Merge pull request #24336 from owncloud/issue-24328-remove-password-from-exception-trace-in-dav-auth
...
Remove the password from the validateUserPass() method as well
2016-05-02 14:33:07 +02:00
Thomas Müller
b10dcfc3b7
Fixing local event delivery for calendar events based on the email address
2016-05-02 14:20:59 +02:00
Robin Appelman
9677681a37
free up memory when releasing the last shared lock
2016-05-02 14:18:46 +02:00
Thomas Müller
d7eb17bdc0
Merge pull request #24327 from owncloud/better-callForAllUsers-performance
...
Better callForAllUsers memory usage
2016-05-02 13:12:43 +02:00
Roeland Jago Douma
eb1d5fdaf8
Use correct typehint
2016-05-02 11:59:54 +02:00
Joas Schilling
7bfc617b03
Move activity manager to the namespace
2016-05-02 11:57:24 +02:00
Lukas Reschke
f81b57bc45
Read only once
...
This can lead to race conditions otherwise. Also depracted hasKey
2016-05-02 11:31:57 +02:00
Morris Jobke
5595e038ae
Remove unneeded private wrapper methods
2016-05-02 11:23:14 +02:00
Joas Schilling
3397e27657
Remove the password from the validateUserPass() method as well
2016-05-02 10:44:09 +02:00
Morris Jobke
6b12f96b14
Merge pull request #24341 from owncloud/scan-nfd-showwarning
...
Add files:scan warning when NFD or incompatible encoding found
2016-05-02 09:41:12 +02:00
Roeland Jago Douma
9b875db8b8
OCS API should catch LoginExceptions
...
Catching the login exception and returning false (login failed). Makes
the OCS API properly return data instead of printing the exception page.
2016-05-02 09:31:22 +02:00
Thomas Müller
9c9fec36dd
Add occ commands to enable and disable a user + a disabled user can no longer login - fixes #23838
2016-05-02 09:31:22 +02:00
Thomas Müller
5e055ca6c1
Move uninstall repair step execution to the correct place
2016-05-02 09:22:26 +02:00
Thomas Müller
b0211a54c4
Repair steps no longer implement the Emitter interface
2016-05-02 09:17:20 +02:00
Thomas Müller
f91e5f87d2
Fix installer file location
2016-05-02 09:06:19 +02:00
Thomas Müller
e049953d1a
OC_Installer -> \OC\Installer
2016-05-02 08:52:06 +02:00
Thomas Müller
54f45f95f5
Adding repair steps for install and uninstall - fixes #24306
2016-05-02 08:52:06 +02:00
Roeland Jago Douma
e68ca8695d
Move lonely file from \OC\Files to PSR-4
...
Conflicting PR probabaly caused this
2016-05-01 19:40:55 +02:00
Christoph Wurst
13883d2d57
add IClientService to DI container
2016-05-01 15:08:56 +02:00
Roeland Jago Douma
0caa09e845
Move \OC\Group to PSR-4
2016-05-01 13:10:07 +02:00
Roeland Jago Douma
d89b533fa5
Move old classes to legacy
2016-05-01 13:09:28 +02:00
Thomas Müller
4575e8acfc
Merge pull request #24360 from owncloud/cleanup_non_psr4
...
Move non PSR-4 files from lib/private root to legacy
2016-05-01 08:47:38 +02:00
Roeland Douma
3a7ad79505
Merge pull request #24212 from owncloud/no_need_to_prop_etag_on_shares
...
There is no need to do old etag propagation on shares
2016-04-30 12:40:30 +02:00
Roeland Jago Douma
368be8894c
Move non PSR-4 files from lib/private root to legacy
...
As discussed we move all old style classes (OC_FOO_BAR) to legacy.
Then from there we can evaluate the need to convert them back or if they
can be fully deprecated/deleted.
2016-04-30 11:32:22 +02:00
Roeland Douma
8f8ae963fd
Merge pull request #24207 from owncloud/cache-mount-provider
...
mount custom cache folder using mount providers
2016-04-30 10:47:35 +02:00
Roeland Jago Douma
00122c166a
Properly get the internal path for a cachejail move
2016-04-30 10:40:45 +02:00
Thomas Müller
6c2e94e0b2
Merge pull request #24335 from owncloud/warning-for-wrongly-done-storage-wrappers
...
Add a warning if a storage wrapper was registered outside of the hook
2016-04-29 17:43:50 +02:00
Thomas Müller
e59ccc5fe9
Merge pull request #24299 from owncloud/availability-avoid-concurrency
...
Prevent concurrent storage availability checks
2016-04-29 17:43:31 +02:00
Robin Appelman
e51467689d
mount custom cache folder using mount providers
2016-04-29 17:41:09 +02:00
Thomas Müller
f79a81258e
Merge pull request #24357 from owncloud/psr_more2
...
Move more from \OC to PSR-4
2016-04-29 17:39:44 +02:00
Vincent Petry
b3a2828c46
Merge pull request #24350 from owncloud/locking-release-memory
...
optimize releaselock for memcache based locking backends
2016-04-29 17:00:44 +02:00
Vincent Petry
4326d73ff6
Fix SMB storage to not normalize UTF8
...
This makes sure that even if a NFD file name exists, it is found by the
storage and will be visible to higher layers. Even though the file will
be discarded anyway there, it gives the scanner a chance to display a
warning at least.
2016-04-29 16:19:53 +02:00
Morris Jobke
daf5f793a4
Merge pull request #24351 from owncloud/capped-normalized-cache
...
cap the normalized path cache
2016-04-29 15:22:06 +02:00
Robin Appelman
a3623745d5
Free up folder content from memory before recursing in the file scanner
2016-04-29 15:16:41 +02:00
Roeland Jago Douma
f52c5b31b6
Move more from \OC to PSR-4
...
* \OC\OCSClient
* \OC\Preview
* \OC\PreviewManager
* \OC\Repair
* \OC\RepairException
* \OC\Search
* \OC\ServerContainer
* \OC\ServerNotAvailableException
* \OC\ServiceUnavailableException
* \OC\Setup
* \OC\Streamer
* \OC\SubAdmin
* \OC\SystemConfig
* \OC\TagManager
* \OC\Tags
* \OC\TempManager
* \OC\TemplateLayout
* \OC\URLGenerator
* \OC\Updater
2016-04-29 15:08:01 +02:00
Roeland Douma
5bf7e6dd02
Merge pull request #24352 from owncloud/psr4_more
...
Move more of \OC to PSR-4
2016-04-29 14:57:58 +02:00
Vincent Petry
6571da1519
Merge pull request #24305 from owncloud/update-show-repair-step-progress
...
[Update] show repair step progress ...
2016-04-29 13:47:15 +02:00
Robin Appelman
d850a764eb
cap the normalized path cache
2016-04-29 13:17:41 +02:00
Roeland Jago Douma
f5e0d6ae6a
Move more of \OC to PSR-4
...
* \OC\DateTimeFormatter
* \OC\DateTimeZone
* \OC\ForbiddenException
* \OC\HTTPHelper
* \OC\HintException
* \OC\LargeFileHelper
* \OC\Log
* \OC\NaturalSort
* \OC\NavigationManager
* \OC\NeedsUpdateException
* \OC\NotSquareException
2016-04-29 13:13:47 +02:00
Robin Appelman
49ad0fcfa9
optimize releaselock for memcache based locking backends
2016-04-29 12:54:33 +02:00
Thomas Müller
b9330b5523
Merge pull request #24342 from owncloud/fix_private_root_files
...
Moved some files in \OC to PSR-4
2016-04-29 11:54:59 +02:00
Lukas Reschke
5f9700ccda
Merge pull request #24317 from owncloud/app-require-bits
...
Allow app developers to specify the minimum int size
2016-04-29 11:40:42 +02:00
Joas Schilling
f1b6b0799c
Add a warning if a storage wrapper was registered outside of the hook
2016-04-29 09:08:40 +02:00
Roeland Jago Douma
d312051b3d
Moved some files in \OC to PSR-4
...
* \OC\ActivityManager
* \OC\AllConfig
* \OC\AppConfig
* \OC\AppHelper
* \OC\Avatar
* \OC\AvatarManager
* \OC\CapabilitiesManager
* \OC\Config
* \OC\ContactsManager
* \OC\DatabaseException
* \OC\DatabaseSetupException
2016-04-29 08:00:31 +02:00
Thomas Müller
46caf1fbfe
Merge pull request #24332 from owncloud/http_psr4
...
Move \OC\Http to PSR-4
2016-04-29 06:53:04 +02:00
Bernhard Posselt
4c1b55be92
allow app developers to specify the minimum int size
...
simplify comparison
remove additional null
fix off by 1 error
2016-04-28 22:55:15 +02:00
Roeland Douma
238dbe9252
Merge pull request #24326 from owncloud/fix_for_php_7_0_6
...
Make ownCloud work again in php 7.0.6
2016-04-28 21:43:32 +02:00
Thomas Müller
0e774e0fd8
Merge pull request #24274 from owncloud/async-repair-steps
...
Introduce background repair steps
2016-04-28 14:11:43 +02:00
Thomas Müller
821d8736c8
Adding progress to web upgrade
2016-04-28 13:52:01 +02:00
Thomas Müller
bbd2a07525
Remove emitter from class Repair
2016-04-28 13:52:01 +02:00
Thomas Müller
cdcd49b473
Adding progress to occ maintenance:repair
2016-04-28 13:52:01 +02:00
Joas Schilling
b8114bcc33
When we iterate over all users that might be too much memory
2016-04-28 12:26:48 +02:00
Roeland Jago Douma
eb11ed1851
Make ownCloud work again in php 7.0.6
...
See https://bugs.php.net/bug.php?id=72117
2016-04-28 12:23:17 +02:00
Joas Schilling
76af70180d
Don't loop over the backends, we already know where the user should be
2016-04-28 12:03:19 +02:00
Roeland Jago Douma
0b69cd1120
Move \OC\Http to PSR-4
2016-04-28 10:10:50 +02:00
Roeland Jago Douma
873d12600d
Move \OC\L10N to PSR-4
2016-04-27 20:23:25 +02:00
Roeland Jago Douma
20020abff4
Move OC_L10N_String to legacy folder
2016-04-27 20:23:25 +02:00
Thomas Müller
977ad50640
Merge pull request #24286 from owncloud/hooks_psr4
...
Move \OC\Hooks to PSR-4
2016-04-27 09:46:54 +02:00
Robin McCorkell
77cec29b10
Prevent concurrent availability checks
2016-04-26 22:30:09 +01:00
Lukas Reschke
ddbebe91f0
Merge pull request #24246 from owncloud/local-invalid
...
error out if a local storage isn't setup correctly
2016-04-26 20:57:56 +02:00
Roeland Jago Douma
9a9834d9f5
Move \OC\Hooks to PSR-4
2016-04-26 15:33:47 +02:00
Christoph Wurst
e93bf80b29
throw SessionNotAvailableException if session_id returns empty string
2016-04-26 14:51:21 +02:00
Thomas Müller
e5dbeb24ea
Merge pull request #24277 from owncloud/more-sanity
...
Don't write empty RewriteBase
2016-04-26 14:35:53 +02:00
Thomas Müller
7d86136670
Merge pull request #24269 from owncloud/backgroundjob_psr4
...
Move \OC\BackgroundJob to PSR-4
2016-04-26 14:34:42 +02:00
Lukas Reschke
df8b851f53
Don't write empty RewriteBase
...
ownCloud may be configured to live at the root folder without a
trailing slash being specified. In this case manually set the
rewrite base to `/`
2016-04-26 13:18:18 +02:00
Thomas Müller
2ee7d2485c
Introduce background repair steps
2016-04-26 11:56:56 +02:00
Morris Jobke
23e7ad7a78
Merge pull request #24256 from owncloud/scanner-propagate
...
triger the propagator from the command line scanner
2016-04-26 10:05:39 +02:00
Morris Jobke
ef8fc6a03c
Merge pull request #24262 from owncloud/fix-24228
...
check whether index is set before using it
2016-04-26 09:57:50 +02:00
Roeland Jago Douma
6b5db081a5
Move \OC\BackgroundJob to PSR-4
2016-04-26 08:47:26 +02:00
Morris Jobke
6d62a74d7e
Merge pull request #24199 from owncloud/ocp-repair
...
Introduce OCP\Migration\IRepairStep and adopt all repair steps to thi…
2016-04-26 08:47:04 +02:00
Roeland Jago Douma
a93c7d0387
Move \OC\Search to PSR-4
2016-04-26 07:32:37 +02:00
Thomas Müller
f6e1b43a38
Merge pull request #22648 from owncloud/propagate-single
...
do propagation in a single query
2016-04-25 23:01:45 +02:00
Lukas Reschke
9c6ba6b123
Merge pull request #24264 from owncloud/route_psr4
...
Move \OC\Route to PSR-4
2016-04-25 22:32:34 +02:00
Roeland Douma
6938cfc9e3
Merge pull request #24251 from owncloud/fix-mailer
...
Allow automatic dependency injection for OCP\Mail\Mailer
2016-04-25 21:58:54 +02:00
Roeland Jago Douma
bb1e2f9d9d
Move \OC\Route to PSR-4
2016-04-25 21:49:07 +02:00
Arthur Schiwon
4b46571370
check whether index is set before using it
2016-04-25 18:36:50 +02:00
Robin Appelman
61054df36d
triger the propagator from the command line scanner
2016-04-25 17:23:48 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query
2016-04-25 16:18:59 +02:00
Joas Schilling
6d668807fb
Allow automatic dependency injection for OCP\Mail\Mailer
2016-04-25 16:02:57 +02:00
Thomas Müller
c7542c02db
Introduce OCP\Migration\IRepairStep and adopt all repair steps to this new interface - refs #24198
2016-04-25 15:01:13 +02:00
Thomas Müller
9e40b647f3
Merge pull request #24248 from owncloud/d--j-master
...
D j master
2016-04-25 14:53:37 +02:00
Thomas Müller
f31d0ce87c
Merge branch 'master' of https://github.com/d--j/core into d--j-master
2016-04-25 14:52:38 +02:00
Thomas Müller
ab690371b7
Merge branch 'patch-1' of https://github.com/weits/core into weits-patch-1
2016-04-25 14:49:49 +02:00
Thomas Müller
5348424417
Merge pull request #24205 from owncloud/scanner-locking
...
add locks in the scanner to prevent multiple scanners running on the …
2016-04-25 14:48:20 +02:00
Robin Appelman
21643150aa
error out if a local storage isn't setup correctly
2016-04-25 14:36:53 +02:00
Roeland Jago Douma
76c72b5f43
Move \OC\Updater to PSR-4
2016-04-25 11:32:09 +02:00
Robin Appelman
4ac16001e0
add locks in the scanner to prevent multiple scanners running on the same files
2016-04-25 11:09:08 +02:00
Christoph Wurst
0d53e86421
add ISession::getId() wrapper for session_id
2016-04-25 10:36:24 +02:00
Björn Schießle
74de72e75e
Merge pull request #24073 from owncloud/move_federated_sharing_settings_to_app
...
move federated sharing settings to the federatedfilesharing app
2016-04-25 10:19:46 +02:00
Roeland Jago Douma
dedf392751
Move \OC\Files to PSR-4
2016-04-24 21:37:35 +02:00