Commit Graph

86 Commits

Author SHA1 Message Date
GitLab Bot cbd505d80b Add latest changes from gitlab-org/gitlab@master 2021-01-22 21:09:10 +00:00
GitLab Bot 9d0b65f4b8 Add latest changes from gitlab-org/gitlab@master 2021-01-04 12:10:44 +00:00
GitLab Bot 0612ffef12 Add latest changes from gitlab-org/gitlab@master 2020-12-08 18:10:08 +00:00
GitLab Bot 100b1a03e6 Add latest changes from gitlab-org/gitlab@master 2020-12-07 12:10:00 +00:00
GitLab Bot 84e3154595 Add latest changes from gitlab-org/gitlab@master 2020-11-23 18:09:14 +00:00
GitLab Bot 5427433c6d Add latest changes from gitlab-org/gitlab@master 2020-11-11 00:08:58 +00:00
GitLab Bot 49a897eff9 Add latest changes from gitlab-org/gitlab@master 2020-09-08 09:08:31 +00:00
GitLab Bot 85f7fa54f4 Add latest changes from gitlab-org/gitlab@master 2020-08-18 18:10:10 +00:00
GitLab Bot bdca097916 Add latest changes from gitlab-org/gitlab@master 2020-08-11 03:11:00 +00:00
GitLab Bot ad9eb72915 Add latest changes from gitlab-org/gitlab@master 2020-08-05 21:09:40 +00:00
GitLab Bot fa7ac2663b Add latest changes from gitlab-org/gitlab@master 2020-06-24 06:09:01 +00:00
GitLab Bot dc003cd08b Add latest changes from gitlab-org/gitlab@master 2020-03-26 18:08:03 +00:00
GitLab Bot a0c1ba61c8 Add latest changes from gitlab-org/gitlab@master 2020-03-05 03:07:52 +00:00
GitLab Bot 11e5d1b9ca Add latest changes from gitlab-org/gitlab@master 2020-02-10 15:08:54 +00:00
GitLab Bot 211a8c3361 Add latest changes from gitlab-org/gitlab@master 2020-02-07 12:09:13 +00:00
GitLab Bot 1ea1db491c Add latest changes from gitlab-org/gitlab@master 2020-01-27 15:08:51 +00:00
GitLab Bot 25989ab7ef Add latest changes from gitlab-org/gitlab@master 2019-10-18 11:11:44 +00:00
GitLab Bot e08eba1838 Add latest changes from gitlab-org/gitlab@master 2019-09-28 00:06:20 +00:00
Peter Leitzen 7b87ed1499 Cleanup usages of `JSON.parse` in specs
Prefer `json_response` where applicable.
2019-07-16 08:03:49 +00:00
Nick Thomas 5b075413d9
Verify that LFS upload requests are genuine
LFS uploads are handled in concert by workhorse and rails. In normal
use, workhorse:

* Authorizes the request with rails (upload_authorize)
* Handles the upload of the file to a tempfile - disk or object storage
* Validates the file size and contents
* Hands off to rails to complete the upload (upload_finalize)

In `upload_finalize`, the LFS object is linked to the project. As LFS
objects are deduplicated across all projects, it may already exist. If
not, the temporary file is copied to the correct place, and will be
used by all future LFS objects with the same OID.

Workhorse uses the Content-Type of the request to decide to follow this
routine, as the URLs are ambiguous. If the Content-Type is anything but
"application/octet-stream", the request is proxied directly to rails,
on the assumption that this is a normal file edit request. If it's an
actual LFS request with a different content-type, however, it is routed
to the Rails `upload_finalize` action, which treats it as an LFS upload
just as it would a workhorse-modified request.

The outcome is that users can upload LFS objects that don't match the
declared size or OID. They can also create links to LFS objects they
don't really own, allowing them to read the contents of files if they
know just the size or OID.

We can close this hole by requiring requests to `upload_finalize` to be
sourced from Workhorse. The mechanism to do this already exists.
2019-01-31 16:52:48 +01:00
Michael Kozono d2d85c31fe Avoid extra storage bucket perm and query
Specifically, the `ListAllMyBuckets` permission.

This works if you know the directory exists.

See more:

* https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/23981
* https://stackoverflow.com/a/12288581/1992201
2018-12-21 10:34:05 -08:00
blackst0ne b44a2c801a Update specs to rails5 format
Updates specs to use new rails5 format.

The old format:
`get :show, { some: params }, { some: headers }`

The new format:
`get :show, params: { some: params }, headers: { some: headers }`
2018-12-19 10:04:31 +11:00
Stan Hu c5645a6739 Fix LFS uploads not working with git-lfs 2.5.0
git-lfs 2.5.0 now sets the Content-Type header instead of hard-coding it to
application/octet-stream: https://github.com/git-lfs/git-lfs/pull/3137

To avoid this issue, we explicitly tell the client to use
application/octet-stream.

Closes #49752
2018-07-31 06:15:14 -07:00
Mayra Cabrera f2c46672ca Resolve "Deploy Tokens failed to clone LFS repository" 2018-07-23 09:23:08 +00:00
Mark Chao a63bce1a4b Resolve "Rename the `Master` role to `Maintainer`" Backend 2018-07-11 14:36:08 +00:00
Kamil Trzciński b8370c9f55 Support presigned multipart uploads 2018-06-04 13:04:29 +02:00
Shinya Maeda cb2802dbbc Fix spec 2018-05-28 10:44:26 +09:00
Kamil Trzciński 678620cce6 Add `direct_upload` setting for artifacts 2018-04-05 15:01:14 +02:00
Alessio Caiazza 04c5e637f8
Port LFS direct_upload from EE 2018-03-27 10:32:48 +02:00
Micaël Bergeron d59210de58 Merge branch 'fix/sm/atomic-migration' into 'master'
Fix migrate! method (Minimal fix with ExclusiveLock to prevent race conditions)

Closes #4928 and #4980

See merge request gitlab-org/gitlab-ee!4624
2018-03-01 10:40:40 -05:00
Micaël Bergeron 5cf1cc6a0f remove the license check 2018-03-01 10:36:56 -05:00
Micaël Bergeron 0f1d348d68 port the object storage to CE 2018-03-01 10:34:30 -05:00
Kamil Trzciński a22f6fa6e5 Merge branch 'fix/sm/atomic-migration' into 'master'
Fix migrate! method (Minimal fix with ExclusiveLock to prevent race conditions)

Closes #4928 and #4980

See merge request gitlab-org/gitlab-ee!4624
2018-02-28 21:28:26 +01:00
Kamil Trzciński 79a5e7fb53 Merge commit '7e424eb852716495073881710e8a8851b4a4cd5a' into object-storage-ee-to-ce-backport 2018-02-28 21:14:25 +01:00
Kamil Trzciński 729391fbfc Merge commit '8af23def1d6' into object-storage-ee-to-ce-backport 2018-02-28 21:11:53 +01:00
Kamil Trzciński 8af23def1d Revert "Merge branch '3867-port-to-ce' into 'master'"
This reverts commit 54a575f1bb, reversing
changes made to c63af942e5.
2018-02-28 21:09:34 +01:00
Sean McGivern a7dae52e9d Merge branch '4163-move-uploads-to-object-storage' into 'master'
Move uploads to object storage

Closes #4163

See merge request gitlab-org/gitlab-ee!3867
2018-02-28 20:58:15 +01:00
Kamil Trzciński 45d2c31643 Merge commit '4b92efd90cedaa0aff218d11fdce279701128bea' into object-storage-ee-to-ce-backport 2018-02-28 20:46:53 +01:00
Kamil Trzciński 87f11d2cf5 Merge branch 'zj-auto-upload-job-artifacts' into 'master'
Transfer job archives after creation

See merge request gitlab-org/gitlab-ee!3646
2018-02-28 20:45:07 +01:00
Kamil Trzciński 965dc28691 Merge commit '7fabc892f251740dbd9a4755baede662e6854870' into object-storage-ee-to-ce-backport 2018-02-28 20:36:55 +01:00
Kamil Trzciński e3fafa7632 Merge commit 'f2f58a60b76acd479e37bdbc9246ec9f9b2bea82' into object-storage-ee-to-ce-backport 2018-02-28 20:36:07 +01:00
Kamil Trzciński e0401df121 Merge commit '11c67e7c2f992299ff5918ce67995b73d1e0be6d' into object-storage-ee-to-ce-backport 2018-02-28 20:35:22 +01:00
Douwe Maan bc76062774 Merge branch 'jej/lfs-object-storage' into 'master'
Can migrate LFS objects to S3 style object storage

Closes #2841

See merge request !2760
2018-02-28 20:29:37 +01:00
Rubén Dávila bed9483211 Backport of LFS File Locking API 2018-02-07 09:04:00 -05:00
Micaël Bergeron 2057a6acde port of 594e6a0a625^..f74c90f68c6 2018-02-01 12:14:46 -05:00
Douwe Maan 536a47b4b7 Merge branch 'sh-migrate-can-push-to-deploy-keys-projects-10-3' into 'security-10-3'
[10.3] Migrate `can_push` column from `keys` to `deploy_keys_project`

See merge request gitlab/gitlabhq!2276

(cherry picked from commit f6ca52d31bac350a23938e0aebf717c767b4710c)

1f2bd3c0 Backport to 10.3
2018-01-16 17:04:51 -08:00
blackst0ne 27c95364b5 Replace '.team << [user, role]' with 'add_role(user)' in specs 2017-12-22 19:18:28 +11:00
Stan Hu 0232450c8a Fix Error 500 when pushing LFS objects with a write deploy key 2017-11-08 16:21:39 +00:00
Jacopo 2f40dac352 Refactor `have_http_status` into `have_gitlab_http_status` in the specs 2017-10-20 10:13:18 +02:00
Douwe Maan 546b18b903 Merge branch 'tc-geo-read-only-idea' into 'master'
Create idea of read-only database

Closes #37534

See merge request gitlab-org/gitlab-ce!14688
2017-10-07 11:01:21 +00:00