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.
|