]> granicus.if.org Git - sudo/commitdiff
Display sudoNotBefore and sudoNotAfter in "sudo -l"
authorTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 3 Feb 2018 21:56:00 +0000 (14:56 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 3 Feb 2018 21:56:00 +0000 (14:56 -0700)
plugins/sudoers/ldap.c

index c3cb3fe5381638a37b82af284d35727832952f07..02048808099de9e6ad93c1443e07b717c556b534 100644 (file)
@@ -2490,6 +2490,22 @@ sudo_ldap_display_entry_short(LDAP *ld, LDAPMessage *entry, struct passwd *pw,
     }
     sudo_lbuf_append(lbuf, ") ");
 
+    /* Get the sudoNotBefore and sudoNotAfter Values from the entry */
+    bv = ldap_get_values_len(ld, entry, "sudoNotBefore");
+    if (bv != NULL) {
+       for (p = bv; *p != NULL; p++) {
+           sudo_lbuf_append(lbuf, "NOTBEFORE=%s ", (*p)->bv_val);
+       }
+       ldap_value_free_len(bv);
+    }
+    bv = ldap_get_values_len(ld, entry, "sudoNotAfter");
+    if (bv != NULL) {
+       for (p = bv; *p != NULL; p++) {
+           sudo_lbuf_append(lbuf, "NOTAFTER=%s ", (*p)->bv_val);
+       }
+       ldap_value_free_len(bv);
+    }
+
     /* get the Option Values from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoOption");
     if (bv != NULL) {
@@ -2594,6 +2610,26 @@ sudo_ldap_display_entry_long(LDAP *ld, LDAPMessage *entry, struct passwd *pw,
        sudo_lbuf_append(lbuf, "\n");
     }
 
+    /* Get the sudoNotBefore and sudoNotAfter Values from the entry */
+    bv = ldap_get_values_len(ld, entry, "sudoNotBefore");
+    if (bv != NULL) {
+       sudo_lbuf_append(lbuf, "    NotBefore: ");
+       for (p = bv; *p != NULL; p++) {
+           sudo_lbuf_append(lbuf, "%s%s", p != bv ? ", " : "", (*p)->bv_val);
+       }
+       ldap_value_free_len(bv);
+       sudo_lbuf_append(lbuf, "\n");
+    }
+    bv = ldap_get_values_len(ld, entry, "sudoNotAfter");
+    if (bv != NULL) {
+       sudo_lbuf_append(lbuf, "    NotAfter: ");
+       for (p = bv; *p != NULL; p++) {
+           sudo_lbuf_append(lbuf, "%s%s", p != bv ? ", " : "", (*p)->bv_val);
+       }
+       ldap_value_free_len(bv);
+       sudo_lbuf_append(lbuf, "\n");
+    }
+
     /* get the Option Values from the entry */
     bv = ldap_get_values_len(ld, entry, "sudoOption");
     if (bv != NULL) {