projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge in all current libmemcached work, plus restore older, working,
[awesomized/libmemcached]
/
libmemcached
/
sasl.c
diff --git
a/libmemcached/sasl.c
b/libmemcached/sasl.c
index bdec4272546a0e10423790d29735bee0102a5ec6..669207950d56342680d7078ba4503652223383e4 100644
(file)
--- a/
libmemcached/sasl.c
+++ b/
libmemcached/sasl.c
@@
-30,7
+30,7
@@
const 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 bool resolve_names(int fd, char *laddr,
char *raddr
)
+static bool resolve_names(int fd, char *laddr,
size_t laddr_length, char *raddr, size_t raddr_length
)
{
char host[NI_MAXHOST];
char port[NI_MAXSERV];
{
char host[NI_MAXHOST];
char port[NI_MAXSERV];
@@
-44,7
+44,7
@@
static bool resolve_names(int fd, char *laddr, char *raddr)
return false;
}
return false;
}
- (void)s
printf(laddr
, "%s;%s", host, port);
+ (void)s
nprintf(laddr, laddr_length
, "%s;%s", host, port);
salen= sizeof(saddr);
if ((getpeername(fd, (struct sockaddr *)&saddr, &salen) < 0) ||
salen= sizeof(saddr);
if ((getpeername(fd, (struct sockaddr *)&saddr, &salen) < 0) ||
@@
-54,7
+54,7
@@
static bool resolve_names(int fd, char *laddr, char *raddr)
return false;
}
return false;
}
- (void)s
printf(raddr
, "%s;%s", host, port);
+ (void)s
nprintf(raddr, raddr_length
, "%s;%s", host, port);
return true;
}
return true;
}
@@
-108,7
+108,7
@@
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *s
char laddr[NI_MAXHOST + NI_MAXSERV];
char raddr[NI_MAXHOST + NI_MAXSERV];
char laddr[NI_MAXHOST + NI_MAXSERV];
char raddr[NI_MAXHOST + NI_MAXSERV];
- unlikely (!resolve_names(server->fd, laddr,
raddr
))
+ unlikely (!resolve_names(server->fd, laddr,
sizeof(laddr), raddr, sizeof(raddr)
))
{
server->cached_errno= errno;
return MEMCACHED_ERRNO;
{
server->cached_errno= errno;
return MEMCACHED_ERRNO;
@@
-141,7
+141,7
@@
memcached_return_t memcached_sasl_authenticate_connection(memcached_server_st *s
do {
/* send the packet */
do {
/* send the packet */
- struct
__write
_vector_st vector[]=
+ struct
libmemcached_io
_vector_st vector[]=
{
{ .length= sizeof(request.bytes), .buffer= request.bytes },
{ .length= keylen, .buffer= chosenmech },
{
{ .length= sizeof(request.bytes), .buffer= request.bytes },
{ .length= keylen, .buffer= chosenmech },
@@
-225,8
+225,8
@@
memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr,
sasl_callback_t *cb= libmemcached_calloc(ptr, 4, sizeof(sasl_callback_t));
char *name= libmemcached_malloc(ptr, strlen(username) + 1);
sasl_callback_t *cb= libmemcached_calloc(ptr, 4, sizeof(sasl_callback_t));
char *name= libmemcached_malloc(ptr, strlen(username) + 1);
- s
asl_secret_t *secret= libmemcached_malloc(ptr, strlen(password) + 1 + sizeof(*secret))
-;
+ s
ize_t password_length= strlen(password);
+
sasl_secret_t *secret= libmemcached_malloc(ptr, password_length +1 + sizeof(*secret))
;
if (cb == NULL || name == NULL || secret == NULL)
{
libmemcached_free(ptr, cb);
if (cb == NULL || name == NULL || secret == NULL)
{
libmemcached_free(ptr, cb);
@@
-236,11
+236,12
@@
memcached_return_t memcached_set_sasl_auth_data(memcached_st *ptr,
}
secret->len= strlen(password);
}
secret->len= strlen(password);
- strcpy((void*)secret->data, password);
+ memcpy(secret->data, password, password_length);
+ secret->data[password_length]= 0;
cb[0].id= SASL_CB_USER;
cb[0].proc= get_username;
cb[0].id= SASL_CB_USER;
cb[0].proc= get_username;
- cb[0].context= str
cpy(name, username
);
+ cb[0].context= str
ncpy(name, username, sizeof(cb[0].context)
);
cb[1].id= SASL_CB_AUTHNAME;
cb[1].proc= get_username;
cb[1].context= name;
cb[1].id= SASL_CB_AUTHNAME;
cb[1].proc= get_username;
cb[1].context= name;
@@
-346,7
+347,7
@@
memcached_return_t memcached_clone_sasl(memcached_st *clone, const memcached_st
libmemcached_free(clone, cb);
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
}
libmemcached_free(clone, cb);
return MEMCACHED_MEMORY_ALLOCATION_FAILURE;
}
- str
cpy(cb[x].context, source->sasl.callbacks[x].context
);
+ str
ncpy(cb[x].context, source->sasl.callbacks[x].context, sizeof(cb[x].context)
);
}
else
{
}
else
{