Commit Graph

119 Commits

Author SHA1 Message Date
Solderpunk e06f8bddbc Fix infinite redirect bug.
Previously, URLs without trailing slashes in the path which
resolved to directories caused infinite redirects if there was
anything in the URL after the path (like a query).

Thanks to both Luke Emmet and Stephane Bortzmeyer for reporting
this!
2021-01-24 16:27:53 +01:00
Solderpunk 3d4d830e98 Merge pull request 'Add "AUTH_TYPE" environment variable when client cert is present' (#14) from khuxkm/molly-brown:master into master
Reviewed-on: solderpunk/molly-brown#14
2020-12-27 20:21:49 +00:00
Solderpunk 2e4a10297e Merge pull request 'Don't include port in REMOTE_ADDR' (#18) from makeworld/molly-brown:master into master
Reviewed-on: solderpunk/molly-brown#18
2020-12-27 17:40:18 +00:00
makeworld 99ba34c2b7 Merge branch 'master' into master 2020-12-26 23:33:41 +00:00
makeworld e0e0cf7dd6 Don't include port in REMOTE_ADDR 2020-12-26 18:23:36 -05:00
Solderpunk 34e05cc0b5 Merge pull request 'Use io.Copy over ioutil.ReadFile' (#17) from makeworld/molly-brown:master into master
Reviewed-on: solderpunk/molly-brown#17
2020-12-10 07:12:26 +00:00
makeworld c6c6e544d6 Use io.Copy over ioutil.ReadFile 2020-12-09 17:59:00 -05:00
Robert Miles 06ae7c0442 Add "AUTH_TYPE" environment variable when client cert is present
This makes it easier to detect when a client cert is available without having to look before you leap and attempt to access any of the TLS_* variables.
2020-11-28 10:07:27 +00:00
Solderpunk 48f9a206c0 Merge pull request 'Added more details on the OpenBSD setup and pointed molly-brown.openbsd.example to the default molly.conf.' (#12) from kvothe/molly-brown:master into master
Reviewed-on: solderpunk/molly-brown#12
2020-08-19 18:48:24 +00:00
kvothe. d71b43f35c Added more details on the OpenBSD setup and pointed molly-brown.openbsd.example to the default molly.conf. 2020-08-02 09:41:57 -04:00
Solderpunk 02dc6a82c6 Add trailing slash to subdirectory links in directory listings. 2020-07-30 18:49:59 +02:00
Solderpunk b26fb875a7 Fix configuration option name typo in README. Thanks, acdw! Closes #11. 2020-07-26 17:35:58 +02:00
Solderpunk 62b22a9471 Mention OpenBSD support, add example init script. 2020-07-12 16:28:41 +02:00
Solderpunk 2e510328ef Fix serious bug whereby config changes made in .molly files apply everywhere and persist until server restart! 2020-07-06 19:08:03 +02:00
Solderpunk 7d8bacdc90 Log stderr from CGI processes which exit with non-zero status to the error log. Closes #7. 2020-07-06 16:13:56 +02:00
Solderpunk b9334e07a9 Fix bug with long filenames or titles. 2020-07-04 13:13:58 +02:00
Solderpunk 48aed1398d Log remote IP address when reading a request fails. 2020-07-03 11:16:07 +02:00
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