AgeCommit message (Collapse)AuthorLines
End a request quietly when the client has goneBryce Kwon-2/+18
A write that failed with EPIPE on an uncached page died into an error page, which died again at exit when the page could not be sent either, and git logged a recursion warning on every dropped connection. A filter that exits early fails a write the same way, so the quiet exit is kept for writes that reach the client itself.
Keep the query string across the about redirectsBryce Kwon-0/+22
The hop to the trailing-slash form of the about page, and the hop back to the summary of a repository without a readme, were built from the path alone, so a request for the about page of another branch landed on the default one. The query goes into the Location line as the client sent it, with any byte a header cannot carry percent-encoded.
Harden the request path, scan and error recoveryBryce Kwon-4/+28
Read every query parameterBryce Kwon-1/+3
A parameter without a value swallowed the parameter after it.
Clean up the whole treeBryce Kwon-10/+5
Trim the comments and dead code across the treeBryce Kwon-12/+10
Log scan lock failures that are not contentionBryce Kwon-2/+2
Drop the XHTML slashes and boolean spellingsBryce Kwon-4/+4
Fix ampersand handling in generated urlsBryce Kwon-24/+26
Restyle the sources and fix the audit's findingsBryce Kwon-140/+135
Render each diff body while its file is openBryce Kwon-0/+27
Gather page output into one bufferBryce Kwon-2/+45
Settle the names, types and layout of the sourcesBryce Kwon-3/+3
Point the fork's links and credits at itselfBryce Kwon-1/+1
AUTHORS now records the upstream developers as the project's history rather than as maintainers of the fork.
Reorganize into source, assets and librariesBryce Kwon-0/+344
The C sources move to source/, the served files to assets/, the bundled Git submodule to libraries/git and the filter scripts to extensions/. Everything the build generates now lands in build/, so a clean is a single remove and the tree stays clean.