25#ifndef AUTH_CLIENT_PLUGIN_H
27#define AUTH_CLIENT_PLUGIN_H
55 auth_client_plugin_t
const *ca_auc;
59 char const *ca_scheme;
66#if SOFIA_EXTEND_AUTH_CLIENT
71struct auth_client_plugin
80 msg_auth_t
const *ch);
93#if SOFIA_EXTEND_AUTH_CLIENT
111#define AUTH_CLIENT_IS_EXTENDED(ca) \
113 (ca)->ca_auc->auc_plugin_size > \
114 (int)offsetof(auth_client_plugin_t, auc_clear) \
115 && (ca)->ca_auc->auc_clear != NULL)
120#define AUTH_CLIENT_SAVE_CREDENTIALS(ca) \
122 (ca)->ca_auc->auc_plugin_size > \
123 (int)offsetof(auth_client_plugin_t, auc_save_credentials) \
124 ? (ca)->ca_auc->auc_save_credentials : NULL)
135#define AUTH_CLIENT_COPY_CREDENTIALS(ca) \
137 (ca)->ca_auc->auc_plugin_size > \
138 (int)offsetof(auth_client_plugin_t, auc_copy_credentials) \
139 ? (ca)->ca_auc->auc_copy_credentials : NULL)
Client-side authenticator library.
int auc_copy_credentials(auth_client_t **dst, auth_client_t const *src)
Copy authentication data from src to dst.
Definition: auth_client.c:496
struct auth_client_s auth_client_t
Authenticator object.
Definition: auth_client.h:49
int auc_challenge(auth_client_t **auc, su_home_t *home, msg_auth_t const *auth, msg_hclass_t *crcl)
Initialize authenticators.
Definition: auth_client.c:102
int auc_info(auth_client_t **auc_list, msg_auth_info_t const *ai, msg_hclass_t *credential_class)
Store authentication info to authenticators.
Definition: auth_client.c:231
int auth_client_save_credentials(auth_client_t *ac, char const *scheme, char const *realm, char const *user, char const *pass)
Save authentication data to an authenticator.
Definition: auth_client.c:447
int auth_client_copy_credentials(auth_client_t *ac, auth_client_t const *src)
Copy authentication data from a matching client in src to d.
Definition: auth_client.c:545
struct msg_hclass_s const msg_hclass_t