From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.130]) by sourceware.org (Postfix) with ESMTPS id DD87C3947406 for ; Thu, 29 Apr 2021 15:18:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DD87C3947406 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=corinna-cygwin@cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MwQCb-1lLhbo1xWX-00sJlD for ; Thu, 29 Apr 2021 17:18:17 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id D1456A80F11; Thu, 29 Apr 2021 17:18:16 +0200 (CEST) Date: Thu, 29 Apr 2021 17:18:16 +0200 From: Corinna Vinschen To: cygwin-developers@cygwin.com Subject: Re: The unreliability of AF_UNIX datagram sockets Message-ID: Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com References: <58da34ac-f2b6-d8b2-e872-834cfcb1ab51@cornell.edu> <6cac30e5-56fc-5bf1-b85b-fe6b91bc5e97@cornell.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Provags-ID: V03:K1:8QpME5EpmuMiE2aFsIl82aEIthNr/fHGumzofk4hsV5JmiXKQ/x v8+UXJlEmMtUDpFjABTJMC38aOxFBxQGslGIe7N6LQEjTxTE5dYneuknKsQxZ4WUWKRxznr p7yoogz09ELE8jWymNfbwj6zG2qlO1tDFoJv4SAuCa6pzCZ6n+bNhMVPAOXjpVxVoi5eEgM vwpAvgDX93VsBwwcrr+JA== X-UI-Out-Filterresults: notjunk:1;V03:K0:ZCszWv1MC3c=:pcp7zF8MSPWJwdCcdD/d9F YF9Y9P1nKJP9BAnIPJ2PsRkcLTBUGvy7hQ8T/ynwnusyZrbu+/1swp74tO6GRCrbrktD6PdCR F74DTU3SCFBOHFcACHF0w7R5uIwZGLWqLIPqE9R4OTvBbtnBqJ8zr9DOENP8gydGVRXYyG6rg lOwmsY6I/xIvXZ1ilMl4bxNdF+RORawIYoDuj8L/H4jW74LLGZrAUWdlKNqTROJfPXINDrNoW xQrJyCtkN63mCzU53UAsDfVQdeh7QF7NbkNNka3ydR6p7v/tYAqarv8AEp4TVtUs6vHlNS+MH tO6Ej8kfL0llwqFPC7HJkUGRc3zdZIJUBjwj034Ddqw5aSAq0iecyW9aGIiYmpdet6lNymxwy y999A7nc7ifvJgtZcyPhdc7Uo79G3NYIRHNsomq3Fw180ZKwaQz2Dcq1I5T+jQ4Bgj5kjve4d oPSk0fP58r21tf0x+op7zQjYo85xsRXkxg52Prrww91vWryEwLzE79fRWo8fY71EOACMHdtoC Go+6ZkKM2TQhRDK0jVlnuc= X-Spam-Status: No, score=-100.1 required=5.0 tests=BAYES_00, GOOD_FROM_CORINNA_CYGWIN, JMQ_SPF_NEUTRAL, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NEUTRAL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Apr 2021 15:18:20 -0000 On Apr 29 17:05, Corinna Vinschen wrote: > On Apr 29 10:38, Ken Brown wrote: > > Sounds great. Thanks. > > Don't start just yet. > > I'm still not quite sure if that's really the way to go. As I see it we > still have something to discuss here. > > For one thing, using native AF_UNIX sockets will split our user base > into two. Those who are not using a recent enough Windows will get the > old code and no descriptor passing. However, if an application has been > built with descriptor passing, it won't work for those running older > Windows versions. I don't think we want that for the distro, or, do we? > > Next problem... implementing actual STREAM sockets. Even using native > AF_UNIX sockets, these, too, would have to encapsulate the actual > payload because of the ancilliary data we want to send with them. > Whether or not we use native AF_UNIX sockets, they won't be compatible > with native applications... While searching the net I found this additional gem of information: Native AF_UNIX sockets don't support abstract sockets. You must bind to a valid path, so you always have a visible file in the filesystem. Discussed here: https://github.com/microsoft/WSL/issues/4240 We could workaround that with our POSIX unlink semantics, probably, but it's YA downside. Corinna