| Age | Commit message (Collapse) | Author | Lines |
|
A Lua build replaces write, and git can write before cmd_main reaches
cgit_init_filters, as it does when GIT_TRACE2 is set, which called
through a null pointer and crashed every request.
|
|
A script raising anything but a string or a number handed die a null to
print, and a Lua state that could not be created was used anyway once
the filter closed.
|
|
A script's top level runs before cgit hooks stdout for it, and the
unhook html() began with tripped an assert that aborted cgit.
|
|
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.
|
|
ISO C has no conversion between a function pointer and void *, so the
callbacks handed through git's data pointers and the write found by
dlsym stopped the pedantic half of a DEVELOPER=1 build.
|
|
Git's DEVELOPER=1 build turns on -Wwrite-strings as an error, and the
literals stored through plain char pointers failed cgit's own objects
there. The exec filter's argv takes the cast execvp needs once, the
way git's run-command does.
|
|
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.
|
|
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.
|
|
|
|
A filter program that could not be run answered with two responses,
and a filter that exited without reading its input ended cgit with
the page half written.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AUTHORS now records the upstream developers as the project's history
rather than as maintainers of the fork.
|
|
Everything the build generates now lands in build/, so a clean is a
single remove and the source tree stays free of build output.
|