diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-07-07 11:55:21 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-07-14 16:44:52 +0200 |
commit | 56870d324bb3210ba8712167f145a535d5d319d6 (patch) | |
tree | d75d96394c49c2f7d50aacf192dd2d8833ba43f1 /docs/USER_GROUP_API.md | |
parent | update TODO (diff) | |
download | systemd-56870d324bb3210ba8712167f145a535d5d319d6.tar.xz systemd-56870d324bb3210ba8712167f145a535d5d319d6.zip |
docs: permit user/group services that do not support enumeration
sssd people don't like enumeration and for some other cases it's not
nice to support either, in particular when synthesizing records for
container/userns UID/GID ranges.
Hence, let's make enumeration optional.
Diffstat (limited to 'docs/USER_GROUP_API.md')
-rw-r--r-- | docs/USER_GROUP_API.md | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/docs/USER_GROUP_API.md b/docs/USER_GROUP_API.md index ebff6e6903..55f6af7d8e 100644 --- a/docs/USER_GROUP_API.md +++ b/docs/USER_GROUP_API.md @@ -185,6 +185,7 @@ error NoRecordFound() error BadService() error ServiceNotAvailable() error ConflictingRecordFound() +error EnumerationNotSupported() ``` The `GetUserRecord` method looks up or enumerates a user record. If the `uid` @@ -264,4 +265,11 @@ services. Result of this is that it can be one service that defines a user A, and another service that defines a group B, and a third service that declares that A is a member of B. +Looking up explicit users/groups by their name or UID/GID, or querying +user/group memberships must be supported by all services implementing these +interfaces. However, supporting enumeration (i.e. user/group lookups that may +result in more than one reply, because neither UID/GID nor name is specified) +is optional. Services which are asked for enumeration may return the +`EnumerationNotSupported` error in this case. + And that's really all there is to it. |