260 Commits
Author SHA1 Message Date
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
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
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
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
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
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
Robert Speicher f5ab126fd0 Ensure Commit#show responds 404 instead of 500 when given an invalid ID
Closes #13467
2016-02-15 15:48:16 -05:00
Robert Speicher 551ce0f245 Add spec for assigning view param from cookie 2016-02-05 16:03:20 -05:00
Rémy Coutable f6d816f9fe Add a controller test for the new 'diff_view' cookie 2016-02-05 15:40:44 +01:00
Douwe Maan ac923b4fb4 Merge branch 'fix/atom-url-issue' into 'master'
Fix atom url issue on projects

This MR adds prevents a project to have a path ending in .atom that conflicts with the feed

and 

Adds a migration to migrate old .atom projects to a different path

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

See merge request !2651
2016-02-04 16:12:47 +00:00
James Lopez 7b868c61ab refactored migration and spec based on feedback 2016-02-04 13:20:55 +01:00
Douglas Barbosa Alexandre eefc46e0d5 Fix rubocop offenses 2016-02-02 11:25:44 -02:00
Douglas Barbosa Alexandre 718b1dddfe Refactor Admin::SpamLogsController to block user before destroying 2016-02-02 11:25:44 -02:00
Stan HuandDouglas Barbosa Alexandre d20e75a8d8 Support Akismet spam checking for creation of issues via API
Currently any spam detected by Akismet by non-members via API will be logged
in a separate table in the admin page.

Closes #5612
2016-02-02 11:25:44 -02:00
James Lopez eb51a4ac1b refactor previous test and add validation to project model 2016-01-29 15:35:21 +01:00
James Lopez 7ca6779654 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into fix/atom-url-issue 2016-01-29 14:27:10 +01:00
Douwe Maan b636f83e59 Move blame group logic to dedicated class 2016-01-28 14:49:21 +01:00
Douwe Maan 28e2d2142c Merge branch 'rs-groups-index' into 'master'
Make the `/groups` route behave as expected

The route is supposed to redirect the Groups#index request based on
whether or not a user was logged in. If they are, we redirect them to
their groups dashboard; if they're not, we redirect them to the public
Explore page.

But due to overly aggressive `before_action`s that weren't excluding (or including) the
`index` action, the request always resulted in a 404, whether a user was
logged in or not.

Closes #12660

See merge request !2580
2016-01-26 11:59:05 +00:00
Douglas Barbosa Alexandre 46c36e0e01 Fixi import redirect loop 2016-01-25 21:00:23 -02:00
Robert Speicher a7c4d0da8c Make the /groups route behave as expected
The route is supposed to redirect the Groups#index request based on
whether or not a user was logged in. If they are, we redirect them to
their groups dashboard; if they're not, we redirect them to the public
Explore page.

But due to overly aggressive `before_action`s that weren't excluding the
`index` action, the request always resulted in a 404, whether a user was
logged in or not.

Closes #12660
2016-01-23 16:10:13 -08:00
James Lopez 4d2da5fd25 WIP - spec failure on .atom project URL 2016-01-22 17:55:12 +01:00
Douwe Maan b6ae2def2c Merge branch 'unsubscribe-from-thread-from-email-footer' into 'master'
Unsubscribe from thread through link in email footer

Closes #3437 

![Screenshot_from_2015-12-11_15-35-06](/uploads/cfb3d8737d4757f527995411f103d0ce/Screenshot_from_2015-12-11_15-35-06.png)

![Screenshot_from_2015-12-11_15-35-56](/uploads/9b7121be7ce4b05e5995ca6d38c5bea4/Screenshot_from_2015-12-11_15-35-56.png)

See merge request !2068
2016-01-14 14:38:55 +00:00
Zeger-Jan van de Weg 58867eff46 Unsubscribe from thread through link in email footer 2016-01-09 12:41:22 +01:00
Gabriel Mazetto ec67e9be1d Repair ldap_blocked state when no ldap identity exist anymore 2016-01-08 16:26:04 -02:00
Gabriel Mazetto ba9855d487 Prevent ldap_blocked users from being unblocked by the Admin UI 2016-01-08 16:26:04 -02:00
Jacob Vosmaer 41b8a238ce Merge branch 'master' of github.com:gitlabhq/gitlabhq 2016-01-07 12:56:18 +01:00
Robert Speicher 46a220ae3c Add AbuseReport#notify
Tell, Don't Ask.
2016-01-04 18:59:42 -05:00
Douwe Maan 3639ebd081 Fix specs 2015-12-18 17:09:58 +01:00
Douwe Maan d9c82d679f Automatically fork a project when not allowed to edit a file. 2015-12-18 10:03:34 +01:00
Douwe Maan 51ed5225ad Merge branch 'serve_lfs_object' into 'master'
Serve LFS object

Depends on gitlab-org/gitlab_git!57

See merge request !1976
2015-12-08 14:19:52 +00:00
Marin Jankovski 6245be083d All for you rubocop. 2015-12-08 14:00:15 +01:00
Marin Jankovski ea5b462a14 Stub the calls to disk and check what send_file returns. 2015-12-08 13:33:12 +01:00
Marin Jankovski 9bf51ae47d Fix specs caused by update of gitlab-test repo. 2015-12-08 10:58:15 +01:00
Douglas Barbosa Alexandre 7d836a0c0a Merge branch 'master' into fix-merge-request-that-removes-submodule 2015-12-07 13:09:01 -02:00
Marin Jankovski e53b350cb6 Add specs for showing lfs object in UI. 2015-12-07 15:03:50 +01:00
Stan Hu 4fab178850 Fix spec that broke due to fact that iid is needed, not id, for MilestonesController 2015-12-05 00:04:44 -08:00
Stan Hu d800a949d2 Fix Error 500 when creating global milestones with Unicode characters
Two issues:

1. The constraints in the resources were incorrect. Here's what it was before:
```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

In this case, id is actually the title of the milestone, which can be anything at the moment.

After:

```
group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[^\/]+/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
```

2. `parameterize` would strip all Unicode characters, leaving a blank string. Rails would report something like:

ActionView::Template::Error (No route matches {:action=>"show", :controller=>"groups/milestones", :group_id=>#<Group id: 48, name: "ops-dev", path: "ops-dev", owner_id: nil, created_at: "2015-11-15 08:55:30", updated_at: "2015-12-02 06:23:26", type: "Group", description: "", avatar: "sha1.c71e73d51af1865c1bbbf6208e10044d46c9bb93.png", public: false>, :id=>"", :title=>"肯定不是中文的问题"} missing required keys: [:id]):

This change uses the babosa library to create a better slug, which surprisingly
isn't actually used by the global milestone controllers. Instead, they use the
title passed as a query string for some reason.

Closes https://github.com/gitlabhq/gitlabhq/issues/9881

Fix constraints
2015-12-05 00:04:44 -08:00
Douglas Barbosa Alexandre 12fdc13ad3 Fix 500 error when creating a merge request that removes a submodule 2015-12-04 17:35:14 -02:00
Andrew Tomaka daca985a6e Prevent impersonation if blocked 2015-12-02 08:07:29 -05:00
Stan Hu a518879a6f Merge pull request #9868 from yms9654/commit-without-whitespace
Add ignore whitespace change option to commit view
2015-12-01 00:30:39 -08:00
Minsik Yoon 8c4a3c77d8 Add ignore whitespace change option to commit view 2015-12-01 09:51:10 +09:00
Robert Speicher 244c9a00e0 Merge branch 'stanhu/gitlab-ce-fix-404-after-project-removal'
See merge request !1916
2015-11-30 12:00:13 -05:00
Valery Sizov e0131c5d07 Merge branch 'rails_update_to_4_2' into 'master'
Rails update to 4.2.4

https://gitlab.com/gitlab-org/gitlab-ce/issues/2694

See merge request !1902
2015-11-30 16:49:09 +00:00
Valery Sizov e92ceb7b57 fix specs 2015-11-30 16:12:31 +02:00
Stan Hu 2497d3d550 Fix 404 in redirection after removing a project
Closes https://github.com/gitlabhq/gitlabhq/issues/9844

Closes #3559
2015-11-25 23:11:35 -08:00
Douglas Barbosa Alexandre 8dcef120cd Fix raw private snippets access workflow 2015-11-25 18:16:27 -02:00
Dmitriy Zaporozhets 03755fb38f Merge branch 'ee-flog' into 'master'
Reduce method complexity in AutocompleteController

Backport of gitlab-org/gitlab-ee!58

See merge request !1833
2015-11-21 09:09:23 +00:00
Douwe Maan 5a4c56c38d Reduce method complexity in AutocompleteController 2015-11-20 13:49:24 +01:00
Robert Speicher 56476f1847 Merge branch 'dbalexandre/gitlab-ce-fix-personal-snippet-access-workflow' into 'master'
Improve personal snippet access workflow.

Replaces !1709

Fixes #3258

See merge request !1817
2015-11-19 17:22:20 +00:00
Yorick Peterse fbdf376749 Refactor UsersController to not kill the database
Previously this controller would in multiple places load tons (read:
around 65000) project and/or group IDs into memory. These changes in
combination with the previous commits significantly cut down loading
times of user profile pages and the Atom feeds of users.
2015-11-18 13:05:45 +01:00