Commit Graph

683 Commits

Author SHA1 Message Date
jkoberg
a9561d85c8 sharpen userlog service
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-02-23 14:21:56 +01:00
jkoberg
d56565555b introduce userlog service
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-02-21 14:25:21 +01:00
kobergj
e631b74032 Merge pull request #5600 from kobergj/EventHistory
Eventhistory Service
2023-02-21 14:08:01 +01:00
Ralf Haferkamp
1dab0f7a54 graph: Improve appRoleAssignemts filters
This should improve the processing of filters for appRoleAssignments
a bit when combining them with other filters. We try to avoid reading
the full user list if possible. And delay the processing of an
appRoleAssignments filter so we can apply it on a subset of user.

E.g. a filter:

`appRoleAssignments/any(m:m/appRoleId eq 71881883-1768-46bd-a24d-a356a2afdf7f) and memberOf/any(m:m/id eq 509a9dcd-bb37-4f4f-a01a-19dca27d9cfa)`

Will be reordered to first process the memberOf filter (which can be
executed without reading the full user list) and only apply the
appRoleAssignments filter on the resultset of the memberOf filter.
2023-02-21 12:30:59 +01:00
Ralf Haferkamp
1552f6df5a Add support for $filter on appRoleAssignment
This add support for filtering on the `appRoleAssignment` relation of
users.  E.g.

```
$filter=appRoleAssignments/any(m:m/appRoleId eq '262982c1-2362-4afa-bfdf-8cbfef64a06e')
```

combining it with a filter on groupMemberShip does also work:

```
$filter=memberOf/any(m:m/id eq '262982c1-2362-4afa-bfdf-8cbfef64a06e') and appRoleAssignments/any(m:m/appRoleId eq 'd7beeea8-8ff4-406b-8fb6-ab2dd81e6b11')
```

The filter is still very inefficient as it always needs to get the full
users list. We need to adapt it to only filter on a subset of users when
using this filter 'and' combined with other filters.

Closes: #5488
2023-02-21 12:30:59 +01:00
Ralf Haferkamp
791c8a6c4f proxy: Fix provsioning new users with the default role
With 078698fdf4 the semantics of the
ListRoleAssignments Call in the settings service change. It no
no longer returns a "not found" error when there is not RoleAssignment
for a user. We'll just get an empty list as the result.

This changes the behaviour of the default role assignment to work with
the new semantics.
2023-02-21 11:19:44 +01:00
jkoberg
c9dfb778a9 sharpen eventhistory service
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-02-21 10:51:32 +01:00
Daniël Franke
3f39bb530e Integrate feedback. 2023-02-20 14:40:10 +01:00
Daniël Franke
bea3ec6207 Add refint support to user rename.
When refint is enabled on an LDAP server, it will rename all references
to an entity if its DN is modified. If this happens, the member
renames will not be needed, and will also return an error.

This PR does the following:

* Detects the attribute error, and don't return an error.
* Log that the server has been misconfigured.
* Add config value that skips renaming if set.
2023-02-20 14:40:10 +01:00
Willy Kloucek
5a500ea17e don't init bundles to nil 2023-02-20 12:50:24 +01:00
jkoberg
afe9e220b4 introduce eventhistory service
Signed-off-by: jkoberg <jkoberg@owncloud.com>
2023-02-20 10:29:04 +01:00
Willy Kloucek
a2422e8b9d fix settings service bunldes config merge problems 2023-02-20 08:10:22 +01:00
Benedikt Kulmann
6239e09563 chore: bump web to v7.0.0-rc.14 2023-02-17 22:26:20 +01:00
Daniel Swärd
fcf5783a1b graph: Add accountEnabled flag to ldap backend. (#5588)
* graph: Add accountEnabled flag to ldap backend.

* Add missing accountEnabled attribute to user listing.
2023-02-17 13:48:12 +01:00
Michael Barz
794f6cd07c add constraints to permissions listing (#5594) 2023-02-17 13:45:47 +01:00
Michael Barz
eb2347e1db Merge pull request #5589 from owncloud/settings-roles
make the default settings bundles part of the config
2023-02-16 16:05:29 +01:00
David Christofas
e21ca81fbe Merge pull request #5582 from owncloud/bump-reva-events
[full-ci] bump reva to ec27f5f8feb3
2023-02-16 15:22:49 +01:00
Jörn Friedrich Dreyer
ce9c7b2868 fix notification tests
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-16 13:15:57 +00:00
Jörn Friedrich Dreyer
552f3b3058 Update services/settings/Makefile 2023-02-16 13:54:41 +01:00
Michael Barz
29501b2cfe make the default settings bundles part of the config 2023-02-16 13:24:31 +01:00
Daniël Franke
92f4d60a06 Properly generate new DN.
This fixes issue #5581 by properly parsing the old DN and replacing the
first part with the new DN.
2023-02-16 12:41:29 +01:00
Jörn Friedrich Dreyer
9b00f02383 bump reva to ec27f5f8feb3
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-15 15:26:07 +00:00
Jörn Friedrich Dreyer
92923f6801 Add http endpoint to list permissions (#5571)
* Add http endpoint to list permissions

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

* extract handler registration

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

* use generated protobuf

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

* update permissions mock in graph service

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

* add unit test

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

* return correct userid

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

* assert error message type in tests

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

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-15 14:24:19 +01:00
Martin
9b5267247c Merge pull request #5574 from owncloud/web-readme
[docs-only] add a small README for the web service
2023-02-15 10:34:04 +01:00
David Christofas
9a7f2a0482 Update services/web/README.md
Co-authored-by: Martin <github@diemattels.at>
2023-02-15 10:21:59 +01:00
David Christofas
e0efc38cbd Update services/web/README.md
Co-authored-by: Michael Barz <mbarz@owncloud.com>
2023-02-15 10:21:53 +01:00
Daniël Franke
9bd1551c6b Integrate @rhafer's feedback 2023-02-15 10:06:23 +01:00
Daniël Franke
172807bb69 Add testcase for changing username. 2023-02-15 10:06:23 +01:00
Daniël Franke
bed4a82ff0 Finish working code and most of tests. 2023-02-15 10:06:23 +01:00
Daniël Franke
a51393e5bf Add username changing functionality.
This is an incomplete implementation of username changing code.

The things still needed to be finished:

* The method that changes the member attribute has to be filled in.
* The functionality needs to be tested.
* Unit tests need to be added.
2023-02-15 10:06:23 +01:00
David Christofas
eb7761dae4 add a small README for the web service 2023-02-14 17:16:00 +01:00
Benedikt Kulmann
a8a6647a12 chore: bump web to v7.0.0-rc.13 2023-02-14 15:13:45 +01:00
Ralf Haferkamp
b7ec7c92c4 graph: Initial support for $filter in /users (#5533)
This adds some initial support for using $filter (as defined in the
odata spec) on the /users endpoint. Currently the following filters are
supported:

A single filter on `id` property of the `memberOf` relation of users.
To list all users that are members of a specific group:

```
curl 'https://localhost:9200/graph/v1.0/users?$filter=memberOf/any(m:m/id eq '262982c1-2362-4afa-bfdf-8cbfef64a06e')
```

A logical AND filteri on the `id` property of the `memberOf` relation of users.

`$filter=memberOf/any(m:m/id eq 262982c1-2362-4afa-bfdf-8cbfef64a06e) and memberOf/any(m:m/id eq 6040aa17-9c64-4fef-9bd0-77234d71bad0)`

This will cause at least two queries on the identity backend. The `and`
operation is performed locally.

Closes: #5487
2023-02-14 10:32:32 +01:00
Michael Barz
2b04573628 Merge pull request #5559 from owncloud/branding-api
Branding api
2023-02-13 22:30:09 +01:00
Jörn Friedrich Dreyer
e0753c20fb Update services/web/pkg/config/config.go
Co-authored-by: Martin <github@diemattels.at>
2023-02-13 16:21:59 +01:00
Jörn Friedrich Dreyer
546e74c566 add webfinger to Makefile, add missing default config
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-13 13:36:18 +00:00
David Christofas
45d1ba25c0 add logo reset endpoint
when resetting the logo we are falling back to the embedded logo asset
2023-02-13 13:48:44 +01:00
David Christofas
7c17ddb0b0 add a permission check to the logo upload 2023-02-13 13:48:39 +01:00
David Christofas
13dfc06f63 add proxy route for the branding endpoint 2023-02-13 13:36:52 +01:00
David Christofas
6e83effb45 add simple filetype validator for the logo upload 2023-02-13 13:36:48 +01:00
David Christofas
3a685b6f50 clean up the logo upload 2023-02-13 13:36:43 +01:00
David Christofas
85f79dd765 first implementation of the logo update 2023-02-13 13:36:34 +01:00
David Christofas
20e4e56d28 implement first prototype of the logo upload API 2023-02-13 13:36:30 +01:00
Daniel Swärd
e853b98918 Merge pull request #5534 from owncloud/excds/feature/5411_support_adding_and_removing_of_teachers_for_classes
graph: Add support for listing/adding/removing teachers to a class
2023-02-13 11:48:58 +01:00
Jörn Friedrich Dreyer
2c98d3246c minimal webfinger (#5373)
* initial webfinger stub

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

* add webfinger to proxy, return current host

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

* some cleanup

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

* allow passing multiple rel params

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

* introduce interfaces

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

* parse oidc auth token

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

* add templating, drop chain, use map of relation providers

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

* fix ocis url yaml

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

* fix typos

Co-authored-by: Dominik Schmidt <dschmidt@owncloud.com>

* switch to userinfo claims

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

* readme cleanup

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

* add TODO.md with ideas

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

* replace subject on authenticated request responses

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

* Apply suggestions from code review

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

* markdown lint

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

* return a 401 when bearer token expired, some more docs

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

* Apply suggestions from code review

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

* fix docs

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

* clarify env var

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

* extract handler func

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

* use correct service in reflex.conf

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

* test relations

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

* Update services/webfinger/pkg/config/config.go

---------

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Dominik Schmidt <dschmidt@owncloud.com>
Co-authored-by: Martin <github@diemattels.at>
2023-02-13 11:05:20 +01:00
Daniel Swärd
2338515444 Make ldap functions package local and remove a superfluous comment. 2023-02-10 15:12:19 +01:00
Jörn Friedrich Dreyer
fc95edb914 allow GETing a users personal drive (#5539)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2023-02-10 14:17:19 +01:00
Florian Schade
5da3df8ffe Space Trash-bin expiration cli (#5500)
* add storage-users trash-bin cli
add task to clean up outdated trash-bin resources
add trash-bin cli purge-expired command to purge expired trash-bin resources
add purge-expired task tests
2023-02-10 12:04:47 +01:00
Daniel Swärd
82e312ac2f Fix sonarcloud comment nitpick. 2023-02-10 11:50:46 +01:00
Daniel Swärd
a21f485d2c Fix forgotten expected return values in tests. 2023-02-10 11:21:55 +01:00