diff options
| author | 2014-09-05 10:04:20 +0000 | |
|---|---|---|
| committer | 2014-09-05 10:04:20 +0000 | |
| commit | bd1bab2f056ac0533ce827cc99ced62fb1a5fc8a (patch) | |
| tree | 581a8bc25ea1d4a2646d533c221a3bf50a9241a1 /usr.sbin/httpd/server.c | |
| parent | Tweaks, no functionnal change. (diff) | |
| download | wireguard-openbsd-bd1bab2f056ac0533ce827cc99ced62fb1a5fc8a.tar.xz wireguard-openbsd-bd1bab2f056ac0533ce827cc99ced62fb1a5fc8a.zip | |
Remove a limitation that only allowed to specify a server name once.
The key has been changed to server name + address + port and now it is
possible to use the same server name for multiple servers with
different addresses, eg. http://www.example.com and
https://www.example.com/.
OK doug@ florian@
Diffstat (limited to 'usr.sbin/httpd/server.c')
| -rw-r--r-- | usr.sbin/httpd/server.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/usr.sbin/httpd/server.c b/usr.sbin/httpd/server.c index ed321af5752..e756abb99f9 100644 --- a/usr.sbin/httpd/server.c +++ b/usr.sbin/httpd/server.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.41 2014/09/02 16:20:41 reyk Exp $ */ +/* $OpenBSD: server.c,v 1.42 2014/09/05 10:04:20 reyk Exp $ */ /* * Copyright (c) 2006 - 2014 Reyk Floeter <reyk@openbsd.org> @@ -285,8 +285,7 @@ server_purge(struct server *srv) /* It might point to our own "default" entry */ if (srv_conf != &srv->srv_conf) { - free(srv_conf->ssl_cert); - free(srv_conf->ssl_key); + serverconfig_free(srv_conf); free(srv_conf); } } @@ -297,6 +296,22 @@ server_purge(struct server *srv) free(srv); } +void +serverconfig_free(struct server_config *srv_conf) +{ + free(srv_conf->ssl_cert_file); + free(srv_conf->ssl_cert); + free(srv_conf->ssl_key_file); + free(srv_conf->ssl_key); +} + +void +serverconfig_reset(struct server_config *srv_conf) +{ + srv_conf->ssl_cert_file = srv_conf->ssl_cert = + srv_conf->ssl_key_file = srv_conf->ssl_key = NULL; +} + struct server * server_byaddr(struct sockaddr *addr, in_port_t port) { |
