Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/search/abuse_detection.rb')
-rw-r--r--lib/gitlab/search/abuse_detection.rb32
1 files changed, 3 insertions, 29 deletions
diff --git a/lib/gitlab/search/abuse_detection.rb b/lib/gitlab/search/abuse_detection.rb
index 1fd7c6cfe8d..1e4169f3fd7 100644
--- a/lib/gitlab/search/abuse_detection.rb
+++ b/lib/gitlab/search/abuse_detection.rb
@@ -6,7 +6,6 @@ module Gitlab
include ActiveModel::Validations
include AbuseValidators
- MAX_PIPE_SYNTAX_FILTERS = 5
ABUSIVE_TERM_SIZE = 100
ALLOWED_CHARS_REGEX = %r{\A[[:alnum:]_\-\/\.!]+\z}
@@ -58,18 +57,10 @@ module Gitlab
validates :query_string, :repository_ref, :project_ref, no_abusive_coercion_from_string: true
- validate :no_abusive_pipes, if: :detect_abusive_pipes
-
attr_reader(*READABLE_PARAMS)
- attr_reader :raw_params, :detect_abusive_pipes
-
- def initialize(params, detect_abusive_pipes: true)
- @raw_params = {}
- READABLE_PARAMS.each do |p|
- instance_variable_set("@#{p}", params[p])
- @raw_params[p] = params[p]
- end
- @detect_abusive_pipes = detect_abusive_pipes
+
+ def initialize(params)
+ READABLE_PARAMS.each { |p| instance_variable_set("@#{p}", params[p]) }
end
private
@@ -85,23 +76,6 @@ module Gitlab
def stop_word_search?
STOP_WORDS.include? query_string
end
-
- def no_abusive_pipes
- pipes = query_string.to_s.split('|')
- errors.add(:query_string, 'too many pipe syntax filters') if pipes.length > MAX_PIPE_SYNTAX_FILTERS
-
- pipes.each do |q|
- self.class.new(raw_params.merge(query_string: q), detect_abusive_pipes: false).tap do |p|
- p.validate
-
- p.errors.messages_for(:query_string).each do |msg|
- next if errors.added?(:query_string, msg)
-
- errors.add(:query_string, msg)
- end
- end
- end
- end
end
end
end