You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2002/09/10 19:07:30 UTC

perchild under Solaris 8

If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
process, perchild will compile relatively cleanly under Solaris 8 and
result in a binary that actually serves content!! Haven't yet
playing with using the actual uid/gid aspects of perchild yet.

I'm looking to see what affects, if any, adding these by default to
APR and httpd will be... If anyone has some better experience with
these, please let me know :)

The hope is a perchild that runs, and then APR'ising it as much as
possible. The passing might be somewhat doable.
-- 
===========================================================================
   Jim Jagielski   [|]   jim@jaguNET.com   [|]   http://www.jaguNET.com/
      "A society that will trade a little liberty for a little order
             will lose both and deserve neither" - T.Jefferson

Re: perchild under Solaris 8

Posted by Tsuyoshi SASAMOTO <na...@super.win.ne.jp>.
>Looks like we should be using the later, for Unix 95. Doesn't appear that
>we need Unix 98

But... there's no reason to avoid using "-D_XOPEN_SOURCE=500".
I've built perchild httpd with "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__",
and it works well.


Tsuyoshi SASAMOTO
nazonazo@super.win.ne.jp

Re: perchild under Solaris 8

Posted by Jim Jagielski <ji...@jaguNET.com>.
At 2:31 PM +0900 9/11/02, Tsuyoshi SASAMOTO wrote:
> >> >> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
>>> >> process, perchild will compile relatively cleanly under Solaris 8 and
>>> >> result in a binary that actually serves content!!
>
>Please see the standards(5) man page. "-D_XPG4_2" is an internal macro,
>so it shouldn't be defined directly. "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
>should be used instead (or "-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__").

Looks like we should be using the later, for Unix 95. Doesn't appear that
we need Unix 98
-- 
===========================================================================
   Jim Jagielski   [|]   jim@jaguNET.com   [|]   http://www.jaguNET.com/
      "A society that will trade a little liberty for a little order
             will lose both and deserve neither" - T.Jefferson

Re: perchild under Solaris 8

Posted by Tsuyoshi SASAMOTO <na...@super.win.ne.jp>.
>> >> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
>> >> process, perchild will compile relatively cleanly under Solaris 8 and
>> >> result in a binary that actually serves content!!

Please see the standards(5) man page. "-D_XPG4_2" is an internal macro,
so it shouldn't be defined directly. "-D_XOPEN_SOURCE=500 -D__EXTENSIONS__"
should be used instead (or "-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__").
# "-D_XPG4_2" etc. may be defined internally in <sys/feature_tests.h>.

>Yeah, I don't think Solaris uses the same structure/functions for passing
>fd's between processes.

recvmsg(3XNET), which is actually mapped to __xnet_recvmsg(),
has the UNIX95 semantics, and recvmsg(3SOCKET) has the traditional
SunOS4.x semantics. Both can be used for FD passing.


Tsuyoshi SASAMOTO
nazonazo@super.win.ne.jp

Re: perchild under Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
"rbb@apache.org" <rb...@apache.org> wrote:
> 
> Yeah, I don't think Solaris uses the same structure/functions for passing
> fd's between processes.  I had originally planned to use a Solaris box for
> the second port, but I don't have access to one yet.  I keep looking on
> e-bay  for a good x86 box though.

Ryan, send me your SSH key... We have _plenty_ of Solaris boxes (including a
big fat Apache machine handling the bug tracking database!!! :) :) :)

NO EXCUSES! :) :) :)

    Pier


Re: perchild under Solaris 8

Posted by Pier Fumagalli <pi...@betaversion.org>.
"rbb@apache.org" <rb...@apache.org> wrote:
> 
> Yeah, I don't think Solaris uses the same structure/functions for passing
> fd's between processes.  I had originally planned to use a Solaris box for
> the second port, but I don't have access to one yet.  I keep looking on
> e-bay  for a good x86 box though.

Ryan, send me your SSH key... We have _plenty_ of Solaris boxes (including a
big fat Apache machine handling the bug tracking database!!! :) :) :)

NO EXCUSES! :) :) :)

    Pier


Re: perchild under Solaris 8

Posted by rb...@apache.org.
On Tue, 10 Sep 2002, Jim Jagielski wrote:

> At 11:07 AM -0700 9/10/02, Aaron Bannert wrote:
> >On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
> >> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
> >> process, perchild will compile relatively cleanly under Solaris 8 and
> >> result in a binary that actually serves content!! Haven't yet
> >> playing with using the actual uid/gid aspects of perchild yet.
> >>
> >> I'm looking to see what affects, if any, adding these by default to
> >> APR and httpd will be... If anyone has some better experience with
> >> these, please let me know :)
> >
> >If that combo works, great, but I have a feeling it will break some
> >other things. I have a combo somewhere around here that I am using on
> >another module that allows solaris to expose the same file descriptor
> >passing semantics, let me see if I can find it.
> >
> 
> I'm also concerned about breakage... Thing is, we're using msghdr for
> the recvmsg() calls.

Yeah, I don't think Solaris uses the same structure/functions for passing
fd's between processes.  I had originally planned to use a Solaris box for
the second port, but I don't have access to one yet.  I keep looking on
e-bay  for a good x86 box though.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
550 Jean St
Oakland CA 94610
-------------------------------------------------------------------------------


Re: perchild under Solaris 8

Posted by rb...@apache.org.
On Tue, 10 Sep 2002, Jim Jagielski wrote:

> At 11:07 AM -0700 9/10/02, Aaron Bannert wrote:
> >On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
> >> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
> >> process, perchild will compile relatively cleanly under Solaris 8 and
> >> result in a binary that actually serves content!! Haven't yet
> >> playing with using the actual uid/gid aspects of perchild yet.
> >>
> >> I'm looking to see what affects, if any, adding these by default to
> >> APR and httpd will be... If anyone has some better experience with
> >> these, please let me know :)
> >
> >If that combo works, great, but I have a feeling it will break some
> >other things. I have a combo somewhere around here that I am using on
> >another module that allows solaris to expose the same file descriptor
> >passing semantics, let me see if I can find it.
> >
> 
> I'm also concerned about breakage... Thing is, we're using msghdr for
> the recvmsg() calls.

Yeah, I don't think Solaris uses the same structure/functions for passing
fd's between processes.  I had originally planned to use a Solaris box for
the second port, but I don't have access to one yet.  I keep looking on
e-bay  for a good x86 box though.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
550 Jean St
Oakland CA 94610
-------------------------------------------------------------------------------


Re: perchild under Solaris 8

Posted by Jim Jagielski <ji...@jaguNET.com>.
At 11:07 AM -0700 9/10/02, Aaron Bannert wrote:
>On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
>> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
>> process, perchild will compile relatively cleanly under Solaris 8 and
>> result in a binary that actually serves content!! Haven't yet
>> playing with using the actual uid/gid aspects of perchild yet.
>>
>> I'm looking to see what affects, if any, adding these by default to
>> APR and httpd will be... If anyone has some better experience with
>> these, please let me know :)
>
>If that combo works, great, but I have a feeling it will break some
>other things. I have a combo somewhere around here that I am using on
>another module that allows solaris to expose the same file descriptor
>passing semantics, let me see if I can find it.
>

I'm also concerned about breakage... Thing is, we're using msghdr for
the recvmsg() calls.

/*
 * Message header for recvmsg and sendmsg calls.
 */
struct msghdr {
        void            *msg_name;              /* optional address */
        socklen_t       msg_namelen;            /* size of address */
        struct iovec    *msg_iov;               /* scatter/gather array */
        int             msg_iovlen;             /* # elements in msg_iov */

#if defined(_XPG4_2) || defined(_KERNEL)
        void            *msg_control;           /* ancillary data */
        socklen_t       msg_controllen;         /* ancillary data buffer len */
        int             msg_flags;              /* flags on received message */
#else
        caddr_t         msg_accrights;  /* access rights sent/received */
        int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */
};

The __EXTENSIONS__ is required for proctype_t (in various headers)
to be correctly defined :/

-- 
===========================================================================
   Jim Jagielski   [|]   jim@jaguNET.com   [|]   http://www.jaguNET.com/
      "A society that will trade a little liberty for a little order
             will lose both and deserve neither" - T.Jefferson

Re: perchild under Solaris 8

Posted by Jim Jagielski <ji...@jaguNET.com>.
At 11:07 AM -0700 9/10/02, Aaron Bannert wrote:
>On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
>> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
>> process, perchild will compile relatively cleanly under Solaris 8 and
>> result in a binary that actually serves content!! Haven't yet
>> playing with using the actual uid/gid aspects of perchild yet.
>>
>> I'm looking to see what affects, if any, adding these by default to
>> APR and httpd will be... If anyone has some better experience with
>> these, please let me know :)
>
>If that combo works, great, but I have a feeling it will break some
>other things. I have a combo somewhere around here that I am using on
>another module that allows solaris to expose the same file descriptor
>passing semantics, let me see if I can find it.
>

I'm also concerned about breakage... Thing is, we're using msghdr for
the recvmsg() calls.

/*
 * Message header for recvmsg and sendmsg calls.
 */
struct msghdr {
        void            *msg_name;              /* optional address */
        socklen_t       msg_namelen;            /* size of address */
        struct iovec    *msg_iov;               /* scatter/gather array */
        int             msg_iovlen;             /* # elements in msg_iov */

#if defined(_XPG4_2) || defined(_KERNEL)
        void            *msg_control;           /* ancillary data */
        socklen_t       msg_controllen;         /* ancillary data buffer len */
        int             msg_flags;              /* flags on received message */
#else
        caddr_t         msg_accrights;  /* access rights sent/received */
        int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */
};

The __EXTENSIONS__ is required for proctype_t (in various headers)
to be correctly defined :/

-- 
===========================================================================
   Jim Jagielski   [|]   jim@jaguNET.com   [|]   http://www.jaguNET.com/
      "A society that will trade a little liberty for a little order
             will lose both and deserve neither" - T.Jefferson

Re: perchild under Solaris 8

Posted by Aaron Bannert <aa...@clove.org>.
On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
> process, perchild will compile relatively cleanly under Solaris 8 and
> result in a binary that actually serves content!! Haven't yet
> playing with using the actual uid/gid aspects of perchild yet.
> 
> I'm looking to see what affects, if any, adding these by default to
> APR and httpd will be... If anyone has some better experience with
> these, please let me know :)

If that combo works, great, but I have a feeling it will break some
other things. I have a combo somewhere around here that I am using on
another module that allows solaris to expose the same file descriptor
passing semantics, let me see if I can find it.

-aaron

Re: perchild under Solaris 8

Posted by Aaron Bannert <aa...@clove.org>.
On Tue, Sep 10, 2002 at 01:07:30PM -0400, Jim Jagielski wrote:
> If '-D_XPG4_2 -D__EXTENSIONS__' are added to CPPFLAGS during the configure
> process, perchild will compile relatively cleanly under Solaris 8 and
> result in a binary that actually serves content!! Haven't yet
> playing with using the actual uid/gid aspects of perchild yet.
> 
> I'm looking to see what affects, if any, adding these by default to
> APR and httpd will be... If anyone has some better experience with
> these, please let me know :)

If that combo works, great, but I have a feeling it will break some
other things. I have a combo somewhere around here that I am using on
another module that allows solaris to expose the same file descriptor
passing semantics, let me see if I can find it.

-aaron