From f105330f8c9e23c94a433da24c01ff78b5e06613 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 | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'cgi.c') 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 * Copyright (c) 2014 Ingo Schwarze @@ -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 v1.2.3