From 28c7fe4b82d21c82f41231600da078cceec91f33 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Wed, 25 Jun 2008 16:49:15 +0000 Subject: [PATCH] svn merge -r14337:14342 https://eris.llnl.gov/svn/slurm/branches/slurm-1.2 --- src/salloc/opt.c | 7 ++++--- src/sbatch/opt.c | 7 ++++--- src/srun/opt.c | 7 ++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/salloc/opt.c b/src/salloc/opt.c index 7e5992c186f..ce39f6d8649 100644 --- a/src/salloc/opt.c +++ b/src/salloc/opt.c @@ -774,11 +774,15 @@ void set_options(const int argc, char **argv) } break; case LONG_OPT_UID: + if (opt.euid != (uid_t) -1) + fatal ("duplicate --uid option"); opt.euid = uid_from_string (optarg); if (opt.euid == (uid_t) -1) fatal ("--uid=\"%s\" invalid", optarg); break; case LONG_OPT_GID: + if (opt.egid != (gid_t) -1) + fatal ("duplicate --gid option"); opt.egid = gid_from_string (optarg); if (opt.egid == (gid_t) -1) fatal ("--gid=\"%s\" invalid", optarg); @@ -1121,9 +1125,6 @@ static bool _opt_verify(void) if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) opt.gid = opt.egid; - if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) - opt.gid = opt.egid; - if (opt.immediate) { char *sched_name = slurm_get_sched_type(); if (strcmp(sched_name, "sched/wiki") == 0) { diff --git a/src/sbatch/opt.c b/src/sbatch/opt.c index b2e6872b60c..61e604cc69d 100644 --- a/src/sbatch/opt.c +++ b/src/sbatch/opt.c @@ -1170,11 +1170,15 @@ static void _set_options(int argc, char **argv) opt.jobid_set = true; break; case LONG_OPT_UID: + if (opt.euid != (uid_t) -1) + fatal ("duplicate --uid option"); opt.euid = uid_from_string (optarg); if (opt.euid == (uid_t) -1) fatal ("--uid=\"%s\" invalid", optarg); break; case LONG_OPT_GID: + if (opt.egid != (gid_t) -1) + fatal ("duplicate --gid option"); opt.egid = gid_from_string (optarg); if (opt.egid == (gid_t) -1) fatal ("--gid=\"%s\" invalid", optarg); @@ -1886,9 +1890,6 @@ static bool _opt_verify(void) if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) opt.gid = opt.egid; - if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) - opt.gid = opt.egid; - if (opt.immediate) { char *sched_name = slurm_get_sched_type(); if (strcmp(sched_name, "sched/wiki") == 0) { diff --git a/src/srun/opt.c b/src/srun/opt.c index 17d4198111b..4e90b62c8e3 100644 --- a/src/srun/opt.c +++ b/src/srun/opt.c @@ -1353,11 +1353,15 @@ static void set_options(const int argc, char **argv) _get_int(optarg, "max-exit-timeout", true); break; case LONG_OPT_UID: + if (opt.euid != (uid_t) -1) + fatal ("duplicate --uid option"); opt.euid = uid_from_string (optarg); if (opt.euid == (uid_t) -1) fatal ("--uid=\"%s\" invalid", optarg); break; case LONG_OPT_GID: + if (opt.egid != (gid_t) -1) + fatal ("duplicate --gid option"); opt.egid = gid_from_string (optarg); if (opt.egid == (gid_t) -1) fatal ("--gid=\"%s\" invalid", optarg); @@ -2012,9 +2016,6 @@ static bool _opt_verify(void) if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) opt.gid = opt.egid; - if ((opt.egid != (gid_t) -1) && (opt.egid != opt.gid)) - opt.gid = opt.egid; - if (opt.propagate && parse_rlimits( opt.propagate, PROPAGATE_RLIMITS)) { error( "--propagate=%s is not valid.", opt.propagate ); verified = false; -- GitLab