From 220e4280121438a1e183a70d29be33f27c9dcae1 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 13 Jul 2014 15:38:36 +0000 Subject: Compatibility hack for the old "manpath=OpenBSD" 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. --- cgi.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'cgi.c') diff --git a/cgi.c b/cgi.c index 23e3eb41..6430ba63 100644 --- a/cgi.c +++ b/cgi.c @@ -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; -- cgit