4083 Commits
Author SHA1 Message Date
Douwe MaanandTomasz Maczukin 18968821dd Merge branch 'fix/unauthorized-access-to-build-data' into 'master'
Remove 'unscoped' from project builds selection

This is a fix for this security bug: https://gitlab.com/gitlab-org/gitlab-ce/issues/18188

/cc @kamil @grzegorz @stanhu

See merge request !1968
2016-06-14 19:45:11 +02:00
Robert SpeicherandRobert Speicher 0f295530fe Merge branch 'rs-notes-privilege-escalation' into 'master'
Prevent privilege escalation via notes API

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15577

See merge request !1964
2016-04-26 16:20:54 -04:00
Douwe Maan cd107220c9 Fix dumb specs 2016-04-26 18:12:42 +02:00
Douwe Maan 4375b65f88 Use sequence in label factory to get around uniqueness error 2016-04-26 17:31:19 +02:00
Douwe Maan d8e6386b64 Revert "Merge branch '15579-filter-milestone-confidential-issues-api' into 'master'"
This reverts commit 550f9a740c.
2016-04-26 17:20:26 +02:00
Rémy CoutableandRémy Coutable 446f886651 Merge branch 'fix-project-hook-delete-permissions' into 'master'
Prevent users from deleting Webhooks via API they do not own

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15576

See merge request !1959

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-04-26 10:34:49 +02:00
Robert SpeicherandRémy Coutable 3b72afe0e1 Merge branch '15437-fix-xss-in-issue-tracker-service' into 'master'
Prevent XSS via custom issue tracker URL

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/15437

See merge request !1955

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-04-26 10:33:42 +02:00
Robert SpeicherandRobert Speicher d9114c1516 Merge branch '15579-filter-milestone-confidential-issues-api' into 'master'
Prevent information disclosure via milestone API

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15579

See merge request !1961
2016-04-25 20:40:22 -04:00
Robert SpeicherandRobert Speicher b6b7bb530b Merge branch '15591-fix-project-leak-in-new-mr-view' into 'master'
Prevent information disclosure via new merge request page

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15591.

See merge request !1963
2016-04-25 17:14:07 -04:00
Robert SpeicherandRobert Speicher 017f87e8cd Merge branch 'fix-impersonation-issue' into 'master'
Prevent privilege escalation via "impersonate" feature

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15548

See merge request !1956
2016-04-25 16:55:12 -04:00
Robert SpeicherandRobert Speicher 30dc15f43e Merge branch 'fix-private-snippet-api' into 'master'
Prevent information disclosure via snippet API

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15580

See merge request !1958
2016-04-25 16:41:14 -04:00
Grzegorz BizonandRobert Speicher 8dc82011f5 Merge branch 'fix/private-labels-permissions' into 'master'
Fix vulnerability that leaks private labels and milestones

This fixes vulnerability that leaks information about private labels and milestones because of  insecure direct object reference in issueable create service.
This affects merge requests and issues.

See https://gitlab.com/gitlab-org/gitlab-ce/issues/15439

This MR introduces additional check that rejects labels and milestone that does not belong to the same project issue/merg request does.

`IssuableBaseService` may benefit from encapsulating filters in separate class/module, which then may improve coherency in this class.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15439

See merge request !1954
2016-04-25 16:18:16 -04:00
Robert SpeicherandRobert Speicher e76a2a2ef3 Merge branch 'dev_issue_15331' into 'master'
Fixes window.opener bug

Adds `noreferrer` value to rel attribute for external links

REF: https://gitlab.com/gitlab-org/gitlab-ce/issues/15331

See merge request !1953
2016-04-25 15:51:37 -04:00
Douwe MaanandRémy Coutable 2c9cd67f78 Merge branch 'rs-issue-15126' into 'master'
Remove persistent XSS vulnerability in `commit_person_link` helper

Because we were incorrectly supplying the tooltip title as
`data-original-title` (which Bootstrap's Tooltip JS automatically
applies based on the `title` attribute; we should never be setting it
directly), the value was being passed through as-is.

Instead, we should be supplying the normal `title` attribute and letting
Rails escape the value, which also negates the need for us to call
`sanitize` on it.

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/15126

See merge request !1948

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-04-19 17:35:32 +02:00
Rémy CoutableandRémy Coutable 4a9f5ef931 Merge branch 'fix/2fa-authentication-spoofing' into 'master'
Fix 2FA authentication spoofing

This is security fix for vulnerability described at
https://gitlab.com/gitlab-org/gitlab-ce/issues/14900.

Attacker was able to bypass password authentication of users that have 2FA enabled, and consequently sign is as a different user, without knowing his password, if he managed to guess 2FA One Time Password for that user.

It was also possible to enumerate users and check if they have 2FA enabled, because GitLab responded with different error for each case.

This MR attempts to change default user search scope if `otp_user_id` session variable has been set. If it is present, it means that user has 2FA enabled, and has already been verified with login and password. In this case we should look for user with `otp_user_id` first, before picking it up by `login`.

Both, 2FA authentication spoofing and 2FA discovery have been covered by specs.

Current 2FA code is a bit tricky, so it probably needs some refactoring.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-04-07 17:33:47 +02:00
Jacob Vosmaer 73c777cf67 Backport ExclusiveLease to 8.5 2016-03-11 13:38:58 +01:00
Douglas Barbosa AlexandreandRémy Coutable fe4d3abead Merge branch 'fix-todos' into 'master'
Fix error 500 in Todos

Closes #14095

Closes #14075

Closes #14109

Closes #14151

See merge request !3141
2016-03-10 10:35:34 +01:00
Rémy Coutable 45469dd2de Merge branch 'renaming-repository-caching' into 'master'
Flush repository caches before renaming projects

This should hopefully solve gitlab-org/gitlab-ce#13790. Once I know the exact steps to reproduce the problem I should be able to confirm this.

cc @dblessing @inem

See merge request !2974
2016-03-03 16:37:24 +01:00
Douwe MaanandRémy Coutable 4d857c08d5 Merge branch 'fix/deprecated-ci-badge-permissions' into 'master'
Fix permissions for deprecated CI build status badge

This fixes permissions for deprecated status badge, being unavailable even if project is public.

Closes #13324

See merge request !3030
2016-03-02 12:08:21 +01:00
Douwe MaanandRémy Coutable c05bb00737 Merge branch 'rs-improve-grace-period' into 'master'
Don't show any "2FA required" message if it's not actually required

Prior, if the user had enabled and then disabled 2FA, they would be
shown a "You must enable Two-factor Authentication for your account."
message when going back to re-activate it, even if 2FA enforcement was
disabled.

See merge request !3014
2016-03-01 17:04:32 +01:00
Douwe MaanandRémy Coutable 5a3c5ace67 Merge branch '11489-branded-appearance-to-ce' into 'master'
Branded appearance to CE

Closes #11489

The difference with the EE version is only that there is no distinction between light and dark logos, though this wasn't used anyway. If this is fine, I'll create a MR on EE too.

TODO:
- [x] Copy docs
- [x] Make new screenshots
- [ ] Remove Custom Welcome message feature?

@rymai: I was unsure what labels to add to ping you, so I just ping you like this 😉

/cc @DouweM

See merge request !2927
2016-03-01 11:41:03 +01:00
Robert SpeicherandRémy Coutable 70090bd8a6 Merge branch 'fix-todos' into 'master'
Does not create a Todo when commenting on commit or project snippet

Closes #13733

See merge request !2964
2016-02-26 16:47:54 +01:00
Rémy Coutable 184b4bc6d5 Merge branch 'rs-crowd-form-view-spec' into 'master'
Move "I should see Crowd login form" feature to a view spec

We were doing all kinds of code gymnastics to "enable" Crowd in the
feature spec and this would sometimes cause a transient failure.

Really what it's testing is if the Crowd login form shows when Crowd's
enabled, so this is much better suited to a view spec.

See merge request !2963
2016-02-26 16:46:46 +01:00
Jacob SchatzandRémy Coutable b0864a9f5d Merge branch 'feature/jschatz1/sidebar-sizing' into 'master'
Sidebar overlaps content when screen is below 1200px.

When screen is below 1200px, the sidebar overlaps.
When screen is above 1200px, the sidebar pushes content out.
z-index change to make sure hamburger stays on top.
Fixes #12717
![screensize](/uploads/9a21fa06d583a49d6ebbf1ada34c6792/screensize.gif)

![screensize-small](/uploads/7c25f46e962248a40840562a01c83f8f/screensize-small.gif)

Also sorry I couldn't get the collapse button in the screen cap. It's there.

See merge request !2620
2016-02-26 16:46:27 +01:00
Robert SpeicherandRémy Coutable 11b6c8c30b Merge branch 'fix-todos' into 'master'
Does not raise an error when Todo  is already marked as done

Closes #13681

See merge request !2926
2016-02-24 09:13:29 +01:00
Rémy Coutable 08ac2f2956 Merge branch 'fix/13631-error-with-merged-mr' into 'master'
Ensure we don't check a commit's description for revert message if it has no description

Fixes #13631.

/cc @razer6 @grzesiek @yorickpeterse @rdavila 

See merge request !2917
2016-02-23 11:29:33 +01:00
Douglas Barbosa AlexandreandRémy Coutable 41f1b3dede Merge branch 'tasks' into 'master'
Add Todos

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/2425

Tasks:

-  Prepare database
 - [X] Create a new table (`todos`)
- Tasks Queue view
 - [X] Add a number icon showing the number of todos on the top right next to the new and logout button that will redirect the user to the todos page
 - [X] Add a chronological list of todos, with the 'Todos' tab active by default
 - [X] Add a 'Done' button to each todo
 - [x] Add filters (project, author, type, and action)
- Todos generation
 - [X] When user issue/mr is assgined to someone
 - [x] When user is mentioned on (issues/mr's/comments)
- Mark todo as `done`
 - [X] When clicks on the 'Done' button
 - [X] When edit issue/mr
 - [X] When left/edit a comment
 - [X] When reassign issue/mr
 - [X] When add/remove labels to issue/mr
 - [X] When issue/mr is closed
 - [X] When mr is merged
 - [X] When added an emoji
 - [X] When changed the issue/mr milestone

* Screenshot:

![Screenshot_2016-02-20_12.45.57](/uploads/4b2554b1bde25aed3347e1ae41e8e0c0/Screenshot_2016-02-20_12.45.57.png)

See merge request !2817
2016-02-22 08:47:44 +01:00
Douwe MaanandRémy Coutable b947661ce6 Merge branch 'merge-when-succeeded' into 'master'
Fix bugs in MergeWhenSucceeded

1. This fixes support for merge when succeeded for statuses without ref.
2. This fixes support for merge when succeeded for multiple stages. Stages are created after all builds for previous one are finished.

Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/9060 https://gitlab.com/gitlab-org/gitlab-ce/issues/8108 https://gitlab.com/gitlab-org/gitlab-ce/issues/12931 https://gitlab.com/gitlab-org/gitlab-ce/issues/13269

/cc @grzesiek @DouweM @rspeicher 


See merge request !2894
2016-02-22 08:47:20 +01:00
Douwe MaanandRémy Coutable 20b3be6e24 Merge branch 'flush-cache-web-editor' into 'master'
Flush emptiness caches whenever needed



See merge request !2903
2016-02-21 21:06:44 +01:00
Douwe MaanandRémy Coutable 5c120204ad Merge branch '12792-emoji-as-text-diff-comment' 2016-02-21 21:02:59 +01:00
Kamil TrzcińskiandRémy Coutable ba893daf53 Merge branch 'builds-artifacts-API' into 'master'
Introduce API for serving the artifacts archive

Add API to download build artifacts archive in context of GitLab API

/cc @DouweM @grzesiek 

See merge request !2893
2016-02-21 20:59:39 +01:00
Kamil TrzcińskiandRémy Coutable 3d9943394e Merge branch 'commit-status-fix' into 'master'
Fix missing ignored? for GenericCommitStatus

This is pretty important fix. We should not release 8.5 without this.

It critical error when handling GenericCommitStatus:
```
undefined method `ignored?' for #<GenericCommitStatus:0x007fe1a2a20fe0>
```

cc @grzesiek 


See merge request !2899
2016-02-19 20:29:53 +01:00
Robert SpeicherandRémy Coutable 0daef5bfd7 Merge branch 'issue_3409' into 'master'
Add ability to revert changes introduced by Merge Requests or Commits

Closes #3409 

See merge request !1990
2016-02-19 19:55:19 +01:00
Grzegorz BizonandRémy Coutable 62067b74c8 Merge branch 'ci/remove-builds' into 'master'
Make it possible to erase build content (artifacts, trace)

This feature makes it possible to remove build content - build artifacts and build traces.

- [x] Remove artifacts
- [x] Remove metadata
- [x] Remove build traces
- [x] Wait for https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/1942 this to be merged
- [x] Fix the permissions after the merge

Closes #3421

See merge request !2560
2016-02-19 18:22:49 +01:00
Patricio CanoandRémy Coutable c1921fb510 Merge branch 'saml-decoupling' into 'master' 2016-02-19 16:45:18 +01:00
Kamil TrzcińskiandRémy Coutable 778da50251 Merge branch 'ci/api-runners' into 'master'
Add runners API

References #4264

See merge request !2640
2016-02-19 16:32:43 +01:00
Douwe MaanandRémy Coutable da0953e652 Merge branch 'rs-emoji' into 'master'
Update Gemojione for new hotness 

Before | After
------ | -----
![Screen_Shot_2016-02-12_at_3.38.43_PM](/uploads/299e5ffe38c91657085741261a678f81/Screen_Shot_2016-02-12_at_3.38.43_PM.png) | ![Screen_Shot_2016-02-12_at_3.38.09_PM](/uploads/ccee29719a6445a9efd2498391a7eea0/Screen_Shot_2016-02-12_at_3.38.09_PM.png)

See merge request !2800
2016-02-19 16:29:55 +01:00
Douwe MaanandRémy Coutable 554d9bf606 Merge branch 'rs-show-owner-label' into 'master'
Allow `ProjectTeam#human_max_access` to return "Owner"



See merge request !2881
2016-02-19 16:29:31 +01:00
Robert SpeicherandRémy Coutable d3e79985b4 Merge branch 'autocrlf-lazy' into 'master'
Only set autocrlf when creating/updating files

Related issue: gitlab-org/gitlab-ce#13457
Details: 5619a6de1dd6fc1dfd4053810c7b11c677b7a495

See merge request !2859
2016-02-19 16:25:09 +01:00
Douwe MaanandRémy Coutable df20569727 Merge branch 'fix/gitpushservice-complexity-issue' into 'master'
Reduce code complexity on GitPushService#execute

Code complexity for gitlab-ce after this has been refactored:
```
  27.3: GitPushService#execute
```
This still needs to be merged into `gitlab-ee` presumably with conflicts... Perhaps we should create another issue for doing that?

I left the code sort of similar to what it was... If I could, I would have refactored most of the code into separate classes, etc. as it breaks probably all SOLID principles.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/13327


See merge request !2784
2016-02-18 17:11:47 +01:00
Kamil TrzcińskiandRémy Coutable bdbe892ea2 Merge branch 'fix/ci-first-job-allow-failure' into 'master'
Fix CI builds scheduler when first build in stage is allowed to fail

This fixes an edge case in CI builds scheduler when first build in stage was marked as allowed to fail.

Closes #3192

See merge request !2869
2016-02-18 16:18:45 +01:00
Robert SpeicherandRémy Coutable 03a156224b Merge branch 'issue_13539' into 'master'
Reopened MRs should also be considered as open.

Fixes #13539 

See merge request !2866
2016-02-18 13:00:45 +01:00
Douwe MaanandRémy Coutable 7dddd45ebf Merge branch 'see-and-sort-on-vote-count-mr-issues' into 'master'
Add ability to see and sort on vote count from Issues and MR lists

Fixes #3763

* Sort options

![Sort Options](/uploads/df6543d574d4df8bf7e4496a876e2930/sort.png)

* Most popular

![Most popular](/uploads/bb92cc2fbef7b6b806dcdf8c52778fdd/most-popular.png)

* Least popular

![Least popular](/uploads/7988ed451922c81dc228419b5edbd7cd/least-popular.png)

See merge request !2781
2016-02-18 12:58:31 +01:00
Douwe Maan 6483a4c7b1 Merge branch 'fix/13367-redirect-to-project-page-if-no-import' into 'master'
Redirect /import to project page if no importing at all and repo exists


Fixes gitlab-org/gitlab-ce#13367.

See merge request !2857
2016-02-17 15:52:35 +00:00
Douwe Maan 28d42a33f3 Merge branch 'rs-issue-13469' into 'master'
Handle nil commits in Gitlab::PushDataBuilder.build

Closes #13469

See merge request !2825
2016-02-17 14:19:20 +00:00
Rémy Coutable 3d3ac87af9 Redirect /import to project page if no importing at all and repo exists
Fixes #13367.
2016-02-17 15:05:44 +01:00
Yorick Peterse a9e0301c23 Expire caches after forking/importing a repository
This ensures the caches for Repository#empty? and
Repository#has_visible_content? are flushed after a repository has been
imported or forked.

Fixes gitlab-org/gitlab-ce#13505
2016-02-17 11:38:18 +01:00
Douwe Maan bbbfdba0b9 Merge branch 'bugagazavr/gitlab-ce-extend-hooks' into 'master'
Add new data to project in push, issue, merge-request and note webhooks data

_Originally opened at !2738 by @bugagazavr._

- - -

**What does this MR do?**

Adds more data to hooks, makes repository data in all hook more dry ( use one hook_attrs method for repository data in all hooks )

**Are there points in the code the reviewer needs to double check?**

1. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/app/models/project.rb#L738
2. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/app/models/concerns/issuable.rb#L132
3. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/lib/gitlab/push_data_builder.rb#L52
4. https://gitlab.com/bugagazavr/gitlab-ce/blob/extend-hooks/lib/gitlab/note_data_builder.rb#L56

**Why was this MR needed?**

More information about user for push events, and more data about repositiry ( project )

**What are the relevant issue numbers?**

No

**Screenshots (if relevant)**

No

See merge request !2788
2016-02-16 13:08:36 +00:00
Douwe Maan 42d088fcb1 Merge branch 'fix/cross-reference-notes-forks' into 'master'
Fix cross reference notes  on forks

Updates `cross_reference_exists?` to match on commit only.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/5849

See merge request !2731
2016-02-16 11:47:46 +00:00
Douwe Maan 8db62f2548 Merge branch 'rs-issue-13467' into 'master'
Ensure Commit#show responds 404 instead of 500 when given an invalid ID

Closes #13467

See merge request !2823
2016-02-16 11:40:06 +00:00