sasl_utils_t-sasl_utils_t 结构包含大量实用程序函数以及三种上下文:
此结构包含大量可为插件编写人员提供者便的实用程序函数。许多函数是指向 libsasl 中的公共接口的指针。插件不需要直接调用 libsasl,除非出于某种原因,插件需要是 SASL 消费方。
libsasl 将为 sasl_utils_t 创建三种上下文。
sasl_conn_t *conn
sasl_rand_t *rpool
void *getopt_context
在某些情况(如装入插件)下,sasl_utils_t 中的 conn 变量实际上与连接没有关联。在另外一些情况下,conn 是 SASL 消费方的 SASL 连接上下文。rpool 变量用于随机数生成函数。getopt_context 是应该与 getopt() 函数结合使用的上下文。
sasl_getopt_t(3SASL)、sasl_log_t(3SASL) 和 sasl_getcallback_t(3SASL)
sasl_out_params_t-libsasl 用于创建 sasl_out_params_t 结构并将该结构传递给客户机或服务器中的 mech_step()。此结构可以将以下信息传达给 libsasl: 验证状态、authid、authzid、maxbuf、协商的 ssf 以及数据编码和解码信息
sasl_client_params_t-libsasl 使用 sasl_client_params_t 结构将客户机状态传递给 SASL 客户机机制。客户机机制的 mech_new()、mech_step() 和 mech_idle() 入口点用于发送此状态数据。canon_user_client() 入口点还需要同时传递客户机状态。
sasl_server_params_t-sasl_server_params_t 结构在服务器端执行和 sasl_client_params_t 类似的功能。