From: LaMont Jones Date: Fri, 5 Feb 2016 22:47:00 +0200 Subject: sasl config Forwarded: not-needed --- src/xsasl/xsasl_cyrus_client.c | 3 +++ src/xsasl/xsasl_cyrus_common.h | 5 +++++ src/xsasl/xsasl_cyrus_log.c | 14 ++++++++++++++ src/xsasl/xsasl_cyrus_server.c | 3 +++ 4 files changed, 25 insertions(+) Index: postfix/src/xsasl/xsasl_cyrus_client.c =================================================================== --- postfix.orig/src/xsasl/xsasl_cyrus_client.c +++ postfix/src/xsasl/xsasl_cyrus_client.c @@ -229,6 +229,9 @@ XSASL_CLIENT_IMPL *xsasl_cyrus_client_in */ static sasl_callback_t callbacks[] = { {SASL_CB_LOG, (XSASL_CYRUS_CB) &xsasl_cyrus_log, 0}, +#ifdef SASL_CB_GETCONFPATH +{SASL_CB_GETCONFPATH, (XSASL_CYRUS_CB) &xsasl_getconfpath, 0}, +#endif {SASL_CB_LIST_END, 0, 0} }; Index: postfix/src/xsasl/xsasl_cyrus_common.h =================================================================== --- postfix.orig/src/xsasl/xsasl_cyrus_common.h +++ postfix/src/xsasl/xsasl_cyrus_common.h @@ -16,12 +16,17 @@ */ #if defined(USE_SASL_AUTH) && defined(USE_CYRUS_SASL) +#include + #define NO_SASL_LANGLIST ((const char *) 0) #define NO_SASL_OUTLANG ((const char **) 0) #define xsasl_cyrus_strerror(status) \ sasl_errstring((status), NO_SASL_LANGLIST, NO_SASL_OUTLANG) extern int xsasl_cyrus_log(void *, int, const char *); extern int xsasl_cyrus_security_parse_opts(const char *); +#ifdef SASL_CB_GETCONFPATH +extern int xsasl_getconfpath(void * context, char ** path); +#endif #endif Index: postfix/src/xsasl/xsasl_cyrus_log.c =================================================================== --- postfix.orig/src/xsasl/xsasl_cyrus_log.c +++ postfix/src/xsasl/xsasl_cyrus_log.c @@ -28,10 +28,16 @@ /* System library. */ #include +#include /* Utility library. */ #include +#include + +/* Global library. */ + +#include /* Application-specific */ @@ -101,4 +107,12 @@ int xsasl_cyrus_log(void *unused_con return (SASL_OK); } +#ifdef SASL_CB_GETCONFPATH +int xsasl_getconfpath(void * context, char ** path) +{ + *path = concatenate(var_config_dir, "/", "sasl:/usr/lib/sasl", (char *) 0); + return SASL_OK; +} +#endif + #endif Index: postfix/src/xsasl/xsasl_cyrus_server.c =================================================================== --- postfix.orig/src/xsasl/xsasl_cyrus_server.c +++ postfix/src/xsasl/xsasl_cyrus_server.c @@ -185,6 +185,9 @@ static const char *xsasl_cyrus_server_ge static sasl_callback_t callbacks[] = { {SASL_CB_LOG, (XSASL_CYRUS_CB) &xsasl_cyrus_log, NO_CALLBACK_CONTEXT}, +#ifdef SASL_CB_GETCONFPATH + {SASL_CB_GETCONFPATH, (XSASL_CYRUS_CB) &xsasl_getconfpath, 0}, +#endif {SASL_CB_LIST_END, 0, 0} };