| Age | Commit message (Collapse) | Author | Lines |
|
A lexer may hand back the bytes of one separator, or the CR and LF of a
line ending, in different tokens, so line endings become line feeds
before lexing and the separators are escaped once the tokens are joined.
|
|
summary-branches, summary-tags and max-ref-count already listed every
ref at 0, but a negative value reached qsort as a count and crashed the
summary and refs pages, and emptied the branch switcher.
|
|
|
|
|
|
|
|
a75603e gated the key and named it under trust-scan-config, but this
section kept the list from before.
|
|
|
|
|
|
|
|
The manual has named the commit page since it was written in 2008, a
year after the index started linking the log instead.
|
|
With nothing below the about page, a readme's relative links have to be
written against the tree, and only cgit knows how this site spells the
url of a tree page and which ref the readme was read from. Both reach
the filter already escaped for a url, built by the same writer as
cgit's own links.
|
|
The about page served every file beside the readme as a page of its
own, through the about filter, and answered 200 for directories and
missing files alike. Images it passed through came from the root of the
default branch whatever the readme's own directory and ref. A readme on
disk exposed its whole directory this way.
|
|
The guard took local as a name that may carry the -local suffix, but
git reads local only as a whole alias of default-local and dies on
anything after it, so that one value turned every page into a 500.
|
|
The dumb transport reads files that already sit on the disk, so a pack
copied into a slot cost that disk twice and the request a second write
of every byte. A snapshot took a slot whatever its size, so a visitor
naming distinct refs and ids could fill the cache root with archives.
cache-max-slot-size, 64 MB unless set, now serves a larger response from
the lock file and drops it, along with any expired copy it would have
replaced.
|
|
enable-html-serving makes the plain page send a repository file as
text/html on the site's own origin, with no nosniff and no policy, so a
scanned repository could switch it on from its git config or cgitrc
without trust-scan-config and run script against every visitor. The
warning for a key read from git config also named a null repository,
because repo->path was set only after that file had been read.
|
|
cgit_abort_filters unhooks the Lua write interposer under NO_LUA too,
where neither the hook nor its state exists, so make NO_LUA=1 and the
default mode of tools/release-build.sh have not compiled since the die
path learned to take stdout back from a filter. The suite now builds and
runs that variant as well, and a lua: filter in such a build is refused
with a message naming the cause instead of an unknown filter type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Beyond the format change, the documented defaults and inheritance
notes now match what the code does.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The readme is now escaped plain text unless about-filter points at the
new about-render.lua, which renders markdown, man pages and plain text
server-side. The enable-markdown setting goes away with the renderer.
|
|
|
|
|
|
The max-stats setting now only bounds the selectable periods and no
longer doubles as the enable switch.
The tree walk runs before the history walk on purpose. Releasing commit
memory while walking history resets each commit slab index, and a commit
graph lookup afterwards would read another commit slot and walk the
wrong tree. The stats fixture writes a commit graph so the tests cover
that path. The history walk bounds the window in process rather than
passing a formatted since date to setup_revisions, and parses each
commit once.
|
|
|
|
|
|
|
|
|
|
|
|
The Gentoo LDAP filter is distro specific, the owner example only
restates what cgit already renders, and the about converters are
superseded by the built-in markdown rendering. The two auth filters do
the same job and differ only in where their accounts live, so they
become auth-inline for accounts kept in the script and auth-file for
accounts kept on disk.
|
|
The default sorted the sections and the repositories within them by
name, so the order written in the cgitrc file was ignored.
|
|
Only the tree view honoured the limit, and only after loading the whole
object. The default moves from unlimited to 10 MB so a fresh install
never buffers a huge object whole. Zero still turns the limit off.
|
|
cgit had no markdown support of its own, so a readme was rendered
through an external python filter or not at all. Escaping the source
and formatting it in cgit.js keeps the work in the browser like the
blob highlighter, and the page stays readable as plain text without
scripting.
|
|
Highlighting previously required a source filter shelling out to
something like Pygments. A configured source filter still takes
precedence, every character is preserved so the line gutter stays
aligned, and large files are skipped.
|
|
|
|
The ls_cache page printed the cache directory path and the urls other
visitors had requested, with no gate at all.
|