客户机调用 sasl_client_init() 来初始化 libsasl 以供客户机使用;而服务器调用 sasl_server_init() 来初始化 libsasl 以供服务器使用。
运行 sasl_client_init() 时,将装入 SASL 客户机、该客户机的机制以及该客户机的标准化插件。同样,调用 sasl_server_init() 时,将装入 SASL 服务器、该服务器的机制、该服务器的标准化插件以及该服务器的 auxprop 插件。调用 sasl_client_init() 后,可以使用 sasl_client_add_plugin() 和 sasl_canonuser_add_plugin() 来添加其他客户机插件。在服务器端,调用 sasl_server_init() 后,可以通过 sasl_server_add_plugin()、sasl_canonuser_add_plugin() 和 sasl_auxprop_add_plugin() 来添加其他的服务器插件。依据体系结构,我们在 Solaris 软件的以下目录中提供了 SASL 机制:
32 位 SPARC 体系结构: /usr/lib/sasl
32 位 x86 体系结构: /usr/lib/sasl
64 位 SPARC 体系结构: /usr/lib/sasl/sparcv9
x64 体系结构: /usr/lib/sasl/amd64
可以使用 SASL_CB_GETPATH 回调覆盖缺省位置。
此时,可以设置所有必需的全局回调。SASL 客户机和服务器可能包括以下回调:
SASL_CB_GETOPT
SASL_CB_LOG
SASL_CB_GETPATH
SASL_CB_VERIFYFILE
此外,SASL 服务器还可能包括 SASL_CB_GETCONF 回调。