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?