aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cgi.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2014-07-13 15:38:36 +0000
committerIngo Schwarze <schwarze@openbsd.org>2014-07-13 15:38:36 +0000
commitf105330f8c9e23c94a433da24c01ff78b5e06613 (patch)
treeb7a81f3805c365427cedf1dac92e44c40580675d /cgi.c
parente1c43d6711ac3ae9f955128631c8bb0dc69772f8 (diff)
downloadmandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.tar.gz
mandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.tar.zst
mandoc-f105330f8c9e23c94a433da24c01ff78b5e06613.zip
Compatibility hack for the old "manpath=OpenBSD<blank>" query parameter format;
unfortunate, more than 400 links needing this are scattered all around the www.openbsd.org website, and CVSweb needs this as well.
Diffstat (limited to 'cgi.c')
-rw-r--r--cgi.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/cgi.c b/cgi.c
index 00f033ef..e246e7fd 100644
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-/* $Id: cgi.c,v 1.72 2014/07/13 12:55:45 schwarze Exp $ */
+/* $Id: cgi.c,v 1.73 2014/07/13 15:38:36 schwarze Exp $ */
/*
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014 Ingo Schwarze <schwarze@usta.de>
@@ -250,14 +250,25 @@ http_parse(struct req *req, char *p)
if (0 == strcmp(key, "query"))
req->q.expr = val;
- else if (0 == strcmp(key, "manpath"))
+ else if (0 == strcmp(key, "manpath")) {
+#ifdef COMPAT_OLDURI
+ if (0 == strncmp(val, "OpenBSD ", 8)) {
+ val[7] = '-';
+ if ('C' == val[8])
+ val[8] = 'c';
+ }
+#endif
req->q.manpath = val;
- else if (0 == strcmp(key, "apropos"))
+ } else if (0 == strcmp(key, "apropos"))
req->q.equal = !strcmp(val, "0");
- else if (0 == strcmp(key, "sec") ||
- 0 == strcmp(key, "sektion")) {
+ else if (0 == strcmp(key, "sec")) {
if (strcmp(val, "0"))
req->q.sec = val;
+#ifdef COMPAT_OLDURI
+ } else if (0 == strcmp(key, "sektion")) {
+ if (strcmp(val, "0"))
+ req->q.sec = val;
+#endif
} else if (0 == strcmp(key, "arch")) {
if (strcmp(val, "default"))
req->q.arch = val;