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
+* 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
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)
%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
%{_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
+* 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
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)
%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
%{_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
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 */
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,