WockyAuthHandler

WockyAuthHandler

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── WockyAuthHandler

Description

Functions

WockyAuthInitialResponseFunc ()

gboolean
(*WockyAuthInitialResponseFunc) (WockyAuthHandler *handler,
                                 GString **initial_data,
                                 GError **error);

Called when authentication begins, if the mechanism allows a response to an implicit challenge during AUTH initiation (which, in XMPP, corresponds to sending the <auth/> stanza to the server).

The function should return TRUE on success, and optionally set the initial_data to a string if there is initial data to send. On error, it should return FALSE and set error .

Parameters

handler

a WockyAuthHandler object

 

initial_data

a GString location to fill with the initial data.

[out]

error

an optional location for a GError to fill, or NULL

 

Returns

TRUE on success, otherwise FALSE


WockyAuthAuthDataFunc ()

gboolean
(*WockyAuthAuthDataFunc) (WockyAuthHandler *handler,
                          const GString *data,
                          GString **response,
                          GError **error);

WockyAuthSuccessFunc ()

gboolean
(*WockyAuthSuccessFunc) (WockyAuthHandler *handler,
                         GError **error);

Called when a <success/> stanza is received during authentication. If no error is returned, then authentication is considered finished. (Typically, an error is only raised if the

<success/> stanza was received earlier than

expected)

Parameters

handler

a WockyAuthHandler object

 

error

an optional location for a GError to fill, or NULL

 

Returns

TRUE on success, otherwise FALSE


wocky_auth_handler_get_mechanism ()

const gchar *
wocky_auth_handler_get_mechanism (WockyAuthHandler *handler);

Returns the name of the SASL mechanism handler implements.

Parameters

handler

a handler for a SASL mechanism.

 

Returns

the name of the SASL mechanism handler implements.


wocky_auth_handler_is_plain ()

gboolean
wocky_auth_handler_is_plain (WockyAuthHandler *handler);

Checks whether handler sends secrets in plaintext. This may be used to decide whether to use handler on an insecure XMPP connection.

Parameters

handler

a handler for a SASL mechanism.

 

Returns

TRUE if handler sends secrets in plaintext.


wocky_auth_handler_get_initial_response ()

gboolean
wocky_auth_handler_get_initial_response
                               (WockyAuthHandler *handler,
                                GString **initial_data,
                                GError **error);

Called when authentication begins to fetch the initial data to send to the server in the <auth/> stanza.

If this function returns TRUE, initial_data will be non-NULL if handler provides an initial response, and NULL otherwise.

Parameters

handler

a handler for a SASL mechanism

 

initial_data

initial data to send to the server, if any.

[out][transfer full]

error

an optional location for a GError to fill, or NULL

 

Returns

TRUE on success; FALSE otherwise.


wocky_auth_handler_handle_auth_data ()

gboolean
wocky_auth_handler_handle_auth_data (WockyAuthHandler *handler,
                                     const GString *data,
                                     GString **response,
                                     GError **error);

Asks handler to respond to a <challenge/> stanza or a

<success/> with data. On success, handler will put

response data into response , Base64-encoding it if appropriate.

Parameters

handler

a WockyAuthHandler object

 

data

the challenge string

 

response

a location to fill with a challenge response in a GString.

[out][transfer full]

error

an optional location for a GError to fill, or NULL

 

Returns

TRUE on success, otherwise FALSE


wocky_auth_handler_handle_success ()

gboolean
wocky_auth_handler_handle_success (WockyAuthHandler *handler,
                                   GError **error);

Called when a <success/> stanza is received during authentication. If no error is returned, then authentication is considered finished. (Typically, an error is only raised if the

<success/> stanza was received earlier than

expected)

Parameters

handler

a WockyAuthHandler object

 

error

an optional location for a GError to fill, or NULL

 

Returns

TRUE on success, otherwise FALSE

Types and Values

struct WockyAuthHandlerIface

struct WockyAuthHandlerIface {
    GTypeInterface parent;
    gchar *mechanism;
    gboolean plain;
    WockyAuthInitialResponseFunc initial_response_func;
    WockyAuthAuthDataFunc auth_data_func;
    WockyAuthSuccessFunc success_func;
};

Members

GTypeInterface parent;

The parent interface.

 

gchar *mechanism;

The AUTH mechanism which this handler responds to challenges for.

 

gboolean plain;

Whether the mechanism this handler handles sends secrets in plaintext.

 

WockyAuthInitialResponseFunc initial_response_func;

Called when the initial <auth /> stanza is generated

 

WockyAuthAuthDataFunc auth_data_func;

Called when any authentication data from the server is received

 

WockyAuthSuccessFunc success_func;

Called when a <success/> stanza is received.