From 4e194560ee8b9b4d099021ac98c6369334b729af Mon Sep 17 00:00:00 2001 From: Adhavan M Date: Fri, 4 May 2018 10:28:23 +0000 Subject: [PATCH] Revert "Enable systemd activation for TCP ports" This reverts commit 8c8b42c7a78a0604172001e2ce430cab1f95cba7. Change-Id: I62b5f16f2dfb095a984071ffefceadc08be11c31 --- packaging/sdbd.spec | 11 +++-------- packaging/sdbd_tcp.service | 16 ++++++++++++++++ packaging/sdbd_tcp.socket | 11 ----------- src/commandline_sdbd.c | 7 ++----- src/sdb_systemd.h | 45 --------------------------------------------- src/transport_local.c | 4 +--- 6 files changed, 22 insertions(+), 72 deletions(-) create mode 100644 packaging/sdbd_tcp.service delete mode 100644 packaging/sdbd_tcp.socket delete mode 100644 src/sdb_systemd.h diff --git a/packaging/sdbd.spec b/packaging/sdbd.spec index a114dd8..57a4dbb 100644 --- a/packaging/sdbd.spec +++ b/packaging/sdbd.spec @@ -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 index 0000000..fd5ec24 --- /dev/null +++ b/packaging/sdbd_tcp.service @@ -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 index 0cfae9c..0000000 --- a/packaging/sdbd_tcp.socket +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=sdbd: TCP socket - -[Socket] -ListenStream=26101 -SmackLabelIPIn=* -SmackLabelIPOut=@ -Service=sdbd.service - -[Install] -WantedBy=sockets.target diff --git a/src/commandline_sdbd.c b/src/commandline_sdbd.c index bf57048..eee6ac2 100644 --- a/src/commandline_sdbd.c +++ b/src/commandline_sdbd.c @@ -16,7 +16,6 @@ #include "commandline_sdbd.h" #include "sdb.h" -#include "sdb_systemd.h" #include #include @@ -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 index f183389..0000000 --- a/src/sdb_systemd.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef SDB_SYSTEMD_H -#define SDB_SYSTEMD_H - -#ifndef _WIN32 - -#include -#include -#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 */ diff --git a/src/transport_local.c b/src/transport_local.c index ab307d5..58a07a4 100644 --- a/src/transport_local.c +++ b/src/transport_local.c @@ -22,8 +22,6 @@ #include #include "sysdeps.h" -#include "sdb_systemd.h" - #include #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 -- 2.7.4