Skip to content
Snippets Groups Projects
  1. Mar 16, 2020
  2. Aug 22, 2019
  3. Jan 05, 2019
    • Stan Hu's avatar
      Fix multipart attachments not uploading · 7d28e39f
      Stan Hu authored
      Mixing and matching the use of Rack::Request and ActionDispatch::Request
      in Rails 5 is bad, particularly if you have middleware that
      manipulates or accesses environment variables.
      
      `Gitlab::Middleware::Multipart` attempts to rewrite request parameters
      to the proper values (e.g. replacing `data_file` with
      `UploadedFile`). It does this by calling `Rack::Request#update_params`,
      which essentially updates `env['rack.request.form_hash']`.
      
      By changing to `ActionDispatch::Request`, the Go middleware was causing
      the request parameters to be stored inside
      `env['action_dispatch.request.request_parameters']`. Later calls to
      `Rack::Request#update_params` would not have any effect because it would
      attempt to update `env['rack.request.form_has']` instead of
      `env['action_dispatch.request.request_parameters']`. As a result, the
      controller still saw the old parameters.
      
      Since the Go middleware appears to be using `ActionDispatch::Request`
      for authorization methods, we can switch the multipart middleware to
      use it too.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/9035
      7d28e39f
  4. Aug 21, 2018
    • Jan Provaznik's avatar
      Add public/uploads/tmp to allowed upload paths · 4ca9f3b4
      Jan Provaznik authored
      When direct_upload is enabled and a for file is being uploaded,
      then workhorse uses `public/uploads/tmp` path. If `uploads.storage_path`
      i sset to a different directory, then upload fails because
      `public/uploads/tmp` is not in allowed paths.
      4ca9f3b4
  5. Jul 09, 2018
  6. Jun 27, 2018
  7. Feb 12, 2018
    • Alessio Caiazza's avatar
      Honour workhorse provided file name · 34c2a59c
      Alessio Caiazza authored
      In the attempt to unify file uploading at workhorse level gitlab-org/gitlab-workhorse!230
      we moved to a prefix-based tempfile creation in order to avoid upload collisions.
      
      Artifacts and LFS uploads already set original_filename to workhorse provided filename
      
      This commit add the same feature to `Gitlab::Middleware::Multipart`
      Unverified
      34c2a59c
  8. Dec 21, 2016
  9. Dec 16, 2016
    • Sean McGivern's avatar
      Fix specs in Ruby 2.1 · 8feba017
      Sean McGivern authored
      Ruby 2.1 requires a basename argument to `Tempfile.open`, so just call
      it something that makes sense in context for the spec.
      8feba017
  10. Dec 15, 2016
Loading