aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cgi.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2017-03-18 16:48:24 +0000
committerIngo Schwarze <schwarze@openbsd.org>2017-03-18 16:48:24 +0000
commitc0fb3f2307fc80d2d85cc1ab16c3fd262bba49a6 (patch)
treec5d9044c59b82074343f5a7ccf7d0d2b591cf66c /cgi.c
parentf11372be0b649dd13ffa86c4c610c0ffb903849b (diff)
downloadmandoc-c0fb3f2307fc80d2d85cc1ab16c3fd262bba49a6.tar.gz
mandoc-c0fb3f2307fc80d2d85cc1ab16c3fd262bba49a6.tar.zst
mandoc-c0fb3f2307fc80d2d85cc1ab16c3fd262bba49a6.zip
Simplify: write HTTP 303 redirects with relative locations.
Suggested by bentley@. Delete the HTTP_HOST configuration variable that is now obsolete.
Diffstat (limited to 'cgi.c')
-rw-r--r--cgi.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/cgi.c b/cgi.c
index d1d1199e..da638dcf 100644
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-/* $Id: cgi.c,v 1.152 2017/03/18 16:19:11 schwarze Exp $ */
+/* $Id: cgi.c,v 1.153 2017/03/18 16:48:24 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze <schwarze@usta.de>
@@ -554,8 +554,8 @@ pg_error_internal(void)
static void
pg_redirect(const struct req *req, const char *name)
{
- printf("Status: 303 See Other\r\n");
- printf("Location: http://%s/", HTTP_HOST);
+ printf("Status: 303 See Other\r\n"
+ "Location: /");
if (*scriptname != '\0')
printf("%s/", scriptname);
if (strcmp(req->q.manpath, req->p[0]))
@@ -591,14 +591,15 @@ pg_searchres(const struct req *req, struct manpage *r, size_t sz)
* If we have just one result, then jump there now
* without any delay.
*/
- printf("Status: 303 See Other\r\n");
- printf("Location: http://%s/%s%s%s/%s",
- HTTP_HOST, scriptname,
- *scriptname == '\0' ? "" : "/",
- req->q.manpath, r[0].file);
- printf("\r\n"
- "Content-Type: text/html; charset=utf-8\r\n"
- "\r\n");
+ printf("Status: 303 See Other\r\n"
+ "Location: /");
+ if (*scriptname != '\0')
+ printf("%s/", scriptname);
+ if (strcmp(req->q.manpath, req->p[0]))
+ printf("%s/", req->q.manpath);
+ printf("%s\r\n"
+ "Content-Type: text/html; charset=utf-8\r\n\r\n",
+ r[0].file);
return;
}