Commit Graph

102 Commits

Author SHA1 Message Date
Solderpunk 2241302856 Order log columns more sensibly and drop port from remote addresses. 2020-07-01 23:44:59 +02:00
Solderpunk e547818455 Remove unused import. 2020-07-01 23:06:05 +02:00
Solderpunk 37e177fbe0 Move .molly file parsing function into config.go. 2020-07-01 23:05:49 +02:00
Solderpunk 3cd4a072fd More and better error logging. 2020-07-01 22:58:07 +02:00
Solderpunk f7e588dfae More and better error logging. 2020-07-01 20:15:52 +02:00
Solderpunk 821a862036 Use standard library logging facilities for error log. 2020-07-01 19:57:39 +02:00
Solderpunk 3c4c447bd3 Broader config file error handling. 2020-07-01 19:56:43 +02:00
Solderpunk 54f659c03f Add example OpenRC script, and put all init examples in a contrib directory. 2020-07-01 17:00:18 +02:00
Solderpunk 2a263e5e70 Rewrite SCGI support to use prefixes, not regexps, and provide the same SCRIPT_PATH / PATH_INFO break as CGI. 2020-07-01 16:40:51 +02:00
Solderpunk d87ecfd20f gofmt. 2020-07-01 16:19:38 +02:00
Solderpunk f4f14320df Expand CGI path globs once on startup, not for each request. 2020-07-01 16:18:49 +02:00
Solderpunk 35bf4d16c3 Handle all requests which don't involve the filesystem before all which do. 2020-07-01 16:05:39 +02:00
Solderpunk 9bce54882a Consolidate some quick-failing path tests. 2020-07-01 16:05:09 +02:00
Solderpunk 36378eb1c6 Make sure CGI files are world-readable as well as world-executable. 2020-07-01 16:04:48 +02:00
Solderpunk f291e5863c Enforce certificate zones before anything else. 2020-07-01 14:16:27 +02:00
Solderpunk 4ae154faed Convert CGIPath handling from regexs to prefixes. 2020-07-01 14:10:20 +02:00
Solderpunk cc5410494e Handle redirects using regular expressions, not just literal paths. 2020-07-01 11:13:38 +02:00
Solderpunk b30fc0923b Handle CGI requests with URI components after the script. 2020-07-01 10:38:31 +02:00
Solderpunk 68398ef0be Extensive refactor, trying to keep the main request handling function relatively simple. 2020-06-30 22:25:37 +02:00
Solderpunk fd31094cb6 Allow .molly files to set certificate zones. 2020-06-30 20:39:26 +02:00
Solderpunk 702cc73a63 Add redirect members to Molly File struct. Should have been part of an earlier commit! 2020-06-30 20:38:46 +02:00
Solderpunk 35f58f50e7 Correct README to indicate that redirects are not done using regular expressions but literal path matches. 2020-06-30 20:23:50 +02:00
Solderpunk 1794ff643b Allow .molly files to configure redirects. 2020-06-30 20:19:13 +02:00
Solderpunk d7663ab688 Removing debugging print. 2020-06-30 19:34:01 +02:00
Solderpunk e43fc7877c Big rearrange: resolve URL to filesystem earlier, so we can check for .molly files ASAP, so that they can handle redirects, certificate zones, etc. 2020-06-30 19:31:27 +02:00
Solderpunk 990b7071d0 gofmt fixes. 2020-06-30 19:13:02 +02:00
Solderpunk 44af303de6 Fix silly mistake in hasty port checking fix. 2020-06-30 19:11:49 +02:00
Solderpunk 4c27911e8f Check that request port matches configured server port. Should fix #9. 2020-06-30 17:27:53 +02:00
Solderpunk b0fd07f58a Provide full coverage of settings in example.conf. 2020-06-30 17:19:27 +02:00
Solderpunk 6c8e11c9ed Change default port in example.conf 2020-06-30 17:02:18 +02:00
Solderpunk 4dbe52adf8 Permit .molly files to specify MIME overrides. 2020-06-30 17:01:19 +02:00
Solderpunk 520e1ecc95 Big documentation push. 2020-06-29 21:08:29 +02:00
Solderpunk 18c056167f Make it possible to toggle handling of .molly files on and off via main config. 2020-06-29 17:17:43 +02:00
Solderpunk 77691d6983 Introduce error log. 2020-06-28 18:34:50 +02:00
Solderpunk 31161cf21c Permit multiple authorised certificates per zone. 2020-06-28 14:47:36 +02:00
Solderpunk a0dacf4bbd Basic implementation of certificate zones - only one authorised cert per zone. 2020-06-28 13:47:30 +02:00
Solderpunk 5377c2941f Allow overriding MIME types based on path regexes. 2020-06-28 00:12:32 +02:00
Solderpunk a07645dd2e Allow overriding directory listing options with .molly files. 2020-06-27 23:44:15 +02:00
Solderpunk 7066bad570 Use headings in .gmi files instead of filenames in directory listings. 2020-06-27 22:57:03 +02:00
Solderpunk 3f98a9edf1 Permit sorting of files in automatic directory listings by various factors. 2020-06-27 18:52:29 +02:00
Solderpunk 6da5ec79dd Fix typo. 2020-06-17 15:22:21 +02:00
Solderpunk 30a5369f8a Add missing return, fixes #4. 2020-06-13 09:08:04 +02:00
Solderpunk 15863eb253 Fix typo in CGI environment variable. 2020-06-12 19:00:36 +02:00
Solderpunk e57a3d5ecf Read header for directory listings from .mollyhead. 2020-06-11 22:43:13 +02:00
Solderpunk b0b18971f4 Run gofmt on everything for the first time ever! 2020-06-10 21:31:13 +02:00
Solderpunk 3e80488f92 Add DefaultLang config variable to set text/gemini lang parameter. Overridable via .molly file. 2020-06-10 21:22:15 +02:00
Solderpunk 7fb5ca052b Fix parent directory walking logic to work at the DocRoot. 2020-06-10 21:20:01 +02:00
Solderpunk cb1e0da7d5 Read .molly files from parent directories of served file, permitting overrides to text/gemini file extension. 2020-06-10 20:40:13 +02:00
Solderpunk 599bbf4b52 Proper tilde path clean up. 2020-06-10 19:43:49 +02:00
Solderpunk 8d2309f889 Quick hacky fix to tilde path transformation. 2020-06-08 23:03:19 +02:00