Revert "Enable systemd activation for TCP ports" 21/177921/1
authorAdhavan M <adhavan.m@samsung.com>
Fri, 4 May 2018 10:28:23 +0000 (10:28 +0000)
committerAdhavan M <adhavan.m@samsung.com>
Fri, 4 May 2018 10:28:23 +0000 (10:28 +0000)
This reverts commit 8c8b42c7a78a0604172001e2ce430cab1f95cba7.

Change-Id: I62b5f16f2dfb095a984071ffefceadc08be11c31

packaging/sdbd.spec
packaging/sdbd_tcp.service [new file with mode: 0644]
packaging/sdbd_tcp.socket [deleted file]
src/commandline_sdbd.c
src/sdb_systemd.h [deleted file]
src/transport_local.c

index a114dd8..57a4dbb 100644 (file)
@@ -11,7 +11,7 @@ Source0:    %{name}-%{version}.tar.gz
 Source1001:    sdbd_device.service
 Source1002:    sdbd_emulator.service
 Source1003:    %{name}.manifest
-Source1004:    sdbd_tcp.socket
+Source1004:    sdbd_tcp.service
 Source1005:    sdbd_device_tv.service
 Source1006:    sdbd_emulator_tv.service
 Source1007:    sdbd.socket
@@ -28,7 +28,6 @@ BuildRequires: pkgconfig(vconf)
 BuildRequires: pkgconfig(glib-2.0)
 BuildRequires: pkgconfig(gio-2.0)
 BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(libsystemd)
 Requires: dbus
 Provides:      %{name}-profile_common = %{version}-%{release}
 Provides:      %{name}-profile_mobile = %{version}-%{release}
@@ -90,10 +89,7 @@ ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/emulator_preinit.target.
 
 install -m 0644 %SOURCE1005 %{buildroot}%{_unitdir}/sdbd.service.tv
 install -m 0644 %SOURCE1001 %{buildroot}%{_unitdir}/sdbd.service
-install -m 0644 %SOURCE1004 %{buildroot}%{_unitdir}/sdbd_tcp.socket
-
-install -m 0755 -d %{buildroot}%{_unitdir}/sockets.target.wants/
-ln -s ../sdbd_tcp.socket %{buildroot}%{_unitdir}/sockets.target.wants/
+install -m 0644 %SOURCE1004 %{buildroot}%{_unitdir}/sdbd_tcp.service
 
 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
 install -m 644 rules/99-sdbd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
@@ -135,8 +131,7 @@ chsmack -e "User::Shell" /sbin/sdbd-user
 %attr(0755, root, root) %{_sysconfdir}/init.d/sdbd
 %{_unitdir}/sdbd.service
 %{_unitdir}/sdbd.socket
-%{_unitdir}/sdbd_tcp.socket
-%{_unitdir}/sockets.target.wants/sdbd_tcp.socket
+%{_unitdir}/sdbd_tcp.service
 %{_prefix}/lib/udev/rules.d/99-sdbd.rules
 %{TZ_SYS_BIN}/profile_command
 %{_sysconfdir}/sdbd/descs
diff --git a/packaging/sdbd_tcp.service b/packaging/sdbd_tcp.service
new file mode 100644 (file)
index 0000000..fd5ec24
--- /dev/null
@@ -0,0 +1,16 @@
+[Unit]
+Description=sdbd
+After=default.target
+
+[Service]
+User=sdk
+Group=sdk
+Type=simple
+#If necessary, Put Environment variable settings in a file like below
+#ExecStartPre=/bin/bash -c "/bin/echo 'SDB_TRACE=all SDBD_LOG_PATH=/tmp' >> /tmp/.sdbdlog.conf"
+PIDFile=/tmp/.sdbd.pid
+RemainAfterExit=yes
+SmackProcessLabel=System
+Capabilities=cap_dac_override,cap_setgid,cap_setuid,cap_sys_admin=i
+SecureBits=keep-caps
+ExecStart=/usr/sbin/sdbd --listen-port=26101
diff --git a/packaging/sdbd_tcp.socket b/packaging/sdbd_tcp.socket
deleted file mode 100644 (file)
index 0cfae9c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=sdbd: TCP socket
-
-[Socket]
-ListenStream=26101
-SmackLabelIPIn=*
-SmackLabelIPOut=@
-Service=sdbd.service
-
-[Install]
-WantedBy=sockets.target
index bf57048..eee6ac2 100644 (file)
@@ -16,7 +16,6 @@
 
 #include "commandline_sdbd.h"
 #include "sdb.h"
-#include "sdb_systemd.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -110,8 +109,6 @@ int parse_sdbd_commandline(SdbdCommandlineArgs *sdbd_args, int argc, char *argv[
             if (sscanf(optarg, "%d", &sdbd_args->sdbd_port) < 1) {
                 return SDBD_COMMANDLINE_FAILURE;
             }
-           if (sdb_port_get_tcp_listenfd() != -1)
-                printf("warning: sdb port was provided by systemd but overriden from command line\n");
             print_sdbd_command(stdout, sdbd_args);
             break;
         case ARG_S_HELP:
@@ -142,8 +139,8 @@ void apply_sdbd_commandline_defaults(SdbdCommandlineArgs *sdbd_args) {
     sdbd_args->sdb.host = strdup(QEMU_FORWARD_IP);
     sdbd_args->sdb.port = DEFAULT_SDB_PORT;
 
-    // by default don't listen on local transport (unless systemd passed it)
-    sdbd_args->sdbd_port = sdb_port_try_automatic();
+    // by default don't listen on local transport
+    sdbd_args->sdbd_port = -1;
 }
 
 
diff --git a/src/sdb_systemd.h b/src/sdb_systemd.h
deleted file mode 100644 (file)
index f183389..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef SDB_SYSTEMD_H
-#define SDB_SYSTEMD_H
-
-#ifndef _WIN32
-
-#include <systemd/sd-daemon.h>
-#include <arpa/inet.h>
-#include "sysdeps.h"
-
-
-static int sdb_port_get_tcp_listenfd(void)
-{
-     int fd = -1;
-     int maxfd = sd_listen_fds(0) + SD_LISTEN_FDS_START;
-
-     for (fd = SD_LISTEN_FDS_START; fd < maxfd; fd++) {
-         if (sd_is_socket_inet(fd, AF_INET, SOCK_STREAM, 1, 0) > 0
-             || sd_is_socket_inet(fd, AF_INET6, SOCK_STREAM, 1, 0) > 0) {
-              close_on_exec(fd);
-              return fd;
-         }
-     }
-
-     return -1;
-}
-
-static __inline__ int sdb_port_try_automatic(void)
-{
-     return sd_listen_fds(0) > 0 ? 0 : -1;
-}
-
-#else
-
-static __inline__ int sdb_port_get_tcp_listenfd(void)
-{
-     return -1;
-}
-
-static __inline__ int sdb_port_try_automatic(void)
-{
-     return -1;
-}
-#endif /* _WIN32 */
-
-#endif /* SDB_SYSTEMD_H */
index ab307d5..58a07a4 100644 (file)
@@ -22,8 +22,6 @@
 #include <netdb.h>
 
 #include "sysdeps.h"
-#include "sdb_systemd.h"
-
 #include <sys/types.h>
 
 #ifndef HAVE_WIN32_IPC
@@ -151,7 +149,7 @@ static void *server_socket_thread(void * arg)
     int port = (intptr_t)arg;
 
     D("transport: server_socket_thread() starting\n");
-    serverfd = sdb_port_get_tcp_listenfd();
+    serverfd = -1;
     for(;;) {
         if(serverfd == -1) {
             // socket_inaddr_any_server returns -1 if there is any error