gi-gio-2.0.12: Gio bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.DBusAuthObserver

Contents

Description

The DBusAuthObserver type provides a mechanism for participating in how a DBusServer (or a DBusConnection) authenticates remote peers. Simply instantiate a DBusAuthObserver and connect to the signals you are interested in. Note that new signals may be added in the future

# {auth-observer}

For example, if you only want to allow D-Bus connections from processes owned by the same uid as the server, you would use a signal handler like the following:

C code

static gboolean
on_authorize_authenticated_peer (GDBusAuthObserver *observer,
                                 GIOStream         *stream,
                                 GCredentials      *credentials,
                                 gpointer           user_data)
{
  gboolean authorized;

  authorized = FALSE;
  if (credentials != NULL)
    {
      GCredentials *own_credentials;
      own_credentials = g_credentials_new ();
      if (g_credentials_is_same_user (credentials, own_credentials, NULL))
        authorized = TRUE;
      g_object_unref (own_credentials);
    }

  return authorized;
}

Synopsis

Exported types

Methods

allowMechanism

dBusAuthObserverAllowMechanism Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusAuthObserver a) 
=> a

observer: A DBusAuthObserver.

-> Text

mechanism: The name of the mechanism, e.g. DBUS_COOKIE_SHA1.

-> m Bool

Returns: True if mechanism can be used to authenticate the other peer, False if not.

Emits the DBusAuthObserver::allow-mechanism signal on observer.

Since: 2.34

authorizeAuthenticatedPeer

dBusAuthObserverAuthorizeAuthenticatedPeer Source #

Arguments

:: (HasCallStack, MonadIO m, IsDBusAuthObserver a, IsIOStream b, IsCredentials c) 
=> a

observer: A DBusAuthObserver.

-> b

stream: A IOStream for the DBusConnection.

-> Maybe c

credentials: Credentials received from the peer or Nothing.

-> m Bool

Returns: True if the peer is authorized, False if not.

Emits the DBusAuthObserver::authorize-authenticated-peer signal on observer.

Since: 2.26

new

dBusAuthObserverNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m DBusAuthObserver

Returns: A DBusAuthObserver. Free with objectUnref.

Creates a new DBusAuthObserver object.

Since: 2.26

Signals

allowMechanism

authorizeAuthenticatedPeer