+Overview of changes in lightdm 0.9.7
+
+ * Set PAM_TTY to the display name, not the tty device
+
Overview of changes in lightdm 0.9.6
* Only unlock displays if switched to from greeter
display->priv->start_greeter_if_fail = start_greeter_if_fail;
display->priv->in_user_session = TRUE;
- authentication = pam_session_new (display->priv->pam_autologin_service, username, display->priv->tty, display->priv->xdisplay);
+ authentication = pam_session_new (display->priv->pam_autologin_service, username, display->priv->xdisplay);
g_signal_connect (authentication, "got-messages", G_CALLBACK (autologin_pam_message_cb), display);
g_signal_connect (authentication, "authentication-result", G_CALLBACK (autologin_authentication_result_cb), display);
static PAMSession *
greeter_start_authentication_cb (Greeter *greeter, const gchar *username, Display *display)
{
- return pam_session_new (display->priv->pam_service, username, display->priv->tty, display->priv->xdisplay);
+ return pam_session_new (display->priv->pam_service, username, display->priv->xdisplay);
}
static gboolean
g_free (log_dir);
g_free (filename);
- authentication = pam_session_new (display->priv->pam_service, user_get_name (user), display->priv->tty, display->priv->xdisplay);
+ authentication = pam_session_new (display->priv->pam_service, user_get_name (user), display->priv->xdisplay);
g_object_unref (user);
display->priv->session = create_session (display, authentication, display->priv->greeter_session, TRUE, log_filename);
/* Username when using passwd module */
gchar *username;
- /* TTY */
- gchar *tty;
-
/* X Display */
gchar *xdisplay;
static int pam_conv_cb (int num_msg, const struct pam_message **msg, struct pam_response **resp, void *app_data);
PAMSession *
-pam_session_new (const gchar *service, const gchar *username, const gchar *tty, const gchar *xdisplay)
+pam_session_new (const gchar *service, const gchar *username, const gchar *xdisplay)
{
PAMSession *self = g_object_new (PAM_SESSION_TYPE, NULL);
struct pam_conv conversation = { pam_conv_cb, self };
self->priv->service = g_strdup (service);
self->priv->username = g_strdup (username);
- self->priv->tty = g_strdup (tty ? tty : "");
self->priv->xdisplay = g_strdup (xdisplay ? xdisplay : "");
if (!passwd_file)
if (!passwd_file && getuid () == 0)
{
- pam_set_item (session->priv->pam_handle, PAM_TTY, session->priv->tty);
- pam_set_item (session->priv->pam_handle, PAM_XDISPLAY, session->priv->xdisplay);
+ pam_set_item (session->priv->pam_handle, PAM_TTY, session->priv->xdisplay);
result = pam_open_session (session->priv->pam_handle, 0);
g_debug ("pam_open_session(%p, 0) -> %d (%s)",
session->priv->pam_handle,
g_free (self->priv->service);
g_free (self->priv->username);
- g_free (self->priv->tty);
g_free (self->priv->xdisplay);
if (self->priv->user)
g_object_unref (self->priv->user);
void pam_session_set_use_passwd_file (gchar *passwd_file);
-PAMSession *pam_session_new (const gchar *service, const gchar *username, const gchar *tty, const gchar *xdisplay);
+PAMSession *pam_session_new (const gchar *service, const gchar *username, const gchar *xdisplay);
gboolean pam_session_authenticate (PAMSession *session, GError **error);