From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from krisdoz.my.domain (schwarze@localhost [127.0.0.1]) by krisdoz.my.domain (8.14.5/8.14.5) with ESMTP id s6DFca44032650 for ; Sun, 13 Jul 2014 11:38:36 -0400 (EDT) Received: (from schwarze@localhost) by krisdoz.my.domain (8.14.5/8.14.3/Submit) id s6DFcaoM029748; Sun, 13 Jul 2014 11:38:36 -0400 (EDT) Date: Sun, 13 Jul 2014 11:38:36 -0400 (EDT) Message-Id: <201407131538.s6DFcaoM029748@krisdoz.my.domain> X-Mailinglist: mdocml-source Reply-To: source@mdocml.bsd.lv MIME-Version: 1.0 From: schwarze@mdocml.bsd.lv To: source@mdocml.bsd.lv Subject: mdocml: Compatibility hack for the old "manpath=OpenBSD" query X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Log Message: ----------- 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. Modified Files: -------------- mdocml: cgi.c cgi.h.example man.cgi.8 Revision Data ------------- Index: man.cgi.8 =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/man.cgi.8,v retrieving revision 1.5 retrieving revision 1.6 diff -Lman.cgi.8 -Lman.cgi.8 -u -p -r1.5 -r1.6 --- man.cgi.8 +++ man.cgi.8 @@ -159,6 +159,62 @@ When using the .Xr slowcgi 8 proxy daemon is needed to translate FastCGI requests to plain old CGI. +.Pp +To compile +.Nm , +first copy +.Pa cgi.h.example +to +.Pa cgi.h +and edit it according to your needs. +It contains the following compile-time definitions: +.Bl -tag -width Ds +.It Ev COMPAT_OLDURI +Only useful for running on www.openbsd.org to deal with old URIs containing +.Qq "manpath=OpenBSD " +where the blank character has to be translated to a hyphen. +When compiling for other sites, this definition can be deleted. +.It Ev CSS_DIR +An optional path to the directory containing the CSS files, +to be specified relative to the server's document root, +and to be specified without a trailing slash. +When not specified, the CSS files +are assumed to be in the document root. +This is used in generated HTML code. +.It Ev CUSTOMIZE_BEGIN +A HTML string to be inserted right after opening the +.Aq BODY +element. +.It Ev CUSTOMIZE_TITLE +An ASCII string to be used for the HTML +.Aq TITLE +element. +.It Ev MAN_DIR +A path to the +.Nm +data directory to be used instead of +.Pa /var/www/man , +relative to the web server +.Xr chroot 2 +directory, to be specified without a trailing slash. +This is prepended to the manpath when opening +.Xr mandoc.db 5 +and manual page files. +.El +.Pp +After editing +.Pa cgi.h , +run +.Pp +.Dl make man.cgi +.Pp +and copy the files to the proper locations. +Reading the +.Cm installcgi +target in the +.Pa Makefile +can help with that, but do not run it without carefully checking it +because the directory layouts of web servers vary greatly. .Ss URI interface .Nm uniform resource identifiers are not needed for interactive use, @@ -282,27 +338,6 @@ An example source file located below the .Dq OpenBSD-current manpath. -.El -.Sh COMPILE-TIME DEFINES -.Bl -tag -width Ds -.It Ev CSS_DIR -An optional path to the directory containing the CSS files, -to be specified relative to the server's document root, -and to be specified without a trailing slash. -When not specified, the CSS files -are assumed to be in the document root. -This is used in generated HTML code. -.It Ev MAN_DIR -A path to the -.Nm -data directory to be used instead of -.Pa /var/www/man , -relative to the web server -.Xr chroot 2 -directory, to be specified without a trailing slash. -This is prepended to the manpath when opening -.Xr mandoc.db 5 -and manual page files. .El .Sh COMPATIBILITY The Index: cgi.h.example =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/cgi.h.example,v retrieving revision 1.1 retrieving revision 1.2 diff -Lcgi.h.example -Lcgi.h.example -u -p -r1.1 -r1.2 --- cgi.h.example +++ cgi.h.example @@ -5,3 +5,4 @@ #define CUSTOMIZE_TITLE "Manual pages with mandoc" #define CUSTOMIZE_BEGIN "

\nManual pages with " \ "mandoc\n

" +#define COMPAT_OLDURI Yes Index: cgi.c =================================================================== RCS file: /usr/vhosts/mdocml.bsd.lv/cvs/mdocml/cgi.c,v retrieving revision 1.72 retrieving revision 1.73 diff -Lcgi.c -Lcgi.c -u -p -r1.72 -r1.73 --- cgi.c +++ 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; -- To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv