summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2007-10-19 10:14:16 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2007-10-19 10:14:16 +0000
commitde0d705d7cae4cd9d7084d808fb998f94884aee1 (patch)
tree83bf3ddfe456b97c97b754a11c3b58044ef4326c
parent677912364ab7e80fef886a069e2ada916b370ead (diff)
downloadneon-0.27.x.tar.gz
Merge r1263, r1264 from trunk:0.27.x
* 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
-rw-r--r--src/ne_socket.c2
-rw-r--r--test/auth.c7
-rw-r--r--test/socket.c4
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: */