1. 25 May, 2016 7 commits
  2. 24 May, 2016 11 commits
    • James Lopez's avatar
      fix formatting · 4cbdd0ee
      James Lopez authored
      4cbdd0ee
    • James Lopez's avatar
      b7370450
    • James Lopez's avatar
      add changelog · f08e3b12
      James Lopez authored
      f08e3b12
    • James Lopez's avatar
      fix project import with mirror enabled · 1ffce294
      James Lopez authored
      1ffce294
    • Valery Sizov's avatar
      Merge branch 'ce-upstream' into 'master' · 0f4cf609
      Valery Sizov authored
      CE upstream
      
      
      
      See merge request !415
      0f4cf609
    • Valery Sizov's avatar
    • Valery Sizov's avatar
      Merge branch 'es_search_through_filenames1' into 'master' · 6b522faa
      Valery Sizov authored
      Search through the filenames
      
      
      
      See merge request !409
      6b522faa
    • Valery Sizov's avatar
      Merge branch 'es_update_guide_addition' into 'master' · b84ab91a
      Valery Sizov authored
      Add one more ES note to 8.8 update guide
      
      
      
      See merge request !406
      b84ab91a
    • Robert Speicher's avatar
      Merge branch 'ce/merge-rubocop-changes' into 'master' · dde8875e
      Robert Speicher authored
      Merge Rubocop changes introduced in CE
      
      This MR merges rubocop changes introduced in EE in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4261 and also fixes offenses detected after enabling these cops.
      
      See merge request !414
      dde8875e
    • Grzegorz Bizon's avatar
      47931f8c
    • Robert Speicher's avatar
      Merge branch 'complexity/enable-multiple-rubocop-cops' into 'master' · fb2577cd
      Robert Speicher authored
      Enable multiple Rubocop cops that can be enabled
      
      See https://gitlab.com/gitlab-org/gitlab-ce/issues/17406
      
      This enabled following cops:
      
      ```text
      Lint/CircularArgumentReference:
        Description: Default values in optional keyword arguments and optional ordinal arguments
      ----------------
      Lint/ConditionPosition:
        Description: Checks for condition placed in a confusing position relative to the keyword.
        StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
      ----------------
      Lint/Debugger:
        Description: Check for debugger calls.
      ----------------
      Lint/DefEndAlignment:
        Description: Align ends corresponding to defs correctly.
      ----------------
      Lint/DuplicateMethods:
        Description: Check for duplicate method definitions.
      ----------------
      Lint/DuplicatedKey:
        Description: Check for duplicate keys in hash literals.
      ----------------
      Lint/EachWithObjectArgument:
        Description: Check for immutable argument given to each_with_object.
      ----------------
      Lint/ElseLayout:
        Description: Check for odd code arrangement in an else block.
      ----------------
      Lint/EmptyEnsure:
        Description: Checks for empty ensure block.
      ----------------
      Lint/EmptyInterpolation:
        Description: Checks for empty string interpolation.
      ----------------
      Lint/EndAlignment:
        Description: Align ends correctly.
      ----------------
      Lint/EndInMethod:
        Description: END blocks should not be placed inside method definitions.
      ----------------
      Lint/EnsureReturn:
        Description: Do not use return in an ensure block.
        StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
      ----------------
      Lint/Eval:
        Description: The use of eval represents a serious security risk.
      ----------------
      Lint/FloatOutOfRange:
        Description: Catches floating-point literals too large or small for Ruby to represent.
      ----------------
      Lint/FormatParameterMismatch:
        Description: The number of parameters to format/sprint must match the fields.
      ----------------
      Lint/ImplicitStringConcatenation:
        Description: Checks for adjacent string literals on the same line, which could better
          be represented as a single string literal.
      ----------------
      Lint/InvalidCharacterLiteral:
        Description: Checks for invalid character literals with a non-escaped whitespace character.
      ----------------
      Lint/LiteralInInterpolation:
        Description: Checks for literals used in interpolation.
      ----------------
      Lint/NestedMethodDefinition:
        Description: Do not use nested method definitions.
        StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
      ----------------
      Lint/NextWithoutAccumulator:
        Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject`
          block.
      ----------------
      Lint/RandOne:
        Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely
          a mistake.
      ----------------
      Lint/RequireParentheses:
        Description: Use parentheses in the method call to avoid confusion about precedence.
      ----------------
      Lint/UnreachableCode:
        Description: Unreachable code.
      ----------------
      Lint/UselessComparison:
        Description: Checks for comparison of something with itself.
      ----------------
      Lint/UselessElseWithoutRescue:
        Description: Checks for useless `else` in `begin..end` without `rescue`.
      ----------------
      Lint/UselessSetterCall:
        Description: Checks for useless setter call to a local variable.
      ----------------
      Lint/Void:
        Description: Possible use of operator/literal/variable in void context.
      ----------------
      Performance/DoubleStartEndWith:
        Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x,
          ...) || str.{start,end}_with?(y, ...)`.
      ----------------
      Performance/RedundantSortBy:
        Description: Use `sort` instead of `sort_by { |x| x }`.
      ----------------
      Rails/FindBy:
        Description: Prefer find_by over where.first.
        Include:
        - app/models/**/*.rb
      ----------------
      Rails/FindEach:
        Description: Prefer all.find_each over all.find.
        Include:
        - app/models/**/*.rb
      ----------------
      Rails/PluralizationGrammar:
        Description: Checks for incorrect grammar when using methods like `3.day.ago`.
      ----------------
      Rails/ScopeArgs:
        Description: Checks the arguments of ActiveRecord scopes.
        Include:
        - app/models/**/*.rb
      ```
      
      See merge request !4261
      fb2577cd
  3. 23 May, 2016 8 commits
  4. 22 May, 2016 3 commits
  5. 21 May, 2016 11 commits
    • Yorick Peterse's avatar
    • Yorick Peterse's avatar
      Merge branch 'fix-docker-registry-integration' into 'master' · c433b51d
      Yorick Peterse authored
      Fix docker registry integration
      
      See merge request !4229
      c433b51d
    • Yorick Peterse's avatar
      Removed "unreleased" from 8.8.0 EE · 72eb0030
      Yorick Peterse authored
      72eb0030
    • Yorick Peterse's avatar
    • Yorick Peterse's avatar
      Removed "unreleased" from 8.8.0 · 8a0eeac3
      Yorick Peterse authored
      [ci skip]
      8a0eeac3
    • Gabriel Mazetto's avatar
      Merge branch 'feature/geo-single-signout' into 'master' · 031c003a
      Gabriel Mazetto authored
      Geo: Single Sign Out
      
      Implements Single Sign Out for Geo (#76).
      
      Initial proposal was to generate a hash based on the `access_token`, but that created a O(N) cost against a desirable O(1), as a new `access_token` is generated for each new login. To overcome that cost we would need to send a "public identifier" to help retrieve the correct `access_token` and provide that during login process.
      
      This is also how most Single Sign On implementations works (they provide some sort of session_id, that we notify every node to invalidate, during sign out process).
      
      As I don't want to modify our OAuth table (that is managed by doorkeeper) nor change the way our login process work, the solution is to encrypt the `access_token` using a symmetric key known by both nodes, and expire the `access_token` after the logout to prevent replay attacks (otherwise we would need to send a `nounce` and store that on primary). 
      
      The key is based on `Gitlab::Application.secrets.db_key_base` which we already use to encrypt database attributes and is synced between both nodes. We communicate sending a `state` parameter which is known terminology in OAuth protocol.
      
      Although this is implemented with Geo only in mind, we can backport to CE (with minimal changes) and provide as a "non-standard" way of single sign off for applications that integrate with GitLab.
      
      Fixes #522 
      
      See merge request !380
      031c003a
    • Gabriel Mazetto's avatar
      Merge branch 'feature/geo-single-signout' into 'master' · 97c33da9
      Gabriel Mazetto authored
      Geo: Single Sign Out
      
      Implements Single Sign Out for Geo (#76).
      
      Initial proposal was to generate a hash based on the `access_token`, but that created a O(N) cost against a desirable O(1), as a new `access_token` is generated for each new login. To overcome that cost we would need to send a "public identifier" to help retrieve the correct `access_token` and provide that during login process.
      
      This is also how most Single Sign On implementations works (they provide some sort of session_id, that we notify every node to invalidate, during sign out process).
      
      As I don't want to modify our OAuth table (that is managed by doorkeeper) nor change the way our login process work, the solution is to encrypt the `access_token` using a symmetric key known by both nodes, and expire the `access_token` after the logout to prevent replay attacks (otherwise we would need to send a `nounce` and store that on primary). 
      
      The key is based on `Gitlab::Application.secrets.db_key_base` which we already use to encrypt database attributes and is synced between both nodes. We communicate sending a `state` parameter which is known terminology in OAuth protocol.
      
      Although this is implemented with Geo only in mind, we can backport to CE (with minimal changes) and provide as a "non-standard" way of single sign off for applications that integrate with GitLab.
      
      Fixes #522 
      
      See merge request !380
      97c33da9
    • Gabriel Mazetto's avatar
      Fixed specs · 33d52209
      Gabriel Mazetto authored
      33d52209
    • Yorick Peterse's avatar
    • Douwe Maan's avatar
      Merge branch 'adambutler/gitlab-ce-feature/support-diff-of-issue-title-rename' · d0d3ae0f
      Douwe Maan authored
      # Conflicts:
      #	app/services/system_note_service.rb
      d0d3ae0f
    • Douwe Maan's avatar
      Merge branch 'issue-17537-fix' into 'master' · f2e46514
      Douwe Maan authored
      Fix Error 500 when attempting to retrieve project license when HEAD points to non-existent ref
      
      Closes #17537
      
      See merge request !4151
      f2e46514