From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-4.5 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 Received: by atuin.qyliss.net (Postfix, from userid 496) id 3B4A88321; Fri, 19 Mar 2021 02:54:31 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id B5D848303; Fri, 19 Mar 2021 02:54:20 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 598268296; Fri, 19 Mar 2021 02:54:17 +0000 (UTC) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by atuin.qyliss.net (Postfix) with ESMTPS id CBE9A8295 for ; Fri, 19 Mar 2021 02:54:12 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 6F5545C00F8 for ; Thu, 18 Mar 2021 22:54:08 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Thu, 18 Mar 2021 22:54:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:subject:date:message-id:mime-version :content-transfer-encoding; s=fm2; bh=v+wwMDPL6H8WmVMmdFH93jeD0D /0B0cpea3XK15kVag=; b=DowdjV72X0ECy0+svysbQl0kgwOdiRS00MSdcSB2jL vOXYL3AuFcRc5ASJm/nN395u2ja05+tD0cc+Tg8rT9T8kKCQwq/bjoOrhLtq8nky 19kk/V5za6syFxgOsrNwgf3DxB4PkHxonZV3wlGGsjZDmhSG1Y7U+vLcQLTlPaKy sl1HYZpaC/wp33Naukf6eNrZQreeM3L1UbLsU3fRUJU5uBcEYlx9O/arvH/Uv7Wq agef5QeLUpUuyykbdXenHZmqNrtxnvhzZPvm3Wy5aIJ0dNQqmwSkslYDzks0fVdc 8yUNZaQZ+PkkLUTWUHimFMpcxke4RSZCrGBdgeddKTSg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=v+wwMDPL6H8WmVMmd FH93jeD0D/0B0cpea3XK15kVag=; b=gaE4TcxL4mfFAPDXLgqLkoDFVdTfs54IH la9S07+/YPZIoGKdsvvUovSbkQc9kWfcZdlVKt0U67kEKo3cjnbM+Ew+rWywkKGr Y5lcCP6hlYZee0fDYQ3uOuEeHii7Gs3vfmxE1BMgJbszpYS9OuCUsa3TvN3iRPnb KmFB9dvNXM7FgLr3QkH5fMJsPlSGbjGBKkHHIQrPcgayT5yiDy/bThaItjm9C8io bhI7X5ygUKcWRfsbHXJl1IzTfoCmAUNRKOfOIemMVCnCi4aoYF2+j3meBodREzrN PxdXWS0h3qwChzFnCgqbY9+W1jj095H+meo6lC7nUU8fLknozfYBQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrudefjedghedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkofgggfestdekredtre dttdenucfhrhhomheptehlhihsshgrucftohhsshcuoehhihesrghlhihsshgrrdhisheq necuggftrfgrthhtvghrnhepkefgueekieefvdduieeugfeiheektdeutdejledujedvvd ehteejkedttddvkeevnecuffhomhgrihhnpehskhgrrhhnvghtrdhorhhgnecukfhppeek gedrudekgedrvdefvddrudektdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh epmhgrihhlfhhrohhmpehqhihlihhsshesgidvvddtrdhqhihlihhsshdrnhgvth X-ME-Proxy: Received: from x220.qyliss.net (p54b8e8b4.dip0.t-ipconnect.de [84.184.232.180]) by mail.messagingengine.com (Postfix) with ESMTPA id 8208E240054 for ; Thu, 18 Mar 2021 22:54:07 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id 1A75F1DFE; Fri, 19 Mar 2021 02:54:05 +0000 (UTC) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH ucspi-vsock 0/7] Extract vsockserver-socketbinder and vsockserverd Date: Fri, 19 Mar 2021 02:53:42 +0000 Message-Id: <20210319025349.8839-1-hi@alyssa.is> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: W4SFMOB4BNKOU2QGD3GWQVH6PUOCLP6Z X-Message-ID-Hash: W4SFMOB4BNKOU2QGD3GWQVH6PUOCLP6Z X-MailFrom: qyliss@x220.qyliss.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.3.1 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This series breaks vsockserver apart into two smaller programs, vsockserver-socketbinder and vsockserverd. vsockserver-socketbinder binds and listens on an AF_VSOCK socket and then execs into another program with the socket as stdin. vsockserverd accepts connections to a socket provided on stdin, and for each connection runs a program with the connection socket on stdin and stdout. vsockserver is replaced with a program that builds an argv that just combines these two smaller programs and execs into it. This design is based on s6[1]'s s6-ipcserver, s6-ipcserver-socketbinder, and s6-ipcserverd programs. [1]: https://skarnet.org/software/s6/ [2]: https://skarnet.org/software/s6-rc/ Alyssa Ross (7): vsock: get cid and port instead of just cid vsock: check socket family before reading sockaddr vsockserver: switch to a non-blocking socket configure: create, to generate config.h log: add die function exec: add execzp() Extract vsockserver-socketbinder and vsockserverd .gitignore | 7 +- Makefile | 33 -------- Makefile.in | 47 +++++++++++ configure | 49 ++++++++++++ exec.c | 22 +++++ exec.h | 7 ++ log.c | 10 +++ log.h | 8 +- vsock.c | 32 ++++++-- vsock.h | 14 +++- vsockserver-socketbinder.c | 86 ++++++++++++++++++++ vsockserver.c | 137 +++++++++++++++----------------- vsockserver.c => vsockserverd.c | 73 +++++++++-------- 13 files changed, 368 insertions(+), 157 deletions(-) delete mode 100644 Makefile create mode 100644 Makefile.in create mode 100755 configure create mode 100644 exec.c create mode 100644 exec.h create mode 100644 vsockserver-socketbinder.c copy vsockserver.c => vsockserverd.c (55%) -- 2.30.0