Commit 04fd09cf authored by Bastien Nocera's avatar Bastien Nocera Committed by Daniel Drake

dbus + fprintd error

On Mon, 2009-01-12 at 12:18 +0000, Konstantin V. Gavrilenko wrote:
> Hi Bastien,
>
> by default the fprintd installs the pam_fprintd into the /usr/lib64/security, whil egentoo searches them in /lib/security.
> So I simply simlinked it to the correct location /usr/lib64/security/pam_fprintd.so to /lib/security/pam_fprintd.so
> I've removed the symlink, and copied the file, but it does not change anything, the same error appears.
>
> As you asked,  recompiled some of the packages with "-O1 -gddb" and  "nostrip" options.

> #4  0x00007fa3344a3899 in dbus_connection_unref (connection=0x624e20) at dbus-connection.c:2686
>         __FUNCTION__ = "dbus_connection_unref"
> #5  0x00007fa334915284 in pam_sm_authenticate (pamh=0x6105c0, flags=<value optimized out>, argc=<value optimized out>, argv=<value optimized out>) at pam_fprintd.c:375
>         rhost = 0x0
>         username = 0x610740 "root"
>         i = <value optimized out>
>         r = 0

Could you please test the attached patch?

Cheers
parent 9498800f
......@@ -154,6 +154,15 @@ static DBusGProxy *create_manager (pam_handle_t *pamh, DBusGConnection **ret_con
return manager;
}
static close_and_unref (DBusGConnection *connection)
{
DBusConnection *conn;
conn = dbus_g_connection_get_connection (connection);
dbus_connection_close (conn);
dbus_g_connection_unref (connection);
}
static DBusGProxy *open_device(pam_handle_t *pamh, DBusGConnection *connection, DBusGProxy *manager, const char *username)
{
GError *error = NULL;
......@@ -372,7 +381,7 @@ static int do_auth(pam_handle_t *pamh, const char *username)
g_object_unref (manager);
if (!dev) {
g_main_loop_unref (loop);
dbus_g_connection_unref (connection);
close_and_unref (connection);
return PAM_AUTHINFO_UNAVAIL;
}
ret = do_verify(loop, pamh, dev);
......@@ -380,7 +389,7 @@ static int do_auth(pam_handle_t *pamh, const char *username)
g_main_loop_unref (loop);
release_device(pamh, dev);
g_object_unref (dev);
dbus_g_connection_unref (connection);
close_and_unref (connection);
return ret;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment