Commit graph

1214 commits

Author SHA1 Message Date
Côme Chilliet
5b9966feba
fix(occ): Use the const instead of hardcoded string for --debug-log option
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-07-08 16:09:39 +02:00
Côme Chilliet
9baf8fea8c
fix(occ): Move debug log listener setup to a static method, add option for level
Also changed option from --debug to --debug-log to avoid conflicts

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-07-02 16:02:44 +02:00
Côme Chilliet
2ba0819243
feat(occ): Add a --debug option to output all log levels to the output
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-07-02 15:03:18 +02:00
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Daniel Kesselberg
fedc80d4ea
chore: remove unnecessary ini_set
Changing gc_maxlifetime cannot have any effect because this configuration option does not exist. There is a configuration option named session.gc_maxlifetime.

I removed the ini_set call because autoconfiguring is error-prone, and the current code could never have worked as intended.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-04-30 12:45:25 +02:00
Côme Chilliet
b7acecd006
fix: Fix default values for ini var in lib/base.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:59 +02:00
Côme Chilliet
f2c36a55fe
fix: Remove unused endpoint from base.php
It’s not called anymore, and app loading cannot break boot anymore

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-03-06 00:05:15 +01:00
MichaIng
7b137ddd75 feat(updater): hide overwrites from disabled apps list on upgrade
If an incompatible app is enabled manually, it is added to the "app_install_overwrite" array in config.php. Nextcloud upgrades won't disable any app in this array, but they were still shown on the upgrade page and logs as being disabled.

This commit assures that only apps which are really disabled, i.e. which are not in the "app_install_overwrite" array, are shown and logged as disabled during upgrades.

Signed-off-by: MichaIng <micha@dietpi.com>
2024-02-27 20:19:56 +01:00
Côme Chilliet
ccc66e912b
fix: Use DI for Setup class and move away from deprecated methods
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-29 15:28:00 +01:00
John Molakvoæ
3214324b72
fix(l10n): invalid translation of a number
fix https://github.com/nextcloud/server/issues/35252

Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-10-21 11:48:46 +02:00
Joas Schilling
7998afe8b3
Talk federation authentication
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-09 15:44:56 +02:00
Côme Chilliet
f68d4f7300
Remove deprecated methods Util::writeLog and DIContainer::log
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-25 10:37:12 +02:00
Arthur Schiwon
603a659a37
fix(autoloader): no apcu no side effects
apcu lead to side effects especially with app management and (soft)
inter-dependencies, and lead also to 500 server errors. While we could
add management to clear apcu cache in many cases (may stil leave edge
cases) the performance benefit is marginally as also class maps are
already cached in opcache. Hence, the simple and effective way to go is
to not use apcu for autoloading.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-09-08 16:55:39 +02:00
Alexander Piskun
01a11641f4 new name of AppEcosystem is AppAPI
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-09-06 16:53:53 +03:00
Joas Schilling
25309bcb45
techdebt(DI): Use public IThrottler interface which exists since Nextcloud 25
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-28 15:50:45 +02:00
Andrey Borysenko
f7b2dc8ccc
Merge branch 'master' into appecosystem-auth 2023-08-10 17:21:35 +03:00
Andrey Borysenko
d3583d3f30
Fix psalm ci (stub). Wrap server container with try-catch
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2023-08-02 17:40:58 +03:00
Alexander Piskun
ca76ab98bd added Application Ecosystem V2 login handler
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
2023-08-01 14:50:59 +03:00
Joas Schilling
0c5d0c2127
fix: Migrate collaboration listener and remove legacy adapter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-28 14:11:21 +02:00
Joas Schilling
2014e7b836
fix(apps): Fix loading info.xml file
Ref: https://bugs.php.net/bug.php?id=62577

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-20 10:40:09 +02:00
Simon L
918859cafd allow to specify upgrade.cli-upgrade-link in order to link to the correct documentation
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-06-10 10:05:36 +02:00
Simon L
d293293cda Fixed bug which 'overwritewebroot' does not work with 'overwritecondaddr'.
Signed-off-by: Takahiro Nagai <78393959+takahiro-blab@users.noreply.github.com>
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-16 11:39:39 +02:00
Simon L
84b88c01c7 adjust wording
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-09 11:19:48 +02:00
Simon L
6e5a307757 adjust wording for update hint when files of a specific app are not there
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-05-09 10:56:02 +02:00
Arthur Schiwon
bb4b34ff69 Read mtime of version.php only once
- in most cases it would read again in \OC_Util::loadVersion anyway
- remove some unused use statements

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-04-21 14:10:47 +00:00
Arthur Schiwon
7519949f37 add the server roots and version info hash to apcu prefix
fixes collissions when more than one instance is running on the same
system

For the memcaches we use a more complex prefix, where version and
instance ID are incorporated. We do not have this data at hand at this
point of time. But we can get the mtime of the version.php file
relatively cheap.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-04-21 14:10:46 +00:00
Côme Chilliet
b294edad80
Merge branch 'master' into enh/type-iconfig-getter-calls
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2023-04-20 16:52:38 +02:00
Christoph Wurst
a06898a2d0 fix(security)!: Use consistent HTTP status for strict cookie checks
Before: 503/412
Now: 412 + json body explaining the error

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-04-17 16:06:37 +00:00
Maxence Lange
fc29b0d1b7 app type extended_authentication
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-04-12 09:34:49 -01:00
Côme Chilliet
426c0341ff
Use typed version of IConfig::getSystemValue as much as possible
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-05 12:50:08 +02:00
Julius Härtl
c3a39cbc75
Merge pull request #37305 from nextcloud/fix/security/log-failing-strict-cookie-check
fix(security): Log failing strict cookie check
2023-03-21 19:05:39 +01:00
Joas Schilling
705165d3d1
fix(session): Fix DAVx5 sync problems by partial reverting session changes
Temporary disabled the short cut again to solve issues with CalDAV/CardDAV
clients like DAVx5 that use cookies and need a session. See
https://github.com/nextcloud/server/issues/37277#issuecomment-1476366147
and the other comments for further information.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-20 16:30:42 +01:00
Christoph Wurst
0e6fccf9e1
fix(security): Log failing strict cookie check
The error is silent otherwise and makes it very hard to debug on a
production system.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-03-20 16:26:41 +01:00
Julius Härtl
bbc6eee803
fix: Avoid log spam on 404 routes not using GET
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-03 09:40:43 +01:00
Joas Schilling
98ed72b3ed
Revert "fix(performance): Do not set up filesystem on every call" 2023-02-21 07:36:43 +01:00
Anna Larch
5d4efb4d5f
Do not set up filesystem on every call
Also remove old Oc_FileChunking logis that produced GC- collectable chunks

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-17 19:18:37 +01:00
Julien Veyssier
6431c5a559
extend the reference API for the new link picker
- add 2 interfaces for discoverable and searchable reference providers
- new OCS route to get info on discoverable/searchable reference providers
- new abstract ADiscoverableReferenceProvider that only implements jsonSerialize
- listen to RenderReferenceEvent to inject provider list with initial state

Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:55 +01:00
Julius Härtl
842f4d530f
fix(session): Always setup the session if a session cookie is passed
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-22 11:33:23 +01:00
Julius Härtl
6abb37317f
Do not setup a session when not required on WebDAV requests
If basic auth is used on WebDAV endpoints, we will not setup a session
by default but instead set a test cookie. Clients which handle session
cookies properly will send back the cookie then on the second request
and a session will be initialized which can be resued for
authentication.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-21 21:17:16 +01:00
Côme Chilliet
a529aa79d8 Strong type singletons from lib/base.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:41 +00:00
Côme Chilliet
e1d324f7eb Migrate lib/base.php to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:40 +00:00
Côme Chilliet
26d75add8f Put back cast to string now that timelimit is an int
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:40 +00:00
Côme Chilliet
7372da6c6d Fixing more psalm errors from lib/base.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:40 +00:00
Côme Chilliet
444811b0fe Use Server::get some more
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:40 +00:00
Côme Chilliet
cf508c1e47 Use strict typing in base.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:40 +00:00
Julius Härtl
be4c061b75
Set apcu prefix for composer
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-07 22:32:06 +01:00
Christoph Wurst
052dcdebe8
Refactor the ErrorHandler into a dynamic class
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-11-02 09:49:37 +01:00
Julius Härtl
11bedf1c3b
Use proper error pages instead of always redirecting
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-21 15:12:21 +02:00
Simon L
f97f13b136
Merge pull request #33737 from andyxheli/patch-4
Makes untrusted domain error on info
2022-10-01 18:06:44 +02:00
Arthur Schiwon
9b7ef2962e
remove listeners to OC_Filesystem::(write|rename) old style hooks
- the events are not emitted anymore
- OC_Filesystem::isBlacklisted() is not called from anywhere else

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-09-26 21:07:08 +02:00
Julius Härtl
80f6a5834a
Refactor cache handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:24:35 +02:00
Andy Xheli
12c8123873
Makes untrusted domain error on info
Signed-off-by: Andy Xheli <axheli@axtsolutions.com>

Since e6d9ef2e38 was applied logs get filled up with Trusted domain error. "X.X.X.X tried to access using "X.X.X.X" as host alot of users missed important errors do toe6d9ef2e38   please see https://github.com/nextcloud/server/issues/32599

This should fix. 
https://github.com/nextcloud/server/issues/32599#event-7281164903


Signed-off-by: Andy Xheli <axheli@axtsolutions.com>
2022-08-29 13:27:12 -05:00
Julius Härtl
1b43fbe06c
Move setting of gc_maxlifetime to initSession
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-17 12:10:27 +02:00
Julius Härtl
9e1d431255
Add config option to disable strict session timeout to be able to use read_and_close
Fixed https://github.com/nextcloud/server/issues/29356

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-17 12:10:27 +02:00
Julius Härtl
9b4b72826a
Reopen sessions if we need to write to them instead of keeping them open
Sessions are a locking operation until we write close them, so close
them early and reopen later in case we want to write to them

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-17 12:10:26 +02:00
Christoph Wurst
d17e0699f3
Merge pull request #33173 from nextcloud/enhancement/maintenance-mode-http-header
Set special header for 503 maintenance mode
2022-08-10 09:16:02 +02:00
Christoph Wurst
0ed987a8dd
Set special header for 503 maintenance mode
This removes ambiguity with a 503 returned by app code, web server or
similar. Front-end and clients can then handle this state accordingly.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-08-08 14:26:11 +02:00
Christoph Wurst
a1149b0378
Do not redirect if requested CSS can not be found
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-08-08 14:09:58 +02:00
Christoph Wurst
222a9523b5
Fix 404 handling of requested JSON/XML
If front-end or an application requests JSON/XML, there is no point in
redirecting to the default page if that response doesn't exist. In the
worst case that would just cause another request, therefore server load,
traffic and a response that is meaningless to the requester.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-07-08 19:14:05 +02:00
Joas Schilling
8e59d49701
Merge pull request #32435 from nextcloud/revert-32278-remove-default-php
Revert "Remove call to already default php.ini values"
2022-06-03 14:16:24 +02:00
Carl Schwan
e4378fd18c
Merge pull request #32349 from nextcloud/enh/projects-event
Add event to load additional scripts for projects
2022-05-27 18:36:40 +02:00
Robin Appelman
83f831c263
Merge pull request #32427 from nextcloud/boot-event-ordering
reorder startup events to fix overlapping
2022-05-17 11:55:00 +00:00
Louis
8ed92ad4f7
Merge pull request #32216 from SUNET/master
Respect user settings in php.ini if they are big enough
2022-05-17 10:14:56 +02:00
Joas Schilling
a6ca9d592d
Revert "Remove call to already default php.ini values" 2022-05-16 15:54:18 +02:00
Robin Appelman
a67bf03ac0
reorder startup events to fix overlapping
current the `request` and `runtime` events overlap with the `init` event which makes it hard to create usefull visualizations.

this reorders things a bit to remove an overlap

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-05-16 13:26:38 +02:00
Micke Nordin
0ace1831f4
Fix suggestions by @artonage
Signed-off-by: Micke Nordin <kano@sunet.se>
2022-05-16 10:15:45 +02:00
Julius Härtl
d3acf8203d
Properly import maintenance script
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-16 09:28:15 +02:00
Julius Härtl
9a6869943e
Introduce event for loading additional script on projects
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-12 10:50:13 +02:00
Git'Fellow
f110ff9f4d
Remove default values
These values are already the default on supported PHP versions.
I suggest to remove these calls.
2022-05-05 13:46:09 +02:00
Mikael Nordin
30fe91a77f
Simpler version as proposed by @artonage
Co-authored-by: Louis <6653109+artonge@users.noreply.github.com>
Signed-off-by: Micke Nordin <kano@sunet.se>
2022-04-30 16:41:35 +02:00
Micke Nordin
259664468a
Respect user settings in php.ini if they are big enough
In the admin guide:
* https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html

it is mentioned that you can tweek:
* max_input_time
* max_execution_time

in order to enable larger file uploads. However, the current codebase
will hard code these values to one hour, no matter what the user sets in
php.ini.

This patch will allow the user to set these settings in php.ini and they
will be respected, if and only if, they are set to something bigger than
3600 seconds.

Signed-off-by: Micke Nordin <kano@sunet.se>
2022-04-29 14:50:57 +02:00
Carl Schwan
7d272c54d0 Add a built-in profiler inside Nextcloud
The webui is provided by a seperate application named profiler

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-04 10:28:26 +02:00
Joas Schilling
0acd4b5f82
Merge pull request #31235 from nextcloud/techdebt/noid/extract-request-id
Extract request id handling to dedicated class so it can be injected without DB dependency
2022-03-22 12:08:45 +01:00
Julius Härtl
2ff0c972c9
Merge pull request #31124 from nextcloud/enh/diagnostics-logging
Diagnostics event logging to log
2022-03-02 12:00:44 +01:00
Julius Härtl
eede608c0e
Add event logging to app loading
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-02-28 11:24:41 +01:00
Côme Chilliet
63d7e7c798
Build OC\Core\Application when running occ or cron to register listeners correctly
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-02-28 10:31:52 +01:00
Joas Schilling
07a9f34385
Extract request id handling to dedicated class so it can be injected manually
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-23 11:01:58 +01:00
Pierre Ozoux
e6d9ef2e38 Makes untrusted domain error a warning.
It sends a 400 to the client, so I could even argue that it should be an error.

But currently as an admin, I'm quiet surprised that I get a 400 in the UI, and nothing in the log with the default level.

I saw this commit that explains the reason why info. But I disagree.

Feel free to close the PR if you don't agree with it.

Signed-off-by: Pierre Ozoux <pierre@ozoux.net>
2022-01-25 10:33:31 +01:00
Louis Chemineau
b46ff973e0 Use less deprecated methods in base.php
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-19 11:07:12 +01:00
Joas Schilling
c8bfd8a559
Load core before the update script
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-18 14:55:13 +01:00
John Molakvoæ (skjnldsv)
b664aad7ab
Move bundles to /dist
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2022-01-08 10:11:58 +01:00
Valdnet
03889d1297
l10n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-12-15 17:27:26 +01:00
Joas Schilling
03936d7762
Fix basic auth for OAuth token endpoint
Don't try to login when a client is trying to get a OAuth token.
OAuth needs to support basic auth too, so the login is not valid
inside Nextcloud and the Login exception would ruin it.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-19 13:03:23 +02:00
Daniel Rudolf
4d7430949a
Remove usage of \OC_Util::getDefaultPageUrl() and \OC_Util::redirectToDefaultPage()
Signed-off-by: Daniel Rudolf <github.com@daniel-rudolf.de>
2021-08-04 19:02:57 +02:00
Gary Kim
b78f3a57d1
Migrate HintException to OCP
Signed-off-by: Gary Kim <gary@garykim.dev>
2021-06-30 15:28:02 -04:00
Arthur Schiwon
638c04d6e0
accounts event handler to use eventdispatcher, DI and Accounts API
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-30 00:41:11 +02:00
Joas Schilling
cebfe4ba0e
Merge pull request #27190 from nextcloud/bugfix/noid/deduplicate-translation
Deduplicate translations and fix double .
2021-06-16 16:50:19 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Joas Schilling
b4b2947248
Deduplicate translations and fix double .
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-04 09:47:17 +02:00
Christoph Wurst
6a5d89c1ac
Merge pull request #26758 from J0WI/more-strict
Some more strict_types
2021-04-28 09:28:19 +02:00
Joas Schilling
167efa19d7
Fix psalm errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-27 14:34:32 +02:00
J0WI
a369933084 Fix ini_set() type
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2021-04-26 12:44:05 +02:00
Joas Schilling
f35d7adf7d
Don't hardcode the product name to Nextcloud but use the theming value
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-22 16:32:35 +01:00
Roeland Jago Douma
d4d33e3095
Merge pull request #25238 from nextcloud/enh/noid/apps-defacto-in-root
Apps folder is defacto in root folder and not above
2021-01-21 09:08:54 +01:00
Morris Jobke
d84e1f1951
Re-use fetched dependencies in lib/base.php
Reduces calls to DI container by reusing already fetched dependencies.

For status.php it went from 355 to 344.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-20 21:55:16 +01:00
Morris Jobke
5b0e69828f
Apps folder is defacto in root folder and not above
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-20 21:22:39 +01:00
Roeland Jago Douma
d13f2d984f
Merge pull request #25015 from nextcloud/fix/no-double-intl-polyfill
Replace patchwork/utf8 with symfony-polyfill-*
2021-01-08 08:25:31 +01:00
Christoph Wurst
287c26bda3
Replace patchwork/utf8 with symfony-polyfill-*
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-07 21:22:41 +01:00
Carlos Ferreira
bc1b5d7892
Remove useless ini_set functions 2021-01-07 15:24:49 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00