Commit Graph
3539 Commits
Author SHA1 Message Date
Dmitriy Zaporozhets 7ed8b76f64 Merge branch 'no-chmod-r' into 'master'
Don't use chmod_R for backup tars

When creating backup tar files, only change permissions on the `db`, `uploads`, and `repositories` directories, not their contents.  See https://dev.gitlab.org/gitlab/gitlabhq/merge_requests/1716#note_40472

See merge request !1744
2015-04-01 01:10:00 +00:00
Dmitriy Zaporozhets dc3b4321ff Merge branch 'group-information-leak' into 'master'
Don't leak private group existence by redirecting from namespace controller to group controller.

See merge request !440
2015-04-01 01:01:38 +00:00
Robert SchillingandJakub Jirutka 9769c2d7fd Fix #6417: users with group permission should be able to create groups via API 2015-03-31 18:32:24 +02:00
Dmitriy Zaporozhets eb2339a401 Merge pull request #9023 from dantudor/patch-1
Allow ability to delete branches with '/` in name
2015-03-31 19:30:15 +03:00
Dan Tudor a6c6335671 Added the missing comma 2015-03-31 17:08:33 +01:00
Douwe Maan 737f322e41 Import GitHub, Bitbucket or GitLab.com projects owned by authenticated user into current namespace. 2015-03-31 16:34:13 +02:00
Douwe Maan 2cfd0b59ae Archive repositories in background worker. 2015-03-31 12:52:20 +02:00
Douwe Maan fe7992a524 Merge branch 'events-paginate' into 'master'
API: Events paginate

Updated the api method for /project/:id/events, to use the paginate method instead of limiting and offsetting the recent events in the method itself.

This will also change the first page to be 1 instead of 0, but using 0 will still work and will give back the first page.
This also add's the link headers (next/first/last).

See merge request !267
2015-03-30 19:01:03 +00:00
Dmitriy Zaporozhets 3371e40bd4 Include brakeman in rake test 2015-03-29 18:55:18 -07:00
Nihad Abbasov bba2b10eb5 properly paginate project events in API 2015-03-29 05:36:53 +05:00
Vinnie Okada 9deda68257 Parse GFM references after sanitizing
Parse GFM references - labels, issues, MRs, etc. - after calling the
HTML Pipeline `SanitizationFilter` so that we can use non-whitelisted
attributes like `style`.
2015-03-28 08:58:30 -06:00
Vinnie Okada 0f78d92e4c Don't use chmod_R for backup tars
When creating backup tar files, only change permissions on the `db`,
`uploads`, and `repositories` directories, not their contents.
2015-03-28 08:38:48 -06:00
Douwe Maan 5f93b0e3da Don't allow username to end in period. 2015-03-27 11:10:56 +01:00
Douwe Maan dfe0f9eedf Use more specific regexes. 2015-03-27 11:09:29 +01:00
Douwe Maan 3f7531d6f2 Move User.cleanup_username to Namespace.cleanup_path. 2015-03-27 11:09:29 +01:00
Douwe Maan e08d947e77 Use relative URL for Markdown references, except in mails. 2015-03-27 10:39:05 +01:00
Dmitriy Zaporozhets fe2e1ac321 Merge branch 'backup-chdir' into 'master'
Change directory when removing old backups

Fixes errors when deleting old backups in the `gitlab:backup:create` rake task.  See #2177.

See merge request !1740
2015-03-26 15:47:52 +00:00
Dmitriy Zaporozhets d41b2085fe Merge branch 'master' into 'master'
Change ordering so that confirm is removed from attrs before attempting to User.build_user

Possible fix gitlab-org/gitlab-ce#1296

See merge request !445
2015-03-26 01:14:54 +00:00
Dmitriy Zaporozhets 99fcb80eb7 Merge pull request #9021 from nicklegr/faster_auto_merge
Faster merge request processing for large repository
2015-03-25 12:18:03 -07:00
Dmitriy Zaporozhets 6199da0cb4 Merge pull request #8007 from mr-vinn/markdown-tags
Allow HTML tags in user Markdown input
2015-03-25 10:21:03 -07:00
Dmitriy Zaporozhets eda120dc4d Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2015-03-25 08:37:28 -07:00
Dmitriy Zaporozhets f729f60447 Merge branch 'more-rubocop-styles' into 'master'
More rubocop styles

See merge request !449
2015-03-25 15:37:04 +00:00
Dan Tudor 00dd44455a Allow ability to delete branches with '/` in name 2015-03-25 15:15:26 +00:00
nicklegr a30011372f Reset parking branch to HEAD everytime
* Reduces overhead of git checkout
2015-03-25 21:05:06 +09:00
Robert Schilling d2c76f9bd0 Merge pull request #8988 from atomaka/atomaka/bugfix/gitlab-shell-task
Fix GitLab shell setup spacing
2015-03-25 08:31:53 +01:00
Dmitriy Zaporozhets 8f3f6e9efb Merge branch 'api-internal-errors' into 'master'
Respond with full GitAccess error if user has project read access.

Should help with debugging #1236.

cc @marin

See merge request !437
2015-03-25 04:16:45 +00:00
Vinnie Okada 083027fc84 Change directory when removing old backups 2015-03-24 20:47:11 -06:00
Vinnie Okada 057c8c344b Merge branch 'master' into markdown-tags 2015-03-24 20:03:22 -06:00
Dmitriy Zaporozhets 69454e36f7 Style/RedundantReturn enabled 2015-03-24 18:35:57 -07:00
Dmitriy Zaporozhets 6ec8ff069c Enable more rubocop style checks 2015-03-24 18:28:10 -07:00
Dmitriy Zaporozhets eb2ce79d2e Merge pull request #9012 from dantudor/patch-1
Unescape branch param to delete
2015-03-24 15:36:03 -07:00
Dmitriy Zaporozhets fc4af9b197 Merge branch 'git-auth-rack-attack-improvements' into 'master'
Reduce Rack Attack false positives causing 403 errors during HTTP authentication

### What does this MR do?

This MR reduces false positives causing `403 Forbidden` messages after HTTP authentication.

A Git client may attempt to access a repository without a password. If it receives a 401 error, the client often will try again, this time supplying a password. The problem is that `grack_auth.rb` considers a blank password an authentication failure and increases a Redis counter each time this happens. With enough requests, an IP can be banned temporarily even though previous attempts may have been successful. This leads users to see `403 Forbidden` errors until the ban times out (default: 1 hour).

To reduce the chance of a false positive, this MR resets the counter upon a successful authentication from an IP.

In addition, this MR logs when a user has been banned and introduces the ability to disable Rack Attack via a config variable.

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

rack-attack v4.2.0 doesn't support the ability to clear counters out of the box, so `rack_attack_helpers.rb` includes a number of monkey patches to make it work. It looks like this functionality may be added in v4.3.0. I've also sent pull requests to rack-attack to add the functionality necessary to delete a key.

Each time an authentication is successful, the Redis counter for that IP is cleared. I deemed it better to clear the counter than to allow for blank passwords, since the latter seems like a security risk.

### Why was this MR needed?

It was quite difficult to figure out why users were seeing `403 Forbidden`, which is why the log message was added. Users were getting a lot of false positives when accessing repositories with HTTPS. Including the username in the HTTPS URL (e.g. `https://username@mydomain.com/account/repo.git`) caused authentication failures because while the git client provided the username, it left the password blank, leading to an authentication failure.

### What are the relevant issue numbers / [Feature requests](http://feedback.gitlab.com/)?

See Issue #1171

https://github.com/kickstarter/rack-attack/issues/113

See merge request !392
2015-03-24 21:51:40 +00:00
Dmitriy Zaporozhets b8ad3647ad Merge branch 'fix-nested-tasks' into 'master'
Fix nested task lists

When nesting task list items, the parent item is wrapped in a `<p>` tag.  Update the task list parser to handle these paragraph wrappers.

cc @sytse

See merge request !413
2015-03-24 20:57:35 +00:00
Stephan van Leeuwen 3b3662da0a Updated api method GET /projects/:id/events to use paginate instead of a self-implementation
Also updated example request url

Added changelog item
2015-03-24 19:11:48 +01:00
RICKETTM@uk.ibm.com fda55f9145 Change ordering so that confirm is removed from attrs before attempting to User.build_user 2015-03-24 15:52:26 +00:00
Douwe Maan 61e8ca8ce0 Don't leak private group existence by redirecting from namespace controller to group controller. 2015-03-24 15:55:12 +01:00
Douwe Maan 4745424bd3 Respond with full GitAccess error if user has project read access. 2015-03-24 14:12:03 +01:00
Douwe Maan 4830b2be5e Refactor GitAccess to use instance variables. 2015-03-24 14:11:48 +01:00
Dan Tudor 862e1e6f17 Unescape branch param to delete
Branch names that contain `/` return a 405 error when being deleted because the slash is escaped to `%2F`
This patch will unescape the param prior to  executing the delete action.
2015-03-24 13:04:22 +00:00
Stan Hu 56d87db32c Reduce Rack Attack false positives by clearing out auth failure count upon
successful Git over HTTP authentication.

Add logging when a ban goes into effect for debugging.

Issue #1171
2015-03-24 00:36:46 -07:00
Dmitriy Zaporozhets 2bb4ea8542 Merge branch 'notes-count-without-system' into 'master'
Don't include system notes in issue/MR comment count.

Addresses private issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2163.

See merge request !430
2015-03-24 00:10:25 +00:00
Dmitriy Zaporozhets 81d603e2c1 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2015-03-23 09:44:28 -07:00
Dmitriy Zaporozhets e24da35984 Merge branch 'improve-contributions-calendar' into 'master'
Replace commits calendar with contributions calendar

* count opening of issues and merge requests
* dont trigger git repository - use events from database
* count pushes instead of commits for faster and easier counting
* much-much faster since does not affected by repository size

See merge request !420
2015-03-23 16:40:55 +00:00
Douwe Maan 6b92236eeb Don't include system notes in issue/MR comment count. 2015-03-23 16:43:08 +01:00
Douwe Maan d4d0852d2d Merge pull request #8995 from MichaelAlt/patch-1
Faulty LDAP DN name escaping removed
2015-03-23 08:23:19 +01:00
Vinnie Okada 637ca0b388 Merge branch 'master' into markdown-tags 2015-03-22 21:50:28 -06:00
Vinnie Okada a7afc06342 Fix SanitizationFilter bugs
Return a `SafeBuffer` instead of a `String` from the `#gfm_with_options`
method so that Rails doesn't escape our markup.

Also add `<span>` to the sanitization whitelist to avoid breaking syntax
highlighting in code blocks.
2015-03-22 20:17:56 -06:00
Stan Hu 5cce0645b0 Fix OAuth2 issue importing a new project from GitHub and GitLab
Closes #1268
2015-03-22 18:16:48 -07:00
Dmitriy Zaporozhets fb30039668 Merge branch 'disable-ref-generation-in-code-blocks' into 'master'
Disable reference generation in preformatted/code blocks

### Summary

If a user adds text in code or preformatted text via Markdown or HTML that contains `#XXX`, the system adds a note that issue `XXX` was mentioned. This is particularly annoying because we often list gdb backtrace dumps into our issues, and many issues get mentioned as a result. For example:

```
(gdb) bt
#0  0x00000000004004c4 in second () at main.cc:6
#1  0x00000000004004d2 in first () at main.cc:11
#2  0x00000000004004dd in main () at main.cc:17
(gdb)
```

### Steps to reproduce

1. In an issue, write the above text using Markdown or HTML tags (e.g. `<code>`, `<pre>`).
2. Observe that [issue 1](https://gitlab.com/gitlab-org/gitlab-ce/issues/1) and [issue 2](https://gitlab.com/gitlab-org/gitlab-ce/issues/2) have a note that says they were mentioned.

### Expected behavior

Everything enclosed in the code blocks should be ignored as references.

### Observed behavior

Issues get referenced unnecessarily.

### Fix

I've made `reference_extractor.rb` strip out HTML and Markdown blocks before processing. I considered running the raw text through the entire Markdown processor, but this seems overkill and perhaps could lead to some unintended side effects.

See merge request !365
2015-03-22 23:36:07 +00:00
Dmitriy Zaporozhets 8494170550 Improve contribution calendar per day info 2015-03-22 14:52:44 -07:00