diff options
| author | 2014-07-25 23:30:58 +0000 | |
|---|---|---|
| committer | 2014-07-25 23:30:58 +0000 | |
| commit | 0bac6c35e98920e56130d4ed067ccd7245422bc0 (patch) | |
| tree | aba1aa3d188e8b5a198f61a9fd5da878e56c7ec7 /usr.sbin/httpd/server.c | |
| parent | Reset the default Host for each request (diff) | |
| download | wireguard-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.c | 7 |
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); } |
