<div dir="ltr">w.r.t. callbacks :<div><br><div><div>  if (userid) {</div><div>    callback->id = SASL_CB_USER;</div></div></div><div>    callback->proc = (sasl_callback_ft)&simple;<br></div><div><br></div><div>Is SASL_CB_USER required ?</div><div><br></div><div>Earlier I sent out an email "Casting function pointers to sasl_callback_ft" where I described issue casting my method to signature of proc member.</div><div><br></div><div>If someone has used the callbacks in C++11 environment, please share your experience.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 10, 2017 at 10:41 AM, Dan White <span dir="ltr"><<a href="mailto:dwhite@olp.net" target="_blank">dwhite@olp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 03/10/17 09:35 -0800, Ted Yu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
I use the following code:<br>
<br>
 do {<br>
   rc = sasl_client_start(sconn_, /* the same context from above */<br>
       mechlist, /* the list of mechanisms<br>
    from the server */<br>
       NULL, /* filled in if an<br>
    interaction is needed */<br>
       &out, /* filled in on success */<br>
       &outlen, /* filled in on success */<br>
       &mechusing);<br>
 } while (rc == SASL_INTERACT); /* the mechanism may ask us to fill<br>
 in things many times. result is SASL_CONTINUE on success */<br>
<br>
 if (rc != SASL_CONTINUE) {<br>
   LOG(FATAL)<< "Cannot start client ("<< rc << ") ";<br>
   return false;<br>
 }<br>
<br>
In one run, rc was SASL_OK.<br>
<br>
Can someone confirm whether SASL_OK meant that the client didn't actually<br>
start ?<br>
<br>
Thanks<br>
</blockquote>
<br></div></div>
See the "Basic client model" section in includes/sasl.h, and review the<br>
documentation under doc/, and the examples under sample/ in the source<br>
tree.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Dan White<br>
</font></span></blockquote></div><br></div>