diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2009-09-02 15:50:05 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2009-09-02 15:50:05 +0000 |
commit | 779b58baf1bd0ec0abc8760234567549c4f12acd (patch) | |
tree | ad2ef89d802e2d62dcb6f8cfc6688581c62ec4ec /test/util-socks.c | |
parent | 1326f3c72166f210beae76314baa7a50f34c25f6 (diff) | |
download | neon-779b58baf1bd0ec0abc8760234567549c4f12acd.tar.gz |
* test/util-socks.c (read_socks_0string): Pass through context string.
(socks_server): Fail for v4 server without expected address.
Don't write "ok" message for v4 server without say_hello flag.
git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1709 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'test/util-socks.c')
-rw-r--r-- | test/util-socks.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/test/util-socks.c b/test/util-socks.c index a055bf5..0734460 100644 --- a/test/util-socks.c +++ b/test/util-socks.c @@ -90,7 +90,7 @@ static int read_socks_0string(ne_socket *sock, const char *ctx, unsigned char *end = buf + *len, *p = buf; while (p < end) { - CALL(read_socks_byte(sock, "NUL-terminated string read", p)); + CALL(read_socks_byte(sock, ctx, p)); if (*p == '\0') break; @@ -131,6 +131,9 @@ int socks_server(ne_socket *sock, void *userdata) srv->version == NE_SOCK_SOCKSV4A && srv->expect_addr == NULL && memcmp(buf + 2, "\0\0\0", 3) != 0 && buf[6] != 0); + ONN("v4 server with no expected address! fail", + srv->version == NE_SOCK_SOCKSV4 && srv->expect_addr == NULL); + if (srv->expect_addr) { ONN("v4 address mismatch", memcmp(ne_iaddr_raw(srv->expect_addr, raw), buf + 2, 4) != 0); @@ -156,9 +159,16 @@ int socks_server(ne_socket *sock, void *userdata) ("bad v4A hostname: %s not %s", buf, srv->expect_fqdn)); } - CALL(full_write(sock, "\x00\x5A" - "\x00\x00" "\x00\x00\x00\x00" - "ok!\n", 12)); + { + static const char msg[] = "\x00\x5A" + "\x00\x00" "\x00\x00\x00\x00" + "ok!\n"; + + if (srv->say_hello) + CALL(full_write(sock, msg, 12)); + else + CALL(full_write(sock, msg, 8)); + } return srv->server(sock, srv->userdata); } |