HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem compiling 4.0pl2 and 4.1b1



On Fri, 30 Jul 1999, Jim Dossey wrote:

> Tim Rice wrote:
> > 
> > On Thu, 29 Jul 1999, Jim Dossey wrote:
> > 
[snip]
> > >
> > > As a side note, I also tried using 4.0pl2 compiled on a 7.0.1 system but
> > > it didn't work.  I ran a truss on it and faxq was getting an EAGAIN
> > > error when it tried to fork.
> > 
> > Make sure your port.h has #define CONFIG_MAXGID 60000
> > That's one of the fixes the uw7 patch has.
> > UnixWare 7 seems to have inherited some bugs from some
> > of the Open Server 5 code.
> 
> After a lot of research, it appears that hylafax has uncovered a bug in
> Unixware 7.1.  Several of the hylafax processes do seteuid()'s before
> fork()ing.  There is an old Unixware bug where root processes honor the
> MAXUP tuneable, which is not supposed to happen.  They have mostly fixed
> it, except when you call seteuid() before a fork().  setuid() works
> okay.  I have submitted a bug report to SCO.  In the mean time, I have
> increased MAXUP to be equal to NPROC.
> 
Interesting.

The CONFIG_MAXGID workaround I was refering to is for a bug that
shows up in the following test program. Opps, memory fault.
The error on that one was EINVAL not EAGAIN.
....
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <limits.h>

main ()
{

        setgid(UID_MAX) ;
        if (open ("./foo", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) == -1 )
                perror ("open:") ;

}
....
> 

It works fine on SCO Open Server 3 (AKA 3.2v4.2) and all UnixWare before
7.0.0 but fails on UnixWare 7.0.0 and later and SCO Open Server 5.

-- 
Tim Rice			Multitalents	(707) 887-1469 (voice)
tim@trr.metro.net





Project hosted by iFAX Solutions