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);
87 msg_payload_t
const *body,
91 int (*auc_info)(
auth_client_t *ca, msg_auth_info_t
const *ai);
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.
struct auth_client_s auth_client_t
Authenticator object.
Definition auth_client.h:49
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