various: add read-only mode support
commit59623336cd4b18b8167af4d154ac8ce436cdbe47
authorKyle J. McKay <mackyle@gmail.com>
Tue, 21 Jun 2022 19:12:19 +0000 (21 12:12 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Tue, 21 Jun 2022 19:12:19 +0000 (21 12:12 -0700)
tree9d28079088bb345c18dd6d3271b46d796e864af9
parent6c9c7834f9ab7af0e3412c8cf35c100b5d18b8b1
various: add read-only mode support

By creating a file named "readonly" located at
$Girocco::Config::chroot/etc/readonly, external pushes and project
modifications via the web UI will be prohibited.

Modifications via local tools such as projtool or usertool are NOT
prohibited by this read-only mode, nor does this mode stop jobd or
taskd from running.

The text on the home page of the UI may be automatically altered
as well provided an alternate version of the index text file has
been made available via the gitweb_config.perl $home_text_ro setting.

If the $Girocco::Config::chroot/etc/readonly file is not empty, its
contents will also be included in the messages denying any changes.
Except for the home page, which will only show a change if $home_text_ro
points at an alternate file.
14 files changed:
Girocco/Util.pm
bin/git-http-backend-verify
bin/git-shell-verify
cgi/delproj.cgi
cgi/deluser.cgi
cgi/editproj.cgi
cgi/edituser.cgi
cgi/mirrorproj.cgi
cgi/pwproj.cgi
cgi/regproj.cgi
cgi/reguser.cgi
cgi/tagproj.cgi
gitweb/gitweb_config.perl
install.sh