From: Todd C. Miller Date: Fri, 2 Mar 2018 17:59:19 +0000 (-0700) Subject: Don't emit an empty sudoRole for global defaults if there are none. X-Git-Tag: SUDO_1_8_23^2~97 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=44fc165e7c01bdab1c03fd95d08d13a190c78f75;p=sudo Don't emit an empty sudoRole for global defaults if there are none. --- diff --git a/plugins/sudoers/cvtsudoers_ldif.c b/plugins/sudoers/cvtsudoers_ldif.c index f44d6e71f..33a865438 100644 --- a/plugins/sudoers/cvtsudoers_ldif.c +++ b/plugins/sudoers/cvtsudoers_ldif.c @@ -94,9 +94,16 @@ print_options_ldif(FILE *fp, struct defaults_list *options) static bool print_global_defaults_ldif(FILE *fp, const char *base) { + unsigned int count = 0; + struct defaults *opt; debug_decl(print_global_defaults_ldif, SUDOERS_DEBUG_UTIL) - if (TAILQ_EMPTY(&defaults)) + TAILQ_FOREACH(opt, &defaults, entries) { + /* Skip bound Defaults (unsupported). */ + if (opt->type == DEFAULTS) + count++; + } + if (count == 0) debug_return_bool(true); fprintf(fp, "dn: cn=defaults,%s\n", base); diff --git a/plugins/sudoers/regress/sudoers/test2.ldif.ok b/plugins/sudoers/regress/sudoers/test2.ldif.ok index 4c47b478e..9823707a9 100644 --- a/plugins/sudoers/regress/sudoers/test2.ldif.ok +++ b/plugins/sudoers/regress/sudoers/test2.ldif.ok @@ -1,9 +1,3 @@ -dn: cn=defaults,ou=SUDOers,dc=sudo,dc=ws -objectClass: top -objectClass: sudoRole -cn: defaults -description: Default sudoOption's go here - dn: cn=foo,ou=SUDOers,dc=sudo,dc=ws objectClass: top objectClass: sudoRole diff --git a/plugins/sudoers/regress/sudoers/test3.ldif.ok b/plugins/sudoers/regress/sudoers/test3.ldif.ok index 2184f2b17..e69de29bb 100644 --- a/plugins/sudoers/regress/sudoers/test3.ldif.ok +++ b/plugins/sudoers/regress/sudoers/test3.ldif.ok @@ -1,6 +0,0 @@ -dn: cn=defaults,ou=SUDOers,dc=sudo,dc=ws -objectClass: top -objectClass: sudoRole -cn: defaults -description: Default sudoOption's go here - diff --git a/plugins/sudoers/regress/sudoers/test6.ldif.ok b/plugins/sudoers/regress/sudoers/test6.ldif.ok index 6703fa2a1..5ca28d10a 100644 --- a/plugins/sudoers/regress/sudoers/test6.ldif.ok +++ b/plugins/sudoers/regress/sudoers/test6.ldif.ok @@ -1,9 +1,3 @@ -dn: cn=defaults,ou=SUDOers,dc=sudo,dc=ws -objectClass: top -objectClass: sudoRole -cn: defaults -description: Default sudoOption's go here - dn: cn=\#0,ou=SUDOers,dc=sudo,dc=ws objectClass: top objectClass: sudoRole