Fixes build on FreeBSD.
[m6w6/libmemcached] / libmemcached / connect.c
index b599977fab77ab4799297b1dcb5a9e1197c17f54..f3832faed079d8b771ee18e61b1237b7a8283c5e 100644 (file)
@@ -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;
@@ -313,7 +327,7 @@ static memcached_return_t network_connect(memcached_server_st *ptr)
 }
 
 
-memcached_return_t memcached_connect(memcached_server_st *ptr)
+memcached_return_t memcached_connect(memcached_server_write_instance_st ptr)
 {
   memcached_return_t rc= MEMCACHED_NO_SERVERS;
   LIBMEMCACHED_MEMCACHED_CONNECT_START();
@@ -368,7 +382,7 @@ memcached_return_t memcached_connect(memcached_server_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;