summaryrefslogtreecommitdiffstats
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
commit4e42cb141b28105526d861bb64825e369b1a93d1 (patch)
tree9ebb37fd20450cffddc565cbf14fc24b74c5573c
parent76ef8f9092fcac04c1d3c405b5719fdb79bc5987 (diff)
downloadmandoc-4e42cb141b28105526d861bb64825e369b1a93d1.tar.gz
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.c21
-rw-r--r--cgi.h.example1
-rw-r--r--man.cgi.85
3 files changed, 11 insertions, 16 deletions
diff --git a/cgi.c b/cgi.c
index 9f73f918..614d2107 100644
--- a/cgi.c
+++ b/cgi.c
@@ -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 7d1a17ca..645dff7a 100644
--- a/man.cgi.8
+++ b/man.cgi.8
@@ -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