aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cgi.c
Commit message (Collapse)AuthorAgeFilesLines
...
* some sugar for the index pageIngo Schwarze2014-07-091-3/+11
|
* Clean up error reporting:Ingo Schwarze2014-07-091-50/+51
| | | | | | | * Consistent naming and use of resp_* functions. * Split resp_noresult() out of resp_search() and reuse it. * Log information about internal errors. * And some minor fixes.
* namespace cleanups:Ingo Schwarze2014-07-091-45/+48
| | | | | | | | | | CGI variable: s/CACHE_DIR/MAN_DIR/ because it's static, not a cache default MAN_DIR: /cache/man.cgi/ -> /man/ see above global variable: s/cache/mandir/ see above global variable: s/css/cssdir/ for consistency with mandir global variable: s/host/httphost/ for consistency with HTTP_HOST global variable: s/progname/scriptname/ for consistency with SCRIPT_NAME struct query: member s/manroot/manpath/ for consistency with QUERY_STRING
* remove obsolete __sun includesIngo Schwarze2014-07-091-10/+3
| | | | and improve some whitespace and comments
* set a reasonable default for .OsIngo Schwarze2014-07-091-2/+3
|
* oops, forgot to trim the newline characterIngo Schwarze2014-07-091-1/+3
|
* Simplify pathgen() even more.Ingo Schwarze2014-07-091-28/+14
| | | | | | Let manpath.conf be a plain text list of the directories to use. As a bonus, this makes the order configurable. Get rid of <dirent.h>, opendir(3), readdir(3), stat(2).
* include manpath= when printing queries, and omit empty parametersIngo Schwarze2014-07-091-13/+33
|
* Switch over man.cgi to SQLite. While here:Ingo Schwarze2014-07-091-377/+85
| | | | | | | * Simplify pathgen(), just use the subdirs of the cache dir. * Simplify URI paths, just use show/<manpath>/<filename>. * Drop struct paths, just use plain strings. * Garbage collect unused headers.
* Audit malloc(3)/calloc(3)/realloc(3) usage.Ingo Schwarze2014-04-231-5/+4
| | | | First committed to wrong branch, sorry.
* needs mandoc_aux, tooIngo Schwarze2014-03-231-1/+2
|
* Without the MPARSE_SO option, if the file contains nothing but aIngo Schwarze2014-03-191-2/+2
| | | | | | single .so request, do not read the file pointed to, but instead let mparse_result() provide the file name pointed to as a return value. To be used by makewhatis(8) in the future.
* cope with mparse_alloc() interface changeIngo Schwarze2014-03-191-2/+2
|
* Cope with mparse_alloc() interface change.Ingo Schwarze2014-01-051-2/+2
|
* Thomas Klausner <wiz at NetBSD dot org> finally succeeded to buildIngo Schwarze2013-10-111-5/+36
| | | | on SmartOS and sent these additional patches, thanks!
* Some places used PATH_MAX from <limits.h>, some MAXPATHLEN from <sys/param.h>.Ingo Schwarze2013-06-051-18/+17
| | | | | | Consistently use the PATH_MAX since it is specified by POSIX, while MAXPATHLEN is not. In preparation for using this at a few more places.
* Support -Ios='OpenBSD 5.1' to override uname(3) as the source of theIngo Schwarze2012-05-271-2/+2
| | | | | | | | | | default value for the mdoc(7) .Os macro. Needed for man.cgi on the OpenBSD website. Problem with man.cgi first noticed by deraadt@; beck@ and deraadt@ agree with the way to solve the issue. "Please check them in and I'll look into them later!" kristaps@
* Fix lookup not to use full-out regexp search.Kristaps Dzonsons2012-03-251-2/+2
|
* Be insane. Make apropos(1) subsume man(1).Kristaps Dzonsons2012-03-241-2/+2
|
* Simplify by not pre-filtering the result vector for satisfied matches:Kristaps Dzonsons2012-03-241-12/+25
| | | | we can do this in the frontend.
* Knock out useless & confusing whatis mode.Kristaps Dzonsons2012-03-231-29/+9
|
* Continue changing mandoc.{index,db} into whatis.{index,db}. Use mandocdb.hKristaps Dzonsons2011-12-251-2/+4
| | | | to do so.
* Two lint fixes.Kristaps Dzonsons2011-12-161-2/+2
|
* Fix assertion found when plugging legacy man.cgi query string into myKristaps Dzonsons2011-12-161-2/+4
| | | | man.cgi.
* When routing to a "result" page in the cgi, remember our input parametersKristaps Dzonsons2011-12-161-38/+72
| | | | | and repeat them in the search bar. This is handy. While here, make the QUERY_STRING parser a bit simpler.
* Make the stored "cat"/"mdoc"/"man" strings just be c/d/a single-characterKristaps Dzonsons2011-12-161-11/+11
| | | | | bytes. This cuts down a little in index size and allows for cleaner extraction of information.
* Make paths in the mandocdb(8) index relative to the databases' pathKristaps Dzonsons2011-12-161-4/+9
| | | | | | | prefix. This means that an index in, say, /usr/share/man will point to man1/foo.1 instead of /usr/share/man/man1/foo.1. Not only does this save a lot of space, it also allows manual trees to be moved around without any side effects to the mandocdb(8) databases.
* Further tweaks for output consistency.Kristaps Dzonsons2011-12-151-4/+7
|
* Some presentation polish in man.cgi:Kristaps Dzonsons2011-12-151-34/+36
| | | | | | | | | | | | - include search bar above result page (I relent: it's annoying to follow three links then press back three times to get a search page); - make man.cgi.css into man-cgi.css so Apache isn't confused by two handlers (css, cgi); - finally consolidate example.style.css to be under the div.mandoc css selector; - put catman pages under div.catman; - put search bar under div#mancgi; - reflect this properly in the bundled CSS files.
* Unbreak man.cgi's css directories when CSS_DIR isn't specified.Kristaps Dzonsons2011-12-141-2/+2
|
* implement -C (alternative config file) for apropos(1) and mandocdb(8),Ingo Schwarze2011-12-121-3/+3
| | | | | including various tweaks to the whatis(8) manual; ok kristaps@
* When 303'ing a search directly to a page, remember to specify its manroot.Kristaps Dzonsons2011-12-111-57/+54
| | | | | | Also allow for a CSS_DIR to specify alternate CSS locations. Finally, some clutter as I assume that "css" and "progname" are already HTML-safe.
* Slip in a fix to allow for empty cache directories.Kristaps Dzonsons2011-12-101-2/+2
|
* Finishing touches on multi-manroot man.cgi. If more than one root isKristaps Dzonsons2011-12-101-5/+24
| | | | | specified, write them out using a SELECT box. Else write nothing (the manroot will still be checked if it's specified).
* Switch on "manpath=" handling, which I call the "manroot" (as "manpath" isKristaps Dzonsons2011-12-101-29/+46
| | | | | | | | reserved for paths within a manroot). This functionality is bare-bones: right now, the default manroot is the first one scanned from the cache directory. At some point this will be sexy and smooth, but it's easy to upgrade functionality by modifying pathgen() and so forth. If a manroot isn't parsed from the "manpath=", results are always empty.
* Encode "manroot" into file URL and parse it properly. Right now thisKristaps Dzonsons2011-12-101-14/+27
| | | | just uses the first manroot by default.
* Big upgrade and polish for cgi.c.Kristaps Dzonsons2011-12-101-163/+284
| | | | | | | | | | | | | | | | | | | - Deprecate kvals (key/value pairs for QUERY_STRING values). Since there's only one place that uses this, kval_parse (now http_parse()) dumps directly into struct query, which is more high-level. - Put query values directly into struct req. - The biggest difference is dynamic support for multiple "manroots". A "manroot" is a path with an "etc/catman.conf" file. When the cgi starts, it (prefix) recurses through its CACHE_DIR searching for "etc" directories. When one's found, it sees if a catman.conf file exists. This is marked as a manroot and appended to a list. The name of a manroot is the path without slashes (e.g., OpenBSD/4.9 -> "OpenBSD 4.9"). Right now "manroot" isn't enabled. The first manroot is chosen as the real one. I'll add the interface to it in the next checkins, but it'll be quite simple.
* FreeBSD's man.cgi uses a "default" value for no arch.Kristaps Dzonsons2011-12-101-4/+11
|
* Add some periods (just to see if mlmmj is working again...).Kristaps Dzonsons2011-12-101-3/+3
|
* Forgot to make whatis the default during abstraction. Do it again.Kristaps Dzonsons2011-12-091-3/+5
|
* Abstract query extraction code. Perform some readability fixes while here.Kristaps Dzonsons2011-12-091-138/+154
|
* If no man.cgi `whatis' results are found, offer a quick link to the aproposKristaps Dzonsons2011-12-081-4/+42
| | | | query mode.
* Fix stupid typo: strlcpy() instead of strlcat().Kristaps Dzonsons2011-12-081-2/+2
|
* Look for man.cgi files in the cache, not under the volume path.Kristaps Dzonsons2011-12-081-3/+3
|
* Tweak to make man.cgi's search results validate properly.Kristaps Dzonsons2011-12-071-1/+4
|
* Apropos and man.cgi should strcasecmp their output sorting.Kristaps Dzonsons2011-12-071-5/+15
| | | | | man.cgi should sort in the first place -- it wasn't before. Revert uppercasing of man.cgi title.
* Add skeleton man.cgi.css file. I don't think this should become moreKristaps Dzonsons2011-12-071-21/+28
| | | | | complicated than this. Also make the title be printed out in caps as it is in apropos(1) and whatis(1).
* Accept old-school man.cgi parameters like "sektion" and "query". This stillKristaps Dzonsons2011-12-071-1/+18
| | | | | | needs work because specifying an arch with "arch=i386" will return results that don't have an arch specified. I think this is weird, but it will need to be supported if we want backwards compatibility.
* Have a whatis/apropos mode, with the default (hitting enter within theKristaps Dzonsons2011-12-071-42/+56
| | | | | | | expression text) be whatis. This is a much nicer default than apropos, which can be scary. While here, fix the cat.css location (erroneously put in the response page instead of the catman page) and add bits for a default style-sheet.
* By default, man.cgi should compile with -static (this was unset by mistake).Kristaps Dzonsons2011-12-071-4/+18
| | | | Also, set a custom CSS for man.cgi catman files.