Commit Graph

84 Commits

Author SHA1 Message Date
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
Solderpunk 3e5e4353e6 Update example config file. 2020-06-08 21:48:35 +02:00
Solderpunk b8034c1576 Make text/gemini extension configurable. 2020-06-08 21:47:33 +02:00
Solderpunk 4681d3f971 Support multiple CGI paths. 2020-06-08 21:46:39 +02:00
Solderpunk bec952c66a Use log.Fatal instead of fmt.Println and os.Exit. 2020-06-08 20:02:29 +02:00
Solderpunk 8f395d7932 Add link to parent directory in directory listings. 2020-06-08 20:01:03 +02:00
Solderpunk 301d3409f1 Support temporary and permanent redirects. 2020-06-08 19:59:16 +02:00
Solderpunk 433c43e98e Add file size and modification dates to automatically generated directory listings. 2020-06-06 21:28:12 +02:00
Solderpunk 11beddcfb1 Add rudimentary support for specifying redirects. 2020-06-06 13:36:10 +02:00
Solderpunk 548697b094 Get rid of debugging prints. 2020-06-06 13:35:47 +02:00
Solderpunk 2c99228610 Pass pointers to the log entry to functions which can set the status code, so changes are reflected in the main handle function. 2020-06-06 12:08:34 +02:00
Solderpunk b0a08f8231 Break CGI and SCGI stuff out into its own file. 2020-06-06 11:46:29 +02:00
Solderpunk 54ed1ab265 Merge CGI and SCGI variable preparation. 2020-06-06 11:33:00 +02:00
Solderpunk d78c840056 First step toward unstubbing SCGI. 2020-06-06 00:12:46 +02:00
Solderpunk b384105d86 Factor out request reading code. 2020-06-05 20:13:48 +02:00
Solderpunk 7ffbb6c6ef Pass some client cert information to CGI programs. 2020-06-05 19:55:24 +02:00
Solderpunk 6f3887bdc4 Request client certificates, check validity dates of received certs and pass certs to handleCGI. 2020-06-05 19:39:28 +02:00
Solderpunk 4e262d634a Fix line endings in response headers. 2020-06-05 19:37:56 +02:00
Solderpunk fc730c8b1c Refuse to serve any sensitive files. 2020-06-04 23:24:19 +02:00