Класс: RuboCop::Cop::FormulaAudit::ZeroZeroZeroZero Приватный
- Наследует:
- RuboCop::Cop::FormulaCop
- Object
- Base
- RuboCop::Cop::FormulaCop
- RuboCop::Cop::FormulaAudit::ZeroZeroZeroZero
- Определён в:
- rubocops/zero_zero_zero_zero.rb
Обзор
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Этот cop проверяет использование 0.0.0.0 в формулах. 0.0.0.0 не следует использовать вне блоков тестирования do, так как это может представлять угрозу безопасности.
Краткое описание атрибутов экземпляра
Атрибуты, унаследованные от RuboCop::Cop::FormulaCop
Краткое описание методов экземпляра свернуть
- #audit_formula(formula_nodes) ⇒ void приватный
Методы, унаследованные от RuboCop::Cop::FormulaCop
#audit_comments, #audit_urls, #caveats_strings, #dependency_name_hash_match?, #dependency_type_hash_match?, #depends_on?, #depends_on_name_type?, #formula_tap, #get_checksum_node, #on_class, #required_dependency?, #required_dependency_name?, #style_exceptions_dir, #tap_style_exception?, #versioned_formula?
Методы, включённые из HelperFunctions
#block_method_called_in_block?, #check_precedence, #class_name, #component_precedes?, #end_column, #expression_negated?, #find_all_blocks, #find_block, #find_blocks, #find_const, #find_every_func_call_by_name, #find_every_method_call_by_name, #find_instance_call, #find_instance_method_call, #find_method_calls_by_name, #find_method_def, #find_method_with_args, #find_node_method_by_name, #find_strings, #format_component, #line_number, #line_start_column, #method_called?, #method_called_ever?, #method_name, #node_equals?, #offending_node, #parameters, #parameters_passed?, #problem, #regex_match_group, #source_buffer, #start_column, #string_content
Подробное описание методов экземпляра
#audit_formula(formula_nodes) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # File 'rubocops/zero_zero_zero_zero.rb', line 13 def audit_formula(formula_nodes) return if formula_tap != "homebrew-core" body_node = formula_nodes.body_node return if body_node.nil? test_block = find_block(body_node, :test) # Find all string literals in the formula body_node.each_descendant(:str) do |str_node| content = string_content(str_node) next unless content.include?("0.0.0.0") next if test_block && str_node.ancestors.any?(test_block) next if valid_ip_range?(content) offending_node(str_node) problem "Do not use 0.0.0.0 as it can be a security risk." end end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/RuboCop/Cop/FormulaAudit/ZeroZeroZeroZero.html