]> granicus.if.org Git - sudo/commitdiff
Don't emit an empty sudoRole for global defaults if there are none.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Fri, 2 Mar 2018 17:59:19 +0000 (10:59 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Fri, 2 Mar 2018 17:59:19 +0000 (10:59 -0700)
plugins/sudoers/cvtsudoers_ldif.c
plugins/sudoers/regress/sudoers/test2.ldif.ok
plugins/sudoers/regress/sudoers/test3.ldif.ok
plugins/sudoers/regress/sudoers/test6.ldif.ok

index f44d6e71f05adc13f14c7b12c3fae566d23033df..33a8654385dfab0bbba97aaa56ccd8a228afe01b 100644 (file)
@@ -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);
index 4c47b478e4845691a30ce7f16fbd5eae8371b5b6..9823707a9ba06c5667bed3ec87c239be6f8ffc13 100644 (file)
@@ -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
index 2184f2b1714d5af03423287a3f733a857f150304..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -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
-
index 6703fa2a1f0178061012ea2eca2621cbca685337..5ca28d10a94334488c79c82e0070a6b33edefb4d 100644 (file)
@@ -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