Updated pam configuration file and fixed bug related to dbus arguments 93/25393/1 accepted/tizen/common/20140804.141734 accepted/tizen/ivi/20140813.180009 submit/tizen/20140804.134115
authorImran Zaman <imran.zaman@intel.com>
Mon, 4 Aug 2014 13:19:13 +0000 (16:19 +0300)
committerImran Zaman <imran.zaman@intel.com>
Mon, 4 Aug 2014 13:19:13 +0000 (16:19 +0300)
Change-Id: I402fbaed678c7b615fe579e850d506c40f24a056
Signed-off-by: Imran Zaman <imran.zaman@intel.com>
data/tlm-login
dists/rpm/tizen/packaging/tlm.changes
dists/rpm/tizen/packaging/tlm.spec
packaging/tlm.changes
packaging/tlm.spec
src/daemon/tlm-session-remote.c
src/sessiond/tlm-session.c

index c921924..0bc8045 100644 (file)
@@ -11,3 +11,4 @@ session         required        pam_systemd.so
 session         required        pam_loginuid.so
 session         required        pam_namespace.so
 session         optional        pam_keyinit.so force revoke
+session         required        pam_smack.so
\ No newline at end of file
index fa8ec49..447b535 100644 (file)
@@ -1,3 +1,6 @@
+* Mon Aug 04 2014 Imran Zaman <imran.zaman@intel.com>
+- Updated pam configuration file and fixed bug related to dbus arguments
+
 * Mon Jul 21 2014 Imran Zaman <imran.zaman@intel.com>
 - Update to 0.0.3; create a new process (tlm-sessiond) for each session
 
index ed1b5fd..dbebc19 100644 (file)
@@ -11,9 +11,10 @@ License: LGPL-2.1+
 Source: %{name}-%{version}.tar.gz
 URL: https://github.com/01org/tlm
 Source1001: %{name}.manifest
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
+Requires(post): /sbin/ldconfig, systemd
+Requires(postun): /sbin/ldconfig, systemd
 Requires: gumd
+Requires: libsystemd
 BuildRequires: pkgconfig(glib-2.0) >= 2.30
 BuildRequires: pkgconfig(gobject-2.0)
 BuildRequires: pkgconfig(gio-2.0)
@@ -64,17 +65,21 @@ make %{?_smp_mflags}
 %install
 rm -rf %{buildroot}
 %make_install
-install -m 755 -d %{buildroot}%{_libdir}/systemd/system
-install -m 644 data/tlm.service %{buildroot}%{_libdir}/systemd/system/
+install -m 755 -d %{buildroot}%{_unitdir}
+install -m 644 data/tlm.service %{buildroot}%{_unitdir}
 install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d
 install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
 
 
 %post
 /sbin/ldconfig
+/usr/bin/systemctl enable tlm
+/usr/bin/systemctl daemon-reload
 
 
 %postun -p /sbin/ldconfig
+/usr/bin/systemctl disable tlm
+/usr/bin/systemctl daemon-reload
 
 
 %files
@@ -86,7 +91,7 @@ install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
 %{_bindir}/%{name}-client
 %{_libdir}/lib%{name}*.so.*
 %{_libdir}/%{name}/plugins/*.so*
-%{_libdir}/systemd/system/tlm.service
+%{_unitdir}/tlm.service
 %config(noreplace) %{_sysconfdir}/tlm.conf
 %config %{_sysconfdir}/pam.d/tlm-login
 
index fa8ec49..447b535 100644 (file)
@@ -1,3 +1,6 @@
+* Mon Aug 04 2014 Imran Zaman <imran.zaman@intel.com>
+- Updated pam configuration file and fixed bug related to dbus arguments
+
 * Mon Jul 21 2014 Imran Zaman <imran.zaman@intel.com>
 - Update to 0.0.3; create a new process (tlm-sessiond) for each session
 
index ed1b5fd..dbebc19 100644 (file)
@@ -11,9 +11,10 @@ License: LGPL-2.1+
 Source: %{name}-%{version}.tar.gz
 URL: https://github.com/01org/tlm
 Source1001: %{name}.manifest
-Requires(post): /sbin/ldconfig
-Requires(postun): /sbin/ldconfig
+Requires(post): /sbin/ldconfig, systemd
+Requires(postun): /sbin/ldconfig, systemd
 Requires: gumd
+Requires: libsystemd
 BuildRequires: pkgconfig(glib-2.0) >= 2.30
 BuildRequires: pkgconfig(gobject-2.0)
 BuildRequires: pkgconfig(gio-2.0)
@@ -64,17 +65,21 @@ make %{?_smp_mflags}
 %install
 rm -rf %{buildroot}
 %make_install
-install -m 755 -d %{buildroot}%{_libdir}/systemd/system
-install -m 644 data/tlm.service %{buildroot}%{_libdir}/systemd/system/
+install -m 755 -d %{buildroot}%{_unitdir}
+install -m 644 data/tlm.service %{buildroot}%{_unitdir}
 install -m 755 -d %{buildroot}%{_sysconfdir}/pam.d
 install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
 
 
 %post
 /sbin/ldconfig
+/usr/bin/systemctl enable tlm
+/usr/bin/systemctl daemon-reload
 
 
 %postun -p /sbin/ldconfig
+/usr/bin/systemctl disable tlm
+/usr/bin/systemctl daemon-reload
 
 
 %files
@@ -86,7 +91,7 @@ install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
 %{_bindir}/%{name}-client
 %{_libdir}/lib%{name}*.so.*
 %{_libdir}/%{name}/plugins/*.so*
-%{_libdir}/systemd/system/tlm.service
+%{_unitdir}/tlm.service
 %config(noreplace) %{_sysconfdir}/tlm.conf
 %config %{_sysconfdir}/pam.d/tlm-login
 
index 63198fe..1f1ea31 100644 (file)
@@ -387,12 +387,15 @@ tlm_session_remote_create (
     GHashTable *environment)
 {
     GVariant *data = NULL;
-
+    gchar *pass = g_strdup (password);
     if (environment) data = tlm_dbus_utils_hash_table_to_variant (environment);
     if (!data) data = g_variant_new ("a{ss}", NULL);
+
+    if (!pass) pass = g_strdup ("");
     tlm_dbus_session_call_session_create (
-            session->priv->dbus_session_proxy, password, data, NULL,
+            session->priv->dbus_session_proxy, pass, data, NULL,
             _session_created_async_cb, session);
+    g_free (pass);
 }
 
 /* signals */
index 9c2339d..dfa0a0b 100644 (file)
@@ -622,11 +622,21 @@ tlm_session_start (TlmSession *session,
        g_return_val_if_fail (session && TLM_IS_SESSION(session), FALSE);
     TlmSessionPrivate *priv = TLM_SESSION_PRIV(session);
 
+    if (!seat_id || !service || !username) {
+        error = TLM_GET_ERROR_FOR_ID (TLM_ERROR_SESSION_CREATION_FAILURE,
+                "Unable to create PAM sesssion as input data is invalid "
+                "seatid(%p) service(%p) username(%p)", seat_id, service,
+                username);
+        g_signal_emit (session, signals[SIG_SESSION_ERROR], 0, error);
+        g_error_free (error);
+        return FALSE;
+    }
+
     g_object_set (G_OBJECT (session), "seat", seat_id, "service", service,
             "username", username, "environment", environment, NULL);
 
-    priv->auth_session = tlm_auth_session_new (priv->service,
-            priv->username, password);
+    priv->auth_session = tlm_auth_session_new (priv->service, priv->username,
+            password);
 
     if (!priv->auth_session) {
        error = TLM_GET_ERROR_FOR_ID (TLM_ERROR_SESSION_CREATION_FAILURE,