about summary refs log tree commit diff
path: root/TODO.md
blob: 47f455effbf8f2c97081cf5cdb3e43dcd2626fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(3) Make Logging Better :)
	it is currently.. not it. not very good. i'm okay with no tracing
	crate here, just log nicer. and include the current datetime.

(4) Harden Code
	it can still be soft :) it just needs to not crash so much! well,
	there are a lot of unwrap and places it can go wrong. make it
	less likely to crash, especially in the module call code where
	a panic can bring us down. can we `std::panic::set_hook` or maybe
	a `catch_unwind`? there are complications with the first one, but
	perhaps we can make it work?

(6) CGI Bin To Man-in-the-middle Requests
	Is this just parrot? Maybe this is just parrot? I want something, for
	ease of debugging, to sit between corgi and the binary so we can
	see both ends of the conversation. I had a bug in corgi-stats that had
	corgi erroring with "no nl in header" and that was confusing. I was
	able to fix it kind of blindly, but that was not ideal. It could've
	been bad! Being able to see what corgi-stats was returning would've
	been very helpful.

DONE :) DONE :) DONE :) DONE :) DONE :) DONE :) DONE :) DONE :) DONE :)
=======================================================================

(1) Support Multiple CGI Scripts
	This is needed even just for the cgit and git server target.
	We need to be able to support the cgit executable itself, and
	also git-http-backend for smart clones.

(2) Support Matching CGI Based On Path
	The other requirement for git-http-backend, which needs to
	trigger on the regex `/.+/(info/refs|git-upload-pack)`

(5) Crate For The Module System
	so we don't have to copy the weird structs. and also so maybe we
	can make it safer? A C header, too, maybe? that just define the
	struct. and really some kind of documentation, probably.

	EWONTFIX
	lol. module system was ripped out because it turns out there is no
	good way to handle more than one request concurrently, it seems.