On Mon, Jun 11, 2001 at 12:38:23AM +0200, Luke Kenneth Casson Leighton wrote: > On Sat, Jun 09, 2001 at 08:30:23AM -0700, [EMAIL PROTECTED] wrote: >... > > BTW, APR already has named pipes. Just what are we trying to solve here?
We only have them implemented for Unix. OS/2 returns an ENOTIMPL and Windows simply doesn't have an implementation for it. > i looked at the named pipe code: i believe that you are thinking > of 'unix' named pipes, which are a totally diffrerent beast > from nt named pipes. Right. I don't recall all the bits about creating named pipes in Windows, but it may be feasible to use the "filename" in the apr_file_namedpipe_create function for the host/name of the pipe in NT. In other words, it may be a simple matter of writing the function for Windows. But then again, the function params may not be rich enough for what is needed. >... > - a means to set up a server and have other programs (not > remote programs) connect to and communicate with that server. > > the semantics must be identical to those of unix-domain-sockets, > namely a listen, bind, accept, read, write and close. I would think you could use named pipes, TCP sockets, or Unix sockets. If the server spawns the programs, then you can also use regular pipes. > - a means to transfer security context between > the server and the 'other programs'. i.e. if the > client program is running as 'foo', then it must be > possible for the server to be 'told' this - _if_ it > needs to know. I do not believe there is a way in any OS to say what *program* you are running (in an authenticated fashion). Reading man pages, it appears Linux 2.2 added a way to send another process the PID, UID, and GID. But that would obviously be non-portable. Cheers, -g -- Greg Stein, http://www.lyra.org/
