Remove fixupd entirely
By making all the chroot jail users a member of the $owning_group
(changing their passwd group from 65534 to $owning_group) and adding
a simple can_user_push utility to the jail, individual projects can
now remain owned by $cgi_user:$owning_group instead of the chroot
jail users and groups.
These changes make it possible to support pushing via https and
such permission checks are enabled in the update hook whenever
GIT_PROJECT_ROOT is set as it will be when pushing via the
git-http-backend utility.
After installing this update, the can_user_push utility must be
installed in the chroot jail and then the update hook of all
pre-existing repositories must be replaced with the new version
from $basedir/hooks/update and sudo chown -R $cgi_user:$owning_group
must be performed on $reporoot (and possibly $reporoot-recyclebin)
followed by sudo chmod -R g+w on $reporoot (and possibly
$reporoot-recyclebin). And lastly all the user passwd entries in
the chroot jail etc/passwd file need to have their group changed
from 65534 to $owning_group.
In order to support smart https push, apache must be configured so
that REMOTE_USER is set properly (the push user name with an optional
"/UID=" prefix) when git-http-backend is run.
25 files changed: