From de0d705d7cae4cd9d7084d808fb998f94884aee1 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 19 Oct 2007 10:14:16 +0000 Subject: Merge r1263, r1264 from trunk: * src/ne_socket.c (ne_sock_sessid): Don't copy from beyond ->session_id array. * test/socket.c (ssl_session_id): Test that only expected number of bytes are copied. * test/auth.c (serve_digest): Inhibit "server child failure" messages when the server should quit. git-svn-id: http://svn.webdav.org/repos/projects/neon/branches/0.27.x@1265 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845 --- src/ne_socket.c | 2 +- test/auth.c | 7 +++++++ test/socket.c | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ne_socket.c b/src/ne_socket.c index c1a4230..898eba8 100644 --- a/src/ne_socket.c +++ b/src/ne_socket.c @@ -1468,8 +1468,8 @@ int ne_sock_sessid(ne_socket *sock, unsigned char *buf, size_t *buflen) return -1; } - memcpy(buf, sess->session_id, *buflen); *buflen = sess->session_id_length; + memcpy(buf, sess->session_id, *buflen); return 0; #endif #else diff --git a/test/auth.c b/test/auth.c index a0c87ee..7473346 100644 --- a/test/auth.c +++ b/test/auth.c @@ -700,6 +700,13 @@ static int serve_digest(ne_socket *sock, void *userdata) SEND_STRING(sock, resp); + /* Give up now if we've sent a challenge which should force the + * client to fail immediately: */ + if (parms->failure == fail_bogus_alg + || parms->failure == fail_req0_stale) { + return OK; + } + do { CALL(discard_request(sock)); diff --git a/test/socket.c b/test/socket.c index 5d69792..941064f 100644 --- a/test/socket.c +++ b/test/socket.c @@ -1027,14 +1027,14 @@ static int ssl_session_id(void) { size_t len2; - len2 = len1; + len2 = sizeof buf; ONN("could not retrieve session id", ne_sock_sessid(sock, buf, &len2)); ONN("buffer size changed!?", len1 != len2); } - ONN("buffer written past end", + ONN("buffer written past expected end", len1 < sizeof buf && buf[len1] != 'Z'); /* Attempt retrieval into too-short buffer: */ -- cgit v1.2.1