| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
Stricter exec cmd
In response to the gitlab-shell 2.6.6-2.6.7 remote code execution
vulnerability.
See merge request !33
|
| | |
|
| |
| |
| |
| |
| | |
Hoping this makes it more obvious when code touches the very
unsafe contents of this variable.
|
| |
| |
| |
| | |
Passing strings to Kernel::exec leads to remote code execution.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pass $HOME to git as well
[ this patch has the same rationale and reasoning as
https://gitlab.com/gitlab-org/gitlab-workhorse/commit/0d0bd209
details follow ]
Git has 3 places for configs:
- system
- global (per user), and
- local (per repository)
System config location is hardcoded at git compile time (to usually
$prefix/etc/gitconfig). Local configuration is usually picked because we
pass full repo path to subcommand. But global configuration is currently not
picked at all, because HOME env variable is not passed to git.
Pass $HOME through and let git see it's "global" config.
Currently GitLab omnibus stores gitlab user name/email + "autocrlf =
true" in global config, so missing it should not be a blocker for
receive/send-pack operations. But having it is more correct and can be
handy in the future if/when more git operations are done from-under
gitlab-shell.
Having $HOME properly set is also needed when one cannot change system
git config and have to put site-wide configuration into global git
config under $HOME.
That was the case I've hit and the reason for this patch.
/cc @dzaporozhets, @jacobvosmaer
See merge request !32
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ this patch has the same rationale and reasoning as
https://gitlab.com/gitlab-org/gitlab-workhorse/commit/0d0bd209
details follow ]
Git has 3 places for configs:
- system
- global (per user), and
- local (per repository)
System config location is hardcoded at git compile time (to usually
$prefix/etc/gitconfig). Local configuration is usually picked because we
pass full repo path to subcommand. But global configuration is currently not
picked at all, because HOME env variable is not passed to git.
Pass $HOME through and let git see it's "global" config.
Currently GitLab omnibus stores gitlab user name/email + "autocrlf =
true" in global config, so missing it should not be a blocker for
receive/send-pack operations. But having it is more correct and can be
handy in the future if/when more git operations are done from-under
gitlab-shell.
Having $HOME properly set is also needed when one cannot change system
git config and have to put site-wide configuration into global git
config under $HOME.
That was the case I've hit and the reason for this patch.
|
|/
|
|
|
|
| |
This reverts commit 8449979ff029af51be0c675c5b6262bc4adc8b3d.
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
|\
| |
| |
| | |
no-init-on-gcryptsetup
|
| |\
| | |
| | |
| | | |
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
| | | |
|
| |/
| |
| |
| |
| |
| | |
through the SSH-protocol
When cleaning this environment variable can be problems with the processing of non-ASCII data
|
|/
|
|
|
| |
'gcryptsetup' is a special git-annex feature that does its own
initialization.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This intention of this change is to make the normal flow of execution
easier to read, and to prevent mistakes in deeply nested if-else trees.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
lib/gitlab_shell.rb
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
This reverts commit f8453da5868dd7a23d0f2f3da7a45e33c441d1db.
|
|
|
|
|
|
|
|
|
|
| |
At least the following things were broken:
- missing require for 'gitlab_access_status' in lib/gitlab_net.rb
- gitlabhq master internal API returns 'true' or 'false', gitlab-shell
expects JSON
This reverts commit 11311a95545f967a5736cd16ab5fc37f7e658519, reversing
changes made to 45444597aef3e434571de2491934ae92357ad231.
|
| |
|
|\
| |
| | |
avoid @user_tried
|
| |
| |
| | |
using instance_variable_defined to avoid @user_tried
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
When a remote user with a valid SSH key runs something like 'ssh
git@gitlab.example.com foobar', gitlab-shell would raise an exception in
the GitlabShell#escape_path method. With this change, we catch an
invalid number of arguments as soon as possible and exit.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
|/ /
| |
| |
| | |
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
| | |
|