X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fsasl.cc;h=5ec8bee2fd454cd09184c2aabcba920a5c6bf94c;hb=8cfbdaa050b95dff77505eaabfa72d1e4640faa4;hp=69d6223d9533d60629d5ffdedcc6f319a0b32700;hpb=326e812b0ca940bf90aaadf69312a0316091d0cb;p=awesomized%2Flibmemcached diff --git a/libmemcached/sasl.cc b/libmemcached/sasl.cc index 69d6223d..5ec8bee2 100644 --- a/libmemcached/sasl.cc +++ b/libmemcached/sasl.cc @@ -44,6 +44,8 @@ #include #endif +#define CAST_SASL_CB(cb) reinterpret_cast(reinterpret_cast(cb)) + #include void memcached_set_sasl_callbacks(memcached_st *shell, @@ -75,7 +77,7 @@ sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *shell) * @param raddr remote address (out) * @return true on success false otherwise (errno contains more info) */ -static memcached_return_t resolve_names(org::libmemcached::Instance& server, char *laddr, size_t laddr_length, char *raddr, size_t raddr_length) +static memcached_return_t resolve_names(memcached_instance_st& server, char *laddr, size_t laddr_length, char *raddr, size_t raddr_length) { char host[MEMCACHED_NI_MAXHOST]; char port[MEMCACHED_NI_MAXSERV]; @@ -133,7 +135,7 @@ static void sasl_startup_function(void) } // extern "C" -memcached_return_t memcached_sasl_authenticate_connection(org::libmemcached::Instance* server) +memcached_return_t memcached_sasl_authenticate_connection(memcached_instance_st* server) { if (LIBMEMCACHED_WITH_SASL_SUPPORT == 0) { @@ -215,7 +217,7 @@ memcached_return_t memcached_sasl_authenticate_connection(org::libmemcached::Ins sasl_conn_t *conn; int ret; - if ((ret= sasl_client_new("memcached", server->hostname, laddr, raddr, server->root->sasl.callbacks, 0, &conn) ) != SASL_OK) + if ((ret= sasl_client_new("memcached", server->_hostname, laddr, raddr, server->root->sasl.callbacks, 0, &conn) ) != SASL_OK) { const char *sasl_error_msg= sasl_errstring(ret, NULL, NULL); @@ -362,13 +364,13 @@ memcached_return_t memcached_set_sasl_auth_data(memcached_st *shell, secret->data[password_length]= 0; callbacks[0].id= SASL_CB_USER; - callbacks[0].proc= (int (*)())get_username; + callbacks[0].proc= CAST_SASL_CB(get_username); callbacks[0].context= strncpy(name, username, username_length +1); callbacks[1].id= SASL_CB_AUTHNAME; - callbacks[1].proc= (int (*)())get_username; + callbacks[1].proc= CAST_SASL_CB(get_username); callbacks[1].context= name; callbacks[2].id= SASL_CB_PASS; - callbacks[2].proc= (int (*)())get_password; + callbacks[2].proc= CAST_SASL_CB(get_password); callbacks[2].context= secret; callbacks[3].id= SASL_CB_LIST_END; @@ -428,11 +430,11 @@ memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st /* Hopefully we are using our own callback mechanisms.. */ if (source->sasl.callbacks[0].id == SASL_CB_USER && - source->sasl.callbacks[0].proc == (int (*)())get_username && + source->sasl.callbacks[0].proc == CAST_SASL_CB(get_username) && source->sasl.callbacks[1].id == SASL_CB_AUTHNAME && - source->sasl.callbacks[1].proc == (int (*)())get_username && + source->sasl.callbacks[1].proc == CAST_SASL_CB(get_username) && source->sasl.callbacks[2].id == SASL_CB_PASS && - source->sasl.callbacks[2].proc == (int (*)())get_password && + source->sasl.callbacks[2].proc == CAST_SASL_CB(get_password) && source->sasl.callbacks[3].id == SASL_CB_LIST_END) { sasl_secret_t *secret= (sasl_secret_t *)source->sasl.callbacks[2].context;