Namespace

Hasl – 1.0

Hassle-free Authentication and Security Layer client library

Version0.3.0-dev
AuthorsHasl Developers
LicenseLGPL-2.1-or-later
Websitehttps://keep.imfreedom.org/hasl/hasl/
Sourcehttps://keep.imfreedom.org/hasl/hasl/

Build

C headershasl.h
pkg-config fileshasl

Dependencies

GLib—2.0 General-purpose, portable utility library.
Browse documentation
GObject—2.0 The base type system library
Browse documentation

Additional documentation

Classes

Context

The context holds all of the data that the client knows about for authentication. The HaslMechanisms use this data to authenticate.

since: 0.1

Gs2Header

This is an object to make it easier to generate a GS2 Header. See https://www.rfc-editor.org/rfc/rfc5801#section-4 for the formal definition.

since: 0.3

Mechanism

The base class for all mechanisms.

since: 0.1

MechanismAnonymous

This mechanism implements the ANONYMOUS method described in RFC 4505. It uses the value of HaslContext:username as the token.

since: 0.2

MechanismExternal

Implements the SASL EXTERNAL mechanism per RFC 4422.

since: 0.1

MechanismPlain

Implements the SASL PLAIN mechanism per RFC 4616.

since: 0.1

Enumerations

Gs2HeaderChannelBinding

This enum tells the header about channel bindings for this connection. See https://datatracker.ietf.org/doc/html/rfc5801#section-4 for more information.

since: 0.3

MechanismResult

The result states for hasl_mechanism_step().

since: 0.1

Functions

check_version

Checks that the hasl version is compatible with the requested version.

since: 0.2

Function Macros

CHECK_VERSION

Checks the version of hasl being compiled against. See hasl_check_version() for a runtime check.

since: 0.2

Constants

VERSION_MIN_REQUIRED

A macro that should be defined by the user prior to including the hasl.h header.