Commit Graph

5361 Commits

Author SHA1 Message Date
Morris Jobke 9a733b7f50
Merge pull request #12114 from RubenHoms/master
Stop decryption when maintenance mode is enabled
2019-05-22 22:32:13 +02:00
Morris Jobke 8c3c04596e
Fix l10n for SettingsManager by injecting the l10n factory
Fixes #10832

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-21 22:25:13 +02:00
Ruben Homs 98047e8c1c
Stop decryption when maintenance mode is enabled, fixes #8311
Signed-off-by: Ruben Homs <ruben@homs.codes>
2019-05-21 09:24:50 +02:00
Roeland Jago Douma f03eb7ec3c
Remote wipe support
This allows a user to mark a token for remote wipe.
Clients that support this can then wipe the device properly.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-20 20:50:27 +02:00
Roeland Jago Douma 528eb1b223
Merge pull request #15304 from nextcloud/enh/2fa_setup_at_login
2FA setup during login
2019-05-17 11:04:42 +02:00
Roeland Jago Douma 579162d7b9
Allow 2FA to be setup on first login
Once 2FA is enforced for a user and they have no 2FA setup yet this will
now prompt them with a setup screen. Given that providers are enabled
that allow setup then.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-17 10:11:53 +02:00
Roeland Jago Douma 2dcb4cfbd6
Allow clients to delete their own apptoken
Fixes #15480

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-05-17 09:52:06 +02:00
Morris Jobke 83b00a99fa
Add interfaces to interact with subscription from support app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-13 11:04:47 +02:00
Christoph Wurst d3a244f9d9
Allow crash reporters to catpture any message
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-09 14:06:44 +02:00
Morris Jobke f095bd1642
Use non-absolute logout URL to fix wrong URL in reverse proxy scenario
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-05-08 18:02:00 +02:00
Christoph Wurst 170582d4f5
Add a login chain to reduce the complexity of LoginController::tryLogin
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-07 18:04:36 +02:00
Morris Jobke 582b679ca9
Deprecate legacy share code and cleanup some unused methods
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-18 17:44:14 +02:00
Morris Jobke 049d613dba
Merge pull request #15152 from nextcloud/enhancement/noid/contactsmenu-sharing-enum-settings
Respect sharing enumeration config in contacts menu
2019-04-18 15:00:02 +02:00
Julius Härtl db17c14f80
Respect sharing enumeration config in contacts menu
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-18 11:39:49 +02:00
Daniel Kesselberg 6c156d81ed
Fix testGetProxyUri
Changed the implementation for getProxyUri with
fd1d85365c

If proxy is already null then we don't ask for proxyuserpwd. Test
failed because we expected getSystemValue to be called once with
proxyuserpwd

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-04-16 21:33:56 +02:00
Daniel Kesselberg 2708d26407
Set User-Agent as header without middleware
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-04-16 21:13:29 +02:00
Roeland Jago Douma 7276735eb4
Set empty CSP by default
For #14179

By default responses should have the strictest (and simplest) CSP
possible. Only template responses should require an actual CSP.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-16 14:09:39 +02:00
Joas Schilling 8852b85d13
Disable acceptance test which should fail anyway
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-04-11 14:03:41 +02:00
Morris Jobke c1e6a5965e
Return true in the dummy backend for successful display name change
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-11 11:43:33 +02:00
Leon Klingele f420647add
lib/private/User: do not change user properties if value has not changed
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-04-11 10:11:05 +02:00
Julius Härtl 0968343061
Add acceptance test for public folder navigation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-10 11:28:45 +02:00
Daniel Calviño Sánchez ace4449924 Adjust acceptance tests to changes of file names in file picker
File names are no longer shown directly in the ".filename" element, but
split in two "span" elements inside a ".filename-parts" element, so now
the texts in those span elements need to be concatenated to get the file
name.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-04-03 16:29:52 +02:00
Roeland Jago Douma 49acc28d90
Revert "Temp disable bundle tests" 2019-04-01 22:43:59 +02:00
Morris Jobke c57a16bb0a
Merge pull request #14825 from marius-wieschollek/bugfix/11236
Set parameter type in QBMapper
2019-03-25 10:21:45 +01:00
Roeland Jago Douma a7fb71f908
Fetch proper translations
Fixes #14793

This is caused by the mess we have with OC\Settings mapping to settings
and lib/private/Settings.

Anyway this is the quick fix. Moving stuff around for 17 seems better.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-25 09:10:54 +01:00
Marius David Wieschollek 5aeb8eac2b
[#11236] Set parameter type in QBMapper
Signed-off-by: Marius David Wieschollek <git.public@mdns.eu>
2019-03-24 22:43:45 +01:00
Roeland Jago Douma 3ecdf743bb
Properly inject EventDispatched in BackgroundRepair
Else it will just be null when called

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-22 10:29:36 +01:00
Joas Schilling 494d737f7e
Remove unused member "util"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-21 12:42:35 +01:00
Roeland Jago Douma 093c75802c
Temp disable bundle tests
The bundle acceptance tests fails after #14578 sometimes. This is
because of a race condition. not all apps have compatible 16 versions
yet. So trying to enable them results in those apps doing 💥.

Because of #14578 we do show them now. So we try to enable them. However
depending on which requests finishes first the disable button for the
audit app either shows up or now.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-20 20:44:11 +01:00
Roeland Jago Douma 03dc79f665
Merge pull request #14578 from nextcloud/enh/force_enable_apps
Force enable apps
2019-03-20 19:22:38 +01:00
Roeland Jago Douma 575b3f9ff8
Revert "Where is your data?" 2019-03-20 15:17:31 +01:00
Roeland Jago Douma 769cb629ae
allow enforcing apps to ignore the max version
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-20 15:16:11 +01:00
Joas Schilling b357913587
Improve startup speed of acceptance tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-18 15:21:42 +01:00
Morris Jobke 970d52fc29
Adjust acceptance tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-18 14:16:40 +01:00
Morris Jobke bfe2c19512
Merge pull request #14681 from nextcloud/forwardport/noid/fragile-tests
Disable fragile tests - part 2
2019-03-14 23:30:05 +01:00
Morris Jobke 1d938947e1
Disable failing files app test - act 4
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:30:38 +01:00
Morris Jobke 951dcc110d
Disable failing files app test - act 3
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:24:06 +01:00
Morris Jobke 70f90b8c6b
Disable failing app management test
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 16:18:46 +01:00
Morris Jobke caea04d28e
Disable failing comments app test - act 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 13:46:10 +01:00
Morris Jobke 43e9006481
Disable failing files app test - act 2
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 13:46:06 +01:00
Morris Jobke 5b4155bd12
Make appstore app:enable test more robust by using only shipped apps
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-14 13:39:20 +01:00
Morris Jobke 38dd3da92b
Disable fragile user acceptance tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke a5e42f95c6
Disable failing login test
* tests/acceptance/features/login.feature:15
<details><summary>Show full log</summary>

```
  Scenario: log in with valid user and invalid password once fixed by admin # /drone/src/github.com/nextcloud/server/tests/acceptance/features/login.feature:15
    Given I act as John                                                     # ActorContext::iActAs()
    And I can not log in with user user0 and password 654231                # LoginPageContext::iCanNotLogInWithUserAndPassword()
    When I act as Jane                                                      # ActorContext::iActAs()
    And I am logged in as the admin                                         # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the User settings                                            # SettingsMenuContext::iOpenTheUserSettings()
    And I set the password for user0 to 654321                              # UsersSettingsContext::iSetTheFieldForUserTo()
    And I act as John                                                       # ActorContext::iActAs()
    And I log in with user user0 and password 654321                        # LoginPageContext::iLogInWithUserAndPassword()
    Then I see that the current page is the Files app                       # FilesAppContext::iSeeThatTheCurrentPageIsTheFilesApp()
      Failed asserting that 'http://acceptance-login/index.php/login?user=user0' starts with "http://acceptance-login/index.php/apps/files/".

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke 18009c82e4
Disable failing comments test
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke 247ade00e7
Disable failing files app test
Fails with:

 * tests/acceptance/features/app-files.feature:90
<details><summary>Show full log</summary>

```
  Scenario: show favorites                                            # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files.feature:90
    Given I am logged in                                              # LoginPageContext::iAmLoggedIn()
    And I mark "welcome.txt" as favorite                              # FileListContext::iMarkAsFavorite()
    When I open the "Favorites" section                               # AppNavigationContext::iOpenTheSection()
    Then I see that the current section is "Favorites"                # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    Then I see that the file list contains a file named "welcome.txt" # FileListContext::iSeeThatTheFileListContainsAFileNamed()
      Row for file welcome.txt in file list could not be found after 100 seconds (NoSuchElementException)
```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke d98463f1b2
Disable failing apps management test
Fails with:

 * tests/acceptance/features/apps.feature:66
<details><summary>Show full log</summary>

```
  Scenario: Show section from app store                       # /drone/src/github.com/nextcloud/server/tests/acceptance/features/apps.feature:66
    Given I act as Jane                                       # ActorContext::iActAs()
    And I am logged in as the admin                           # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I open the Apps management                            # SettingsMenuContext::iOpenTheAppsManagement()
    And I see that the current section is "Your apps"         # AppNavigationContext::iSeeThatTheCurrentSectionIs()
    When I open the "Files" section                           # AppNavigationContext::iOpenTheSection()
      Files section item in App Navigation could not be found after 100 seconds (NoSuchElementException)
    Then I see that there some apps listed from the app store # AppsManagementContext::iSeeThatThereSomeAppsListedFromTheAppStore()
    And I see that the current section is "Files"             # AppNavigationContext::iSeeThatTheCurrentSectionIs()

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke 982081f1ab
Disable failing files tag test
Fails with:

 * tests/acceptance/features/app-files-tags.feature:42
<details><summary>Show full log</summary>

```
  Scenario: add tags using the dropdown in the details view                                 # /drone/src/github.com/nextcloud/server/tests/acceptance/features/app-files-tags.feature:42
    Given I am logged in as the admin                                                       # LoginPageContext::iAmLoggedInAsTheAdmin()
    And I visit the settings page                                                           # SettingsMenuContext::iVisitTheSettingsPage()
    And I open the "Tag management" section                                                 # AppNavigationContext::iOpenTheSection()
    And I see that the button to select tags is shown                                       # SettingsContext::iSeeThatTheButtonToSelectTagsIsShown()
    And I create the tag "tag1" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag2" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag3" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I create the tag "tag4" in the settings                                             # SettingsContext::iCreateTheTagInTheSettings()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag1" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag2" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag3" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I see that the dropdown for tags in the settings eventually contains the tag "tag4" # SettingsContext::iSeeThatTheDropdownForTagsInTheSettingsEventuallyContainsTheTag()
    And I log out                                                                           # SettingsMenuContext::iLogOut()
    And I am logged in                                                                      # LoginPageContext::iAmLoggedIn()
    And I open the details view for "welcome.txt"                                           # FileListContext::iOpenTheDetailsViewFor()
    And I open the input field for tags in the details view                                 # FilesAppContext::iOpenTheInputFieldForTagsInTheDetailsView()
    When I check the tag "tag2" in the dropdown for tags in the details view                # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    And I check the tag "tag4" in the dropdown for tags in the details view                 # FilesAppContext::iCheckTheTagInTheDropdownForTagsInTheDetailsView()
    Then I see that the tag "tag2" in the dropdown for tags in the details view is checked  # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the tag "tag4" in the dropdown for tags in the details view is checked   # FilesAppContext::iSeeThatTheTagInTheDropdownForTagsInTheDetailsViewIsChecked()
    And I see that the input field for tags in the details view contains the tag "tag2"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()
      Failed asserting that false is true.
    And I see that the input field for tags in the details view contains the tag "tag4"     # FilesAppContext::iSeeThatTheInputFieldForTagsInTheDetailsViewContainsTheTag()

```
</details>

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 18:01:24 +01:00
Morris Jobke 77cf702220
Fix acceptance tests for wrong password message due to changed message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-11 11:54:38 +01:00
Morris Jobke d40b21ac81
Merge pull request #14603 from nextcloud/fix/noid/add-setup-check-for-s3-temp-path
Show a setup warning in case S3 object storage is used as primary storage
2019-03-08 18:03:49 +01:00
Roeland Jago Douma 8996b9efbf
Merge pull request #14352 from nextcloud/dependabot/npm_and_yarn/bootstrap-4.3.1
[Security] Bump bootstrap from 3.4.1 to 4.3.1
2019-03-08 15:32:16 +01:00
Morris Jobke 060b637b70
Show a setup warning in case S3 object storage is used as primary storage
* checks for at least 50 GB of free space

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-08 13:38:39 +01:00
Morris Jobke 772303309d
Merge pull request #14425 from cowai/fix-multiple-incomplete-folders
Do not calculate folder size for parent that also needs proper scan, fixes #3524
2019-03-08 09:12:33 +01:00
Marius Blüm 80937159fb
Remove "socialsharing_googleplus" from Social Sharing Bundle
Signed-off-by: Marius Blüm <marius@lineone.io>
2019-03-07 14:56:16 +01:00
Julius Härtl d768634616
Fix domparser on phantomjs
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-07 10:45:47 +01:00
Ari Selseng d16cfb519e Avoid calculating folder size for parent that needs scan.
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-03-06 15:23:37 +01:00
Morris Jobke d004164fcc
Merge pull request #13327 from nextcloud/allow-bracket-notation-for-remove-ipv6-address
Allow bracket IPv6 address format inside IPAdress Normalizer
2019-03-06 10:34:02 +01:00
Morris Jobke 40e04c8391
Disable fragile tests for now
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 14:23:08 +01:00
Joas Schilling c6a69ba925
Remove the upload and memory setting
* Remove unneeded private method phpFileSize()
* Bump autoloader
* Remove setUploadLimit tests
* Remove integrity check hacks for upload limit

Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-04 12:14:22 +01:00
Morris Jobke 814bf0de20
Merge pull request #14493 from nextcloud/tech-debt/noid/remove-php5-config
Remove unused php5 config from .htaccess
2019-03-04 12:07:40 +01:00
Morris Jobke 92b5743bf4
Remove unused php5 config from .htaccess
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-04 11:24:10 +01:00
Morris Jobke 4b2efd94f9
Make header.feature more robust by running it on apache
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-04 10:22:16 +01:00
Christoph Wurst 102f700d96
Load auth tokens with the initial state API
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-03-01 21:24:44 +01:00
Julius Härtl e5162fb9af
Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-01 20:57:01 +01:00
Julius Härtl 6ee7286b41
Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-01 20:57:01 +01:00
Joas Schilling 01b4db62fb
Add dispatcher events to User and Group objects
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-03-01 20:56:59 +01:00
Morris Jobke 6c7ccbecbf
Add setup check for missing UTF8MB4 on mysql
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-28 16:46:23 +01:00
Morris Jobke 3f2bb3ca05
Run tests that fail with "no such process" over to apache server
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-28 14:03:57 +01:00
Roeland Jago Douma a43ffc7dec
Merge pull request #13489 from nextcloud/enh/settings/2fa-security-store
Do not load 2fa admin settings async
2019-02-28 13:32:26 +01:00
Roeland Jago Douma c621da4fd6
Do not load 2fa admin settings async
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-28 11:55:58 +01:00
Morris Jobke 36bf1ffb25
Fix acceptance tests for tag management
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-28 11:42:21 +01:00
Morris Jobke e5cacc0fe3
Merge pull request #14343 from nextcloud/bugfix/14052-multiple-navigation-items
Parse multiple navigation items
2019-02-27 16:07:57 +01:00
Christoph Wurst e930a0ccbe
Search sharees on lookup server when explicitly requested by user
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-02-26 19:44:49 +01:00
Joas Schilling a3d936fbb7
Merge pull request #14385 from nextcloud/feature/noid/add-event-to-allow-to-filter-results
Add an event to the Autocomplete Controller to allow to filter the re…
2019-02-26 18:11:24 +01:00
Joas Schilling 55f627d20b
Add an event to the Autocomplete Controller to allow to filter the results
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-26 15:32:14 +01:00
Roeland Jago Douma 41ef3d860c
Move comments to webpack
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-26 09:10:23 +01:00
Morris Jobke dc2798460b
Merge pull request #14198 from nextcloud/bugfix/8647-exclude-file-name-patterns
Exclude file name patterns; ignore gentoo webapp files
2019-02-26 00:17:25 +01:00
Robin Appelman db750898ee
allow group backends to mark that a group should now be shown in search dialogs
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-25 16:06:09 +01:00
Daniel Kesselberg df3d5e8509
two item => two items
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-25 14:52:14 +01:00
Roeland Jago Douma e819e97829
Login flow V2
This adds the new login flow. The desktop client will open up a browser
and poll a returned endpoint at regular intervals to check if the flow
is done.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-25 07:24:50 +01:00
Daniel Kesselberg 36c51bc4f1
Parse multiple navigation items
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-22 15:57:14 +01:00
Joas Schilling 2cc4118629
Merge pull request #14066 from nextcloud/feature/noid/casted-system-values
Get typed system values
2019-02-22 11:54:20 +01:00
Joas Schilling b4902369fb
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-22 09:08:53 +01:00
Daniel Kesselberg bb2d8bafc9
Use contacts instead of logreader
Logreader is not distributed by app store because shipped by default.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:07 +01:00
Daniel Kesselberg 75b7d6ae4e
Add install logic for enable command
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:06 +01:00
Daniel Kesselberg 76b5f44f05
Strict Types, Return Types
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:06 +01:00
Daniel Kesselberg 03d3192638
Disable multiple apps at once
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:05 +01:00
Daniel Kesselberg 08907ee3e9
Enable multiple apps at once
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-19 21:03:00 +01:00
Roeland Jago Douma e7f0e8ba03
Merge pull request #14263 from nextcloud/publish-activity-app-token
Publish activity if app password created by ocs api or client login flow
2019-02-19 15:08:43 +01:00
Morris Jobke e20292f174
Merge pull request #14261 from nextcloud/show-warning-if-x-forwarded-set-with-empty-trusted-proxies
Warning if x-forwarded-host present but trusted_proxies empty
2019-02-19 10:31:57 +01:00
Morris Jobke 30e7d3e0e8
Merge pull request #14194 from nextcloud/bugfix/noid/correctly-determinate-owner-in-case-of-shared-external-storages
Correctly determinate the owner in case of shared external storages
2019-02-19 10:28:28 +01:00
Roeland Jago Douma d43095e17b
Merge pull request #14218 from nextcloud/enh/files_sharing_to_webpack
Move files_sharing additionalscripts over to webpack
2019-02-19 08:20:16 +01:00
Daniel Kesselberg c583c5e7e2
Emit event if app password created
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-18 17:47:43 +01:00
Joas Schilling f66c37bdb8
Correctly determinate the owner in case of shared external storages
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-18 10:57:12 +01:00
Daniel Kesselberg 600bc22297
Warning if x-forwarded-host present but trusted_proxies empty
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-17 23:53:06 +01:00
Daniel Kesselberg 149a98edf6
Publish activity for app token created by client login flow
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-17 23:49:54 +01:00
Daniel Kesselberg 2ade2bef8c
Publish activity for app token created by ocs api
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-17 23:37:22 +01:00
Roeland Jago Douma 104616c1da
Use CountWrapper instead of almost identical CountReadStream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 13:24:58 +01:00
Roeland Jago Douma 0a4569dff7
Move files_sharing additionalscripts over to webpack
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 12:33:04 +01:00
Roeland Jago Douma ea3fa78a85
Merge pull request #14167 from nextcloud/techdebt/noid/update-php-parser-for-7.1-compat
Update PHP-Parser for 7.1 compatibility
2019-02-14 21:23:42 +01:00
Roeland Jago Douma fc39b28549
Merge pull request #14186 from nextcloud/enh/systemtags_to_webpack
Move systemtags (app) to webpack
2019-02-14 21:17:50 +01:00
Roeland Jago Douma 843066b708
Fix AsyncBusTests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 20:04:17 +01:00
Roeland Jago Douma b6d327ee47
Merge pull request #13995 from nextcloud/feature/dont-call-get-repair-steps
Do not run getRepairSteps in register_commands
2019-02-14 19:51:39 +01:00
Morris Jobke cca08df976
Merge pull request #14160 from nextcloud/update-crl
Update CRL to contain revoked files_external_dropbox, passman & payback
2019-02-14 14:53:05 +01:00
Roeland Jago Douma fb1eb96730
Update tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 12:17:57 +01:00
Daniel Kesselberg b14700c936
Use more precise regex
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-14 12:11:30 +01:00
Morris Jobke c804baaec5
Update CRL to contain revoked files_external_dropbox, passman & payback
* see https://github.com/nextcloud/app-certificate-requests/pull/221
* see https://github.com/nextcloud/app-certificate-requests/pull/219#issuecomment-463577509

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-14 11:49:35 +01:00
Daniel Kesselberg 7404c10666
Apply code style fixes from owncloud, revert regex
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-14 11:48:15 +01:00
Romain Rivière a5bc27c2a6
Fix test case
Signed-off-by: Romain Rivière <lecoyote@lecoyote.org>
2019-02-14 11:48:15 +01:00
Romain Rivière abb56c72e1
Exclude file name patterns; ignore gentoo webapp files
Signed-off-by: Romain Rivière <lecoyote@lecoyote.org>
2019-02-14 11:48:09 +01:00
Daniel Kesselberg e090973e64
Fix unit test
Null is not longer possible as value for $dispatcher.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-13 23:06:51 +01:00
Roeland Jago Douma d7495f89ab
Merge pull request #14170 from nextcloud/feature/update-app-password-activity
Show more information on app password update
2019-02-13 22:45:12 +01:00
Roeland Jago Douma 7f88654147
Move of files_versions to webpack
* Move CSS into bundle
* Old merged.json no longer needed!
* No need to load the style still

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-13 22:20:07 +01:00
Daniel Kesselberg 825200be07
Add test cases for rename / grant / revoke
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-13 20:57:54 +01:00
Roeland Jago Douma f1ea56b502
Fix the thorrtler whitelist bitmask
Before we actually didn't check each bit of the bitmask. Now we do.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-11 23:22:20 +01:00
Morris Jobke 34dc165132
Merge pull request #13097 from nextcloud/feature/11319/where-is-your-data
Where is your data?
2019-02-11 11:13:55 +01:00
Roeland Jago Douma b40603d250
Merge pull request #13702 from nextcloud/feature/6717/rename-app-passwords
Make it possible to rename app passwords
2019-02-08 08:34:54 +01:00
Morris Jobke baa6a2d52c
Merge pull request #13748 from nextcloud/cache-insert-event
add event for inserting cache entries
2019-02-07 16:35:02 +01:00
Morris Jobke 0e9903c420
Merge pull request #13969 from nextcloud/enh/additional_scripts_no_on_public_pages
No need to emit additonalscript event on public pages
2019-02-07 15:57:14 +01:00
Robin Appelman 0ccd970f9d
adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-02-07 15:51:34 +01:00
Morris Jobke 94b1b1593b
Remove public interface that was only needed for testing
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-02-07 14:23:16 +01:00
Michael Weimann 2a8118e459
Switch guest avatars to PNG
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-02-07 14:23:16 +01:00
Michael Weimann bf1253cb49
Implement guest avatar endpoint
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-02-07 14:23:16 +01:00
Roeland Jago Douma b68567e9ba
Add StandaloneTemplateResponse
This can be used by pages that do not have the full Nextcloud UI.
So notifications etc do not load there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-06 11:26:18 +01:00
Roeland Jago Douma d88604015a
No need to emit additonalscript event on public pages
There already is a separate event for this. This will make it possible
to only inject code with the logged in one on default rendered pages.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-05 20:59:36 +01:00
Daniel Kesselberg 850e67dea9
Don't update token if current session token
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-02 20:21:58 +01:00
Daniel Kesselberg db49e0fdae
Add canRename & name to tests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-02 20:21:50 +01:00
Morris Jobke e5d8645f00
Merge pull request #13846 from nextcloud/feature/check-if-app-exist-for-group
Check app path for enableAppForGroups
2019-02-01 15:23:01 +01:00
Roeland Jago Douma ba03c1a84c
Merge pull request #13548 from nextcloud/feature/10964/app_tokens_activity
Publish event for app token create/update/delete
2019-02-01 14:56:45 +01:00
Roeland Jago Douma d182037bce
Emit to load additionalscripts
Fixes #13662

This will fire of an event after a Template Response has been returned.
There is an event for the generic loading and one when logged in. So
apps can chose to load only on loged in pages.

This is a more generic approach than the files app event. As some things
we might want to load on other pages as well besides the files app.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-31 12:11:40 +01:00
Daniel Kesselberg a687a657e8
Add test for destroy with invalid user
Some code cleanup
- willReturn instead of will(returnValue)
- Annotation for mocked objects

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-30 19:10:59 +01:00
Daniel Kesselberg f24fa2051d
Publish event for app token create/update/delete
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-30 19:10:53 +01:00
Christoph Wurst 0e6cb988a1
Add a key parameter to the new initial state API
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-01-30 16:08:08 +01:00
Roeland Jago Douma 139055c1dd
Merge pull request #13880 from nextcloud/enh/expose_subadmin_to_ocp
Expose subadmin to OCP
2019-01-29 22:13:41 +01:00
Roeland Jago Douma 15abcff2a1
Expose subadmin to OCP
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 20:47:35 +01:00
Roeland Jago Douma deb7d2364f
Merge pull request #13869 from nextcloud/enh/clean_pending_2fa_session_on_password_change
Clean pending 2FA authentication on password reset
2019-01-29 19:50:15 +01:00
Roeland Jago Douma ac8a6e2244
Clean pending 2FA authentication on password reset
When a password is reste we should make sure that all users are properly
logged in. Pending states should be cleared. For example a session where
the 2FA code is not entered yet should be cleared.

The token is now removed so the session will be killed the next time
this is checked (within 5 minutes).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-29 13:08:56 +01:00
Roeland Jago Douma 0fd208a83b
Merge pull request #13866 from nextcloud/s3-multipart-uploader
always use multipart uploader for s3 uploads
2019-01-29 11:14:05 +01:00
Robin Appelman 1d322d3b37
always use multipart uploader for s3 uploads
the multipart uploader handles non seekable streams while `upload` does not

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-28 14:51:19 +01:00
Daniel Kesselberg c09ddf6c78
Check app path for enableAppForGroups
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-26 22:31:45 +01:00
Joas Schilling abd305eff5
Remove legacy activity stuff
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-24 16:52:38 +01:00
Morris Jobke ae25fd2389
Merge pull request #13217 from nextcloud/add-acceptance-tests-for-moving-and-copying-files
Add acceptance tests for moving and copying files
2019-01-23 18:48:21 +01:00
Roeland Jago Douma e3de4edc51
Urlencode the requesttoken
Followup of #13757

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-23 16:16:31 +01:00
Roeland Jago Douma ebd9f30d85
Request plain logout url
By requesting the plain logout url we allow it to be properly cached by
the caching router. We just add the requesttoken manually.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-23 14:06:03 +01:00
Roeland Jago Douma f2b118a256
Merge pull request #13747 from nextcloud/fix/honor_session_lifetime_if_remember_cookie_is_disabled
Honor remember_login_cookie_lifetime
2019-01-23 10:12:01 +01:00
Roeland Jago Douma e6333c8fe3
Honor remember_login_cookie_lifetime
If the remember_login_cookie_lifetime is set to 0 this means we do not
want to use remember me at all. In that case we should also not creatae
a remember me cookie and should create a proper temp token.

Further this specifies that is not 0 the remember me time should always
be larger than the session timeout. Because else the behavior is not
really defined.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-23 08:46:24 +01:00
Morris Jobke 90e985fe4f
Merge pull request #13739 from nextcloud/cache-cleanup-change
cleanup shared lock if changing to exclusive lock failed
2019-01-22 16:11:46 +01:00
Robin Appelman f69c2d1e84
cleanup shared lock if changing to exclusive lock failed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-22 15:32:48 +01:00
Joas Schilling f8b74cf0a5
Allow resources via OCS as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-22 14:18:58 +01:00
Daniel Calviño Sánchez 374b02c7bc Add acceptance tests for copying files to the same folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-22 12:51:53 +01:00
Daniel Calviño Sánchez 42457c8b23 Add acceptance tests for moving and copying selections to another folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-22 12:36:13 +01:00
Daniel Calviño Sánchez 4fcabf167e Add acceptance tests for moving and copying files to another folder
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-01-22 12:27:06 +01:00
Roeland Jago Douma 66367797df
Fix template paramter
Else we get shown an error page instead of the correct 403.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-18 15:30:38 +01:00
Roeland Jago Douma f42115d6bb
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-15 15:53:44 +01:00
Morris Jobke 5a27e54f4b
Merge pull request #13032 from nextcloud/objectstore-write-exists
upload new files in objectstore to a .part path first
2019-01-14 11:26:29 +01:00
Michael Weimann 2cd3fd3dc2
Move server info to theming section
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-01-14 00:08:26 +01:00
Michael Weimann 813ff430f1
Implement storing and loading the server info
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2019-01-14 00:08:24 +01:00
Robin Appelman 615fb8cd77
Cache tokens when using swift's v2 authentication
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-13 19:59:48 +01:00
Christoph Wurst 01a6181d9f
Don't load old vendor files during jsunit tests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-01-09 15:02:00 +01:00
Roeland Jago Douma ad676c0102
Set default frame-ancestors to 'self'
For #13042

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-08 15:36:40 +01:00
Roeland Jago Douma 64244e1a4f
CSP: Allow fonts to be provided in data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-07 15:07:06 +01:00
Roeland Jago Douma 8b0f5e02c7
Merge pull request #12621 from nextcloud/td/12224/cleanup_middleware_registering
Cleanup middleware registering
2019-01-07 10:48:41 +01:00
Roeland Jago Douma fe3d8ffc90
Merge pull request #13172 from nextcloud/fix-can-change-password-check
fix can change password check in case of encryption is enabled
2019-01-04 09:53:10 +01:00
Roeland Jago Douma 2d22633568
Merge pull request #13313 from nextcloud/feature/remove-outdated-caches
Remove check for outdated caches
2019-01-04 09:18:31 +01:00
blizzz 68952306aa
Merge pull request #10555 from nextcloud/bugfix/10518/only-check-added-items
Only enforce schema limits for supported apps
2019-01-03 14:18:13 +01:00
Roeland Jago Douma 54ff913de6
Cleanup middleware registering
Fixes #12224

Since we only use the middleware at 1 location it makes no sense to
register them in each and every container.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-01-03 11:50:01 +01:00
Thomas Citharel c9b588774b
Allow bracket IPv6 address format inside IPAdress Normalizer
When run with php's build-in server (for instance on localhost:8080), IP provided through $this->server['REMOTE_ADDR'] is [::1], which is not an acceptable format for \inet_pton. This removes the brackets if there's any.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-01-03 10:03:46 +01:00
Daniel Kesselberg 248e824f48
Remove check for outdated caches
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-01-02 10:46:14 +01:00
Daniel Calviño Sánchez 4566670fa3 Add acceptance tests for opening search results for comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-21 20:14:38 +01:00
Daniel Calviño Sánchez 1a887aaad0 Add acceptance tests for searching comments
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-21 20:14:16 +01:00
Roeland Jago Douma 03fe2b3b81
Use a case insensitive search for email
Fixes #7084
Now entering wrongly cased email (roeland@ instead of Roeland@) for
password reset etc. Will also work.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-20 14:19:35 +01:00
Bjoern Schiessle 4b3308bf3f
fix can change password check in case of encryption is enabled
Admin should _not_ be able to change password when:
- if an encryption module is loaded and it uses per-user keys
- if encryption is enabled but no encryption modules are loaded

Admin should be able to change the password when:
- no encryption module is loaded and encryption is disabled
- encryption module is loaded but it doesn't require per user keys

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-12-20 12:28:40 +01:00
Roeland Jago Douma a0ce0824bd
Merge pull request #13116 from nextcloud/fix/only_trust_xforwardedhost_for_trusted_proxies
Only trust the X-FORWARDED-HOST header for trusted proxies
2018-12-19 09:47:44 +01:00
John Molakvoæ 6f994be665
Merge pull request #12766 from stalker314314/streaming-options
Expose Swift Mailer streaming options in config, fixes #12702
2018-12-18 07:53:45 +01:00
Branko Kokanovic 7cef9b0248 Addressing comments, array() to []
Signed-off-by: Branko Kokanovic <branko@kokanovic.org>
2018-12-17 23:34:55 +01:00
Roeland Jago Douma 514426e27d
Only trust the X-FORWARDED-HOST header for trusted proxies
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-17 15:54:45 +01:00
Joas Schilling 6788e6e75c
Merge pull request #12883 from nextcloud/appdata-performance
try to grab the appdata folder directly without going trough the whole tree
2018-12-17 15:11:28 +01:00
Joas Schilling 85a0e10b4f
Update the tests to the comparison logic
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-17 13:52:09 +01:00
Robin Appelman d6bf5d4384
upload new files in objectstore to a .part path first
This prevent the object store and cache from getting out of sync
when an objectstore silently fails or the php process get's killed
during the upload without giving us the chance to cleanup

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 15:24:40 +01:00
Robin Appelman 6c9f2644cf
Add objectExists to objectstore interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 14:17:19 +01:00
Roeland Jago Douma 372f3d2a60
Remove deprecated functions from SecureRandom
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-07 19:33:32 +01:00
Roeland Jago Douma cfcce69272
Merge pull request #12897 from nextcloud/fix-unread-comment-icon-not-shown-for-the-sharee
Fix unread comment icon not shown for the sharee
2018-12-07 15:07:23 +01:00
Roeland Jago Douma 2bbfeea659
Merge pull request #12891 from nextcloud/theming-caching
more caching for theming
2018-12-07 10:09:31 +01:00
Robin Appelman 2051943487
more caching for theming
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-07 01:27:49 +01:00
Daniel Calviño Sánchez 6cee8ba827 Add acceptance tests for comments on shared files and folders
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-12-06 18:31:42 +01:00
Robin Appelman 036475fc91
use a fresh appdata factory in background job test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-06 16:53:13 +01:00
Robin Appelman 740ea0d30e
try to grab the appdata folder directly without going trough the whole tree
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-06 15:10:08 +01:00
Morris Jobke e808661ca2
Merge pull request #12854 from nextcloud/vcard-repair-uid-fix
Log and continue on Dav reader failure (repair uid)
2018-12-05 22:54:10 +01:00
John Molakvoæ (skjnldsv) 2be63bcb6a
Log and continue on Dav reader failure
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-12-05 21:13:57 +01:00
Morris Jobke fe5813783b
Merge pull request #12824 from nextcloud/feature/12763/add-setup-check-for-bigint-conversion
Add setup check for pending bigint conversion
2018-12-05 18:52:56 +01:00
Morris Jobke 17b2827bbf
Add setup check for pending bigint conversion
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 13:42:31 +01:00
Joas Schilling ee545d6840
Fix typo in "incoming"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-05 11:27:38 +01:00
Morris Jobke 5b22225351
Update casing of PHP inside method name
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 00:03:05 +01:00
Morris Jobke f5ad80fc57
Add setup check for recommended PHP modules (i.e. Imagick, intl)
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-12-05 00:03:05 +01:00
Branko Kokanovic 72d97b44a7 Expose Swift Mailer streaming options in config, fixes #12702
Signed-off-by: Branko Kokanovic <branko@kokanovic.org>
2018-11-30 22:36:03 +01:00
Morris Jobke 331f3b2652
Merge pull request #12691 from nextcloud/storage-no-encryption-interface
Add interface to allow storages from opting out of encryption
2018-11-29 22:02:23 +01:00
Morris Jobke ee2cb46cdc
Merge pull request #12424 from nextcloud/feature/add-pipe-mode-for-sendmail
Add pipe mode for sendmail
2018-11-29 17:43:03 +01:00
Robin Appelman 67a46b5aa9
update encryption wrapper tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-29 16:34:49 +01:00
Daniel Kesselberg 4a2c56b714
Add testcases for pipe mode
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-11-29 16:02:37 +01:00
John Molakvoæ 9f64149a38
Merge pull request #12710 from nextcloud/remove-old-submit-button
Remove old button to submit the apppassword login
2018-11-29 11:15:35 +01:00
John Molakvoæ (skjnldsv) 6734e87171
Fix tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-11-29 10:39:01 +01:00