From 32f641b207f6ddff1460a22fdc654def4a9c473d Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Sat, 27 Nov 2021 10:49:03 -0600 Subject: [PATCH] Change the subid export symbols Rename libsubid symbols to all be prefixed with subid_. Don't export anything but the subid_*. Closes #443 Signed-off-by: Serge Hallyn --- configure.ac | 2 +- libsubid/Makefile.am | 1 + libsubid/api.c | 18 +++++++++--------- libsubid/subid.h | 36 ++++++++++++++++++------------------ src/free_subid_range.c | 4 ++-- src/get_subid_owners.c | 4 ++-- src/getsubids.c | 4 ++-- src/new_subid_range.c | 4 ++-- 8 files changed, 37 insertions(+), 36 deletions(-) diff --git a/configure.ac b/configure.ac index 6cbb6bd2..2048d9ad 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -m4_define([libsubid_abi_major], 3) +m4_define([libsubid_abi_major], 4) m4_define([libsubid_abi_minor], 0) m4_define([libsubid_abi_micro], 0) m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro]) diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am index bfc982ef..ca4a1e1e 100644 --- a/libsubid/Makefile.am +++ b/libsubid/Makefile.am @@ -4,6 +4,7 @@ libsubid_la_LDFLAGS = -Wl,-soname,libsubid.so.@LIBSUBID_ABI@ \ -shared -version-info @LIBSUBID_ABI_MAJOR@ endif libsubid_la_SOURCES = api.c +libsubid_la_LDFLAGS = -export-symbols-regex '^subid_' pkginclude_HEADERS = subid.h diff --git a/libsubid/api.c b/libsubid/api.c index a51b4e01..99d7969c 100644 --- a/libsubid/api.c +++ b/libsubid/api.c @@ -42,7 +42,7 @@ static const char *Prog = "(libsubid)"; static FILE *shadow_logfd; -bool libsubid_init(const char *progname, FILE * logfd) +bool subid_init(const char *progname, FILE * logfd) { if (progname) { progname = strdup(progname); @@ -70,12 +70,12 @@ int get_subid_ranges(const char *owner, enum subid_type id_type, struct subid_ra return list_owner_ranges(owner, id_type, ranges); } -int get_subuid_ranges(const char *owner, struct subid_range **ranges) +int subid_get_uid_ranges(const char *owner, struct subid_range **ranges) { return get_subid_ranges(owner, ID_TYPE_UID, ranges); } -int get_subgid_ranges(const char *owner, struct subid_range **ranges) +int subid_get_gid_ranges(const char *owner, struct subid_range **ranges) { return get_subid_ranges(owner, ID_TYPE_GID, ranges); } @@ -86,12 +86,12 @@ int get_subid_owner(unsigned long id, enum subid_type id_type, uid_t **owner) return find_subid_owners(id, id_type, owner); } -int get_subuid_owners(uid_t uid, uid_t **owner) +int subid_get_uid_owners(uid_t uid, uid_t **owner) { return get_subid_owner((unsigned long)uid, ID_TYPE_UID, owner); } -int get_subgid_owners(gid_t gid, uid_t **owner) +int subid_get_gid_owners(gid_t gid, uid_t **owner) { return get_subid_owner((unsigned long)gid, ID_TYPE_GID, owner); } @@ -103,12 +103,12 @@ bool grant_subid_range(struct subordinate_range *range, bool reuse, return new_subid_range(range, id_type, reuse); } -bool grant_subuid_range(struct subordinate_range *range, bool reuse) +bool subid_grant_uid_range(struct subordinate_range *range, bool reuse) { return grant_subid_range(range, reuse, ID_TYPE_UID); } -bool grant_subgid_range(struct subordinate_range *range, bool reuse) +bool subid_grant_gid_range(struct subordinate_range *range, bool reuse) { return grant_subid_range(range, reuse, ID_TYPE_GID); } @@ -119,12 +119,12 @@ bool ungrant_subid_range(struct subordinate_range *range, enum subid_type id_typ return release_subid_range(range, id_type); } -bool ungrant_subuid_range(struct subordinate_range *range) +bool subid_ungrant_uid_range(struct subordinate_range *range) { return ungrant_subid_range(range, ID_TYPE_UID); } -bool ungrant_subgid_range(struct subordinate_range *range) +bool subid_ungrant_gid_range(struct subordinate_range *range) { return ungrant_subid_range(range, ID_TYPE_GID); } diff --git a/libsubid/subid.h b/libsubid/subid.h index eabafe4d..30ccf160 100644 --- a/libsubid/subid.h +++ b/libsubid/subid.h @@ -32,7 +32,7 @@ enum subid_status { }; /* - * libsubid_init: initialize libsubid + * subid_init: initialize libsubid * * @progname: Name to display as program. If NULL, then "(libsubid)" will be * shown in error messages. @@ -45,10 +45,10 @@ enum subid_status { * * Returns false if an error occurred. */ -bool libsubid_init(const char *progname, FILE *logfd); +bool subid_init(const char *progname, FILE *logfd); /* - * get_subuid_ranges: return a list of UID ranges for a user + * subid_get_uid_ranges: return a list of UID ranges for a user * * @owner: username being queried * @ranges: a pointer to an array of subid_range structs in which the result @@ -58,10 +58,10 @@ bool libsubid_init(const char *progname, FILE *logfd); * * returns: number of ranges found, ir < 0 on error. */ -int get_subuid_ranges(const char *owner, struct subid_range **ranges); +int subid_get_uid_ranges(const char *owner, struct subid_range **ranges); /* - * get_subgid_ranges: return a list of GID ranges for a user + * subid_get_gid_ranges: return a list of GID ranges for a user * * @owner: username being queried * @ranges: a pointer to an array of subid_range structs in which the result @@ -71,10 +71,10 @@ int get_subuid_ranges(const char *owner, struct subid_range **ranges); * * returns: number of ranges found, ir < 0 on error. */ -int get_subgid_ranges(const char *owner, struct subid_range **ranges); +int subid_get_gid_ranges(const char *owner, struct subid_range **ranges); /* - * get_subuid_owners: return a list of uids to which the given uid has been + * subid_get_uid_owners: return a list of uids to which the given uid has been * delegated. * * @uid: The subuid being queried @@ -83,10 +83,10 @@ int get_subgid_ranges(const char *owner, struct subid_range **ranges); * * Returns the number of uids returned, or < 0 on error. */ -int get_subuid_owners(uid_t uid, uid_t **owner); +int subid_get_uid_owners(uid_t uid, uid_t **owner); /* - * get_subgid_owners: return a list of uids to which the given gid has been + * subid_get_gid_owners: return a list of uids to which the given gid has been * delegated. * * @uid: The subgid being queried @@ -95,10 +95,10 @@ int get_subuid_owners(uid_t uid, uid_t **owner); * * Returns the number of uids returned, or < 0 on error. */ -int get_subgid_owners(gid_t gid, uid_t **owner); +int subid_get_gid_owners(gid_t gid, uid_t **owner); /* - * grant_subuid_range: assign a subuid range to a user + * subid_grant_uid_range: assign a subuid range to a user * * @range: pointer to a struct subordinate_range detailing the UID range * to allocate. ->owner must be the username, and ->count must be @@ -109,10 +109,10 @@ int get_subgid_owners(gid_t gid, uid_t **owner); * then the range from (range->start, range->start + range->count) will * be delegated to range->owner. */ -bool grant_subuid_range(struct subordinate_range *range, bool reuse); +bool subid_grant_uid_range(struct subordinate_range *range, bool reuse); /* - * grant_subsid_range: assign a subgid range to a user + * subid_grant_gid_range: assign a subgid range to a user * * @range: pointer to a struct subordinate_range detailing the GID range * to allocate. ->owner must be the username, and ->count must be @@ -123,10 +123,10 @@ bool grant_subuid_range(struct subordinate_range *range, bool reuse); * then the range from (range->start, range->start + range->count) will * be delegated to range->owner. */ -bool grant_subgid_range(struct subordinate_range *range, bool reuse); +bool subid_grant_gid_range(struct subordinate_range *range, bool reuse); /* - * ungrant_subuid_range: remove a subuid allocation. + * subid_ungrant_uid_range: remove a subuid allocation. * * @range: pointer to a struct subordinate_range detailing the UID allocation * to remove. @@ -134,10 +134,10 @@ bool grant_subgid_range(struct subordinate_range *range, bool reuse); * Returns true if successful, false if it failed, for instance if the * delegation did not exist. */ -bool ungrant_subuid_range(struct subordinate_range *range); +bool subid_ungrant_uid_range(struct subordinate_range *range); /* - * ungrant_subuid_range: remove a subgid allocation. + * subid_ungrant_gid_range: remove a subgid allocation. * * @range: pointer to a struct subordinate_range detailing the GID allocation * to remove. @@ -145,7 +145,7 @@ bool ungrant_subuid_range(struct subordinate_range *range); * Returns true if successful, false if it failed, for instance if the * delegation did not exist. */ -bool ungrant_subgid_range(struct subordinate_range *range); +bool subid_ungrant_gid_range(struct subordinate_range *range); #define SUBID_NFIELDS 3 #endif diff --git a/src/free_subid_range.c b/src/free_subid_range.c index 1e666371..97fff6ad 100644 --- a/src/free_subid_range.c +++ b/src/free_subid_range.c @@ -39,9 +39,9 @@ int main(int argc, char *argv[]) range.start = atoi(argv[1]); range.count = atoi(argv[2]); if (group) - ok = ungrant_subgid_range(&range); + ok = subid_ungrant_gid_range(&range); else - ok = ungrant_subuid_range(&range); + ok = subid_ungrant_uid_range(&range); if (!ok) { fprintf(stderr, "Failed freeing id range\n"); diff --git a/src/get_subid_owners.c b/src/get_subid_owners.c index f9a266ba..338a5a8b 100644 --- a/src/get_subid_owners.c +++ b/src/get_subid_owners.c @@ -25,11 +25,11 @@ int main(int argc, char *argv[]) usage(); } if (argc == 3 && strcmp(argv[1], "-g") == 0) - n = get_subgid_owners(atoi(argv[2]), &uids); + n = subid_get_gid_owners(atoi(argv[2]), &uids); else if (argc == 2 && strcmp(argv[1], "-h") == 0) usage(); else - n = get_subuid_owners(atoi(argv[1]), &uids); + n = subid_get_uid_owners(atoi(argv[1]), &uids); if (n < 0) { fprintf(stderr, "No owners found\n"); exit(1); diff --git a/src/getsubids.c b/src/getsubids.c index 109b22bc..f652cb63 100644 --- a/src/getsubids.c +++ b/src/getsubids.c @@ -28,11 +28,11 @@ int main(int argc, char *argv[]) owner = argv[1]; if (argc == 3 && strcmp(argv[1], "-g") == 0) { owner = argv[2]; - count = get_subgid_ranges(owner, &ranges); + count = subid_get_gid_ranges(owner, &ranges); } else if (argc == 2 && strcmp(argv[1], "-h") == 0) { usage(); } else { - count = get_subuid_ranges(owner, &ranges); + count = subid_get_uid_ranges(owner, &ranges); } if (!ranges) { fprintf(stderr, "Error fetching ranges\n"); diff --git a/src/new_subid_range.c b/src/new_subid_range.c index 721f9547..96e64232 100644 --- a/src/new_subid_range.c +++ b/src/new_subid_range.c @@ -45,9 +45,9 @@ int main(int argc, char *argv[]) if (argc > 1) range.count = atoi(argv[1]); if (group) - ok = grant_subgid_range(&range, !makenew); + ok = subid_grant_gid_range(&range, !makenew); else - ok = grant_subuid_range(&range, !makenew); + ok = subid_grant_uid_range(&range, !makenew); if (!ok) { fprintf(stderr, "Failed creating new id range\n");