Xref: utzoo comp.protocols.tcp-ip:2484 comp.protocols.misc:222 comp.protocols.iso:37 comp.protocols.ibm:79 comp.unix.questions:5517 comp.dcom.lans:1020 comp.os.vms:4598 Path: utzoo!utgpu!water!watmath!clyde!rutgers!mailrus!nrl-cmf!cmcl2!brl-adm!umd5!trantor.umd.edu!chris From: chris@trantor.umd.edu (Chris Torek) Newsgroups: comp.protocols.tcp-ip,comp.protocols.misc,comp.protocols.iso,comp.protocols.ibm,comp.unix.questions,comp.dcom.lans,comp.os.vms Subject: Re: Pass an open socket to another process???? Keywords: sockets Message-ID: <2281@umd5.umd.edu> Date: 12 Feb 88 04:29:51 GMT References: <291@tifsil.UUCP> <633@eden.quintus.UUCP> <22952@ucbvax.BERKELEY.EDU> Sender: ris@umd5.umd.edu Reply-To: chris@trantor.umd.edu (Chris Torek) Organization: University of Maryland, College Park Lines: 22 In article <22952@ucbvax.BERKELEY.EDU> sklower@sequoia.Berkeley.EDU.UUCP ----? (Keith Sklower) writes: >4.2 and 4.3 BSD provide a means of passing an open file descriptor >of any sort (including sockets) between two co-operating processes >by means of the sendmsg system call. Beware, however, of some rather serious bugs in the implementation in 4.2BSD. For instance, using MSG_PEEK with recvmsg() on a message with rights can cause multiple acceptance of the passed file descriptor, resulting in eventual file system corruption (without the closef firewall) or a panic (with the firewall). All of this is fixed in 4.3BSD (with the possible exception of the fd garbage collection code---try not to send pipe descriptors to yourself over those pipe descriptors, please). Which SunOS releases may have which bugs I cannot say. -- In-Real-Life: Chris Torek, Univ of MD Computer Science, +1 301 454 7163 (hiding out on trantor.umd.edu until mimsy is reassembled in its new home) Domain: chris@mimsy.umd.edu Path: not easily reachable