The following reply was made to PR general/2468; it has been noted by GNATS.

From: Marc Slemko <[EMAIL PROTECTED]>
To: Jeffrey Mahoney <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: Re: general/2468: initgroups()
Date: Thu, 18 Jun 1998 15:26:10 -0700 (PDT)

 On 18 Jun 1998, Jeffrey Mahoney wrote:
 
 > >Fix:
 > It seems that the initgroups call in http_main.c is comparing the wrong 
 > return value under Digital UNIX.
 > 
 > >From the initgroups() man page:
 > RETURN VALUES
 > 
 >   Upon successful completion, the initgroups() function returns 0 (zero). If
 >   the initgroups() function fails, 1 is returned and errno is set to indicate
 >   the error.
 
 That is bastard.
 
 Are you _sure_ that isn't a -1?
 
 > 
 > >From the http_main.c source:
 >   if (initgroups(name, ap_group_id) == -1) {
 >             ap_log_error(APLOG_MARK, APLOG_ALERT, server_conf,
 >                         "initgroups: unable to set groups for User %s "
 >                         "and Group %u", name, (unsigned)ap_group_id);
 >             clean_child_exit(APEXIT_CHILDFATAL);
 >         }
 > 
 > For Digital UNIX, it should be == 1.
 > 
 > I applied this fix, and the server appears to work. Without this fix, the 
 > server would exit, with error, immediatly.
 
 Erm... that makes no sense.
 
 If it returns 0 on success, and it is succeeding, then the error will not
 be logged because 0 != -1.  So obviously it can't be returning 0 on
 success.  Are you sure you didn't change anything else when you
 recompiled? 
 
 

Reply via email to