| Age | Commit message (Collapse) | Author | Lines |
|
Scintillua's detect() matches an extension by its case, and the fallback
e1960f0 dropped had lowercased it, so MAIN.C and SETUP.PY lost their
colour. The fake lexer now answers only for the suffixes it knows, as
Scintillua does, which is what lets the check see it.
|
|
|
|
|
|
Behind an auth filter every page carries Cache-Control: private and the
login page no-store, so only the missing expiry holds on every site.
|
|
cgit_snapshot_prefix falls back to the basename of the repository url,
and print_object sends a binary blob as application/octet-stream.
|
|
|
|
|
|
Each takes the form its option name or most of the prose already uses,
as in case-sensitive-sort and side-by-side-diffs.
|
|
The head section loses its capitals too, since HEAD elsewhere in the
manual is git's.
|
|
Names keep their own spelling, so the URL trailer and CGIT_REPO_URL
stay in capitals.
|
|
|
|
|
|
filter_close already runs highlight under pcall and serves the escaped
text when it fails, so the pcalls around detect, load and lex inside it
only turned a raise into the same fallback a step earlier.
|
|
On Lua 5.3 and later a length worked out with a fraction, such as
1.5 * 24 * 60 * 60, is a float, so the signed expiry came out as
1793609024.0, which validate_value refuses, and every login failed.
Max-Age took the same .0, which makes a browser ignore it.
|
|
|
|
The lookups were never the only difference, since the configuration
and trim's place differ as well. The configuration is now set off by
blank lines, as in the other extensions, instead of a heading.
|
|
cgit names no repository with an empty string, never nil, so the check
that the index stays up proved nothing, and auth-file in fact refuses
the index too while its repos file cannot be read. A session_seconds of
0 signs a session that has expired by the time it comes back, so it
needs no branch of its own in set_cookie.
|
|
set_cookie only ever writes an empty value or a token secure_value
built from url-encoded text, digits and hex, so stripping it changed
nothing.
|
|
Every caller hands the helpers a string, and a value with a line break
is refused by validate_value whether or not CR LF is folded on the way.
|
|
Seven of the twelve fields filter_open stored were never read. Naming
all twelve parameters keeps the order cgit passes them in on record.
|
|
The loop let a valid cookie through with a field appended, a doubled
separator or a zero in front of its expiry. The payload now carries the
expiry as written, so only the spelling secure_value issues verifies.
|
|
The table of extensions and the second lookup served only a Scintillua
with no detect(), which now leaves every file uncoloured but escaped.
The fake detect() names a lexer after the file's suffix, so every test
lexer is reached through it.
|
|
|
|
lpeg's constant, query and numbered captures already do what the token
helpers did, and nothing ever read the tokens of an escape that draws
nothing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Without lpeg both renderers stay nil, and the handler lookup already
falls back to plain text for a format it has no renderer for.
|
|
Everything that can raise already runs inside the parse and emit
pcalls, so the outer one in filter_close could only ever have sent the
page a second time. The size check moves to the dispatch with it.
|
|
|
|
A table capture of a pattern repeated zero or more times matches every
string, the empty one included, so the inline grammars never return nil.
|
|
Nothing in assets/ or in README's list of hooks reads a fenced block's
data-lang or the manpage class on a man page's wrapper, so the header
now names the two wrappers the stylesheet does style.
|
|
|
|
|
|
The cache hook named only the age-file hook, from before the
commit-graph hook came.
|
|
|
|
|
|
The preamble above the filters explains lua: and exec:, and the repo.*
filter entries already read "Value is a command."
|
|
|
|
The filter section names about-render.lua and the source-filter itself.
|
|
|
|
Each config listed every header cgit sends, where only its own nosniff
and strict policy on raw bytes bear on the headers set there. The list
also missed Vary, and the Apache one called Apache a proxy.
|
|
|
|
A snapshot's format comes from the suffix of its filename in the path,
not from the query string.
|