| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Geo SSH proxy push currently impossible when the only
action that happens is branch removal. This fix
works in a way that it waits for flush packet from git
and then checks pkt lines to determine is pack data is expected.
The thing is that git doesnt send pack data when only
branch removal happens. Explanation is in
https://gitlab.com/gitlab-org/gitlab/-/issues/330494
|
| |
|
|
|
|
|
| |
When the shell environment includes SSH_CONNECTION, one spec fails as
the way we're stubbing the environment to the subprocess doesn't wipe
out the pre-existing variable. This commit changes how we do it so the
spec passes even in this environment.
|
| |
|
|
|
| |
This change removes session duration
information from output of 2fa_verify command
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements the feature requested in gitlab-org/gitlab#19672
This requires the internal api counterpart in gitlab-org/gitlab!36302 to
be merged first.
It can be used as follows:
```
censored@censored-VirtualBox:~/git/gitlab$ ssh git@gitlab-2004 personal_access_token
remote:
remote: ========================================================================
remote:
remote: Usage: personal_access_token <name> <scope1[,scope2,...]> [ttl_days]
remote:
remote: ========================================================================
remote:
censored@censored-VirtualBox:~/git/gitlab$ ssh git@gitlab-2004 personal_access_token newtoken read_api,read_repository 30
Token: aAY1G3YPeemECgUvxuXY
Scopes: read_api,read_repository
Expires: 2020-08-07
```
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This restores the previous behavior of logging the success and failures
of internal HTTP requests.
Part of https://gitlab.com/gitlab-org/gitlab/issues/207916
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Build this command when `Executable` name is
`gitlab-shell-authorized-principals-check`. Feature flag is the
same name.
|
| |
|
|
|
|
| |
Build this command when `Executable` name is
`gitlab-shell-authorized-keys-check`. Feature flag is the same
name.
|
| |
|
|
|
|
|
|
|
|
| |
This struct is responsible for determining the name and
root dir of the executable.
The `RootDir` property will be used to find the config.
The `Name` property will be used to determine what `Command`
and `CommandArgs` to be built.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename the ruby scripts to have `-ruby` suffix and add a symlink
for both to `./gitlab-shell`. The executable name will be used to
determine how args will be parsed.
For now, we only parse the arguments for gitlab-shell commands. If
the executable is `gitlab-shell-authorized-keys-check` or
`gitlab-shell-authorized-principals-check`, it'll always fallback
to the ruby version.
Ruby specs test the ruby script, the fallback from go to ruby and
go implementation of both (still pending).
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Restores some of the changes in
https://gitlab.com/gitlab-org/gitlab-shell/merge_requests/257, but
still targets Rubocop for 2.3.
|
| | |
|
| |
|
|
| |
Using ConsoleHelper::write_stderr
|
| |
|
|
|
| |
.write_stderr
.format_for_stderr
|
| | |
|
| |\
| |
| |
| |
| | |
Display post receive warnings from Rails
See merge request gitlab-org/gitlab-shell!288
|
| | |
| |
| |
| |
| |
| | |
print_warnings is now using that method in order to print a large
formatted warning message, so renaming the method to be less tied to
the broadcast message functionality.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
Warnings are printed using the same method that prints broadcast
messages. This ensures that whatever warnings are returned will be
displayed correctly.
|
| |\ \
| | |
| | |
| | |
| | | |
Add pry gem to allow easy debugging
See merge request gitlab-org/gitlab-shell!289
|
| | |/ |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows gitlab-shell to be called with an argument of the format
`key-123` or `username-name`.
When called in this way, `gitlab-shell` will call the GitLab internal
API. If the API responds with user information, it will print a
welcome message including the username.
If the API responds with a successful but empty response, gitlab-shell
will print a welcome message for an anonymous user.
If the API response includes an error message in JSON, this message
will be printed to stderr.
If the API call fails, an error message including the status code will
be printed to stderr.
|
| |
|
|
|
|
| |
This will enable us to track the human-readable project path with SSH
access in gitlab-shell. Currently the Gitaly logs will only show the
hashed storage and gl_repository path (e.g. project-1234).
|
| | |
|
| |
|
|
|
| |
When SSH_CONNECTION is not set, we don't fall back to ruby, but
instead fail directly in go writing the error to stderr.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the possibility to enable features for GitLab shell.
The first feature being recognized is "Discover": It's the command
that is executed when running `ssh git@gitlab.example.com` and is
called without a command.
The gitlab key id or username is already parsed from the command line
arguments.
Currently we only support communicating with GitLab-rails using unix
sockets. So features will not be enabled if the GitLab-url is using a
different protocol. The url for this read from the config yaml.
Pending ruby-specs have been added for the gitlab-shell command.
Refactor to have separate command packages
|
| |\
| |
| |
| |
| | |
Fix rspec deprecation warning
See merge request gitlab-org/gitlab-shell!267
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
push_opts[] is named as such so that it becomes an array in the
GitLab internal Grape::API params hash. If it were named push_opts, only
the final (scalar) push_opts parameter would be present.
Also update specs to include push_opts parameter:
- gitlab_post_receive_spec
- gitlab_net_spec for the internal API change
|
| |
|
|
|
|
|
| |
This module is responsible for converting the GIT_PUSH_OPTION_*
environment variables into an array.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/18667
|
| |
|
|
| |
As of 7eb45672b7, NamesHelper is no longer used.
|
| |
|
|
| |
Operation is either upload or download
|
| | |
|
| |
|
|
| |
(v2)
|
| | |
|
| | |
|