mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
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
This commit is contained in:
committed by
Daniel Drake
parent
9498800f20
commit
04fd09cfa8
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user