Commit graph

287 commits

Author SHA1 Message Date
Louis Chemineau
34a93a0e12 I dug into it again, and the issue is much simpler than I previously though.
- LDAP has an email address with capital letters
- NC store this address in lower case
- When the user logs in, we compare the [stored email with the new lower case email](https://github.com/nextcloud/server/blob/master/lib/private/AllConfig.php#L259-L261) before storing it. Here, both email will be the same, so we won't store the new email address with upper case letters. Which is what we want.
- We then [compare emails as they are before triggering an event](https://github.com/nextcloud/server/blob/master/lib/private/User/User.php#L202-L204), they won't match, so the user will receive an email signaling an email change every time he logs in.

The fix is to compare the old email with the new lower case email before sending the event.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-01-02 15:30:15 +00:00
Christoph Wurst
05a22831e1 Fix unsuccessful token login logged as error
The condition of a non-existent login token can happen for concurrent
requests. Admins can not do anything about this. So this is to be
expected to happen occasionally. This event is only bad if none of the
requests is able to re-acquire a session. Luckily this happens rarely.

If a login loop persists an admin can still lower the log level to find
this info. But a default error log level will no longer write those
infos about the failed cookie login of one request.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-11-07 17:52:13 +00:00
Côme Chilliet
fa5b0f307d
Fix return types of createUser method
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-10-25 12:20:08 +02:00
Côme Chilliet
51b295fad3
Fix createUser return type in docblock to match code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-10-24 10:20:17 +02:00
Arthur Schiwon
6b220fffb7
LDAP to no register new users when outside of fair use or over limits
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-10-24 10:05:31 +02:00
blizzz
20cd49c842
Merge pull request #34111 from nextcloud/backport/34073/stable24
[stable24] dont try email login if the provider username is not a valid email
2022-09-27 08:50:47 +02:00
Robin Appelman
fbebc4bfe7 dont try email login if the provider username is not a valid email
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-09-16 13:27:10 +00:00
blizzz
c5bf31cd24
Revert "[stable24] Compare lowercase email when updating from ldap" 2022-09-07 12:26:16 +02:00
Louis Chemineau
7ea5b39e89 I dug into it again, and the issue is much simpler than I previously though.
- LDAP has an email address with capital letters
- NC store this address in lower case
- When the user logs in, we compare the [stored email with the new lower case email](https://github.com/nextcloud/server/blob/master/lib/private/AllConfig.php#L259-L261) before storing it. Here, both email will be the same, so we won't store the new email address with upper case letters. Which is what we want.
- We then [compare emails as they are before triggering an event](https://github.com/nextcloud/server/blob/master/lib/private/User/User.php#L202-L204), they won't match, so the user will receive an email signaling an email change every time he logs in.

The fix is to compare the old email with the new lower case email before sending the event.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-09-06 15:19:52 +00:00
Christoph Wurst
c39135a294 Log if cookie login failed with token mismatch or session unavailability
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-09-01 07:35:20 +00:00
Christopher Ng
51e20dd6c5 Do not save invalid display name to the database
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-07-06 20:54:17 +00:00
Robin Appelman
79672ed6d6 Use a lazy user for the file owner when listing a directory
Only getUID and getDisplayName are called on the file owner objects anyway
and we can get this information often without DB request

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-25 14:59:29 +02:00
Robin Appelman
6ca689aff8
cache display names in local memory before external memcache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-22 15:22:16 +02:00
Carl Schwan
40ac4e8197
Update cache when display name change
This improve the correctness of the data

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-22 15:22:16 +02:00
Carl Schwan
3d49fe473a
Cache display name
This should saves some query in the share backend when displaying the
owner and it's not important if the display name is 10 minutes outdated
as it is very rare that this gets changed.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-22 15:22:16 +02:00
Côme Chilliet
6be7aa112f
Migrate from ILogger to LoggerInterface in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Joas Schilling
18bafefb00
Merge pull request #31218 from nextcloud/techdebt/noid/use-cache-also-for-userbackend-getpassword
Use the cache also for UserBackend::getPassword
2022-03-02 11:41:32 +01:00
Joas Schilling
b90e657ac7
Delay loading user preferences until we need them
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-28 13:49:12 +01:00
Joas Schilling
86de1d569f
Only setupFS when we have to copy the skeleton
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-25 15:55:06 +01:00
Joas Schilling
25caf4a42c
Update cache when setting the password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-18 09:47:18 +01:00
Joas Schilling
23ef02fbe2
Use the cache also for UserBackend::getPassword
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-16 18:00:47 +01:00
Marek-Wojtowicz
f76a915096 Update Session.php
The http headers according to rfc 2616 is iso-8859-1. This patch fixes the behavior when non-ascii characters are present in the header.

Signed-off-by: Marek Wójtowicz <Marek.Wojtowicz@agh.edu.pl>
2022-01-12 23:07:28 +01:00
Joas Schilling
78e90b69ba
Don't check the configvalue for lastLogin which is never null
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-10 16:26:13 +01:00
Joas Schilling
c0ba89ecc9
Remove default token which is deprecated since Nextcloud 13
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-01 18:41:31 +01:00
Côme Chilliet
008b79d808
Fix type errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:28:58 +01:00
Joas Schilling
ccfaddf781
Fix missing token update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-12 14:43:23 +01:00
Joas Schilling
b578a1e8b5
Fair use of push notifications
We want to keep offering our push notification service for free, but large
users overload our infrastructure. For this reason we have to rate-limit the
use of push notifications. If you need this feature, consider setting up your
own push server or using Nextcloud Enterprise.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-23 00:54:50 +02:00
Joas Schilling
1b8ebf2cf1
Use cached user backend info for password login
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-09-14 08:40:19 +02:00
Arthur Schiwon
4461b9e870
enable the user to set a primary (notification) email address (backend)
- specific getters and setters on IUser and implementation
- new notify_email field in provisioning API

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 19:23:04 +02:00
Julius Härtl
95987d903d
Merge pull request #28481 from nextcloud/fix/hash-key
Hash cache key
2021-08-18 15:18:58 +02:00
Christopher Ng
60ecc432a4 Hash cache key
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2021-08-17 21:55:01 +00:00
Christoph Wurst
a143337791
Emit an error log when the app token login name does not match
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-13 10:31:51 +02:00
Julien Veyssier
416d10f76c refs #21045 add app config to disable unlimited quota and to set max quota
avoid unlimited quota as default_quota fallback value if unlimited quota is not allowed
avoid getting/setting/displaying unlimited default quota if not allowed
implement tests for unlimited quota restrictions

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-07-29 19:31:36 +00:00
Julius Härtl
f43c2b45d8
Directly return cloud id from user
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-07-14 09:52:15 +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
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
John Molakvoæ
d0cf20cc51
Merge pull request #26792 from nextcloud/user-delete-cleanup-files
better cleanup of user files on user deletion
2021-06-02 17:02:00 +02:00
Robin Appelman
ed2d02d5f1
better cleanup of user files on user deletion
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-04-27 20:29:51 +02:00
Joas Schilling
521bb30541
Throw "401 Unauthenticated" when authentication is provided but invalid
E.g. with an AppToken that has been revoked

Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-22 15:28:43 +02:00
Joas Schilling
0d46fafd41
Merge pull request #26161 from nextcloud/bugfix/noid/improve-matching-of-phonebook-searches
Improve search results when only phonebook-matches can we autocompleted
2021-03-17 15:22:03 +01:00
Joas Schilling
3379e69ecc
Fix parameter types in docs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-17 09:51:31 +01:00
Joas Schilling
9a189bc710
Improve search results when only phonebook-matches can we autocompleted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-17 09:51:31 +01:00
Robin Appelman
dd477d30f9
dont allow creating users with __groupfolders as uid
Fixes https://github.com/nextcloud/groupfolders/issues/338

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 19:03:10 +01:00
Roeland Jago Douma
618805b14f Fix RedundantPropertyInitializationCheck
For #25839

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-09 09:49:45 +01:00
Lionel Elie Mamane
f99f463834 token login: emit preLogin event with LoginName
to bring it in line with normal (non-token) login.

Signed-off-by: Lionel Elie Mamane <lionel@mamane.lu>
2021-02-19 22:27:46 +01:00
Joas Schilling
645f83121e
Cache the user backend info for 300s
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-15 10:36:08 +01:00
Christoph Wurst
81302f78e5
Merge pull request #24948 from nextcloud/dependabot/composer/doctrine/dbal-3.0.0
Bump doctrine/dbal from 2.12.0 to 3.0.0
2021-01-08 14:58:43 +01:00
Christoph Wurst
8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Robin Appelman
c374bbf14d
allow authenticating using urlencoded passwords
this allows authenticating with passwords that contain non ascii-characters in contexts that otherwise do not allow it (http basic)

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-07 10:43:43 +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