Update systemd configuration 83/122483/2
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Fri, 31 Mar 2017 14:54:16 +0000 (16:54 +0200)
committerBartlomiej Grzelewski <b.grzelewski@samsung.com>
Fri, 31 Mar 2017 16:43:44 +0000 (18:43 +0200)
Change-Id: I8f20ce296a0086f912b3d0d19427a6607447005c

packaging/askuser-notification.spec
src/common/protocol/ask-user-client.cpp
src/common/protocol/ask-user-config.cpp
src/common/protocol/ask-user-config.h
src/common/protocol/channel.cpp
systemd/CMakeLists.txt
systemd/askuser-notification-datagram.socket [new file with mode: 0644]
systemd/askuser-notification-stream.socket [new file with mode: 0644]
systemd/askuser-notification.socket [deleted file]

index 46137d5..4afff5c 100644 (file)
@@ -62,9 +62,10 @@ rm -rf %{buildroot}
 
 %if %{with_systemd_daemon}
 mkdir -p %{buildroot}/%{_unitdir_user}/default.target.wants
-mkdir -p %{buildroot}/%{_unitdir_user}/socket.target.wants
+mkdir -p %{buildroot}/%{_unitdir_user}/sockets.target.wants
 ln -s ../askuser-notification.service %{buildroot}/%{_unitdir_user}/default.target.wants/askuser-notification.service
-ln -s ../askuser-notification.socket %{buildroot}/%{_unitdir_user}/socket.target.wants/askuser-notification.socket
+ln -s ../askuser-notification-stream.socket %{buildroot}/%{_unitdir_user}/sockets.target.wants/askuser-notification-stream.socket
+ln -s ../askuser-notification-datagram.socket %{buildroot}/%{_unitdir_user}/sockets.target.wants/askuser-notification-datagram.socket
 %endif
 
 %post
@@ -82,8 +83,9 @@ systemctl daemon-reload
 %attr(755,root,root) /usr/bin/askuser-notification
 %if %{with_systemd_daemon}
 %{_unitdir_user}/askuser-notification.service
-%{_unitdir_user}/askuser-notification.socket
+%{_unitdir_user}/askuser-notification-stream.socket
+%{_unitdir_user}/askuser-notification-datagram.socket
 %{_unitdir_user}/default.target.wants/*
-%{_unitdir_user}/socket.target.wants/*
+%{_unitdir_user}/sockets.target.wants/*
 %endif
 /usr/share/askuser-notification/res/*
index b30f45c..f29ad1a 100644 (file)
@@ -41,9 +41,8 @@ int popup_launch(const std::string &pkgName,
                  int &result)
 {
     try {
-        std::string path = SOCKET_STREAM_PATH + "." + std::to_string(uid);
         Sock s(Sock::CLI_STREAM);
-        if (0 > s.connect(path))
+        if (0 > s.connect(getStreamSocketPath(uid)))
             return -1;
 
         std::stringstream ss;
@@ -89,9 +88,8 @@ int toast_deny(const std::string &pkgName,
                const std::string &privilege)
 {
     try {
-        std::string path = SOCKET_DGRAM_PATH + "." + std::to_string(uid);
         Sock s(Sock::CLI_DGRAM);
-        if (0 > s.connect(path))
+        if (0 > s.connect(getDatagramSocketPath(uid)))
             return -1;
 
         std::string str = std::to_string(MSGID_TOAST1) + " " + pkgName + " " + appName + " " + std::to_string(uid) + " " + privilege;
@@ -104,9 +102,8 @@ int toast_deny(const std::string &pkgName,
 
 int toast_fail_launch(const std::string &pkgName, const std::string &appName, uid_t uid) {
     try {
-        std::string path = SOCKET_DGRAM_PATH + "." + std::to_string(uid);
         Sock s(Sock::CLI_DGRAM);
-        if (0 > s.connect(path))
+        if (0 > s.connect(getDatagramSocketPath(uid)))
             return -1;
 
         std::string str = std::to_string(MSGID_TOAST2) + " " + pkgName + " " + appName + " " + std::to_string(uid);
index 415f1a5..a7ab80d 100644 (file)
  */
 #include <ask-user-config.h>
 
-const std::string SOCKET_STREAM_PATH("/tmp/ask-user-stream");
-const std::string SOCKET_DGRAM_PATH("/tmp/ask-user-dgram");
+namespace {
+const std::string USER_EXT_PATH("/run/user_ext/");
+const std::string SOCKET_STREAM_NAME("/askuser-notification-stream.socket");
+const std::string SOCKET_DGRAM_NAME("/askuser-notification-datagram.socket");
+} // namespace anonymous
+
+std::string getDatagramSocketPath(uid_t uid) {
+    return USER_EXT_PATH + std::to_string(uid) + SOCKET_STREAM_NAME;
+}
+
+std::string getStreamSocketPath(uid_t uid) {
+    return USER_EXT_PATH + std::to_string(uid) + SOCKET_DGRAM_NAME;
+}
 
-//const int MSGID_POPUP = 1;
-//const int MSGID_TOUST1 = 2;
-//const int MSGID_TOUST2 = 3;
-//
index 0205bb3..7b77be4 100644 (file)
 #pragma once
 
 #include <string>
-
-extern const std::string SOCKET_STREAM_PATH;
-extern const std::string SOCKET_DGRAM_PATH;
+#include <sys/types.h>
 
 // We want to use it constat expressions (this is the reason why it's not in cpp file
 const int MSGID_POPUP = 1;
 const int MSGID_TOAST1 = 2;
 const int MSGID_TOAST2 = 3;
 
+std::string getDatagramSocketPath(uid_t uid);
+std::string getStreamSocketPath(uid_t uid);
+
index 657252c..d320e38 100644 (file)
@@ -34,11 +34,8 @@ void Channel::init() {
     Sock stream(Sock::SRV_STREAM);
     Sock datagram(Sock::SRV_DGRAM);
 
-    uid_t uid = getuid();
-    std::string path = SOCKET_STREAM_PATH + "." + std::to_string(uid);
-    stream.connect(path);
-    path = SOCKET_DGRAM_PATH + "." + std::to_string(uid);
-    datagram.connect(path);
+    stream.connect(getStreamSocketPath(getuid()));
+    datagram.connect(getDatagramSocketPath(getuid()));
 
     int fd1 = stream.getFd();
     int fd2 = datagram.getFd();
index 13e8559..334c3c7 100644 (file)
@@ -27,7 +27,8 @@ ENDIF (BUILD_ASKUSER)
 IF (BUILD_ASKUSER_NOTIFICATION)
 INSTALL(FILES
     ${CMAKE_SOURCE_DIR}/systemd/askuser-notification.service
-    ${CMAKE_SOURCE_DIR}/systemd/askuser-notification.socket
+    ${CMAKE_SOURCE_DIR}/systemd/askuser-notification-stream.socket
+    ${CMAKE_SOURCE_DIR}/systemd/askuser-notification-datagram.socket
     DESTINATION
     lib/systemd/user
 )
diff --git a/systemd/askuser-notification-datagram.socket b/systemd/askuser-notification-datagram.socket
new file mode 100644 (file)
index 0000000..bef0569
--- /dev/null
@@ -0,0 +1,8 @@
+[Socket]
+ListenDatagram=/run/user_ext/%U/askuser-notification-datagram.socket
+SocketMode=0770
+
+Service=askuser-notification.service
+
+[Install]
+WantedBy=sockets.target
diff --git a/systemd/askuser-notification-stream.socket b/systemd/askuser-notification-stream.socket
new file mode 100644 (file)
index 0000000..263a64a
--- /dev/null
@@ -0,0 +1,8 @@
+[Socket]
+ListenStream=/run/user_ext/%U/askuser-notification-stream.socket
+SocketMode=0770
+
+Service=askuser-notification.service
+
+[Install]
+WantedBy=sockets.target
diff --git a/systemd/askuser-notification.socket b/systemd/askuser-notification.socket
deleted file mode 100644 (file)
index 194ab60..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[Socket]
-ListenStream=/run/user_ext/%U/askuser-notification.socket
-SocketMode=0770
-
-Service=askuser-notification.service
-ExecStartPost=/usr/bin/chmod 0666 /run/user_ext/%U/askuser-notification.socket
-
-[Install]
-WantedBy=sockets.target