logger: Move dlog_logger's user and group definition to one place 11/167611/2
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 18 Jan 2018 15:36:05 +0000 (16:36 +0100)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Fri, 19 Jan 2018 09:42:14 +0000 (10:42 +0100)
It's now possible to set with which user and group dlog_server will
run using configure's --enable-server-user= and --enable-server-group=
options.

Change-Id: I5f4e1605280c80dfa143856c87a852ebf96a9e7c

Makefile.am
configs/dlog_logger.service.in [moved from configs/dlog_logger.service with 91% similarity]
configure.ac
src/logger/logger.c

index 48023b3..f90b0a6 100644 (file)
@@ -184,7 +184,8 @@ pkgconfig_DATA = dlog.pc
 data_DATA = configs/dlog.conf.test
 
 unitdir = $(prefix)/lib/systemd/system
-unit_DATA = configs/dlog_logger.service \
+nodist_unit_DATA = configs/dlog_logger.service
+unit_DATA = \
        configs/dlog_logger.path \
        configs/dlog_dev-log.socket
 
similarity index 91%
rename from configs/dlog_logger.service
rename to configs/dlog_logger.service.in
index 37118fb..6b7555f 100644 (file)
@@ -10,8 +10,8 @@ Type=notify
 # Setting TZ prevents logger from repeatedly statting /etc/localtime
 # each time it wanted a timestamp, increasing performance.
 #
-User=log
-Group=log
+User=@DLOG_SERVER_USER@
+Group=@DLOG_SERVER_GROUP@
 Environment=TZ=:/etc/localtime
 SmackProcessLabel=System
 ExecStart=/usr/bin/dlog_logger -b 99 -t 600 --no-drop-privileges
index a213196..abc1361 100644 (file)
@@ -39,9 +39,36 @@ PKG_CHECK_MODULES([CAPI_BASE_COMMON], [capi-base-common])
 
 AC_SUBST(TZ_SYS_ETC)
 
+AC_ARG_ENABLE([server-user],
+        AS_HELP_STRING([--enable-server-user=USER], [user dlog_server should run with]),
+        [dlog_server_user=$enableval],
+        [dlog_server_user=log])
+AC_DEFINE_UNQUOTED([DLOG_SERVER_USER], "$dlog_server_user")
+AC_SUBST([DLOG_SERVER_USER], "$dlog_server_user")
+
+AC_ARG_ENABLE([server-group],
+        AS_HELP_STRING([--enable-server-group=GROUP], [group dlog_server should run with]),
+        [dlog_server_group=$enableval],
+        [dlog_server_group=log])
+AC_DEFINE_UNQUOTED([DLOG_SERVER_GROUP], "$dlog_server_group")
+AC_SUBST([DLOG_SERVER_GROUP], "$dlog_server_group")
+
 # output files
 AC_SUBST([datadir])
 AC_SUBST([libexecdir])
 AC_CONFIG_FILES([Makefile dlog.pc]
-                [dlog_test_pipe:tests/dlog_test_pipe.in])
+                [dlog_test_pipe:tests/dlog_test_pipe.in]
+                [configs/dlog_logger.service])
 AC_OUTPUT
+
+AC_MSG_RESULT([
+        $PACKAGE $VERSION
+        =====
+
+        compiler:               ${CC}
+        cflags:                 ${CFLAGS}
+        ldflags:                ${LDFLAGS}
+
+        server's user:          ${dlog_server_user}
+        server's group:         ${dlog_server_group}
+])
index 1447f39..bc99d72 100755 (executable)
@@ -349,7 +349,7 @@ static int change_owners(const char * file, const char * user, const char * grou
 
 /**
  * @brief Reset privileges
- * @details Resets privileges to log,log
+ * @details Resets privileges to those specified at build-time
  * @return 0 on success, else -errno
  */
 static int reset_self_privileges()
@@ -358,7 +358,7 @@ static int reset_self_privileges()
        gid_t gid;
        int r;
 
-       r = usergr2id("log", "log", &uid, &gid);
+       r = usergr2id(DLOG_SERVER_USER, DLOG_SERVER_GROUP, &uid, &gid);
        if (r < 0)
                return r;