summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2020-11-26 15:03:22 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2023-05-03 23:11:34 -0400
commitb5ca7beb25419399a64bed459564e8cb712f603b (patch)
treeaba5f63a53049edddc60120d7d8a1f5a6635042c /src
parent8acf2ae5e62269c33e4f6cc205d025de278924ae (diff)
downloadlighttpd-git-b5ca7beb25419399a64bed459564e8cb712f603b.tar.gz
[core] _WIN32 protect code w/ HAVE_IPV6
Diffstat (limited to 'src')
-rw-r--r--src/network.c2
-rw-r--r--src/sock_addr.c6
-rw-r--r--src/t/test_request.c6
3 files changed, 14 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c
index b312a492..8c1d302b 100644
--- a/src/network.c
+++ b/src/network.c
@@ -369,7 +369,9 @@ static int network_server_init(server *srv, const network_socket_config *s, buff
sock_addr addr;
int family = 0;
int use_ipv6 = s->use_ipv6;
+ #ifdef HAVE_IPV6
int set_v6only = 0;
+ #endif
if (buffer_is_blank(host_token)) {
log_error(srv->errh, __FILE__, __LINE__,
diff --git a/src/sock_addr.c b/src/sock_addr.c
index cc702187..3874b85e 100644
--- a/src/sock_addr.c
+++ b/src/sock_addr.c
@@ -288,6 +288,8 @@ const char * sock_addr_inet_ntop(const sock_addr * const restrict saddr, char *
#if defined(HAVE_INET_PTON) /*(expect inet_ntop if inet_pton)*/
return inet_ntop(AF_INET,(const void *)&saddr->ipv4.sin_addr,buf,sz);
#else /*(inet_ntoa() not thread-safe)*/
+ UNUSED(buf);
+ UNUSED(sz);
return inet_ntoa(saddr->ipv4.sin_addr);
#endif
#ifdef HAVE_IPV6
@@ -689,7 +691,11 @@ int sock_addr_from_buffer_hints_numeric(sock_addr * const restrict saddr, sockle
else if (1 == sock_addr_inet_pton(saddr, b->ptr, family, port)) {
*len = (family == AF_INET)
? sizeof(struct sockaddr_in) /* family == AF_INET */
+ #ifdef HAVE_IPV6
: sizeof(struct sockaddr_in6); /* family == AF_INET6 */
+ #else
+ : 0; /*(should not happen; sock_addr_inet_pton() would not succeed)*/
+ #endif
return 1;
}
#if defined(HAVE_IPV6) && defined(HAVE_INET_PTON)
diff --git a/src/t/test_request.c b/src/t/test_request.c
index 372fec38..bed75d86 100644
--- a/src/t/test_request.c
+++ b/src/t/test_request.c
@@ -163,12 +163,14 @@ static void test_request_http_request_parse(request_st * const r)
"\r\n"));
assert(r->http_host && buffer_eq_slen(r->http_host, CONST_STR_LEN("127.0.0.1")));
+ #ifdef HAVE_IPV6
run_http_request_parse(r, __LINE__, 0,
"IPv6 address",
CONST_STR_LEN("GET / HTTP/1.0\r\n"
"Host: [::1]\r\n"
"\r\n"));
assert(r->http_host && buffer_eq_slen(r->http_host, CONST_STR_LEN("[::1]")));
+ #endif
run_http_request_parse(r, __LINE__, 0,
"hostname + port",
@@ -184,12 +186,14 @@ static void test_request_http_request_parse(request_st * const r)
"\r\n"));
assert(r->http_host && buffer_eq_slen(r->http_host, CONST_STR_LEN("127.0.0.1")));
+ #ifdef HAVE_IPV6
run_http_request_parse(r, __LINE__, 0,
"IPv6 address + port",
CONST_STR_LEN("GET / HTTP/1.0\r\n"
"Host: [::1]:80\r\n"
"\r\n"));
assert(r->http_host && buffer_eq_slen(r->http_host, CONST_STR_LEN("[::1]")));
+ #endif
run_http_request_parse(r, __LINE__, 400,
"directory traversal",
@@ -277,6 +281,7 @@ static void test_request_http_request_parse(request_st * const r)
"Host: 192.168.2:1234\r\n"
"\r\n"));
+ #ifdef HAVE_IPV6
run_http_request_parse(r, __LINE__, 400,
"IPv6 address + SQL injection",
CONST_STR_LEN("GET / HTTP/1.0\r\n"
@@ -288,6 +293,7 @@ static void test_request_http_request_parse(request_st * const r)
CONST_STR_LEN("GET / HTTP/1.0\r\n"
"Host: [::1]/../../../\r\n"
"\r\n"));
+ #endif
run_http_request_parse(r, __LINE__, 400,
"negative Content-Length",