Commit graph

1201 commits

Author SHA1 Message Date
Samuel Bizien Filippi
a14cade3ac feat(core): add cookie_domain config option
Signed-off-by: Samuel Bizien Filippi <samuel.bizien-filippi@finances.gouv.fr>
2025-06-16 15:33:48 +02:00
Côme Chilliet
78ff8e233f
fix: Switch lazy object to enabled by default on PHP 8.4
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:51:24 +02:00
Côme Chilliet
2eed6d3a89
feat: Add a configuration toggle for lazy objects in DI
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:51:24 +02:00
Ferdinand Thiessen
4cd026ad43
Merge pull request #53157 from nextcloud/chore/refactor-core
refactor(core): migrate core application to `IBootstrap`
2025-06-02 16:51:49 +02:00
Ferdinand Thiessen
c21e189850
fix: make core application bootstrapable by coordinator
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-02 15:58:54 +02:00
Côme Chilliet
7c251e4f96
fix: Remove useless legacy autoloader
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-27 18:06:28 +02:00
Côme Chilliet
9560e00cf3 chore: Remove useless legacy autoloader for tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-27 16:15:58 +02:00
Louis
a48bc55e2a
Merge pull request #52810 from nextcloud/artonge/feat/do_not_require_samesite_strict_cookie_on_public.php 2025-05-22 10:30:16 +02:00
Louis Chemineau
009d0c550c
fix: Move CSRF check from base to PublicAuth for public.php
This currently prevent directly accessing a ressource when clicking on a link on a third party site. Example, clicking on `https://example.com/public.php/dav/files/pqLWcA269zfzXez/?accept=zip` in a GitHub comment.

Skipping the check is an issue with password protected shares, as it allows third party sites to request the ressource when the user already entered the password, aka CSRF.  So after removing the check from `base.php`, we need to add the it again in the `PublicAuth` plugin.

We also add a redirect to be helpful to the user.

**Warning**: this adds the limitation that clicking on a direct download link for password protected shares will redirect you to the password form, and then to the main share view.

Fix #52482

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-05-21 16:01:36 +02:00
Ferdinand Thiessen
22889d4f1d
chore: deprecate OC_Helper::isReadOnlyConfigEnabled
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-17 13:18:49 +02:00
Côme Chilliet
baae99eaad
Merge pull request #52667 from nextcloud/fix/improve-init-profiling
Improve init profiling
2025-05-14 22:57:55 +02:00
Côme Chilliet
536ccf144c feat(encryption): Migrate from hooks to events
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +02:00
Côme Chilliet
20c6d1a7e9
feat: Improve init a bit, and add more profiling steps
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 16:08:49 +02:00
Julius Knorr
3fc9a99521 perf: Add config options to trigger individual and sample profiling using excimer
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-22 08:57:02 +02:00
Côme Chilliet
0cf4f3cc71
fix: Replace all usages of OC_User backend method calls by IUserManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-10 11:29:21 +02:00
Côme Chilliet
b2100484c0 fix: Remove some call and references to deprecated OC_Util class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:05:54 +02:00
Côme Chilliet
eb597917f6
Merge pull request #51029 from nextcloud/fix/deprecate-oc-template-and-cleanup
fix: Deprecate OC_Template, add proper template manager instead
2025-03-10 16:20:45 +01:00
Joas Schilling
34bcc53fb9
fix(base.php): Correct order for booting \OC\Server
A recent change had broken authentication with an older
FastCGI Apache2 module, because the IRequest object got
initialised before the fix from self::handleAuthHeaders()
copied the authentication headers into the correct $_SERVER
variables.
Since this part is completely independent from any Nextcloud
code it is now done as a first thing within the init() call.

Additionally similar issues could happen when another class
would boot too early and read other global PHP settings like
ini values and default timezone, so those are now also moved
to the beginning.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-03-10 06:59:49 +01:00
Côme Chilliet
f033ef7c18 fix: Migrate all uses of OCP\Template to OCP\Template\ITemplateManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-06 15:49:25 +01:00
Côme Chilliet
71dc34c03c fix: Deprecate OC_Template, add proper template manager instead
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-06 15:49:25 +01:00
Stephan Orbaugh
3bc3d03048
Merge pull request #51000 from nextcloud/fix/federatedfilesharing/group-cleanup
fix(FederatedShareProvider): Delete external shares when groups are deleted or users removed from a group
2025-03-03 16:29:10 +01:00
provokateurin
dd47daa4a8
fix(Share20): Convert broken hooks to IEventListener
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-03-03 12:49:01 +01:00
DaleBCooper
e1e0b68feb Fix A+ rating when checking with Nextcloud Security Scan.
Due to commit 33d7019 session.cookie_secure=true is not set when accessing /status.php.
This results in a degration from A+ to A rating due to missing  __Host prefix for nc_sameSiteCookielax and nc_sameSiteCookiestrict cookies.
2025-03-02 11:33:13 +00:00
Côme Chilliet
34139987d6 fix: Replace OC_App calls by IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-24 17:48:34 +01:00
Julius Knorr
8c69bf1219
Merge pull request #48738 from nextcloud/perf/log-high-memory-requests
perf: Log requests using high amount of memory as warning
2025-02-13 19:50:32 +01:00
Julius Knorr
d31bc88a23
perf: Log requests using high amount of memory as warning
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-13 13:43:10 +01:00
Côme Chilliet
a3685551f7
fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
Côme Chilliet
b45bc2a462
fix: Use the new countUsersTotal method where it makes sense
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-01-14 12:38:02 +01:00
Git'Fellow
33d7019f58 fix(status): Avoid session creation for status requests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-11-21 15:00:24 +01:00
Ferdinand Thiessen
0cd626a059
fix: Do not check for strict cookie when running webcron
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-11-07 16:34:10 +01:00
Julius Knorr
606241caeb
chore(legacy): Introduce public version ct plass and drop version methods from OC_Util
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-20 14:53:34 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Ferdinand Thiessen
9e979d42b4
fix(setup-checks): Ensure URL with webroot works
We basically mock the way `URLGenerator::getAbsoluteURL` works,
so we must make sure that the URL might already contain the webroot.
Because `baseURL` and `cliURL` also contain the webroot we need to remove
the webroot from the URL first.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Daniel <mail@danielkesselberg.de>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-09-13 13:06:24 +02:00
Maxence Lange
9100b8757e fix(setup): ignore long session login during installation
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-08-27 12:29:42 -01:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Josh Richards
8032b6ac63 (base) Give a hint in web interface if SimpleXML (php-xml) is missing
Fixes #2180
And prevents #31473, #23970, #18610, #15708

Avoids a 500 error and also gives a useful error message on the web interface if this module isn't installed, gets overlooked during a PHP upgrade, etc.

While we check for it later, it's too late for session.

Inspired by #17163

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-08-16 11:06:21 +02:00
Christoph Wurst
2b38d6ae7e
fix(session): Log when session_* calls are slow
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-08-07 09:02:10 +02:00
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