summaryrefslogtreecommitdiffstats
path: root/usr.sbin/httpd/server.c
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2014-07-25 23:30:58 +0000
committerreyk <reyk@openbsd.org>2014-07-25 23:30:58 +0000
commit0bac6c35e98920e56130d4ed067ccd7245422bc0 (patch)
treeaba1aa3d188e8b5a198f61a9fd5da878e56c7ec7 /usr.sbin/httpd/server.c
parentReset the default Host for each request (diff)
downloadwireguard-openbsd-0bac6c35e98920e56130d4ed067ccd7245422bc0.tar.xz
wireguard-openbsd-0bac6c35e98920e56130d4ed067ccd7245422bc0.zip
Differentiate servers by address and port, not just by address.
Diffstat (limited to 'usr.sbin/httpd/server.c')
-rw-r--r--usr.sbin/httpd/server.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.sbin/httpd/server.c b/usr.sbin/httpd/server.c
index 18fe06ca8a6..3ef140137c2 100644
--- a/usr.sbin/httpd/server.c
+++ b/usr.sbin/httpd/server.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server.c,v 1.12 2014/07/25 23:23:39 reyk Exp $ */
+/* $OpenBSD: server.c,v 1.13 2014/07/25 23:30:58 reyk Exp $ */
/*
* Copyright (c) 2006 - 2014 Reyk Floeter <reyk@openbsd.org>
@@ -182,12 +182,13 @@ server_purge(struct server *srv)
}
struct server *
-server_byaddr(struct sockaddr *addr)
+server_byaddr(struct sockaddr *addr, in_port_t port)
{
struct server *srv;
TAILQ_FOREACH(srv, env->sc_servers, srv_entry) {
- if (sockaddr_cmp((struct sockaddr *)&srv->srv_conf.ss,
+ if (port == srv->srv_conf.port &&
+ sockaddr_cmp((struct sockaddr *)&srv->srv_conf.ss,
addr, srv->srv_conf.prefixlen) == 0)
return (srv);
}