testing: sasl
[m6w6/libmemcached] / testing / lib / Server.cpp
index 2ab4d5b70b29b1f4cc675b36a8f105f6c963a98c..17bafe74ca8a9c96441a21456010899635cfbf81 100644 (file)
@@ -42,8 +42,8 @@ optional<string> Server::handleArg(vector<char *> &arr, const string &arg, const
   if (arg == "-p" || arg == "--port") {
     auto port = next_arg(arg);
     pushArg(arr, port);
-    pushArg(arr, "-U");
-    pushArg(arr, port);
+//    pushArg(arr, "-U");
+//    pushArg(arr, port);
     socket_or_port = stoi(port);
     return port;
   } else if (arg == "-s" || arg == "--unix-socket") {
@@ -51,6 +51,8 @@ optional<string> Server::handleArg(vector<char *> &arr, const string &arg, const
     pushArg(arr, sock);
     socket_or_port = sock;
     return sock;
+  } else if (arg == "-S" || arg == "--enable-sasl") {
+    sasl = true;
   }
   return {};
 }
@@ -122,6 +124,11 @@ bool Server::isListening() {
     }
   }
 
+  if (sasl) {
+    memcached_behavior_set(*memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1);
+    memcached_set_sasl_auth_data(*memc, "memcached", "memcached");
+  }
+
   Malloced stat(memcached_stat(*memc, nullptr, nullptr));
   if (!*stat || !stat->pid || stat->pid != pid) {
     return false;