I want to mention that adding SASL_CB_LOG callback and reinstalling cyrus library seemed to get pass the problem.
FYI On Tue, Mar 14, 2017 at 4:09 PM, Ted Yu <yuzhih...@gmail.com> wrote: > Hi, > I use the following code for calling sasl_client_init(): > > callback->id = SASL_CB_GETPATH; > > callback->proc = (sasl_callback_ft) &GetPluginPath; > > callback->context = (void *)(sasl_plugin_dir_path.c_str()); > > ++callback; > > > /* user */ > > callback->id = SASL_CB_USER; > > callback->proc = (sasl_callback_ft) &Simple; > > callback->context = const_cast<char *>(user_name_.c_str()); > > ++callback; > > > /* termination */ > > callback->id = SASL_CB_LIST_END; > > callback->proc = NULL; > > callback->context = NULL; > > ++callback; > > rc = sasl_client_init(callbacks); > > > sasl_client_init() returned 0. > > But the following: > > const char *mechusing, *mechlist = "GSSAPI"; > > > do { > > currentReturnCode = sasl_client_start(sconn_, /* the same context > from above */ > > mechlist, /* the list of mechanisms > > from the server */ > > NULL, /* filled in if an > > interaction is needed */ > > &out, /* filled in on success */ > > &outlen, /* filled in on success */ > > &mechusing); > > gave me -4. > > I saw this auth log: > > Mar 14 09:01:33 5f4a350528ca client-test: No worthy mechs found > > Under CYRUS_SASL_PLUGINS_DIR : > > # ls /usr/lib/sasl2 > > libanonymous.la libcrammd5.la libdigestmd5.la > libgs2.la libgssapiv2.la libotp.la libplain.la > libscram.la > > libanonymous.so libcrammd5.so libdigestmd5.so > libgs2.so libgssapiv2.so libotp.so libplain.so > libscram.so > > libanonymous.so.3 libcrammd5.so.3 libdigestmd5.so.3 > libgs2.so.3 libgssapiv2.so.3 libotp.so.3 libplain.so.3 > libscram.so.3 > > libanonymous.so.3.0.0 libcrammd5.so.3.0.0 libdigestmd5.so.3.0.0 > libgs2.so.3.0.0 libgssapiv2.so.3.0.0 libotp.so.3.0.0 libplain.so.3.0.0 > libscram.so.3.0.0 > > > Is there any lib which was missing ? > > Thanks >