aboutsummaryrefslogtreecommitdiffstatshomepage
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
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.
-rw-r--r--cgi.c23
-rw-r--r--cgi.h.example1
-rw-r--r--man.cgi.89
3 files changed, 14 insertions, 19 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;
}
diff --git a/cgi.h.example b/cgi.h.example
index 7e5f3917..2ccbe25b 100644
--- a/cgi.h.example
+++ b/cgi.h.example
@@ -1,6 +1,5 @@
/* Example compile-time configuration file for man.cgi(8). */
-#define HTTP_HOST "mdocml.bsd.lv"
#define SCRIPT_NAME "cgi-bin/man.cgi"
#define MAN_DIR "/man"
#define CSS_DIR ""
diff --git a/man.cgi.8 b/man.cgi.8
index 8e3222ae..eba3cec4 100644
--- a/man.cgi.8
+++ b/man.cgi.8
@@ -1,4 +1,4 @@
-.\" $Id: man.cgi.8,v 1.21 2017/03/17 12:56:57 schwarze Exp $
+.\" $Id: man.cgi.8,v 1.22 2017/03/18 16:48:24 schwarze Exp $
.\"
.\" Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
.\"
@@ -14,7 +14,7 @@
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: March 17 2017 $
+.Dd $Mdocdate: March 18 2017 $
.Dt MAN.CGI 8
.Os
.Sh NAME
@@ -186,11 +186,6 @@ Otherwise, a leading slash is needed.
This is used in generated HTML code.
.It Dv CUSTOMIZE_TITLE
An ASCII string to be used for the HTML <TITLE> element.
-.It Dv HTTP_HOST
-The FQDN of the (possibly virtual) host the HTTP server is running on.
-This is used for
-.Ic Location:
-headers in HTTP 303 responses.
.It Dv MAN_DIR
A file system path to the
.Nm