summaryrefslogtreecommitdiffstats
path: root/cgi.c
Commit message (Collapse)AuthorAgeFilesLines
* Apropos and man.cgi should strcasecmp their output sorting.Kristaps Dzonsons2011-12-071-4/+14
| | | | | 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-20/+27
| | | | | 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-0/+17
| | | | | | 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-41/+55
| | | | | | | 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-3/+17
| | | | Also, set a custom CSS for man.cgi catman files.
* Add cat2html functionality. This keeps track of italic/bold mode per lineKristaps Dzonsons2011-12-071-56/+183
| | | | | | | | | | | | and properly handles some funny troff-isms we've exposed. I originally wanted to use man2html.c (found on W3's website with no known author) but the code is dodgy. This will need some more work (links, etc.) but does a decent job thusfar. Note: I think it's better style NOT to use <pre>, and instead have each line employ <BR> afterward. This allows browsers to break the lines if necessary. This can be changed trivially (replacing the newline and pre tags with the <BR> and new tag).
* Make catman and man.cgi understand the index type-field.Kristaps Dzonsons2011-12-041-16/+61
| | | | | | | Also make catman's man.conf be generated as catman.conf to avoid clobbering a real man.conf file. Finally, add a placeholder catman() function to man.cgi for preformatted manuals in the cache.
* Removing INSECURE mode. This is a work in progress! Logic forKristaps Dzonsons2011-11-271-58/+36
| | | | formatting manpages is now linked into man.cgi.
* Let man.cgi run in two modes:Kristaps Dzonsons2011-11-241-27/+90
| | | | | | | | | | | | | (1) Insecure. This means that we're operating over the full file-system with access to mandoc(1). In this mode, mandocdb entries are formatted on-the-fly. The $INSECURE environment variable must be passed to man.cgi for this mode to work. (2) Secure. Manuals are assumed to be pre-formatted in a cache directory, which may be set with $CACHE_DIR but default to /cache/man.cgi. This mode works with manup(8), which updates the cached pages from outside of the jail. man.cgi simply locates the manual file and outputs it to stdout.
* man.cgi works for the non-jailed case.Kristaps Dzonsons2011-11-231-80/+421
| | | | | | | In other words, if you smash this into a cgi-bin directory, it will Just Work for your system's manuals (it of course needs access to mandoc(1) and your file-system, hence "non-jailed"). The notion of a jailed case is much more subtle and being worked on now.
* Merge schwarze@'s work for 64-bit types. This is based on a tweaked patchKristaps Dzonsons2011-11-201-0/+1
| | | | | | | submitted to tech@ on 16/11/2011, 01:39. It has been updated to account for the logical-operator functions and to avoid keeping a live pointer into the DBT value, which is not guaranteed to be consistent across calls into the bdb library.
* Inventing new keywords for mostly the same thing when a well-establishedIngo Schwarze2011-11-131-1/+2
| | | | | | | | | | set of keywords already exists is a bad idea, so reuse the mdoc(7) macro names as apropos(1) search types. This is a gain in brevity as well. Some time ago, kristaps@ agreed in principle. The search type bit field constants are used by both mandocdb(8) and apropos(1) and should better stay in sync, so give them their own header file.
* Less misleading file names; ok kristaps@.Ingo Schwarze2011-11-131-1/+1
|
* Make apropos's lookup use a find(1)-like expression. I'll write more onKristaps Dzonsons2011-11-091-2/+10
| | | | | | | | | | this when it completes; this is to keep it in-tree. Right now this uses prefix notation. Ignore it. I'll make this into infix notation real soon. The goal of this (exprcomp and exprexec) is to have arbitrary logical expressions.
* Split apropos.c into db.c and apropos.h with simpler code (re-written, butKristaps Dzonsons2011-11-091-0/+303
inspired by apropos.c and mandoc-tools' mandoc-cgi.c). This uses UTF-8 right now for its re-writing, but will soon accomodate for the regular suspects (this is a rather simple matter). I also introduce man.cgi (cgi.c), which is a standalone CGI that replaces mandoc-tools' mandoc.cgi. Right now it's just a framework.