From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2133.outbound.protection.outlook.com [40.107.223.133]) by sourceware.org (Postfix) with ESMTPS id D903F3857C68 for ; Thu, 20 May 2021 13:46:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D903F3857C68 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kbrown@cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c7ZjLZ/A2Ovb9Rb4PhHRSyTzPb8USXuAJsmCpGsOWbjcPLfGAVnNhv/s8zbCqbGsu4TCXWP9nIcqqRjPeEQJB8v0slKSoU9UGOJg4D8zVVBXXWqQ/zDjAmDKKvhMVdWO7vj4NMUNduz891XWy+DEC+DAVxBpVK/KT/6N1o0aHALKp9rNTdOxESdYnwoKduJtVNVaph9h6UsmDUtjiQ5LNBm2adq+8N3kVHIyDWetmRGPgzO8Ow/pc7Wn3xZeVPnOag4O5OvaPHCRzvwaQzw6B0x0yg1Razq1qwhFKPr1Bssdhw4x4RSLpgU2/B4vLjFWVMpr7ECe3Zzz6ewLsndC5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZAFe0hpv+YP3ar5L68tqc9uZYuRq6yQIotBNTwTBo50=; b=hLVUIzK6w0CrTsPxXZyefy1fMrJpmUjUnuL9Wcob1/muBU9rwnxPP4SOjyH1h/0I/g0l1Cfwj5A2n3h9OFE2pqLDeJ0lDClRWyuDwoCVMoMQ5ppKT4dWe9FQ8mGigwuhhXUv9vBq+X1sM0cUT7BKutB9rpSWR7r3qlt/KBCSHYKbX4Gc2qmvrZvUs3CLGQp1XIIJ9Wjf+JTjR/xpkKb/T2OZ9QIuWxNzE7UfTv7kzRr3MH3oEbFB2owpaa92inmgpr1hEj8e55F8vxnfxwKIqUNwWi2rG07SOZXwY68NvCL9CYMkIU+MGHn5M63ajrrnk5cMWcSM/ZxcVpyI1tlsRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZAFe0hpv+YP3ar5L68tqc9uZYuRq6yQIotBNTwTBo50=; b=cRMhTMERKZxVW1hUEr5F0M0c3jqBzwcIhN9OdYrpmyRdwscbjIonGeNkxH2Ffi9eTheAJiNz5eOWYWDgKYUEvgmNwUKJBZMsOmYfMoAtx4MvjXSYGFb++5lkE0q0bLQNqT88HBoa/KYJOPulTswQIBYqyHq9PynqmIyHxgroNvk= Authentication-Results: cygwin.com; dkim=none (message not signed) header.d=none;cygwin.com; dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN8PR04MB6066.namprd04.prod.outlook.com (2603:10b6:408:4e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.28; Thu, 20 May 2021 13:46:47 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::d452:659e:43f2:812b]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::d452:659e:43f2:812b%7]) with mapi id 15.20.4129.033; Thu, 20 May 2021 13:46:47 +0000 Subject: Re: The unreliability of AF_UNIX datagram sockets To: cygwin-developers@cygwin.com References: <58da34ac-f2b6-d8b2-e872-834cfcb1ab51@cornell.edu> From: Ken Brown Message-ID: <16e13907-8702-2ca2-a28e-f37f4f7f880c@cornell.edu> Date: Thu, 20 May 2021 09:46:44 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2603:7081:7e41:6a00:2115:c5c7:5102:d53] X-ClientProxiedBy: CH0PR13CA0039.namprd13.prod.outlook.com (2603:10b6:610:b2::14) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2603:7081:7e41:6a00:2115:c5c7:5102:d53] (2603:7081:7e41:6a00:2115:c5c7:5102:d53) by CH0PR13CA0039.namprd13.prod.outlook.com (2603:10b6:610:b2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4173.12 via Frontend Transport; Thu, 20 May 2021 13:46:46 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a3d4c712-3d45-4009-6942-08d91b95b5f8 X-MS-TrafficTypeDiagnostic: BN8PR04MB6066: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OWgIEtlaiQN6ZH9pdgEN70Y54BrxzHzQIYG3WISfWLTxQUUGj49Vies6I2QjtkCfxv8t/IYlTNijSKbTWVTfuo2rvC6yxA+XmXHacl3rghpZTTfKwE5t98eanAR7ajmAfIlJUOVn5ZkBqZx/ZwwtmaqudNpCMAaztemMQAcq5n4o9tUXvDDgPmUItvrdSBwqqWWbR0QnWemH9lI7TGm+tmc4fdYLBeXwdXx6g9r7tPbTREQjlIOIAUUxbqF83hSi9EcSIFwYBqwUtF3IpTPSDT53gqNa1sasi6a2OeJff7j1Pt1S4oA6i6yCOtHN7itJGP/WHs7iGLJtgpFoP9/xbg9lqI438d1PvUMgZ0xE3ndnxIORXV+wwECni9e8BzKTnoHjaZCz2gBbClV59PQWjdpoYjkVLLO4ktEBbwlcOzVEsE3uRkzX9uea/CVKDpzMkNNIPgzOdgRQZ8bABTZx5yZDoR9YKhv9GWgU3gfwMElvS260+OEriA5y2Jb6Zmhll2Bqr+Uxaq+FLDol/4tBoanKeMFr1ZPQw91pctnPCoo6g9UD5oIrBvPWVTTmHP/DcbPlJyi8fX+k+m5NBrw3whuaudOAt45KVLgoHyxjpQyIZ61ooLNvsM0BMQdO7pPb2Ej9b5dvIxVYc107D5ckqVjzbhKzVd/pzochq2GO8pQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(376002)(366004)(136003)(346002)(39860400002)(66946007)(66476007)(66556008)(8676002)(52116002)(38100700002)(36756003)(6916009)(53546011)(478600001)(31696002)(2906002)(86362001)(786003)(83380400001)(8936002)(2616005)(5660300002)(31686004)(16526019)(75432002)(186003)(6486002)(316002)(45980500001)(43740500002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: =?Windows-1252?Q?uRfPWVkat6Ao4e3mDSw5fTrPWn5UcPovA/DRJGWP626ejTmJb7vj22bJ?= =?Windows-1252?Q?gcX1y3MB35IfsLkIuvxPO4oexuiMBCd58Uiyi7EuVFAgxNNB3tAdh6AU?= =?Windows-1252?Q?Oa4nOWJGtI3dszW2YLYS7gkXL4NJu+hBuzD2MSf5EWlvQtrQVWhwkgH+?= =?Windows-1252?Q?z/ePXwPmrhM8RX4JJ1Jbq4R4//2NPR3yb3PwcHSUdo+QE9wTBE5crHen?= =?Windows-1252?Q?pAtEL/zOI34PtYeOZuiTyc3wqPdwaicUWPGjqiBknUhws5JdBhBYJXte?= =?Windows-1252?Q?+DgLN5v7HFdV5MPyJ4zQq2iUMb3Otc0kuK5euHEieBe+KAMC8aM85BlO?= =?Windows-1252?Q?iEFGb6e7vCSpZ4ULBi6cGDX8x8FgF4wnKmWQB0Em6PAc/iY0ZpkEXq0S?= =?Windows-1252?Q?qt9Eaackpeszvxwpe7ibuEr9gdW2PQY8iBZL2MJxrv52Oft3XkolfU4G?= =?Windows-1252?Q?Em5+wE9W0D/JOZMq5OBLXo9vLpJl5q2KZxPfEpuZW9qMVvf6hn96zgZD?= =?Windows-1252?Q?L+4a5x0NZyb0npt8snJyGEC//lVqoRSeA6EK2Cq9qAjNlPDwZuR57A1J?= =?Windows-1252?Q?GxZ8Yk2so4/6kBemiEiJhXdYg+jyTP3bpXD8IWn/fN/mD6zDaeHvcKF7?= =?Windows-1252?Q?wLjTdj85ALUDRFkvd25+5evqNV2TZgvR5eVQg2wQAE9RlwEUg9hyE1O0?= =?Windows-1252?Q?u0KJnpTUTgFzb81atMUXS46WlQ83Fecm5q+BZ29wL5k1miOkH/5CgZ5x?= =?Windows-1252?Q?QfYToDlkhethcXHdCOitiRVXmLx65RaRfuGES7WOGlpwdG6SroPqix29?= =?Windows-1252?Q?FXVNg5p7/n2fA15QgLAxytsK4GVpKopci4plzypE0wN5OqJLAx84nokw?= =?Windows-1252?Q?g2HjgVBNHcgW+HBJCKqOC4zTjCoABRxTYh7/KOj79AxhBmJxzvMgA4el?= =?Windows-1252?Q?ZY4/pjn4HWTyS6rLtSM1kem38a8wjqEzA2kD6H9lXmZEl+BJMvmfmrYC?= =?Windows-1252?Q?gYnj+6onLzNvNvlgUNzkRG2QZkOy5H2BA7cfVSOKyvpjX9gHVBLm/3nk?= =?Windows-1252?Q?wTNzPzzh7v+snI2Et5t4Vce1EXJVF6YRVzLS7nMV4NGCOxkudHqT/fZk?= =?Windows-1252?Q?+3WIe4u/4bnEcOlX9b2nf8WWZUPgGYVMtHUt3zKgftqUYdWlP+QCDGCG?= =?Windows-1252?Q?Dq1smJjRl2/AMNiWREZ1X9hQbNqcVsy7sBvaWE0chxjKZkBFW3QdV3I6?= =?Windows-1252?Q?jvLmilb7HQKRkzU0LQGAPvBznQEBvdKhJyN4gF6LNPq1q1Pu933SgTOo?= =?Windows-1252?Q?Kirw/rRqXsglaIIjeq1dHdxw8D+WiSYbmVndqb6LIAOmc3Oowzb7sb86?= =?Windows-1252?Q?ZxSWZnHa/pe2i/iV1XTJ1ogq2nusaZnbUddMicAsQkLbIdjmH9gJ1QR5?= =?Windows-1252?Q?C0BWVAF4D7NC+EuSZsObAL5YqxCY1iyjqtu9aA3qF+JjfvQXDZ3xWf9J?= =?Windows-1252?Q?dgBzgrMn?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: a3d4c712-3d45-4009-6942-08d91b95b5f8 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2021 13:46:46.8207 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BC1pOazsxtdftVKKOUs62Q5RHQYGRwNVxeSg1bkG6jrEccqnqAj0og3qX6+Ggv42ADirlTSqsbR65oKbLy/8rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR04MB6066 X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, MSGID_FROM_MTA_HEADER, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, 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, 20 May 2021 13:46:50 -0000 On 4/29/2021 7:05 AM, Corinna Vinschen wrote: > I think it should be possible to switch to STREAM sockets to emulate > DGRAM semantics. Our advantage is that this is all local. For all > practical purposes there's no chance data gets really lost. Windows has > an almost indefinite send buffer. > > If you look at the STREAM as a kind of tunneling layer for getting DGRAM > messages over the (local) line, the DGRAM content could simply be > encapsulated in a tunnel packet or frame, basically the same way the > new, boring AF_UNIX code does it. A DGRAM message encapsulated in a > STREAM message always has a header which at least contains the length of > the actual DGRAM message. So when the peer reads from the socket, it > always only reads the header until it's complete. Then it knows how > much payload is expected and then it reads until the payload has been > received. I think I'd like to go ahead and try to do this DGRAM emulation in the current (AF_LOCAL) code. It shouldn't be too hard, and it would solve the unreliability problem while we look for a better way to handle AF_UNIX sockets. Ken