AUTH_META(3)

NAME
auth_meta - Authentication metadata

SYNOPSIS

#include <courierauth.h>

struct auth_meta *meta=auth_meta_init_default(void);

void auth_meta_destroy_default(struct auth_meta *meta);

DESCRIPTION

The auth_meta structure provides additional, optional metadata for auth_login_meta(3), auth_generic_meta(3), and auth_getuserinfo_meta(3).

    struct auth_meta {
        char **envvars;
    };

Description of the above fields:

envvars
    An array of opaque “name=value” strings, ending with a null pointer.

The library recognizes the following envvars variables:

TCPREMOTEIP
    The IP address the authentication request came from.

  Initializing a default auth_meta

auth_meta_init_default creates an auth_meta with default values. A NULL pointer gets returned if the object could not be created. auth_meta_destroy_default frees the object and all memory used by it, after it is no longer needed.

Typical usage:

    • auth_meta_init_default gets called to create an auth_meta.

    • The pointer to the new auth_meta gets passed to auth_login_meta(3), auth_generic_meta(3) or auth_getuserinfo_meta(3).

    • auth_meta_destroy_default deallocates and frees auth_meta's memory.

  Default auth_meta values

auth_meta_init_default creates an auth_meta with the following values:

    • The TCPREMOTEIP environment variable, if set, is placed in the TCPREMOTEIP envvars

SEE ALSO

authlib(3)[1], auth_login_meta(3)[2], auth_generic_meta(3)[3], auth_getuserinfo_meta(3)[4]

NOTES

1.  authlib(3)
    https://www.courier-mta.org/authlib/authlib.html

2.  auth_login_meta(3)
    https://www.courier-mta.org/authlib/auth_login.html

3.  auth_generic_meta(3)
    https://www.courier-mta.org/authlib/auth_generic.html

4.  auth_getuserinfo_meta(3)
    https://www.courier-mta.org/authlib/auth_getuserinfo.html