Status of innbind and Solaris

Russ Allbery rra at stanford.edu
Wed May 19 20:00:05 UTC 2004


Russ Allbery <rra at stanford.edu> writes:

> Cool, thanks, I'll grab this and take a look.  This may be a much better
> solution, since I think file descriptor passing is fairly portable
> (Apache uses it, for instance).  I hadn't even thought of that.

So, here's an interesting question:

File descriptor passing is very simple on systems that use streams, since
it's just an ioctl that you can use over a pipe.  It's somewhat more
painful on systems without streams, since you then have to create a Unix
domain socket and use sendmsg/recvmsg (although that's not too bad on
systems that support socketpair).

However, I *think* that the reason why the initial implementation of
innbind didn't work on Solaris (and IRIX, among others) is because those
are streams-based rather than socket-based systems.

So there's a possibility that the set of systems that support streams is
exactly the set of systems that innbind won't work on right now, and all I
have to do is just use streams file descriptor passing when binding fails
with permission denied.  That will just fail on systems that are neither
stream-based nor support binding in a setuid child process.

I'm inclined to go that route and then see if INN doesn't work anywhere
after I do that.  Does anyone think it's likely to cause problems?

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list