From 8c0e34e3a2d10812b8d38d4ea1ebcf3eb7a14ab8 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Tue, 27 Dec 2022 15:09:58 +0900 Subject: [PATCH] include/uipc: Don't store private endpoints in per-user directories Private endpoints are stored in per-user directories that are created when the uipc module is loaded. However, the mode and ownership that the directory is created with may be incorrect, depending on the mode of the parent directory. This commit modifies the uipc module so that endpoints are not created in per-user directories, and moves the necessary directory creation code to the Makefile, where it will be executed during installation. --- Makefile | 3 ++- include/uipc.sh | 11 +---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index d9b2b05..92a0aae 100644 --- a/Makefile +++ b/Makefile @@ -15,8 +15,9 @@ install: mkdir -p $(DESTDIR)/$(PREFIX)/share/toolbox mkdir -p $(DESTDIR)/$(PREFIX)/bin mkdir -p $(DESTDIR)/var/lib/toolbox/ipc/{pub,priv,pubsub} - mkdir -p $(DESTDIR)/var/lib/toolbox/uipc + mkdir -p $(DESTDIR)/var/lib/toolbox/uipc/{pub,priv,pubsub} chmod -R g+rwxs $(DESTDIR)/var/lib/toolbox/ipc + chmod -R g+rwxs $(DESTDIR)/var/lib/toolbox/uipc cp toolbox.sh $(DESTDIR)/$(PREFIX)/share/toolbox/. cp -r include $(DESTDIR)/$(PREFIX)/share/toolbox/. cp -r utils $(DESTDIR)/$(PREFIX)/share/toolbox/. diff --git a/include/uipc.sh b/include/uipc.sh index ad9eb21..6ee8f8d 100644 --- a/include/uipc.sh +++ b/include/uipc.sh @@ -22,19 +22,10 @@ __init() { fi declare -gxr __uipc_root="/var/lib/toolbox/uipc" - declare -gxr __uipc_public="$__uipc_root/pub" - declare -gxr __uipc_private="$__uipc_root/priv/$USER" - declare -gxr __uipc_group="toolbox_ipc" declare -gxr __uipc_pubsub_root="$__uipc_root/pubsub" declare -gxir __uipc_version=1 - if ! mkdir -p "$__uipc_private" || - ! chgrp "$__uipc_group" "$__uipc_private"; then - log_error "Could not initialize private UIPC directory $__uipc_private" - return 1 - fi - return 0 } @@ -259,7 +250,7 @@ uipc_endpoint_open() { local self self="${0##*/}" - name="priv/$USER/$self.$$.$(date +"%s").$RANDOM" + name="priv/$USER.$self.$$.$(date +"%s").$RANDOM" fi endpoint="$__uipc_root/$name" -- 2.47.3