Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • G gitlab-ce
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • nexedinexedi
  • gitlab-ce
  • Repository
  • gitlab-ce
  • spec
  • controllers
  • admin
  • users_controller_spec.rb
Find file BlameHistoryPermalink
  • Stan Hu's avatar
    Reintroduce Rack v2.1.4 · 2adfb1a1
    Stan Hu authored Oct 15, 2020
    This is needed to address a few outstanding CVEs and fix cookie
    timestamp formats.
    
    Full list of changes:
    https://github.com/rack/rack/compare/2.0.9..2.1.4
    
    Relates to:
    * https://gitlab.com/gitlab-org/gitlab/-/issues/36362
    * https://gitlab.com/gitlab-org/gitlab/-/issues/228622
    
    Rack v2.1.x no longer coerces the body to a string. The Rack spec
    (https://github.com/rack/rack/blob/master/SPEC.rdoc#the-body-) says:
    
    The Body must respond to `each` and must only yield String values
    
    Previously in a few places the Grape API was returning the status code
    as an integer, which Grape used as the response body. To preserve the
    legacy behavior, we explicitly set the body to the stringified integer.
    
    In https://gitlab.com/gitlab-org/gitlab/-/issues/267598, we saw Maven
    packages report 500 errors because a `nil` body was being returned. This
    has been fixed in
    https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45271.
    
    Because it's easy to mistakenly return the wrong type in the Grape body,
    this commit also adds a new Grape middleware that will automatically
    coerce values to strings but raise an exception in development and test.
    
    This reverts https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45246
    and brings back
    https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44518.
    2adfb1a1
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7