The message below went to [EMAIL PROTECTED] yesterday. A number of people I expected to see it evidently did not. Please pardon the scattershot approach. W. ---- The ucspi-ipc-0.50 package is now available. Please see the ucspi-ipc home page: http://www.superscript.com/ucspi-ipc/intro.html ucspi-ipc is an UCSPI protocol for the local domain. It requires an implementation of getpeereid() to allow servers to obtain the credentials of clients that request connections. It includes tools similar to those in ucspi-tcp: ipcserver, ipcrules, ipcrulescheck, and ipcclient. Documentation is available via the ucspi-ipc home page. The current ucspi-ipc package includes implementations of getpeereid() for: * Linux kernels that support SO_PEERCRED with getsockopt(). * OpenBSD 2.6 with experimental extensions. I'll make the kernel modifications available as soon as possible. There is a mailing list for discussion of ucspi-ipc and other UCSPI protocols: [EMAIL PROTECTED] In a remarkable and amusing coincidence, Bruce Guenter released his ucspi-unix only yesterday. See http://em.ca/~bruceg/ucspi-unix/ While ucspi-unix and ucspi-ipc are similar in concept, the implementations are completely different. For example, ucspi-ipc is a djblib-based project; that is, it borrows heavily from actual DJB source code. Evidently, Bruce and I duplicated one another's efforts to some degree. If you have registered or implemented an UCSPI protocol, please share the protocol description with the ucspi mailing list. The description for ucspi-ipc appears below. W. ---- IPC UCSPI protocol definition Copyright 2000 SuperScript Technology, Inc. [EMAIL PROTECTED] This document defines the IPC protocol for UCSPI-1996 tools. An IPC client communicates with a IPC server on the same machine through a local-domain stream socket. The descriptors passed to an UCSPI application are copies of that socket, dup()ed from a single connect() or accept(). [address] consists of one argument: [path]. A [path] is a file name associated with a local-domain socket. The server sets up the following environment variables: PROTO: the string IPC IPCLOCALPATH: the local path identifying the local-domain socket IPCREMOTEPATH: the remote path identifying the local-domain socket IPCREMOTEEUID: the remote effective user id IPCREMOTEEGID: the remote effective group id The client sets up the following environment variables: PROTO: the string IPC IPCLOCALPATH: the local path identifying the local-domain socket