]> granicus.if.org Git - sudo/commitdiff
Add debug printfs around group list retrieval.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Fri, 1 Dec 2017 19:58:37 +0000 (12:58 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Fri, 1 Dec 2017 19:58:37 +0000 (12:58 -0700)
src/sudo.c

index 2d516fde93f7f487a60bd619cbead08a082f8e61..bde103b1d38f36c659fbd514f43150b59a239b99 100644 (file)
@@ -421,6 +421,15 @@ fill_group_list(struct user_details *ud, int system_maxgroups)
 #endif /* HAVE_GETGROUPLIST_2 */
     }
 done:
+    if (ret == -1) {
+       sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO,
+           "%s: %s: unable to get groups via getgrouplist()",
+           __func__, ud->username);
+    } else {
+       sudo_debug_printf(SUDO_DEBUG_INFO,
+           "%s: %s: got %d groups via getgrouplist()",
+           __func__, ud->username, ud->ngroups);
+    }
     debug_return_int(ret);
 }
 
@@ -446,8 +455,15 @@ get_user_groups(struct user_details *ud)
                if (ud->groups == NULL)
                    goto oom;
                if (getgroups(ud->ngroups, ud->groups) < 0) {
+                   sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_ERRNO,
+                       "%s: %s: unable to get %d groups via getgroups()",
+                       __func__, ud->username, ud->ngroups);
                    free(ud->groups);
                    ud->groups = NULL;
+               } else {
+                   sudo_debug_printf(SUDO_DEBUG_INFO,
+                       "%s: %s: got %d groups via getgroups()",
+                       __func__, ud->username, ud->ngroups);
                }
            }
        }