X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fconnect.c;h=f3832faed079d8b771ee18e61b1237b7a8283c5e;hb=f9f501287ffa6a2c69a9033536d3b6f14db34204;hp=4b8939c11d4942802ea511134df2ad962acb3672;hpb=04ef974c23973986d4475e3cb8a876012264e2da;p=awesomized%2Flibmemcached diff --git a/libmemcached/connect.c b/libmemcached/connect.c index 4b8939c1..f3832fae 100644 --- a/libmemcached/connect.c +++ b/libmemcached/connect.c @@ -282,6 +282,20 @@ static memcached_return_t network_connect(memcached_server_st *ptr) } } +#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT + if (ptr->fd != -1 && ptr->root->sasl.callbacks != NULL) + { + memcached_return rc= memcached_sasl_authenticate_connection(ptr); + if (rc != MEMCACHED_SUCCESS) + { + (void)close(ptr->fd); + ptr->fd= -1; + return rc; + } + } +#endif + + if (ptr->fd != -1) { ptr->server_failure_counter= 0; @@ -368,7 +382,7 @@ memcached_return_t memcached_connect(memcached_server_write_instance_st ptr) WATCHPOINT_ASSERT(0); } - unlikely ( rc != MEMCACHED_SUCCESS) + unlikely ( rc != MEMCACHED_SUCCESS) { //@todo create interface around last_discontected_server memcached_st *root= (memcached_st *)ptr->root;