From: Lennart Poettering Date: Wed, 7 Aug 2019 10:34:46 +0000 (+0200) Subject: user-util: add uid_is_container() for checking whether UID is in container range X-Git-Tag: v245-rc1~314^2~4 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=a3292ec8d7049d1e78ab47b390cd8098e26c889f;p=systemd%2F.git user-util: add uid_is_container() for checking whether UID is in container range We have similar calls for the dynamic user and system range, let's add this too here. --- diff --git a/src/basic/user-util.h b/src/basic/user-util.h index d507c135eb..7488071086 100644 --- a/src/basic/user-util.h +++ b/src/basic/user-util.h @@ -57,6 +57,14 @@ int take_etc_passwd_lock(const char *root); #define ETC_PASSWD_LOCK_PATH "/etc/.pwd.lock" +static inline bool uid_is_system(uid_t uid) { + return uid <= SYSTEM_UID_MAX; +} + +static inline bool gid_is_system(gid_t gid) { + return gid <= SYSTEM_GID_MAX; +} + static inline bool uid_is_dynamic(uid_t uid) { return DYNAMIC_UID_MIN <= uid && uid <= DYNAMIC_UID_MAX; } @@ -65,12 +73,12 @@ static inline bool gid_is_dynamic(gid_t gid) { return uid_is_dynamic((uid_t) gid); } -static inline bool uid_is_system(uid_t uid) { - return uid <= SYSTEM_UID_MAX; +static inline bool uid_is_container(uid_t uid) { + return CONTAINER_UID_BASE_MIN <= uid && uid <= CONTAINER_UID_BASE_MAX; } -static inline bool gid_is_system(gid_t gid) { - return gid <= SYSTEM_GID_MAX; +static inline bool gid_is_container(gid_t gid) { + return uid_is_container((uid_t) gid); } /* The following macros add 1 when converting things, since UID 0 is a valid UID, while the pointer