Merge pull request #340 from hallyn/2021-05-16/subidrange
Don't return owner in list_owner_ranges API call.
This commit is contained in:
		| @@ -68,26 +68,21 @@ bool libsubid_init(const char *progname, FILE * logfd) | ||||
| } | ||||
|  | ||||
| static | ||||
| int get_subid_ranges(const char *owner, enum subid_type id_type, struct subordinate_range ***ranges) | ||||
| int get_subid_ranges(const char *owner, enum subid_type id_type, struct subid_range **ranges) | ||||
| { | ||||
| 	return list_owner_ranges(owner, id_type, ranges); | ||||
| } | ||||
|  | ||||
| int get_subuid_ranges(const char *owner, struct subordinate_range ***ranges) | ||||
| int get_subuid_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 subordinate_range ***ranges) | ||||
| int get_subgid_ranges(const char *owner, struct subid_range **ranges) | ||||
| { | ||||
| 	return get_subid_ranges(owner, ID_TYPE_GID, ranges); | ||||
| } | ||||
|  | ||||
| void subid_free_ranges(struct subordinate_range **ranges, int count) | ||||
| { | ||||
| 	return free_subordinate_ranges(ranges, count); | ||||
| } | ||||
|  | ||||
| static | ||||
| int get_subid_owner(unsigned long id, enum subid_type id_type, uid_t **owner) | ||||
| { | ||||
|   | ||||
| @@ -3,6 +3,15 @@ | ||||
|  | ||||
| #ifndef SUBID_RANGE_DEFINED | ||||
| #define SUBID_RANGE_DEFINED 1 | ||||
|  | ||||
| /* subid_range is just a starting point and size of a range */ | ||||
| struct subid_range { | ||||
| 	unsigned long start; | ||||
| 	unsigned long count; | ||||
| }; | ||||
|  | ||||
| /* subordinage_range is a subid_range plus an owner, representing | ||||
|  * a range in /etc/subuid or /etc/subgid */ | ||||
| struct subordinate_range { | ||||
| 	const char *owner; | ||||
| 	unsigned long start; | ||||
| @@ -41,32 +50,27 @@ bool libsubid_init(const char *progname, FILE *logfd); | ||||
|  * get_subuid_ranges: return a list of UID ranges for a user | ||||
|  * | ||||
|  * @owner: username being queried | ||||
|  * @ranges: a pointer to a subordinate range ** in which the result will be | ||||
|  *          returned. | ||||
|  * @ranges: a pointer to an array of subid_range structs in which the result | ||||
|  *          will be returned. | ||||
|  * | ||||
|  * The caller must free(ranges) when done. | ||||
|  * | ||||
|  * returns: number of ranges found, ir < 0 on error. | ||||
|  */ | ||||
| int get_subuid_ranges(const char *owner, struct subordinate_range ***ranges); | ||||
| int get_subuid_ranges(const char *owner, struct subid_range **ranges); | ||||
|  | ||||
| /* | ||||
|  * get_subgid_ranges: return a list of GID ranges for a user | ||||
|  * | ||||
|  * @owner: username being queried | ||||
|  * @ranges: a pointer to a subordinate range ** in which the result will be | ||||
|  *          returned. | ||||
|  * @ranges: a pointer to an array of subid_range structs in which the result | ||||
|  *          will be returned. | ||||
|  * | ||||
|  * The caller must free(ranges) when done. | ||||
|  * | ||||
|  * returns: number of ranges found, ir < 0 on error. | ||||
|  */ | ||||
| int get_subgid_ranges(const char *owner, struct subordinate_range ***ranges); | ||||
|  | ||||
| /* | ||||
|  * subid_free_ranges: free an array of subordinate_ranges returned by either | ||||
|  *                    get_subuid_ranges() or get_subgid_ranges(). | ||||
|  * | ||||
|  * @ranges: the ranges to free | ||||
|  * @count: the number of ranges in @ranges | ||||
|  */ | ||||
| void subid_free_ranges(struct subordinate_range **ranges, int count); | ||||
| int get_subgid_ranges(const char *owner, struct subid_range **ranges); | ||||
|  | ||||
| /* | ||||
|  * get_subuid_owners: return a list of uids to which the given uid has been | ||||
|   | ||||
		Reference in New Issue
	
	Block a user