mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01: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:
parent
ec91ed00f1
commit
386f0f29fd
@ -570,7 +570,9 @@ g_unix_connection_receive_credentials (GUnixConnection *connection,
|
||||
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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user