| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
This reverts merge request !257
|
| |
|
|
|
|
| |
Operation is either upload or download
|
|
|
|
| |
(v2)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Given the gitaly-* now proxy the data from the client to the Gitaly
server, the environment variables aren't used. Therefor we don't have to
set them either. Only exception to the rule, is the GITALY_TOKEN.
These changes also remove the `GIT_TRACE` options, introduced by
192e2bd367494bf66746c8971896a2d9cb84fc92.
Part of: https://gitlab.com/gitlab-org/gitaly/issues/1300
|
|
|
|
|
|
|
| |
All shell access goes through Gitaly, so dead code paths exist to
support the legacy way too.
This change mostly removes the dead code from `#process_cmd`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The internal api returns '/' from gitlab, since
`8fad07383ada021fc995294fd0fe0f77fe37da35` from GitLab CE. To clean up
later, https://gitlab.com/gitlab-org/gitlab-shell/issues/135 was
created.
This change closes that issue, making it possible to remove the field
from the response on GitLab-CE too. Given the Rails app always returns
`/` as the repository_path, the associated checks are basically a noop
too. The tests are updated and at times look a little fishy, but those
are testing code that is to be removed in another MR.
Closes https://gitlab.com/gitlab-org/gitlab-shell/issues/135
|
|\
| |
| |
| | |
148-merge-8-1-1-to-master
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix two regressions in my 2e8b670 ("Add support for SSH certificate
authentication", 2018-06-14) merged in gitlab-org/gitlab-shell!207.
This fixes the issue noted in gitlab-org/gitlab-shell#145 where the
command-line contains things other than the key/user/username, and
also a regression where SSH certificates are being used, and the
username presented in the key is unknown to GitLab.
In that case, we should log the user in as "Anonymous" (on an instance
that allows public access), but because of how the error checking
around api.discover() was implemented we ended up erroring out
instead.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This reverts commit 764f6f47fa6a8698ae033532ae49875a87030518.
|
| |
| |
| |
| |
| | |
This reverts commit 3aaf4751e09262c53544a1987f59b1308af9b6c1, reversing
changes made to c6577e0d75f51b017f2f332838b97c3ca5b497c0.
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This along with the code submitted to gitlab-ce in the
gitlab-org/gitlab-ce! MR implements SSH certificate
authentication. See the docs added to gitlab-ce for why and how to
enable this. This, along with that MR, closes
gitlab-org/gitlab-ce#3457
Implementation notes:
- Because it's easy to do, and because an earlier nascent version of
this would pass user-ID to gitlab-shell, that's now supported, even
though the SSH certificate authentication uses username-USERNAME.
- The astute reader will notice that not all the API calls in
gitlab-ce's lib/api/internal.rb support a "username" argument, some
only support "user_id".
There's a few reasons for this:
a) For this to be efficient, I am bending over backwards to avoid
extra API calls when using SSH certificates.
Therefore the /allowed API call will now return a "user id" to
us if we're allowed to proceed further. This is then fed to
existing APIs that would only be called after a successful
call to /allowed.
b) Not all of the git-shell codepaths go through
/internal/allowed, or ever deal with a repository, e.g. the
argument-less "Welcome to GitLab", and
/internal/2fa_recovery_codes. These need to use
/internal/discover to figure out details about the user, so
support looking that up by username.
c) Once we have the "user id", the GL_ID gets passed down to
e.g. user-authored hooks. I don't want to have those all break
by having to handle a third GL_ID mode of "username" in
addition to the current "key id" and "user id".
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Use gl_id when we don't know if it's a key-X or user-X
* Use Actor.new_from(gl_id) which will figure out if it's a Key or User
* Use key_str when we're referring to key-X as key_id is confusing
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move gitaly, git-lfs and 2FA logic out from gitlab_shell.rb
* Streamline parsing of origin_cmd in GitlabShell
* Utilise proper HTTP status codes sent from the API
* Also support 200 OK with status of true/false (ideally get rid of this)
* Use HTTP status constants
* Use attr_reader definitions (var over @var)
* Rspec deprecation fixes
|
| |
| |
| |
| |
| | |
* Use constants for git commands
* private instead of protected
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
When running `ssh git@gitlab.example.com` we used to reply with the
full name. But it might actually be more useful to display the
username. This is unique and can help support identifying issues.
Closes #131
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
|
|
|
| |
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
|
|
|
|
|
|
|
| |
We removed SSH support in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/3553,
so we no longer need the ability to show all refs for Geo nodes.
Closes #115
|
| |
|
|
|
|
|
|
|
| |
Git For Windows 2.14 has a patch that changes `git-upload-pack` to `git upload-pack`.
To make this work for gitlab-shell, just map this to `git-upload-pack`.
Closes gitlab-org/gitlab-ce#36028
|
| |
|
|
|
|
|
|
| |
By default, we hide certain refs (e.g. keep-around/XXX) to save user
download time. We need to preserve these references on secondary Geo
nodes to have a true copy.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
- Wire up gitaly-*-pack to Gitaly. Don't pass git-*-pack to go
- Disable tests for go1.5 & 1.6
|
| |
|
| |
|
| |
|
| |
|
| |
|