SASL support

SYNOPSIS

#include <libmemcached/memcached.h>
Compile and link with -lmemcached
void memcached_set_sasl_callbacks(memcached_st *ptr, const sasl_callback_t *callbacks)
Parameters:
  • ptr -- pointer to initialized memcached_st struct
  • callbacks -- pointer to sasl_callbacks_t holding the callbacks to use
const sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *ptr)
Parameters:ptr -- pointer to initialized memcached_st struct
Returns:pointer to sasl_callbacks_t holding the callbacks currently used
memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr, const char *username, const char *password)
Parameters:
  • ptr -- pointer to initialized memcached_st struct
  • username --
  • password --
Returns:

memcached_return_t indicating success

memcached_return_t memcached_destroy_sasl_auth_data(memcached_st *ptr)
Parameters:ptr -- pointer to initialized memcached_st struct
Returns:memcached_return_t indicating success

DESCRIPTION

libmemcached 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().

RETURN VALUE

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