Code tweaks in 45e9150a caused the ldap_person method to not return expected results.
Improved tests to cover the ldap_person method, which was previously stubbed.
Update ssl ciphers
Removing all DHE suites from Nginx template SSL ciphers.
This will deny forward secrecy for Android 2.3.7, Java 6 and OpenSSL 0.9.8. but will give A+ rating on SSL labs.
Google sites also do not have DHE suites, [source](https://community.qualys.com/blogs/securitylabs/2013/06/25/ssl-labs-deploying-forward-secrecy)
> Google's sites, for example, tend to not have any DHE suites in their configuration. [2013]
See merge request !814
Now we can simply loop through all themes, among other things.
This also removes the `dark_theme` / `light_theme` classes and the
`theme_type` helper, since they weren't used anywhere.
Add a note that changing example configuration files requires changing omnibus-gitlab.
Keeping track of changes in these files is not easy and they usually require change in omnibus-gitlab.
Added a note so everyone is aware of this.
Similar is added to gitlab-shell and gitlab-ci.
Discussed in gitlab-org/omnibus-gitlab#605
See merge request !800
Changes back-ported from rspec3 branch
This is just breaking up the large `road-to-rspec-3` branch a bit. Each of these commits have been cherry-picked and would be good to have in place before the upgrade.
See merge request !792
update fog to 1.25.0 and add multipart upload support
This merge will fix backup uploading problems to s3, closing gitlab-org/gitlab-ce#1059
See merge request !789
There is no need to check if `repository_ref` is present as:
```
@repository_ref = if repository_ref.present?
repository_ref
else
nil
end
```
is as same as doing:
```
@repository_ref = repository_ref
```
Refactor web editor
* fix problem with editing non-master branch
* before commit make sure branch exists
* dont allow user change file in one branch and commit to another existing branch
* remove a lot of code duplication
* remove outdated statellite errors
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Fixes#1761
See merge request !773
Order commit comments in API chronologically
When fetching commit comments via API, the comments were not ordered,
but just returned in the order Postgresql finds them. Now the API always
returns comments in chronological order.
Same as !628 but with CI
See merge request !768
Fix upgrader script
This is a fix for upgrader script not guessing the latest version correctly.
Upgrader now handles versions where a version part (major/minor/patch) can have multi-digit number, also ensures that the latest version is chosen from git tags by converting tag to Gitlab::VersionInfo and than selecting the latest/greatest version.
Fixes: #1476
See merge request !695
Make namespace API available to all users
### What does this MR do?
This MR makes it possible for a user to query namespaces to which he/she has access. Also, it adds documentation for the existing API.
### Why was this MR needed?
Even though the `groups` API exists, it might still be useful to have an endpoint that tells the namespace type (e.g. `user` vs. `group`), especially if a user has access to a number of different projects.
### What are the relevant issue numbers?
Closes https://github.com/gitlabhq/gitlabhq/issues/9328
See merge request !708
Group improvements
* remove projects before removing group
* execute all hooks/events from project destroy when group removed
* log group create/remove
* delay remove of namespace directory (to prevent NFS issues)
Inspired by !759
See merge request !761
Remove gitlab:env:check task.
Rake task that checks for git user git settings is a leftover from early days.
It is not being used by the web editor(and web editor is also being redone atm) so this rake task just causes confusion.
Adresses internal issue https://dev.gitlab.org/gitlab/gitlabhq/issues/2362
See merge request !758
Ths commit does next:
* When we remove project we move repository to path+deleted.git
* Then we schedule removal of path+deleted with sidekiq
* If repository move failed we abort project removal
This should help us with NFS issue when project get removed but
repository stayed. The full explanation of problem is below:
* rm -rf project.git
* rm -rf removes project.git/objects/foo
* NFS server renames foo to foo.nfsXXXX because some NFS client (think
* Unicorn) still has the file open
* rm -rf exits, but project.git/objects/foo.nfsXXX still exists
* Unicorn closes the file, the NFS client closes the file (foo), and the
* NFS server removes foo.nfsXXX
* the directory project.git/objects/ still exists => problem
So now we move repository and even if repository removal failed
Repository directory is moved so no bugs with project removed but
repository directory taken. User still able to create new project with
same name. From administrator perspective you can easily find stalled
repositories by searching `*+deleted.git`
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Until now, a user needed to first sign in with his LDAP identity and then manually
link his/her account with an omniauth identity from their profile.
Only when this is done can the user authenticate with the omniauth provider and at
the same time benefit from the LDAP integration (HTTPS authentication with LDAP
username/password and in EE: LDAP groups, SSH keys etc.).
This feature automates the process by looking up a corresponding LDAP person when a
user connects with omniauth for the first time and then automatically linking the LDAP
and omniauth identities (of course, like the existing allow_single_sign_on setting,
this is meant to be used with trusted omniauth providers).
The result is identical to a manual account link.
Add config initializers for other omniauth settings.
You can not remove user if he/she is an only owner of group
To prevent loose of group data you need to transfer or remove group
first before you can remove user
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
See merge request !730