SASL support


#include <libmemcached/memcached_pool.h>

void memcached_set_sasl_callbacks(memcached_st *ptr, const sasl_callback_t *callbacks)
const sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *ptr)
memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr, const char *username, const char *password)
memcached_return_t memcached_destroy_sasl_auth_data(memcached_st *ptr)

Compile and link with -lmemcached


libmemcached(3) allows you to plug in your own callbacks function used by libsasl to perform SASL authentication.

Please note that SASL requires the memcached binary protocol, and you have to specify the callbacks before you connect to the server.

memcached_set_sasl_auth_data() is a helper function defining the basic functionality for you, but it will store the username and password in memory. If you choose to use this method you have to call memcached_destroy_sasl_auth_data before calling memcached_free to avoid a memory leak. You should NOT call memcached_destroy_sasl_auth_data if you specify your own callback function with memcached_set_sasl_callbacks().


memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_set_sasl_auth_data() returns MEMCACHED_SUCCESS upon success.


To find out more information please check:


Brian Aker, <>

Trond Norbye, <>


memcached(1) libmemcached(3) memcached_strerror(3)

Table Of Contents

Previous topic

Error Codes (memcached_return_t)

Next topic

Managing lists of servers