Socket.getCredentials

Returns the credentials of the foreign process connected to this socket, if any (e.g. it is only supported for [gio.types.SocketFamily.Unix] sockets).

If this operation isn't supported on the OS, the method fails with the [gio.types.IOErrorEnum.NotSupported] error. On Linux this is implemented by reading the SO_PEERCRED option on the underlying socket.

This method can be expected to be available on the following platforms:

  • Linux since GLib 2.26
  • OpenBSD since GLib 2.30
  • Solaris, Illumos and OpenSolaris since GLib 2.40
  • NetBSD since GLib 2.42
  • macOS, tvOS, iOS since GLib 2.66

Other ways to obtain credentials from a foreign peer includes the #GUnixCredentialsMessage type and [gio.unix_connection.UnixConnection.sendCredentials] / [gio.unix_connection.UnixConnection.receiveCredentials] functions.

Returns

null if error is set, otherwise a #GCredentials object

that must be freed with [gobject.object.ObjectWrap.unref].

Throws

[ErrorWrap]