#! /bin/sh /usr/share/dpatch/dpatch-run ## 20_ist_uid_gid.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: No description. @DPATCH@ diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' libapache2-mod-fcgid-2.3.6~/modules/fcgid/mod_fcgid.c libapache2-mod-fcgid-2.3.6/modules/fcgid/mod_fcgid.c --- libapache2-mod-fcgid-2.3.6~/modules/fcgid/mod_fcgid.c 2011-08-19 17:13:22.982605420 +0100 +++ libapache2-mod-fcgid-2.3.6/modules/fcgid/mod_fcgid.c 2011-08-19 17:13:23.435608016 +0100 @@ -35,6 +35,8 @@ #include "fcgid_filter.h" #include "fcgid_protocol.h" #include "fcgid_proc.h" +#include +#include static APR_OPTIONAL_FN_TYPE(ap_cgi_build_command) * cgi_build_command; static ap_filter_rec_t *fcgid_filter_handle; @@ -352,6 +354,8 @@ fcgid_procnode *error_list_header = proctable_get_error_list(); fcgid_procnode *idle_list_header = proctable_get_idle_list(); fcgid_procnode *busy_list_header = proctable_get_busy_list(); + struct passwd *user_info; + struct group *group_info; if ((flags & AP_STATUS_SHORT) || (proc_table == NULL)) return OK; @@ -434,7 +438,15 @@ basename = tmpbasename; ap_rprintf(r, "
\nProcess: %s  (%s)
\n", basename, current_node->cmdline); - + /* Print user/group info */ + user_info = getpwuid(current_node->uid); + group_info = getgrgid(current_node->gid); + if (user_info != NULL && group_info != NULL) + ap_rprintf(r, "User: %s/%s (uid:%d gid:%d)
\n", + user_info->pw_name,group_info->gr_name,current_node->uid, current_node->gid); + else + ap_rprintf(r, "User: (uid:%d gid:%d)
\n", + current_node->uid, current_node->gid); /* Create a new table for this process info */ ap_rputs("\n\n" ""
PidActiveIdle