--- /dev/null
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
+auth include system-auth
+account required pam_nologin.so
+account include system-auth
+password include system-auth
+
+session include system-auth
+session required pam_systemd.so
+session required pam_loginuid.so
+session required pam_namespace.so
+session optional pam_keyinit.so force revoke
+* Mon May 5 2014 Jussi Laako <jussi.laako@linux.intel.com>
+- Add PAM configuration file
+- Fix omitted password PAM chatter
+
* Wed Apr 30 2014 Jussi Laako <jussi.laako@linux.intel.com>
- Update default configurations
Name: tlm
Summary: Login manager for Tizen
Version: 0.0.2
-Release: 3
+Release: 4
Group: System/Service
License: LGPL-2.1+
Source: %{name}-%{version}.tar.gz
%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}%{_sysconfdir}/pam.d
+install -m 644 data/tlm-login %{buildroot}%{_sysconfdir}/pam.d/
cp -a %{SOURCE1001} %{buildroot}%{_datadir}/%{name}.manifest
%{_libdir}/%{name}/plugins/*.so*
%{_libdir}/systemd/system/tlm.service
%config(noreplace) %{_sysconfdir}/tlm.conf
+%config %{_sysconfdir}/pam.d/tlm-login
%files devel
struct pam_response *resp = *resps + i;
const char *login_prompt = "login";
const char *pwd_prompt = "Password";
+ const char *luname = auth_session->priv->username ?
+ auth_session->priv->username : "";
+ const char *lpasswd = auth_session->priv->password ?
+ auth_session->priv->password : "";
DBG (" message string : '%s'", msg->msg);
if (resp) {
if (msg->msg_style == PAM_PROMPT_ECHO_ON &&
strncmp(msg->msg, login_prompt, strlen(login_prompt)) == 0) {
DBG (" login prompt");
- resp->resp = strndup (auth_session->priv->username,
- PAM_MAX_RESP_SIZE - 1);
+ resp->resp = strndup (luname, PAM_MAX_RESP_SIZE - 1);
if (resp->resp) resp->resp[PAM_MAX_RESP_SIZE - 1] = '\0';
}
else if (msg->msg_style == PAM_PROMPT_ECHO_OFF &&
strncmp(msg->msg, pwd_prompt, strlen(pwd_prompt)) == 0) {
DBG (" password prompt");
- resp->resp = strndup ("", PAM_MAX_RESP_SIZE - 1);
+ resp->resp = strndup (lpasswd, PAM_MAX_RESP_SIZE - 1);
if (resp->resp) resp->resp[PAM_MAX_RESP_SIZE - 1] = '\0';
}
else {