File util-linux-uuidd-prevent-root-owning.patch of Package python-libmount.31381

Prevent root owning of /var/lib/libuuid/clock.txt

Just after the installation, calling uuid_generate_time() or
uuid_generate_time_safe() as root may create root owned
/var/lib/libuuid/clock.txt, which makes it unusable for uuidd.

To reproduce:
zypper rm uuidd
zypper in uuidd
uuidgen --time
ls -l /var/lib/libuuid/clock.txt
rcuuidd start
ls -l /var/lib/libuuid/clock.txt

Before:
-rw-rw---- 1 root root 56 Mar  4 17:24 /var/lib/libuuid/clock.txt

After (with the patch):
-rw-rw---- 1 uuidd uuidd 56 Mar  4 17:30 /var/lib/libuuid/clock.txt

Index: util-linux-2.31.1/misc-utils/uuidd.service.in
===================================================================
--- util-linux-2.31.1.orig/misc-utils/uuidd.service.in
+++ util-linux-2.31.1/misc-utils/uuidd.service.in
@@ -3,6 +3,7 @@ Description=Daemon for generating UUIDs
 Requires=uuidd.socket
 
 [Service]
+ExecStartPre=+-@CHOWN@ uuidd:uuidd /var/lib/libuuid/clock.txt
 ExecStart=@usrsbin_execdir@/uuidd --socket-activation
 Restart=no
 User=uuidd
Index: util-linux-2.31.1/configure.ac
===================================================================
--- util-linux-2.31.1.orig/configure.ac
+++ util-linux-2.31.1/configure.ac
@@ -99,6 +99,8 @@ AS_CASE([$libdir],
 )
 AC_SUBST([usrlib_execdir])
 
+AC_PATH_PROG([CHOWN], [chown])
+
 
 AM_PROG_CC_C_O
 AC_PROG_MKDIR_P
Index: util-linux-2.31.1/Makefile.am
===================================================================
--- util-linux-2.31.1.orig/Makefile.am
+++ util-linux-2.31.1/Makefile.am
@@ -125,6 +125,7 @@ edit_cmd = sed \
 	 -e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
 	 -e 's|@VERSION[@]|$(VERSION)|g' \
 	 -e 's|@ADJTIME_PATH[@]|$(ADJTIME_PATH)|g' \
+	 -e 's|@CHOWN[@]|$(CHOWN)|g' \
 	 -e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
 	 -e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
 	 -e 's|@LIBMOUNT_MAJOR_VERSION[@]|$(LIBMOUNT_MAJOR_VERSION)|g' \
openSUSE Build Service is sponsored by