mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-28 01:57:14 +02:00
Fall back to SO_PEERCRED if credentials passing fails
Turns out libdbus doesn't send struct ucred credentials on linux, but just relies on the SO_PEERCRED support. However, gdbus does send, and expect to recieve a ucred credential. So, when libdbus talks to a gdbus server the authentication fails to send the credentials. We fix this by falling back to g_socket_get_credentials() if we don't get any credential messages.
This commit is contained in:
@@ -570,7 +570,9 @@ g_unix_connection_receive_credentials (GUnixConnection *connection,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_unix_credentials_message_is_supported ())
|
if (g_unix_credentials_message_is_supported () &&
|
||||||
|
/* Fall back on get_credentials if the other side didn't send the credentials */
|
||||||
|
nscm > 0)
|
||||||
{
|
{
|
||||||
if (nscm != 1)
|
if (nscm != 1)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user