projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Update, fix build rules for -j
[awesomized/libmemcached]
/
libmemcached
/
sasl.cc
diff --git
a/libmemcached/sasl.cc
b/libmemcached/sasl.cc
index ce61e3182f93421c5d1fc7c562d957e467df50a5..e473806984875079573db3f519bb7be7d6220bdc 100644
(file)
--- a/
libmemcached/sasl.cc
+++ b/
libmemcached/sasl.cc
@@
-2,7
+2,7
@@
*
* Libmemcached library
*
*
* Libmemcached library
*
- * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2011
-2012
Data Differential, http://datadifferential.com/
* Copyright (C) 2006-2009 Brian Aker All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* Copyright (C) 2006-2009 Brian Aker All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@
-35,7
+35,7
@@
*
*/
*
*/
-#include
<libmemcached/common.h>
+#include
"libmemcached/common.h"
#include <cassert>
#if defined(LIBMEMCACHED_WITH_SASL_SUPPORT) && LIBMEMCACHED_WITH_SASL_SUPPORT
#include <cassert>
#if defined(LIBMEMCACHED_WITH_SASL_SUPPORT) && LIBMEMCACHED_WITH_SASL_SUPPORT
@@
-65,21
+65,21
@@
sasl_callback_t *memcached_get_sasl_callbacks(memcached_st *ptr)
* @param raddr remote address (out)
* @return true on success false otherwise (errno contains more info)
*/
* @param raddr remote address (out)
* @return true on success false otherwise (errno contains more info)
*/
-static memcached_return_t resolve_names(
memcached_server_st
& server, char *laddr, size_t laddr_length, char *raddr, size_t raddr_length)
+static memcached_return_t resolve_names(
org::libmemcached::Instance
& server, char *laddr, size_t laddr_length, char *raddr, size_t raddr_length)
{
{
- char host[NI_MAXHOST];
- char port[NI_MAXSERV];
+ char host[
MEMCACHED_
NI_MAXHOST];
+ char port[
MEMCACHED_
NI_MAXSERV];
struct sockaddr_storage saddr;
socklen_t salen= sizeof(saddr);
if (getsockname(server.fd, (struct sockaddr *)&saddr, &salen) < 0)
{
struct sockaddr_storage saddr;
socklen_t salen= sizeof(saddr);
if (getsockname(server.fd, (struct sockaddr *)&saddr, &salen) < 0)
{
- return memcached_set_err
no(server, MEMCACHED_ERRNO
, MEMCACHED_AT);
+ return memcached_set_err
or(server, MEMCACHED_HOST_LOOKUP_FAILURE
, MEMCACHED_AT);
}
if (getnameinfo((struct sockaddr *)&saddr, salen, host, sizeof(host), port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV) < 0)
{
}
if (getnameinfo((struct sockaddr *)&saddr, salen, host, sizeof(host), port, sizeof(port), NI_NUMERICHOST | NI_NUMERICSERV) < 0)
{
- return
MEMCACHED_HOST_LOOKUP_FAILURE
;
+ return
memcached_set_error(server, MEMCACHED_HOST_LOOKUP_FAILURE, MEMCACHED_AT)
;
}
(void)snprintf(laddr, laddr_length, "%s;%s", host, port);
}
(void)snprintf(laddr, laddr_length, "%s;%s", host, port);
@@
-87,7
+87,7
@@
static memcached_return_t resolve_names(memcached_server_st& server, char *laddr
if (getpeername(server.fd, (struct sockaddr *)&saddr, &salen) < 0)
{
if (getpeername(server.fd, (struct sockaddr *)&saddr, &salen) < 0)
{
- return memcached_set_err
no(server, MEMCACHED_ERRNO
, MEMCACHED_AT);
+ return memcached_set_err
or(server, MEMCACHED_HOST_LOOKUP_FAILURE
, MEMCACHED_AT);
}
if (getnameinfo((struct sockaddr *)&saddr, salen, host, sizeof(host),
}
if (getnameinfo((struct sockaddr *)&saddr, salen, host, sizeof(host),
@@
-123,7
+123,7
@@
static void sasl_startup_function(void)
} // extern "C"
} // extern "C"
-memcached_return_t memcached_sasl_authenticate_connection(
memcached_server_st *
server)
+memcached_return_t memcached_sasl_authenticate_connection(
org::libmemcached::Instance*
server)
{
if (LIBMEMCACHED_WITH_SASL_SUPPORT == 0)
{
{
if (LIBMEMCACHED_WITH_SASL_SUPPORT == 0)
{
@@
-147,14
+147,16
@@
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *s
* as authenticated
*/
protocol_binary_request_no_extras request= { };
* as authenticated
*/
protocol_binary_request_no_extras request= { };
- request.message.header.request.magic= PROTOCOL_BINARY_REQ;
+
+ initialize_binary_request(server, request.message.header);
+
request.message.header.request.opcode= PROTOCOL_BINARY_CMD_SASL_LIST_MECHS;
request.message.header.request.opcode= PROTOCOL_BINARY_CMD_SASL_LIST_MECHS;
- if (memcached_io_write(server, request.bytes,
- sizeof(request.bytes), 1) != sizeof(request.bytes))
+ if (memcached_io_write(server, request.bytes, sizeof(request.bytes), true) != sizeof(request.bytes))
{
return MEMCACHED_WRITE_FAILURE;
}
{
return MEMCACHED_WRITE_FAILURE;
}
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
memcached_server_response_increment(server);
memcached_server_response_increment(server);
@@
-175,10
+177,11
@@
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *s
return rc;
}
return rc;
}
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
/* set ip addresses */
/* set ip addresses */
- char laddr[
NI_MAXHOST +
NI_MAXSERV];
- char raddr[
NI_MAXHOST +
NI_MAXSERV];
+ char laddr[
MEMCACHED_NI_MAXHOST + MEMCACHED_
NI_MAXSERV];
+ char raddr[
MEMCACHED_NI_MAXHOST + MEMCACHED_
NI_MAXSERV];
if (memcached_failed(rc= resolve_names(*server, laddr, sizeof(laddr), raddr, sizeof(raddr))))
{
if (memcached_failed(rc= resolve_names(*server, laddr, sizeof(laddr), raddr, sizeof(raddr))))
{
@@
-240,19
+243,23
@@
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *s
{ data, len }
};
{ data, len }
};
- if (memcached_io_writev(server, vector, 3, true) == -1)
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
+ if (memcached_io_writev(server, vector, 3, true) == false)
{
rc= MEMCACHED_WRITE_FAILURE;
break;
}
{
rc= MEMCACHED_WRITE_FAILURE;
break;
}
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
memcached_server_response_increment(server);
/* read the response */
memcached_server_response_increment(server);
/* read the response */
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
rc= memcached_response(server, NULL, 0, NULL);
if (rc != MEMCACHED_AUTH_CONTINUE)
{
break;
}
rc= memcached_response(server, NULL, 0, NULL);
if (rc != MEMCACHED_AUTH_CONTINUE)
{
break;
}
+ assert_msg(server->fd != INVALID_SOCKET, "Programmer error, invalid socket");
ret= sasl_client_step(conn, memcached_result_value(&server->root->result),
(unsigned int)memcached_result_length(&server->root->result),
ret= sasl_client_step(conn, memcached_result_value(&server->root->result),
(unsigned int)memcached_result_length(&server->root->result),
@@
-427,7
+434,7
@@
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st
* into the list, but if we don't know the ID we don't know how to handle
* the context...
*/
* into the list, but if we don't know the ID we don't know how to handle
* the context...
*/
-
size
_t total= 0;
+
ptrdiff
_t total= 0;
while (source->sasl.callbacks[total].id != SASL_CB_LIST_END)
{
while (source->sasl.callbacks[total].id != SASL_CB_LIST_END)
{
@@
-453,7
+460,7
@@
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st
memcpy(callbacks, source->sasl.callbacks, (total + 1) * sizeof(sasl_callback_t));
/* Now update the context... */
memcpy(callbacks, source->sasl.callbacks, (total + 1) * sizeof(sasl_callback_t));
/* Now update the context... */
- for (
size
_t x= 0; x < total; ++x)
+ for (
ptrdiff
_t x= 0; x < total; ++x)
{
if (callbacks[x].id == SASL_CB_USER || callbacks[x].id == SASL_CB_AUTHNAME)
{
{
if (callbacks[x].id == SASL_CB_USER || callbacks[x].id == SASL_CB_AUTHNAME)
{
@@
-462,7
+469,7
@@
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st
if (callbacks[x].context == NULL)
{
/* Failed to allocate memory, clean up previously allocated memory */
if (callbacks[x].context == NULL)
{
/* Failed to allocate memory, clean up previously allocated memory */
- for (
size
_t y= 0; y < x; ++y)
+ for (
ptrdiff
_t y= 0; y < x; ++y)
{
libmemcached_free(clone, clone->sasl.callbacks[y].context);
}
{
libmemcached_free(clone, clone->sasl.callbacks[y].context);
}
@@
-479,7
+486,7
@@
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st
if (n == NULL)
{
/* Failed to allocate memory, clean up previously allocated memory */
if (n == NULL)
{
/* Failed to allocate memory, clean up previously allocated memory */
- for (
size
_t y= 0; y < x; ++y)
+ for (
ptrdiff
_t y= 0; y < x; ++y)
{
libmemcached_free(clone, clone->sasl.callbacks[y].context);
}
{
libmemcached_free(clone, clone->sasl.callbacks[y].context);
}