libmemcached: sasl (fix #14 and #17)
authorMichael Wallner <mike@php.net>
Tue, 21 Jan 2020 13:57:42 +0000 (14:57 +0100)
committerMichael Wallner <mike@php.net>
Tue, 21 Jan 2020 13:57:42 +0000 (14:57 +0100)
MEMCACHED_AUTH_CONTINUE was considered a failure condition which led to
IO reset

libmemcached-1.0/return.h

index 781603b86e84ec8c8ac97983bba1d7e1e14ba762..e2b4104cda6c526249cb88abab790e35392bd611 100644 (file)
@@ -50,18 +50,20 @@ static inline bool memcached_success(memcached_return_t rc)
 
 static inline bool memcached_failed(memcached_return_t rc)
 {
-  return (rc != MEMCACHED_SUCCESS && 
+  return (rc != MEMCACHED_AUTH_CONTINUE &&
+          rc != MEMCACHED_BUFFERED &&
+          rc != MEMCACHED_DELETED &&
           rc != MEMCACHED_END && 
+          rc != MEMCACHED_ITEM &&
+          rc != MEMCACHED_STAT &&
           rc != MEMCACHED_STORED && 
-          rc != MEMCACHED_STAT && 
-          rc != MEMCACHED_DELETED &&
-          rc != MEMCACHED_BUFFERED &&
+          rc != MEMCACHED_SUCCESS &&
           rc != MEMCACHED_VALUE);
 }
 
 static inline bool memcached_fatal(memcached_return_t rc)
 {
-  return (
+  return (rc != MEMCACHED_AUTH_CONTINUE &&
           rc != MEMCACHED_BUFFERED &&
           rc != MEMCACHED_CLIENT_ERROR &&
           rc != MEMCACHED_DATA_EXISTS &&