Commit Graph

286 Commits

Author SHA1 Message Date
jkoberg
70391a0bf2 unify CACERT envvars
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-25 13:32:37 +02:00
Ralf Haferkamp
efc5e249e2 graph: Clarify wording for GRAPH_USERNAME_MATCH setting 2023-05-24 17:17:15 +02:00
Ralf Haferkamp
0726f1b143 graph/users: Sanitize some log levels
The "calling function XYZ" log messages should only appear at debug level.
Message indicating client errors when creating a user (e.g. invalid characters
in username or missing attributes) are logged at info level (instead of debug)
now.
2023-05-24 17:17:15 +02:00
Ralf Haferkamp
3e54c5b3db docs: clarify wording for 'OCIS_LDAP_SERVER_WRITE_ENABLED' 2023-05-24 10:24:19 +02:00
Jörn Friedrich Dreyer
0edb2b9c5b fix preflight requests
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-22 16:28:51 +02:00
Jörn Friedrich Dreyer
e0873dee38 fix typo (#6352)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-19 10:59:37 +02:00
Phil Davis
4874da778c Reword 'allow to' sentences 2023-05-18 09:48:29 +05:45
jkoberg
c76fb5f412 add graph user capabilities
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-05-17 19:27:07 +02:00
Ralf Haferkamp
1d85593c7e graph: Adjust defaults for user, group and SpaceProperties caches
The old default ttl of 30 minutes for the caches seems way too long. It
could cause outdated information users or groups to be returned for
quite a while. Especially since the TTL was reset every time an entry was
fetched from the cache. This is disabled now as well.

Fixes: #6320
2023-05-17 16:16:24 +02:00
Christian Richter
8cf35ba18e remove quote from api response in share jails
Signed-off-by: Christian Richter <crichter@owncloud.com>
2023-05-15 17:01:58 +02:00
Roman Perekhod
554e109141 Merge pull request #6276 from 2403905/issue-6037
fix the wrong status code when appRoleAssignments is forbidden #6037
2023-05-12 17:03:04 +02:00
André Duffeck
e9d4e07a08 constify the "trashed" space state 2023-05-12 10:37:43 +02:00
Roman Perekhod
082e450677 fix the wrong status code when appRoleAssignments is forbidden #6037 #6035 2023-05-11 09:39:41 +02:00
Daniel Swärd
ec5d50149a Update services/graph/pkg/config/config.go
Co-authored-by: Martin <github@diemattels.at>
2023-05-10 17:19:53 +02:00
Daniel Swärd
1cc3fc92c0 graph/groups: Fix typos in config. 2023-05-10 16:28:26 +02:00
Roman Perekhod
11e51b9812 Omitempty givenName attribute when creating user #5431 2023-05-09 16:40:23 +02:00
Michael Barz
78f138e9a8 Merge pull request #6233 from rhafer/issue/6219
Allow selected updates even when GRAPH_LDAP_SERVER_WRITE_ENABLED=false
2023-05-08 17:22:33 +02:00
Ralf Haferkamp
906189462c graph: Always allow updates to "local" groups when LDAP
When GRAPH_LDAP_SERVER_WRITE_ENABLED=false still allow updates of groups
if a distinct GRAPH_LDAP_GROUP_CREATE_BASE_DN is configured.

Partial-Fix: #6219
2023-05-08 16:17:25 +02:00
Ralf Haferkamp
046895a831 graph: Allow disabling users via groupmember ship on "read-only" server
When GRAPH_LDAP_SERVER_WRITE_ENABLED is set to false we still allow updates
of the accountEnabled property when OCIS_LDAP_DISABLE_USER_MECHANISM is set
to "group"

Partial-Fix: #6219
2023-05-08 16:17:25 +02:00
Ralf Haferkamp
4b501e93a4 graph/users: Avoid to leak LDAP error messages to the client 2023-05-08 16:17:25 +02:00
Roman Perekhod
d69decdafe fix Graph delete request leaks existence of space #5031 2023-05-08 16:13:52 +02:00
Michael Barz
b354e79bb5 Merge pull request #6189 from owncloud/cache-special-drive-items
cache special drive items until space root changes
2023-05-03 18:16:28 +02:00
Ralf Haferkamp
f1dbe439a1 graph-ldap: Fix possible races when editing group membership in parallel (#6214)
As the standard LDAP groups (groupOfNames) require at least one "member"
value to be present in a group, we have workarounds in place that add an
empty member ("") when creating a new group or when removing the last
member from the group. This can cause a race condition when e.g. multiple
request to remove members from a group an running in parallel, as we need
to read the group before we can construct the modification request. If
some other request modified the group (e.g. deleted the 2nd last member)
after we read it, we create non-working modification request.

These changes try to catch those errors and retry the modification
request once.

Fixes: #6170
2023-05-03 15:30:10 +02:00
Jörn Friedrich Dreyer
4eaa90af54 address code smells
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-03 12:15:02 +02:00
Jörn Friedrich Dreyer
024e66ffd0 ignore errors when building the cache key hash
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-03 11:26:46 +02:00
Jörn Friedrich Dreyer
c7bbdd2eae add special nodes to cache key
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-03 11:09:55 +02:00
Ralf Haferkamp
77e773515d graph/users: gracefully handle PATCH requests with empty bodies
Return as success status code when the PATCH request comes with an empty
body. This is mainly to workaround issues like:
https://github.com/owncloud/web/issues/8946
2023-05-03 09:32:05 +02:00
Ralf Haferkamp
1ad31218ec graph: Allow using binary LDAP UUIDs as user ids
In Active Directories UUID attributes such as "objectGUID" use a binary
syntax (oposed to the standard UUID syntax defined in RFC4530). This
introduces a flag to enable support for binary UUIDs as the id for users
and groups (similar to what the "users" and "groups" services already
support)

Fixes: #5815
2023-05-03 09:32:05 +02:00
Jörn Friedrich Dreyer
13369f8367 only stat if property is set
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-03 09:18:19 +02:00
Jörn Friedrich Dreyer
92533895c5 some fixes for the tests and noisy logs
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-03 00:21:57 +02:00
Jörn Friedrich Dreyer
40eba0909d fix mocks for stat based special resource handling
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-02 22:04:04 +02:00
Jörn Friedrich Dreyer
f2b86d8115 stat based on default paths
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-02 17:12:49 +02:00
Jörn Friedrich Dreyer
ca638ddc51 cache special drive items until space root changes
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-05-02 11:44:27 +02:00
Jörn Friedrich Dreyer
4bfda6183c Read quota from opaque (#6187)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-04-28 15:55:29 +02:00
André Duffeck
0eca2a08f6 Speed up me/drives by gathering space information in parallel 2023-04-28 10:53:24 +02:00
Jörn Friedrich Dreyer
3489de1c42 listing drives sould use the user filter (#6103)
* listing drives shsould use the user filter

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* fix status code

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* check correct error

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Adapt expected failures

* Bump reva

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: André Duffeck <andre.duffeck@firondu.de>
2023-04-28 10:06:40 +02:00
Andre Duffeck
129489203b Cleanup and improve the caching config (#6148)
* Cleanup and improve the caching config

* bump reva

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* disable stat cache

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>

* Bump reva

* Linter fixes

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-04-27 12:35:30 +02:00
Andre Duffeck
77bb3d8bcd [full-ci] Refactor stores (#6019)
* Streamline the store implementation with and into reva

* Adapt to the cache/store refactoring in reva

* Streamline config options and their env vars

* Apply suggestions from code review

Co-authored-by: Martin <github@diemattels.at>

* Use the same database for all stores

* Bump reva

* Configure stat and filemetadata cache separately

* Fix default config

---------

Co-authored-by: Martin <github@diemattels.at>
2023-04-24 15:13:35 +02:00
jkoberg
8f5c255225 return badrequest when exporting gdpr for other user
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-04-24 12:17:05 +02:00
Prajwol Amatya
e0b6ca0e29 [tests-only][full-ci] api test to get personal drive information of other users (#6018)
* api test to get personal drive information of other users

* fix the broken personal drive listing

* removed scenario from expected failure after issue fixed

---------

Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-04-21 16:59:16 +05:45
Ralf Haferkamp
70a80125c3 Fix backchannel logout
Use access token to lookup session id. The userinfo endpoint does
not return the session id. Also add some debug logging.

Co-authored-by: Christian Richter <crichter@owncloud.com>
Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-04-20 18:04:52 +02:00
Daniel Swärd
0d6500a225 graph: Add comment to fix and remove expected test failures
Fixes: #5083
2023-04-20 10:32:40 +02:00
Daniel Swärd
8d789ce24d graph: Try to fix problems with unescaping values. 2023-04-20 09:33:23 +02:00
Michael Barz
8b8859950f Merge pull request #6067 from owncloud/ainmosni/feature/search-keycloak-by-username
Search users by username instead of by email
2023-04-19 22:00:30 +02:00
mmattel
8ed34926ef [docs-only] Correct the removal version according semver to 4.0.0 2023-04-19 10:16:06 +02:00
Daniël Franke
30edab9f69 Search users by username instead of by email
As some setups don't have email addresses setup or reuse email
addresses, the keycloak search has to be done by username as that
is guaranteed to always be unique and defined.

This PR changes that.
2023-04-18 11:43:13 +02:00
Daniël Franke
2e8b741530 improve readme
Co-authored-by: Martin <github@diemattels.at>
2023-04-14 15:09:54 +02:00
Daniël Franke
d81065c1b6 Adds JSON tags to PII report.
This will make the JSON export look a bit prettier.
2023-04-14 15:09:54 +02:00
jkoberg
c9d0e876f7 use mail instead id to get user
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-04-14 15:09:54 +02:00
jkoberg
cf6b1eac25 add events to personalDataExport
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-04-14 15:09:54 +02:00