AgeCommit message (Collapse)AuthorLines
Pin the advisory classes with tests and name an empty authorBryce Kwon-6/+10
Each class behind cgit's published advisories now has a check against the current code, from a newline in a file name to shell syntax handed to a filter. The feed also treated an ident with an empty name and an empty address as present and wrote an empty person, which Atom forbids.
Replace the stray bytes of text that is not UTF-8Bryce Kwon-34/+1
A commit whose encoding header names something iconv cannot convert, or whose text is labelled UTF-8 without being it, reached a page declared UTF-8 with its bytes untouched. The atom feed already replaced them, so its UTF-8 reader moves to shared.c and every ident, subject, message and tag text passes through it.
Harden the page renderersBryce Kwon-45/+42
Clean up the whole treeBryce Kwon-2/+1
Trim the comments and dead code across the treeBryce Kwon-12/+9
Rename the inconsistent config keysBryce Kwon-1/+1
noplainemail enable-plain-email noheader enable-header cache-root-ttl cache-index-ttl cache-repo-ttl cache-summary-ttl cache-scanrc-ttl cache-scan-ttl agefile age-file renamelimit rename-limit extra-head-content head-content
Spell the charset UTF-8 everywhereBryce Kwon-2/+2
Date an empty atom feed at the epochBryce Kwon-2/+3
Replace non-ASCII output glyphs with ASCIIBryce Kwon-2/+2
Bring the atom feed up to the rfcBryce Kwon-21/+117
Restyle the sources and fix the audit's findingsBryce Kwon-41/+66
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.
Emit `updated` on an empty atom feedBryce Kwon-0/+7
The feed-level element was written only inside the commit loop, so a feed with no commits omitted an element the atom format requires.
Reorganize into source, assets and librariesBryce Kwon-0/+159
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.