summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-05 12:09:31 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-05 12:09:31 +0000
commit64f7eb2b37aebbb713463b2f6971b13191c1b0db (patch)
tree186ce376859dc04055a20d87945556eec63acd68 /lib
parent315243f87739dd1edda2b75361f826abc91d4069 (diff)
downloadgitlab-ce-64f7eb2b37aebbb713463b2f6971b13191c1b0db.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities/merge_request_basic.rb2
-rw-r--r--lib/gitlab/auth/otp/session_enforcer.rb7
-rw-r--r--lib/gitlab/experimentation.rb4
-rw-r--r--lib/gitlab/quick_actions/merge_request_actions.rb4
-rw-r--r--lib/tasks/brakeman.rake2
-rw-r--r--lib/tasks/cache.rake2
-rw-r--r--lib/tasks/ci/cleanup.rake2
-rw-r--r--lib/tasks/cleanup.rake2
-rw-r--r--lib/tasks/config_lint.rake2
-rw-r--r--lib/tasks/db_obsolete_ignored_columns.rake2
-rw-r--r--lib/tasks/dev.rake2
-rw-r--r--lib/tasks/downtime_check.rake2
-rw-r--r--lib/tasks/eslint.rake2
-rw-r--r--lib/tasks/file_hooks.rake2
-rw-r--r--lib/tasks/frontend.rake2
-rw-r--r--lib/tasks/gemojione.rake2
-rw-r--r--lib/tasks/gitlab/artifacts/check.rake2
-rw-r--r--lib/tasks/gitlab/artifacts/migrate.rake2
-rw-r--r--lib/tasks/gitlab/backup.rake2
-rw-r--r--lib/tasks/gitlab/bulk_add_permission.rake2
-rw-r--r--lib/tasks/gitlab/check.rake2
-rw-r--r--lib/tasks/gitlab/container_registry.rake2
-rw-r--r--lib/tasks/gitlab/db.rake2
-rw-r--r--lib/tasks/gitlab/doctor/secrets.rake2
-rw-r--r--lib/tasks/gitlab/exclusive_lease.rake2
-rw-r--r--lib/tasks/gitlab/external_diffs.rake2
-rw-r--r--lib/tasks/gitlab/features.rake2
-rw-r--r--lib/tasks/gitlab/generate_sample_prometheus_data.rake2
-rw-r--r--lib/tasks/gitlab/git.rake2
-rw-r--r--lib/tasks/gitlab/gitaly.rake2
-rw-r--r--lib/tasks/gitlab/helpers.rake2
-rw-r--r--lib/tasks/gitlab/import.rake2
-rw-r--r--lib/tasks/gitlab/import_export.rake2
-rw-r--r--lib/tasks/gitlab/info.rake2
-rw-r--r--lib/tasks/gitlab/ldap.rake2
-rw-r--r--lib/tasks/gitlab/lfs/check.rake2
-rw-r--r--lib/tasks/gitlab/lfs/migrate.rake2
-rw-r--r--lib/tasks/gitlab/list_repos.rake2
-rw-r--r--lib/tasks/gitlab/packages/events.rake2
-rw-r--r--lib/tasks/gitlab/packages/migrate.rake2
-rw-r--r--lib/tasks/gitlab/pages.rake2
-rw-r--r--lib/tasks/gitlab/praefect.rake2
-rw-r--r--lib/tasks/gitlab/seed.rake2
-rw-r--r--lib/tasks/gitlab/setup.rake2
-rw-r--r--lib/tasks/gitlab/shell.rake2
-rw-r--r--lib/tasks/gitlab/storage.rake2
-rw-r--r--lib/tasks/gitlab/tcp_check.rake2
-rw-r--r--lib/tasks/gitlab/test.rake2
-rw-r--r--lib/tasks/gitlab/two_factor.rake2
-rw-r--r--lib/tasks/gitlab/update_templates.rake2
-rw-r--r--lib/tasks/gitlab/uploads/check.rake2
-rw-r--r--lib/tasks/gitlab/uploads/migrate.rake2
-rw-r--r--lib/tasks/gitlab/uploads/sanitize.rake2
-rw-r--r--lib/tasks/gitlab/usage_data.rake2
-rw-r--r--lib/tasks/gitlab/user_management.rake2
-rw-r--r--lib/tasks/gitlab/web_hook.rake2
-rw-r--r--lib/tasks/gitlab/workhorse.rake2
-rw-r--r--lib/tasks/gitlab/x509/update.rake2
-rw-r--r--lib/tasks/gitlab_danger.rake2
-rw-r--r--lib/tasks/grape.rake2
-rw-r--r--lib/tasks/haml-lint.rake2
-rw-r--r--lib/tasks/import.rake2
-rw-r--r--lib/tasks/karma.rake2
-rw-r--r--lib/tasks/lint.rake2
-rw-r--r--lib/tasks/migrate/composite_primary_keys.rake2
-rw-r--r--lib/tasks/migrate/migrate_iids.rake2
-rw-r--r--lib/tasks/migrate/setup_postgresql.rake2
-rw-r--r--lib/tasks/pngquant.rake2
-rw-r--r--lib/tasks/rubocop.rake2
-rw-r--r--lib/tasks/scss-lint.rake2
-rw-r--r--lib/tasks/setup.rake2
-rw-r--r--lib/tasks/test.rake2
-rw-r--r--lib/tasks/tokens.rake2
-rw-r--r--lib/uploaded_file.rb10
74 files changed, 155 insertions, 10 deletions
diff --git a/lib/api/entities/merge_request_basic.rb b/lib/api/entities/merge_request_basic.rb
index 7f1b5b87725..88c84c494e2 100644
--- a/lib/api/entities/merge_request_basic.rb
+++ b/lib/api/entities/merge_request_basic.rb
@@ -27,7 +27,7 @@ module API
expose(:downvotes) { |merge_request, options| issuable_metadata.downvotes }
expose :author, :assignees, :assignee, using: Entities::UserBasic
- expose :reviewers, if: -> (merge_request, _) { merge_request.allows_reviewers? }, using: Entities::UserBasic
+ expose :reviewers, using: Entities::UserBasic
expose :source_project_id, :target_project_id
expose :labels do |merge_request, options|
if options[:with_labels_details]
diff --git a/lib/gitlab/auth/otp/session_enforcer.rb b/lib/gitlab/auth/otp/session_enforcer.rb
index 8cc280756cc..6488fa0f945 100644
--- a/lib/gitlab/auth/otp/session_enforcer.rb
+++ b/lib/gitlab/auth/otp/session_enforcer.rb
@@ -5,7 +5,6 @@ module Gitlab
module Otp
class SessionEnforcer
OTP_SESSIONS_NAMESPACE = 'session:otp'
- DEFAULT_EXPIRATION = 15.minutes.to_i
def initialize(key)
@key = key
@@ -13,7 +12,7 @@ module Gitlab
def update_session
Gitlab::Redis::SharedState.with do |redis|
- redis.setex(key_name, DEFAULT_EXPIRATION, true)
+ redis.setex(key_name, session_expiry_in_seconds, true)
end
end
@@ -30,6 +29,10 @@ module Gitlab
def key_name
@key_name ||= "#{OTP_SESSIONS_NAMESPACE}:#{key.id}"
end
+
+ def session_expiry_in_seconds
+ Gitlab::CurrentSettings.git_two_factor_session_expiry.minutes.to_i
+ end
end
end
end
diff --git a/lib/gitlab/experimentation.rb b/lib/gitlab/experimentation.rb
index 3cb4798a940..6e401e5d6c8 100644
--- a/lib/gitlab/experimentation.rb
+++ b/lib/gitlab/experimentation.rb
@@ -92,10 +92,6 @@ module Gitlab
tracking_category: 'Growth::Activation::Experiment::CiSyntaxTemplates',
rollout_strategy: :user
},
- pipelines_empty_state: {
- tracking_category: 'Growth::Activation::Experiment::PipelinesEmptyState',
- rollout_strategy: :user
- },
invite_members_new_dropdown: {
tracking_category: 'Growth::Expansion::Experiment::InviteMembersNewDropdown'
},
diff --git a/lib/gitlab/quick_actions/merge_request_actions.rb b/lib/gitlab/quick_actions/merge_request_actions.rb
index 90745dde0af..6a404c34044 100644
--- a/lib/gitlab/quick_actions/merge_request_actions.rb
+++ b/lib/gitlab/quick_actions/merge_request_actions.rb
@@ -181,8 +181,7 @@ module Gitlab
end
types MergeRequest
condition do
- Feature.enabled?(:merge_request_reviewers, project, default_enabled: :yaml) &&
- current_user.can?(:"admin_#{quick_action_target.to_ability_name}", project)
+ current_user.can?(:"admin_#{quick_action_target.to_ability_name}", project)
end
parse_params do |reviewer_param|
extract_users(reviewer_param)
@@ -221,7 +220,6 @@ module Gitlab
types MergeRequest
condition do
quick_action_target.persisted? &&
- Feature.enabled?(:merge_request_reviewers, project, default_enabled: :yaml) &&
quick_action_target.reviewers.any? &&
current_user.can?(:"admin_#{quick_action_target.to_ability_name}", project)
end
diff --git a/lib/tasks/brakeman.rake b/lib/tasks/brakeman.rake
index 2301ec9b228..44d2071751f 100644
--- a/lib/tasks/brakeman.rake
+++ b/lib/tasks/brakeman.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc 'Security check via brakeman'
task :brakeman do
# We get 0 warnings at level 'w3' but we would like to reach 'w2'. Merge
diff --git a/lib/tasks/cache.rake b/lib/tasks/cache.rake
index 6af91d473a6..4d698e56444 100644
--- a/lib/tasks/cache.rake
+++ b/lib/tasks/cache.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :cache do
namespace :clear do
REDIS_CLEAR_BATCH_SIZE = 1000 # There seems to be no speedup when pushing beyond 1,000
diff --git a/lib/tasks/ci/cleanup.rake b/lib/tasks/ci/cleanup.rake
index 978a42be638..31c3928e797 100644
--- a/lib/tasks/ci/cleanup.rake
+++ b/lib/tasks/ci/cleanup.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :ci do
namespace :cleanup do
desc "GitLab | CI | Clean running builds"
diff --git a/lib/tasks/cleanup.rake b/lib/tasks/cleanup.rake
index 8574f26dbdc..c13da77217e 100644
--- a/lib/tasks/cleanup.rake
+++ b/lib/tasks/cleanup.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :cleanup do
desc "GitLab | Cleanup | Delete moved repositories"
diff --git a/lib/tasks/config_lint.rake b/lib/tasks/config_lint.rake
index ddbcf1e1eb8..9bbefaa2d3a 100644
--- a/lib/tasks/config_lint.rake
+++ b/lib/tasks/config_lint.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module ConfigLint
def self.run(files)
failures = files.reject do |file|
diff --git a/lib/tasks/db_obsolete_ignored_columns.rake b/lib/tasks/db_obsolete_ignored_columns.rake
index 00f60231f4f..cf35a355ce9 100644
--- a/lib/tasks/db_obsolete_ignored_columns.rake
+++ b/lib/tasks/db_obsolete_ignored_columns.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc 'Show a list of obsolete `ignored_columns`'
task 'db:obsolete_ignored_columns' => :environment do
list = Gitlab::Database::ObsoleteIgnoredColumns.new.execute
diff --git a/lib/tasks/dev.rake b/lib/tasks/dev.rake
index b3ba2434855..cb01f229cd3 100644
--- a/lib/tasks/dev.rake
+++ b/lib/tasks/dev.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
task dev: ["dev:setup"]
namespace :dev do
diff --git a/lib/tasks/downtime_check.rake b/lib/tasks/downtime_check.rake
index ce97ed50fc7..3428e3f8f53 100644
--- a/lib/tasks/downtime_check.rake
+++ b/lib/tasks/downtime_check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc 'Checks if migrations in a branch require downtime'
task downtime_check: :environment do
repo = if defined?(Gitlab::License)
diff --git a/lib/tasks/eslint.rake b/lib/tasks/eslint.rake
index 51f5d768102..ad63de66c81 100644
--- a/lib/tasks/eslint.rake
+++ b/lib/tasks/eslint.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
desc "GitLab | Run ESLint"
task eslint: ['yarn:check'] do
diff --git a/lib/tasks/file_hooks.rake b/lib/tasks/file_hooks.rake
index f767d63fe0d..a892d36b48e 100644
--- a/lib/tasks/file_hooks.rake
+++ b/lib/tasks/file_hooks.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :file_hooks do
desc 'Validate existing file hooks'
task validate: :environment do
diff --git a/lib/tasks/frontend.rake b/lib/tasks/frontend.rake
index 176693031d3..b2d2c4e3f2b 100644
--- a/lib/tasks/frontend.rake
+++ b/lib/tasks/frontend.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
namespace :frontend do
desc 'GitLab | Frontend | Generate fixtures for JavaScript tests'
diff --git a/lib/tasks/gemojione.rake b/lib/tasks/gemojione.rake
index 85393bba9a6..a4600a0ed16 100644
--- a/lib/tasks/gemojione.rake
+++ b/lib/tasks/gemojione.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gemojione do
desc 'Generates Emoji SHA256 digests'
diff --git a/lib/tasks/gitlab/artifacts/check.rake b/lib/tasks/gitlab/artifacts/check.rake
index a105261ed51..057bb17dbda 100644
--- a/lib/tasks/gitlab/artifacts/check.rake
+++ b/lib/tasks/gitlab/artifacts/check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :artifacts do
desc 'GitLab | Artifacts | Check integrity of uploaded job artifacts'
diff --git a/lib/tasks/gitlab/artifacts/migrate.rake b/lib/tasks/gitlab/artifacts/migrate.rake
index 871fdfb4fde..94867e1a16a 100644
--- a/lib/tasks/gitlab/artifacts/migrate.rake
+++ b/lib/tasks/gitlab/artifacts/migrate.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
require 'resolv-replace'
diff --git a/lib/tasks/gitlab/backup.rake b/lib/tasks/gitlab/backup.rake
index de2dfca8c1b..c53ef8382b8 100644
--- a/lib/tasks/gitlab/backup.rake
+++ b/lib/tasks/gitlab/backup.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'active_record/fixtures'
namespace :gitlab do
diff --git a/lib/tasks/gitlab/bulk_add_permission.rake b/lib/tasks/gitlab/bulk_add_permission.rake
index 56cbbae1f67..df0c6a260a2 100644
--- a/lib/tasks/gitlab/bulk_add_permission.rake
+++ b/lib/tasks/gitlab/bulk_add_permission.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :import do
desc "GitLab | Import | Add all users to all projects (admin users are added as maintainers)"
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index 9e60a585330..d4e38100609 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc 'GitLab | Check the configuration of GitLab and its environment'
task check: :gitlab_environment do
diff --git a/lib/tasks/gitlab/container_registry.rake b/lib/tasks/gitlab/container_registry.rake
index cd18c873a5a..086f99971bc 100644
--- a/lib/tasks/gitlab/container_registry.rake
+++ b/lib/tasks/gitlab/container_registry.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :container_registry do
desc "GitLab | Container Registry | Configure"
diff --git a/lib/tasks/gitlab/db.rake b/lib/tasks/gitlab/db.rake
index 901e349ea31..bf0eb6785df 100644
--- a/lib/tasks/gitlab/db.rake
+++ b/lib/tasks/gitlab/db.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :db do
desc 'GitLab | DB | Manually insert schema migration version'
diff --git a/lib/tasks/gitlab/doctor/secrets.rake b/lib/tasks/gitlab/doctor/secrets.rake
index 3fdef9dfc80..6e3f474312c 100644
--- a/lib/tasks/gitlab/doctor/secrets.rake
+++ b/lib/tasks/gitlab/doctor/secrets.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :doctor do
desc "GitLab | Check if the database encrypted values can be decrypted using current secrets"
diff --git a/lib/tasks/gitlab/exclusive_lease.rake b/lib/tasks/gitlab/exclusive_lease.rake
index 63b06d5251a..bee9782f373 100644
--- a/lib/tasks/gitlab/exclusive_lease.rake
+++ b/lib/tasks/gitlab/exclusive_lease.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :exclusive_lease do
desc 'GitLab | Exclusive Lease | Clear existing exclusive leases for specified scope (default: *)'
diff --git a/lib/tasks/gitlab/external_diffs.rake b/lib/tasks/gitlab/external_diffs.rake
index 08f25914007..7a5fa07aed1 100644
--- a/lib/tasks/gitlab/external_diffs.rake
+++ b/lib/tasks/gitlab/external_diffs.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :external_diffs do
desc "Override external diffs in file storage to be in object storage instead. This does not change the actual location of the data"
diff --git a/lib/tasks/gitlab/features.rake b/lib/tasks/gitlab/features.rake
index 2309aa5d214..e44328e0de1 100644
--- a/lib/tasks/gitlab/features.rake
+++ b/lib/tasks/gitlab/features.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :features do
desc 'GitLab | Features | Enable direct Git access via Rugged for NFS'
diff --git a/lib/tasks/gitlab/generate_sample_prometheus_data.rake b/lib/tasks/gitlab/generate_sample_prometheus_data.rake
index 250eaaa5568..4cd75af9d00 100644
--- a/lib/tasks/gitlab/generate_sample_prometheus_data.rake
+++ b/lib/tasks/gitlab/generate_sample_prometheus_data.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc "GitLab | Generate Sample Prometheus Data"
task :generate_sample_prometheus_data, [:environment_id] => :gitlab_environment do |_, args|
diff --git a/lib/tasks/gitlab/git.rake b/lib/tasks/gitlab/git.rake
index abb15f29328..9c5549b4a54 100644
--- a/lib/tasks/gitlab/git.rake
+++ b/lib/tasks/gitlab/git.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :git do
desc 'GitLab | Git | Check all repos integrity'
diff --git a/lib/tasks/gitlab/gitaly.rake b/lib/tasks/gitlab/gitaly.rake
index 49d2d3d62a2..9e474b00ba7 100644
--- a/lib/tasks/gitlab/gitaly.rake
+++ b/lib/tasks/gitlab/gitaly.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :gitaly do
desc 'GitLab | Gitaly | Install or upgrade gitaly'
diff --git a/lib/tasks/gitlab/helpers.rake b/lib/tasks/gitlab/helpers.rake
index 14d1125a03d..b61b1833c5a 100644
--- a/lib/tasks/gitlab/helpers.rake
+++ b/lib/tasks/gitlab/helpers.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Prevent StateMachine warnings from outputting during a cron task
StateMachines::Machine.ignore_method_conflicts = true if ENV['CRON']
diff --git a/lib/tasks/gitlab/import.rake b/lib/tasks/gitlab/import.rake
index 701d40b7929..bf0ba40fb31 100644
--- a/lib/tasks/gitlab/import.rake
+++ b/lib/tasks/gitlab/import.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :import do
# How to use:
diff --git a/lib/tasks/gitlab/import_export.rake b/lib/tasks/gitlab/import_export.rake
index adf696350d7..72598cdf863 100644
--- a/lib/tasks/gitlab/import_export.rake
+++ b/lib/tasks/gitlab/import_export.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :import_export do
desc 'GitLab | Import/Export | Show Import/Export version'
diff --git a/lib/tasks/gitlab/info.rake b/lib/tasks/gitlab/info.rake
index d85c8fc7949..2826002bdc2 100644
--- a/lib/tasks/gitlab/info.rake
+++ b/lib/tasks/gitlab/info.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :env do
desc 'GitLab | Env | Show information about GitLab and its environment'
diff --git a/lib/tasks/gitlab/ldap.rake b/lib/tasks/gitlab/ldap.rake
index fe7920c621f..3b2834c0008 100644
--- a/lib/tasks/gitlab/ldap.rake
+++ b/lib/tasks/gitlab/ldap.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :ldap do
desc 'GitLab | LDAP | Rename provider'
diff --git a/lib/tasks/gitlab/lfs/check.rake b/lib/tasks/gitlab/lfs/check.rake
index 869463d4e5d..582b87337ae 100644
--- a/lib/tasks/gitlab/lfs/check.rake
+++ b/lib/tasks/gitlab/lfs/check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :lfs do
desc 'GitLab | LFS | Check integrity of uploaded LFS objects'
diff --git a/lib/tasks/gitlab/lfs/migrate.rake b/lib/tasks/gitlab/lfs/migrate.rake
index 3d4c847a0f0..05249a126bc 100644
--- a/lib/tasks/gitlab/lfs/migrate.rake
+++ b/lib/tasks/gitlab/lfs/migrate.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
desc "GitLab | LFS | Migrate LFS objects to remote storage"
diff --git a/lib/tasks/gitlab/list_repos.rake b/lib/tasks/gitlab/list_repos.rake
index b854c34a8e5..56ec94d2aef 100644
--- a/lib/tasks/gitlab/list_repos.rake
+++ b/lib/tasks/gitlab/list_repos.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
task list_repos: :environment do
scope = Project
diff --git a/lib/tasks/gitlab/packages/events.rake b/lib/tasks/gitlab/packages/events.rake
index cfe97984dda..4bf4ce430f1 100644
--- a/lib/tasks/gitlab/packages/events.rake
+++ b/lib/tasks/gitlab/packages/events.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
desc "GitLab | Packages | Events | Generate hll counter events file for packages"
diff --git a/lib/tasks/gitlab/packages/migrate.rake b/lib/tasks/gitlab/packages/migrate.rake
index cd6dcf78da3..20a8c51db66 100644
--- a/lib/tasks/gitlab/packages/migrate.rake
+++ b/lib/tasks/gitlab/packages/migrate.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
desc "GitLab | Packages | Migrate packages files to remote storage"
diff --git a/lib/tasks/gitlab/pages.rake b/lib/tasks/gitlab/pages.rake
index 59c57a66928..80550317dba 100644
--- a/lib/tasks/gitlab/pages.rake
+++ b/lib/tasks/gitlab/pages.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
namespace :gitlab do
diff --git a/lib/tasks/gitlab/praefect.rake b/lib/tasks/gitlab/praefect.rake
index a9b126ae379..346df3e0c75 100644
--- a/lib/tasks/gitlab/praefect.rake
+++ b/lib/tasks/gitlab/praefect.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :praefect do
def int?(string)
diff --git a/lib/tasks/gitlab/seed.rake b/lib/tasks/gitlab/seed.rake
index d758280ba69..36761165af5 100644
--- a/lib/tasks/gitlab/seed.rake
+++ b/lib/tasks/gitlab/seed.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :seed do
desc "GitLab | Seed | Seeds issues"
diff --git a/lib/tasks/gitlab/setup.rake b/lib/tasks/gitlab/setup.rake
index 50774de77c9..31bd80e78d4 100644
--- a/lib/tasks/gitlab/setup.rake
+++ b/lib/tasks/gitlab/setup.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc "GitLab | Setup production application"
task setup: :gitlab_environment do
diff --git a/lib/tasks/gitlab/shell.rake b/lib/tasks/gitlab/shell.rake
index edbaec85bd9..b3abc48f8e0 100644
--- a/lib/tasks/gitlab/shell.rake
+++ b/lib/tasks/gitlab/shell.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :shell do
desc "GitLab | Shell | Install or upgrade gitlab-shell"
diff --git a/lib/tasks/gitlab/storage.rake b/lib/tasks/gitlab/storage.rake
index f7819fd974b..ede6b6af80b 100644
--- a/lib/tasks/gitlab/storage.rake
+++ b/lib/tasks/gitlab/storage.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :storage do
desc 'GitLab | Storage | Migrate existing projects to Hashed Storage'
diff --git a/lib/tasks/gitlab/tcp_check.rake b/lib/tasks/gitlab/tcp_check.rake
index 1400f57d6b9..4790d86832d 100644
--- a/lib/tasks/gitlab/tcp_check.rake
+++ b/lib/tasks/gitlab/tcp_check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc "GitLab | Check TCP connectivity to a specific host and port"
task :tcp_check, [:host, :port] => :environment do |_t, args|
diff --git a/lib/tasks/gitlab/test.rake b/lib/tasks/gitlab/test.rake
index 2222807fe13..a83ba69bc75 100644
--- a/lib/tasks/gitlab/test.rake
+++ b/lib/tasks/gitlab/test.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc "GitLab | Run all tests"
task :test do
diff --git a/lib/tasks/gitlab/two_factor.rake b/lib/tasks/gitlab/two_factor.rake
index 6a9e87e1541..9d10976fbce 100644
--- a/lib/tasks/gitlab/two_factor.rake
+++ b/lib/tasks/gitlab/two_factor.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :two_factor do
desc "GitLab | 2FA | Disable Two-factor authentication (2FA) for all users"
diff --git a/lib/tasks/gitlab/update_templates.rake b/lib/tasks/gitlab/update_templates.rake
index fdcd34320b1..e3a4e7f50b8 100644
--- a/lib/tasks/gitlab/update_templates.rake
+++ b/lib/tasks/gitlab/update_templates.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
desc "GitLab | Update templates"
task :update_templates do
diff --git a/lib/tasks/gitlab/uploads/check.rake b/lib/tasks/gitlab/uploads/check.rake
index 2be2ec7f9c9..8ccc84d15f4 100644
--- a/lib/tasks/gitlab/uploads/check.rake
+++ b/lib/tasks/gitlab/uploads/check.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :uploads do
desc 'GitLab | Uploads | Check integrity of uploaded files'
diff --git a/lib/tasks/gitlab/uploads/migrate.rake b/lib/tasks/gitlab/uploads/migrate.rake
index 879b07da1df..6052ff90341 100644
--- a/lib/tasks/gitlab/uploads/migrate.rake
+++ b/lib/tasks/gitlab/uploads/migrate.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :uploads do
namespace :migrate do
diff --git a/lib/tasks/gitlab/uploads/sanitize.rake b/lib/tasks/gitlab/uploads/sanitize.rake
index 4f23a0a5d82..eec423cbb8b 100644
--- a/lib/tasks/gitlab/uploads/sanitize.rake
+++ b/lib/tasks/gitlab/uploads/sanitize.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :uploads do
namespace :sanitize do
diff --git a/lib/tasks/gitlab/usage_data.rake b/lib/tasks/gitlab/usage_data.rake
index 0e729fa8833..95072444fcf 100644
--- a/lib/tasks/gitlab/usage_data.rake
+++ b/lib/tasks/gitlab/usage_data.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :usage_data do
desc 'GitLab | UsageData | Generate raw SQLs for usage ping in YAML'
diff --git a/lib/tasks/gitlab/user_management.rake b/lib/tasks/gitlab/user_management.rake
index f47e549e795..29f2360f64a 100644
--- a/lib/tasks/gitlab/user_management.rake
+++ b/lib/tasks/gitlab/user_management.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :user_management do
desc "GitLab | User management | Update all users of a group with personal project limit to 0 and can_create_group to false"
diff --git a/lib/tasks/gitlab/web_hook.rake b/lib/tasks/gitlab/web_hook.rake
index b242329d720..091743485c9 100644
--- a/lib/tasks/gitlab/web_hook.rake
+++ b/lib/tasks/gitlab/web_hook.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :web_hook do
desc "GitLab | Webhook | Adds a webhook to the projects"
diff --git a/lib/tasks/gitlab/workhorse.rake b/lib/tasks/gitlab/workhorse.rake
index 2d72a01f66f..0d9f8efa64f 100644
--- a/lib/tasks/gitlab/workhorse.rake
+++ b/lib/tasks/gitlab/workhorse.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :workhorse do
desc "GitLab | Workhorse | Install or upgrade gitlab-workhorse"
diff --git a/lib/tasks/gitlab/x509/update.rake b/lib/tasks/gitlab/x509/update.rake
index eaba9196acf..de878a3d093 100644
--- a/lib/tasks/gitlab/x509/update.rake
+++ b/lib/tasks/gitlab/x509/update.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
desc "GitLab | X509 | Update signatures when certificate store has changed"
diff --git a/lib/tasks/gitlab_danger.rake b/lib/tasks/gitlab_danger.rake
index deff6484231..5df4a8ce4f1 100644
--- a/lib/tasks/gitlab_danger.rake
+++ b/lib/tasks/gitlab_danger.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc 'Run local Danger rules'
task :danger_local do
require_relative '../../tooling/gitlab_danger'
diff --git a/lib/tasks/grape.rake b/lib/tasks/grape.rake
index ea2698da606..c72403a375a 100644
--- a/lib/tasks/grape.rake
+++ b/lib/tasks/grape.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :grape do
desc 'Print compiled grape routes'
task routes: :environment do
diff --git a/lib/tasks/haml-lint.rake b/lib/tasks/haml-lint.rake
index 305e15d69d5..270793359e1 100644
--- a/lib/tasks/haml-lint.rake
+++ b/lib/tasks/haml-lint.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
require 'haml_lint/rake_task'
require Rails.root.join('haml_lint/inline_javascript')
diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake
index 500891df43d..633beb132d8 100644
--- a/lib/tasks/import.rake
+++ b/lib/tasks/import.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'benchmark'
require 'rainbow/ext/string'
diff --git a/lib/tasks/karma.rake b/lib/tasks/karma.rake
index 36590010406..fa3f8805159 100644
--- a/lib/tasks/karma.rake
+++ b/lib/tasks/karma.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
namespace :karma do
# alias exists for legacy reasons
diff --git a/lib/tasks/lint.rake b/lib/tasks/lint.rake
index 7a4d09bb6d4..5d60bc41f21 100644
--- a/lib/tasks/lint.rake
+++ b/lib/tasks/lint.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
namespace :lint do
task :static_verification_env do
diff --git a/lib/tasks/migrate/composite_primary_keys.rake b/lib/tasks/migrate/composite_primary_keys.rake
index 732dedf4d4f..68f7c4d6c4a 100644
--- a/lib/tasks/migrate/composite_primary_keys.rake
+++ b/lib/tasks/migrate/composite_primary_keys.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :gitlab do
namespace :db do
desc 'GitLab | DB | Adds primary keys to tables that only have composite unique keys'
diff --git a/lib/tasks/migrate/migrate_iids.rake b/lib/tasks/migrate/migrate_iids.rake
index cb7c496c31c..e0666a87656 100644
--- a/lib/tasks/migrate/migrate_iids.rake
+++ b/lib/tasks/migrate/migrate_iids.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc "GitLab | Build internal ids for issues and merge requests"
task migrate_iids: :environment do
puts 'Issues'.color(:yellow)
diff --git a/lib/tasks/migrate/setup_postgresql.rake b/lib/tasks/migrate/setup_postgresql.rake
index 4c8f13b63a4..27dd9e842ff 100644
--- a/lib/tasks/migrate/setup_postgresql.rake
+++ b/lib/tasks/migrate/setup_postgresql.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc 'GitLab | Generate PostgreSQL Password Hash'
task :postgresql_md5_hash do
require 'digest'
diff --git a/lib/tasks/pngquant.rake b/lib/tasks/pngquant.rake
index 63bc1c7c16e..45c0288cadf 100644
--- a/lib/tasks/pngquant.rake
+++ b/lib/tasks/pngquant.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
return if Rails.env.production?
require 'png_quantizator'
diff --git a/lib/tasks/rubocop.rake b/lib/tasks/rubocop.rake
index 78ffccc9d06..f5d16835347 100644
--- a/lib/tasks/rubocop.rake
+++ b/lib/tasks/rubocop.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
require 'rubocop/rake_task'
diff --git a/lib/tasks/scss-lint.rake b/lib/tasks/scss-lint.rake
index 250fd8699e4..8a4809f80fd 100644
--- a/lib/tasks/scss-lint.rake
+++ b/lib/tasks/scss-lint.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.production?
require 'scss_lint/rake_task'
diff --git a/lib/tasks/setup.rake b/lib/tasks/setup.rake
index 4c79ffbfa6b..bae22f9a590 100644
--- a/lib/tasks/setup.rake
+++ b/lib/tasks/setup.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
desc "GitLab | Setup gitlab db"
task :setup do
Rake::Task["gitlab:setup"].invoke
diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake
index b52af81fc16..b24817468c6 100644
--- a/lib/tasks/test.rake
+++ b/lib/tasks/test.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rake::Task["test"].clear
desc "GitLab | Run all tests"
diff --git a/lib/tasks/tokens.rake b/lib/tasks/tokens.rake
index 46635cd7c8f..b0ff2cce482 100644
--- a/lib/tasks/tokens.rake
+++ b/lib/tasks/tokens.rake
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require_relative '../../app/models/concerns/token_authenticatable.rb'
require_relative '../../app/models/concerns/token_authenticatable_strategies/base.rb'
require_relative '../../app/models/concerns/token_authenticatable_strategies/insecure.rb'
diff --git a/lib/uploaded_file.rb b/lib/uploaded_file.rb
index 79920968603..a8935ec542e 100644
--- a/lib/uploaded_file.rb
+++ b/lib/uploaded_file.rb
@@ -78,9 +78,15 @@ class UploadedFile
def sanitize_filename(name)
name = name.tr("\\", "/") # work-around for IE
name = ::File.basename(name)
+
+ pre_sanitized_name = name
+
name = name.gsub(CarrierWave::SanitizedFile.sanitize_regexp, "_")
name = "_#{name}" if name =~ /\A\.+\z/
name = "unnamed" if name.empty?
+
+ @filename_sanitized = name != pre_sanitized_name
+
name.mb_chars.to_s
end
@@ -92,6 +98,10 @@ class UploadedFile
@tempfile&.close
end
+ def filename_sanitized?
+ @filename_sanitized
+ end
+
alias_method :local_path, :path
def method_missing(method_name, *args, &block) #:nodoc: