summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@infinera.com>2023-11-02 00:00:03 +0100
committerIker Pedrosa <ikerpedrosam@gmail.com>2023-11-13 12:40:48 +0100
commitee3a79c6952f8ca649c286c7f76639d9d1dedaad (patch)
tree7ad9a4fe550c03514a0d3aaf120847cb1a963cca
parenta9e642d444a97f04dcbd75ca3c6d94638c18279d (diff)
Define SUBUID_FILE/SUBGID_FILE
These where hard coded, make them definable like SHADOW_FILE Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
-rw-r--r--lib/defines.h8
-rw-r--r--lib/prefix_flag.c4
-rw-r--r--lib/subordinateio.c6
3 files changed, 13 insertions, 5 deletions
diff --git a/lib/defines.h b/lib/defines.h
index 3a280b3e..66b70b63 100644
--- a/lib/defines.h
+++ b/lib/defines.h
@@ -167,6 +167,14 @@
#define SHADOW_FILE "/etc/shadow"
#endif
+#ifndef SUBUID_FILE
+#define SUBUID_FILE "/etc/subuid"
+#endif
+
+#ifndef SUBGID_FILE
+#define SUBGID_FILE "/etc/subgid"
+#endif
+
#ifdef SHADOWGRP
#ifndef SGROUP_FILE
#define SGROUP_FILE "/etc/gshadow"
diff --git a/lib/prefix_flag.c b/lib/prefix_flag.c
index 80793d0e..9d766818 100644
--- a/lib/prefix_flag.c
+++ b/lib/prefix_flag.c
@@ -125,10 +125,10 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char **
spw_setdbname(spw_db_file);
#ifdef ENABLE_SUBIDS
- xasprintf(&suid_db_file, "%s/%s", prefix, "/etc/subuid");
+ xasprintf(&suid_db_file, "%s/%s", prefix, SUBUID_FILE);
sub_uid_setdbname(suid_db_file);
- xasprintf(&sgid_db_file, "%s/%s", prefix, "/etc/subgid");
+ xasprintf(&sgid_db_file, "%s/%s", prefix, SUBGID_FILE);
sub_gid_setdbname(sgid_db_file);
#endif
diff --git a/lib/subordinateio.c b/lib/subordinateio.c
index 31470c84..5c5c00be 100644
--- a/lib/subordinateio.c
+++ b/lib/subordinateio.c
@@ -210,7 +210,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db,
/*
* We only do special handling for these two files
*/
- if ((0 != strcmp(db->filename, "/etc/subuid")) && (0 != strcmp(db->filename, "/etc/subgid")))
+ if ((0 != strcmp(db->filename, SUBUID_FILE)) && (0 != strcmp(db->filename, SUBGID_FILE)))
return NULL;
/*
@@ -562,7 +562,7 @@ static int remove_range (struct commonio_db *db,
}
static struct commonio_db subordinate_uid_db = {
- "/etc/subuid", /* filename */
+ SUBUID_FILE, /* filename */
&subordinate_ops, /* ops */
NULL, /* fp */
#ifdef WITH_SELINUX
@@ -669,7 +669,7 @@ uid_t sub_uid_find_free_range(uid_t min, uid_t max, unsigned long count)
}
static struct commonio_db subordinate_gid_db = {
- "/etc/subgid", /* filename */
+ SUBGID_FILE, /* filename */
&subordinate_ops, /* ops */
NULL, /* fp */
#ifdef WITH_SELINUX