diff options
author | Andrew G. Morgan <morgan@kernel.org> | 2019-12-23 22:25:46 -0800 |
---|---|---|
committer | Andrew G. Morgan <morgan@kernel.org> | 2019-12-23 22:25:46 -0800 |
commit | d45a3d4812598fc056499fa4622be4af58076bd5 (patch) | |
tree | fa1ffae514e201500eb1269ce9c84f261a488d9e /pam_cap | |
parent | afef3ef1c62613e1cac12a2bbec6017f7d5e033e (diff) | |
download | platform_external_libcap-d45a3d4812598fc056499fa4622be4af58076bd5.tar.gz platform_external_libcap-d45a3d4812598fc056499fa4622be4af58076bd5.tar.bz2 platform_external_libcap-d45a3d4812598fc056499fa4622be4af58076bd5.zip |
Ensure that gcc -std=c89 build works.
We're not using it, but it seems like a small price to
pay for having targets I'm not building regularly
continue to build.
Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
Diffstat (limited to 'pam_cap')
-rw-r--r-- | pam_cap/pam_cap.c | 20 | ||||
-rw-r--r-- | pam_cap/test_pam_cap.c | 26 |
2 files changed, 27 insertions, 19 deletions
diff --git a/pam_cap/pam_cap.c b/pam_cap/pam_cap.c index 58ffe4a..d4c1e65 100644 --- a/pam_cap/pam_cap.c +++ b/pam_cap/pam_cap.c @@ -7,6 +7,8 @@ /* #define DEBUG */ +#define _DEFAULT_SOURCE + #include <errno.h> #include <grp.h> #include <limits.h> @@ -18,6 +20,7 @@ #include <syslog.h> #include <sys/capability.h> #include <sys/types.h> +#include <linux/limits.h> #include <security/pam_modules.h> #include <security/_pam_macros.h> @@ -55,8 +58,8 @@ static int load_groups(const char *user, char ***groups, int *groups_n) { } *groups = calloc(ngrps, sizeof(char *)); - int g_n = 0; - for (int i = 0; i < ngrps; i++) { + int g_n = 0, i; + for (i = 0; i < ngrps; i++) { const struct group *g = getgrgid(grps[i]); if (g == NULL) { continue; @@ -128,7 +131,8 @@ static char *read_capabilities_for_user(const char *user, const char *source) D(("user [%s] is not [%s] - skipping", user, line)); } - for (int i=0; i < groups_n; i++) { + int i; + for (i=0; i < groups_n; i++) { if (!strcmp(groups[i], line+1)) { D(("user group matched [%s]", line)); found_one = 1; @@ -154,7 +158,8 @@ static char *read_capabilities_for_user(const char *user, const char *source) defer: memset(buffer, 0, CAP_FILE_BUFFER_SIZE); - for (int i = 0; i < groups_n; i++) { + int i; + for (i = 0; i < groups_n; i++) { char *g = groups[i]; _pam_overwrite(g); _pam_drop(g); @@ -221,7 +226,7 @@ static int set_capabilities(struct pam_cap_s *cs) goto cleanup_caps; } if (cap_reset_ambient() == 0) { - // Ambient set fully declared by this config. + /* Ambient set fully declared by this config. */ has_ambient = 1; } @@ -241,7 +246,7 @@ static int set_capabilities(struct pam_cap_s *cs) if (has_bound) { bound = calloc(max_caps, sizeof(int)); if (has_ambient) { - // In kernel lineage, bound came first. + /* In kernel lineage, bound came first. */ ambient = calloc(max_caps, sizeof(int)); } } @@ -316,7 +321,8 @@ static int set_capabilities(struct pam_cap_s *cs) if (cap_set_proc(cap_s)) { D(("failed to set specified capabilities: %s", strerror(errno))); } else { - for (cap_value_t c = 0; c < max_caps; c++) { + cap_value_t c; + for (c = 0; c < max_caps; c++) { if (ambient != NULL && ambient[c]) { cap_set_ambient(c, CAP_SET); } diff --git a/pam_cap/test_pam_cap.c b/pam_cap/test_pam_cap.c index 2f519f1..452a27f 100644 --- a/pam_cap/test_pam_cap.c +++ b/pam_cap/test_pam_cap.c @@ -17,15 +17,15 @@ const char *test_users[] = { }; #define n_users sizeof(test_users)/sizeof(*test_users) -// Note about memberships: -// -// user gid suppl groups -// root root -// alpha one two -// beta two three four -// gamma three four five six -// delta four five six seven [eight] -// +/* Note about memberships: + * + * user gid suppl groups + * root root + * alpha one two + * beta two three four + * gamma three four five six + * delta four five six seven [eight] + */ static char *test_user; @@ -76,7 +76,8 @@ struct group *getgrgid(gid_t gid) { static struct passwd pw; struct passwd *getpwnam(const char *name) { - for (int i = 0; i < n_users; i++) { + int i; + for (i = 0; i < n_users; i++) { if (strcmp(name, test_users[i]) == 0) { pw.pw_gid = i; return &pw; @@ -99,7 +100,8 @@ struct passwd *getpwnam(const char *name) { static void load_vectors(unsigned long int bits[3]) { memset(bits, 0, 3*sizeof(unsigned long int)); cap_t prev = cap_get_proc(); - for (int i = 0; i < 64; i++) { + int i; + for (i = 0; i < 64; i++) { unsigned long int mask = (1ULL << i); int v = cap_get_bound(i); if (v < 0) { @@ -160,7 +162,7 @@ int main(int argc, char *argv[]) { exit(1); } - // Now it is time to execute the credential setting + /* Now it is time to execute the credential setting */ load_vectors(before); status = pam_sm_setcred(NULL, PAM_ESTABLISH_CRED, argc-4, |