troubadix 24.9.3__tar.gz → 24.10.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {troubadix-24.9.3 → troubadix-24.10.0}/PKG-INFO +1 -1
- {troubadix-24.9.3 → troubadix-24.10.0}/pyproject.toml +1 -1
- troubadix-24.10.0/tests/plugins/test_spaces_before_dots.py +103 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/__version__.py +1 -1
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/codespell/codespell.additions +3 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/codespell/codespell.exclude +15 -3
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/codespell/codespell.ignore +5 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/__init__.py +2 -0
- troubadix-24.10.0/troubadix/plugins/spaces_before_dots.py +130 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/version_updated.py +1 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/LICENSE +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/README.md +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/helper/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/helper/test_patterns.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/fail.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/fail2.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_badwords.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_encoding.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_grammar.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_newlines.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_qod.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_category.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_family.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_spelling.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_tabs.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_using_display.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_argparser.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_helper.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_naslinter.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_reporter.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_results.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/tests/test_runner.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/argparser.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/helper/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/helper/helper.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/helper/patterns.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugin.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/badwords.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/encoding.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/grammar.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/newlines.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/qod.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_category.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_family.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/spelling.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/tabs.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/using_display.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/reporter.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/results.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/runner.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-24.9.3 → troubadix-24.10.0}/troubadix/troubadix.py +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
# SPDX-FileCopyrightText: 2024 Greenbone AG
|
|
3
|
+
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from tests.plugins import PluginTestCase
|
|
7
|
+
from troubadix.helper import CURRENT_ENCODING
|
|
8
|
+
from troubadix.plugin import LinterFix
|
|
9
|
+
from troubadix.plugins.spaces_before_dots import CheckSpacesBeforeDots
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TestSpacesBeforeDots(PluginTestCase):
|
|
13
|
+
|
|
14
|
+
def test_ok(self):
|
|
15
|
+
nasl_file = Path("/some/fake/directory/test.nasl")
|
|
16
|
+
content = """
|
|
17
|
+
script_tag(name:"summary", value:"Foo Bar.");
|
|
18
|
+
script_tag(name:"solution", value:"Foo .NET.");
|
|
19
|
+
script_tag(name:"insight", value:"Foo Bar ...");
|
|
20
|
+
"""
|
|
21
|
+
fake_context = self.create_file_plugin_context(
|
|
22
|
+
nasl_file=nasl_file, file_content=content
|
|
23
|
+
)
|
|
24
|
+
plugin = CheckSpacesBeforeDots(fake_context)
|
|
25
|
+
results = list(plugin.run())
|
|
26
|
+
self.assertEqual(len(results), 0)
|
|
27
|
+
|
|
28
|
+
def test_fail(self):
|
|
29
|
+
nasl_file = Path("/some/fake/directory/test.nasl")
|
|
30
|
+
content = (
|
|
31
|
+
"""
|
|
32
|
+
script_tag(name:"summary", value:"Foo Bar .");
|
|
33
|
+
script_tag(name:"vuldetect", value:"Foo Bar .");
|
|
34
|
+
script_tag(name:"insight", value:"Foo Bar .");
|
|
35
|
+
script_tag(name:"impact", value:"Foo . Bar . Foo");
|
|
36
|
+
"""
|
|
37
|
+
'script_tag(name:"affected", value:"Foo\n.\nBar.");'
|
|
38
|
+
'script_tag(name:"solution", value:"Foo Bar\n.");'
|
|
39
|
+
)
|
|
40
|
+
fake_context = self.create_file_plugin_context(
|
|
41
|
+
nasl_file=nasl_file, file_content=content
|
|
42
|
+
)
|
|
43
|
+
plugin = CheckSpacesBeforeDots(fake_context)
|
|
44
|
+
results = list(plugin.run())
|
|
45
|
+
self.assertEqual(len(results), 7)
|
|
46
|
+
self.assertEqual(
|
|
47
|
+
results[0].message,
|
|
48
|
+
"value of script_tag summary has at least one occurence of excess"
|
|
49
|
+
" whitespace before a dot:\n"
|
|
50
|
+
" 'script_tag(name:"
|
|
51
|
+
'"summary", value:"Foo Bar .");'
|
|
52
|
+
"'",
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def test_ignore(self):
|
|
56
|
+
nasl_file = Path("/some/fake/directory/test.inc")
|
|
57
|
+
fake_context = self.create_file_plugin_context(nasl_file=nasl_file)
|
|
58
|
+
plugin = CheckSpacesBeforeDots(fake_context)
|
|
59
|
+
|
|
60
|
+
results = list(plugin.run())
|
|
61
|
+
|
|
62
|
+
self.assertEqual(len(results), 0)
|
|
63
|
+
|
|
64
|
+
def test_fix(self):
|
|
65
|
+
with self.create_directory() as tempdir:
|
|
66
|
+
path = tempdir / "file.nasl"
|
|
67
|
+
content = (
|
|
68
|
+
"""
|
|
69
|
+
script_tag(name:"summary", value:"Foo Bar .");
|
|
70
|
+
script_tag(name:"vuldetect", value:"Foo Bar .");
|
|
71
|
+
script_tag(name:"insight", value:"Foo .Net Bar .");
|
|
72
|
+
script_tag(name:"impact", value:"Foo . Bar . Foo");
|
|
73
|
+
"""
|
|
74
|
+
'script_tag(name:"affected", value:"Foo\n.\nBar.");'
|
|
75
|
+
'script_tag(name:"solution", value:"Foo Bar\n.");'
|
|
76
|
+
)
|
|
77
|
+
expected_modified_content = (
|
|
78
|
+
"""
|
|
79
|
+
script_tag(name:"summary", value:"Foo Bar.");
|
|
80
|
+
script_tag(name:"vuldetect", value:"Foo Bar.");
|
|
81
|
+
script_tag(name:"insight", value:"Foo .Net Bar.");
|
|
82
|
+
script_tag(name:"impact", value:"Foo. Bar. Foo");
|
|
83
|
+
"""
|
|
84
|
+
'script_tag(name:"affected", value:"Foo.\nBar.");'
|
|
85
|
+
'script_tag(name:"solution", value:"Foo Bar.");'
|
|
86
|
+
)
|
|
87
|
+
path.write_text(content, encoding=CURRENT_ENCODING)
|
|
88
|
+
|
|
89
|
+
fake_context = self.create_file_plugin_context(
|
|
90
|
+
nasl_file=path, file_content=content
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
plugin = CheckSpacesBeforeDots(fake_context)
|
|
94
|
+
|
|
95
|
+
# keep list() to consume the iterator
|
|
96
|
+
list(plugin.run())
|
|
97
|
+
|
|
98
|
+
results = list(plugin.fix())
|
|
99
|
+
self.assertEqual(len(results), 1)
|
|
100
|
+
|
|
101
|
+
self.assertIsInstance(results[0], LinterFix)
|
|
102
|
+
modified_content = path.read_text(encoding=CURRENT_ENCODING)
|
|
103
|
+
self.assertEqual(modified_content, expected_modified_content)
|
|
@@ -91,7 +91,7 @@ Add more important informations
|
|
|
91
91
|
* Add suppor... [Please see the references for more information on the vulnerabilities]");
|
|
92
92
|
a denial of service. (CVE-2016-4429) Tim Ruehsen discovered that the
|
|
93
93
|
- A division by zero in the CAF demuxer
|
|
94
|
-
"admin:admin:huawei,3com,allied,alteon,amitech,billon,checkpoint,cisco,com3,davox,dlink,draytek,dynalink,everfocus,flowpoint,foundry networks,hp:all,ftp",
|
|
94
|
+
"admin:admin:huawei,3com,allied,alteon,amitech,billon,checkpoint,cisco,com3,davox,dlink,draytek,dynalink,everfocus,flowpoint,foundry networks,hp,ibm,intel,ivanti:all,http,ssh,ftp",
|
|
95
95
|
Admin endpoints to a public WAN (Internet) / public LAN without authentication.
|
|
96
96
|
"Administrator:admin:cisco,conexant,corecess,gvc:all",
|
|
97
97
|
# admin:<redacted>:0:0:Adminstrator:/:/bin/sh
|
|
@@ -355,8 +355,11 @@ drbd: Avoid Clang warning about pointless switch statment (bsc#1051510).
|
|
|
355
355
|
eliptic curve parameters were not sufficiently validated during
|
|
356
356
|
} else if( banner =~ "^220 (RICOH|LANIER|SAVIN|Gestetner|NRG) (Aficio |Pro)?([A-Z]+)? [^ ]+ (\([^)]+\) )?FTP server" ) {
|
|
357
357
|
} else if("diese Vorgabe muss manuell ueberprueft werden" >< tolower(status)) {
|
|
358
|
+
else if (prod =~ "^BMX\s*NOE\s*0100$" || prod =~ "^BMX\s*NOE\s*0100H$") {
|
|
359
|
+
else if (prod =~ "^BMX\s*NOE\s*0110$" || prod =~ "^BMX\s*NOE\s*0110H$") {
|
|
358
360
|
else if( svc == "agobot.fo" )
|
|
359
361
|
Enable log information of starting/stoping services. (bsc#1144923,
|
|
362
|
+
Engineering (TE) database and then a subsequent operation attempts to process these, rpd will
|
|
360
363
|
Engineering (TE) tunnel's physical source interface is not propagated to hardware after the adjacency is lost.
|
|
361
364
|
eSpace IAD, eSpace U1981 and eSpace USM.");
|
|
362
365
|
establishment of the Cisco Nexus 9000 Series Application Centric Infrastructure (ACI) Mode Switch
|
|
@@ -508,8 +511,14 @@ if( model =~ '^TE[3456]0' && revcomp( a: version, b: "v600r006c00spc500" ) < 0 )
|
|
|
508
511
|
if (prod =~ "^BMX\s*NOC\s*0401$" || prod =~ "^BMX\s*NOE\s*0100$" || prod =~ "^BMX\s*NOE\s*0110$" || prod =~ "^BMX\s*NOE\s*0110H$" ||
|
|
509
512
|
if (prod =~ "^BMX\s*NOE\s*0100$") {
|
|
510
513
|
if (prod =~ "^BMX\s*NOE\s*0100$" || prod =~ "^BMX\s*NOE\s*0100H$") {
|
|
514
|
+
if (prod =~ "^BMX\s*NOE\s*0100" && version_is_less(version: version, test_version: "3.3")) {
|
|
515
|
+
if (prod =~ "^BMX\s*NOE\s*0100" && version_is_less(version: version, test_version: "3.50")) {
|
|
511
516
|
if (prod =~ "^BMX\s*NOE\s*0110$") {
|
|
512
517
|
if (prod =~ "^BMX\s*NOE\s*0110$" || prod =~ "^BMX\s*NOE\s*0110H$") {
|
|
518
|
+
if (prod =~ "^BMX\s*NOE\s*0110" && version_is_less(version: version, test_version: "6.5")) {
|
|
519
|
+
if (prod =~ "^BMX\s*NOE\s*0110" && version_is_less(version: version, test_version: "6.70")) {
|
|
520
|
+
if (!prod || (prod !~ "^BMX\s*P34" && prod !~ "^BMX\s*NOE\s*01[01]0"))
|
|
521
|
+
if (!prod || (prod !~ "^BMX\s*P34" && prod !~ "^BMX\s*NOR\s*0200H" && prod !~ "^BMX\s*NOE\s*0100" &&
|
|
513
522
|
if( r =~ " (A\. A\. Milne|Albert Einstein|Anonimo|Antico proverbio cinese|Autor desconocido|Charles Dickens|Francisco de Quevedo y Villegas|George Bernard Shaw|Jaime Balmes|Johann Wolfgang von Goethe|Jil Sander|Juana de Asbaje|Konfucius|Lord Philip Chesterfield|Montaigne|Petrarca|Ralph Waldo Emerson|Seneca|Syrus|Werner von Siemens)" ||
|
|
514
523
|
if(rcvRes && '>iAm[i]nE<' >< rcvRes)
|
|
515
524
|
if( res =~ "^HTTP/1\.[01] 200" && "Powered by" >< res && "ANG" >< res ) {
|
|
@@ -759,6 +768,8 @@ Prevent sporious 'salt-api' stuck processes when managing SSH minions.
|
|
|
759
768
|
processing malformed files packed with UPack.
|
|
760
769
|
processing Upack files. A remote attacker could send a crafted file and
|
|
761
770
|
processor_arch_id = 'oval:org.mitre.oval:obj:1576';
|
|
771
|
+
prod !~ "^BMX\s*NOC\s*0401" && prod !~ "^BMX\s*NOE\s*01" && prod !~ "^BMX\s*NOR\s*0200H" &&
|
|
772
|
+
prod !~ "^BMX\s*NOE\s*0110" && prod !~ "^BMX\s*NOC\s*\s*0401" && prod !~ "^140CPU65" &&
|
|
762
773
|
product_os_name_id = 'oval:org.mitre.oval:obj:5590';
|
|
763
774
|
prompted to give a password when acessing root owned files. (bsc#1125084)");
|
|
764
775
|
Provide the 32bit samba winbind PAM module and its dependend 32bit
|
|
@@ -781,7 +792,7 @@ Readded what missing in last update: BDX-ML B0/M0/R0 6-4f-1/ef 0b00002e->0000003
|
|
|
781
792
|
Red Hat would like to thank Tim Bunce for responsibly reporting the
|
|
782
793
|
Red Hat would like to thank Timo Warns of PRESENSE Technologies GmbH for
|
|
783
794
|
reenable php7-dba support of Berkeley DB (bsc#1108554)");
|
|
784
|
-
"Referer: http://",host,"
|
|
795
|
+
"Referer: http://", host, "/UE/welcome_login.html\r\n",
|
|
785
796
|
# Ref : http://www.hsc.fr/ressources/articles/win_net_srv/index.html.en by Jean-Baptiste Marchand
|
|
786
797
|
register_and_report_cpe( app:"Netsparker - Web Application Security Scanner", ver:netVer, base:"cpe:/a:netsparker:wass:", expr:"^([0-9.]+)", insloc:netPath );
|
|
787
798
|
register_and_report_cpe(app:"Wiesemann & Theis GmbH " + appName, ver:version, concluded:concluded,
|
|
@@ -1339,6 +1350,7 @@ triggerD = raw_string(0x06,0x00,0x07,0x00,0x20,0x00,0x00,0x00,0x0e,0x00,0x32,
|
|
|
1339
1350
|
Tuomas Haanpaa and Matti Kamunen from Synopsys Ltd discovered that the NFSv2 and NFSv3 server implementations are vulnerable to an out-of-bounds memory access issue while processing arbitrarily long arguments sent by NFSv2/NFSv3 PRC clients, leading to a denial of service.
|
|
1340
1351
|
two intermediate CAs which could be used to generate rogue end-entity
|
|
1341
1352
|
udev: Downgrade message when settting inotify watch up fails.
|
|
1353
|
+
"UE",
|
|
1342
1354
|
unconstrained interal data buffering (bsc#1145575).
|
|
1343
1355
|
unconstrained interal data buffering (bsc#1146097).
|
|
1344
1356
|
- Undefined behavior in bounded channel of crossbeam rust crate.
|
|
@@ -1372,7 +1384,7 @@ url = "/statics/pageChallenge.html";
|
|
|
1372
1384
|
url = "/status/infomation.htm";
|
|
1373
1385
|
url = string(dir, "/config.xml.sav");
|
|
1374
1386
|
url = string(openVer[2], "/obj/autorisation.class.php?path_om=../../../../../../../../vt-rfi.txt");
|
|
1375
|
-
url =
|
|
1387
|
+
url = "/UE/advanced.html";
|
|
1376
1388
|
url = "/UE/welcome_login.html";
|
|
1377
1389
|
* usb/net: rndis: remove ambigous status codes. only net/hyperv part
|
|
1378
1390
|
use-after-free due to the AB/BA lock with buffer_mutex and mmap_lock
|
|
@@ -26,3 +26,8 @@ racoon
|
|
|
26
26
|
# As e.g. the spelling correction in Mozilla Firefox is accepting both we're excluding this for now
|
|
27
27
|
re-use
|
|
28
28
|
re-usable
|
|
29
|
+
# Bootup is commonly used in e.g. example output and seems to be also generally valid like seen on:
|
|
30
|
+
# https://en.wiktionary.org/wiki/bootup
|
|
31
|
+
# so it is ignored (at least for now)
|
|
32
|
+
bootup
|
|
33
|
+
Bootup
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
from typing import Iterable, List
|
|
19
19
|
|
|
20
20
|
from troubadix.plugin import FilePlugin, FilesPlugin, Plugin
|
|
21
|
+
from troubadix.plugins.spaces_before_dots import CheckSpacesBeforeDots
|
|
21
22
|
|
|
22
23
|
from .badwords import CheckBadwords
|
|
23
24
|
from .copyright_text import CheckCopyrightText
|
|
@@ -140,6 +141,7 @@ _FILE_PLUGINS = [
|
|
|
140
141
|
CheckVTFilePermissions,
|
|
141
142
|
CheckVTPlacement,
|
|
142
143
|
CheckWrongSetGetKBCalls,
|
|
144
|
+
CheckSpacesBeforeDots,
|
|
143
145
|
]
|
|
144
146
|
|
|
145
147
|
# plugins checking all files
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
# SPDX-FileCopyrightText: 2024 Greenbone AG
|
|
3
|
+
import re
|
|
4
|
+
from collections.abc import Iterator
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
from troubadix.helper import CURRENT_ENCODING
|
|
8
|
+
from troubadix.helper.helper import is_ignore_file
|
|
9
|
+
from troubadix.helper.patterns import (
|
|
10
|
+
ScriptTag,
|
|
11
|
+
get_script_tag_pattern,
|
|
12
|
+
)
|
|
13
|
+
from troubadix.plugin import (
|
|
14
|
+
FileContentPlugin,
|
|
15
|
+
LinterFix,
|
|
16
|
+
LinterResult,
|
|
17
|
+
LinterWarning,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
TAGS = [
|
|
21
|
+
ScriptTag.SUMMARY,
|
|
22
|
+
ScriptTag.VULDETECT,
|
|
23
|
+
ScriptTag.INSIGHT,
|
|
24
|
+
ScriptTag.IMPACT,
|
|
25
|
+
ScriptTag.AFFECTED,
|
|
26
|
+
ScriptTag.SOLUTION,
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
# Regex pattern to match:
|
|
30
|
+
# 1. A dot preceded and/or followed by any whitespace character (floating between words)
|
|
31
|
+
# 2. A dot preceded by any whitespace character at the end of the string
|
|
32
|
+
PATTERN = re.compile(r"\s+\.(\s|$)")
|
|
33
|
+
IGNORE = [
|
|
34
|
+
# 21.04 and 22.04 are generated and should not be touched manually
|
|
35
|
+
"21.04/",
|
|
36
|
+
"22.04/",
|
|
37
|
+
# uses dots for beginning of entry in enumeration
|
|
38
|
+
"common/2008/debian/deb_246.nasl",
|
|
39
|
+
"common/2008/debian/deb_266.nasl",
|
|
40
|
+
"common/2008/freebsd/freebsd_5e92e8a2.nasl",
|
|
41
|
+
"common/2008/freebsd/freebsdsa_cpio.nasl",
|
|
42
|
+
"common/2008/freebsd/freebsdsa_cvs2.nasl",
|
|
43
|
+
"common/2009/osc_photoGallery_sql_injection.nasl",
|
|
44
|
+
"common/2009/secpod_novell_edir_mult_vuln_jul09_lin.nasl",
|
|
45
|
+
"common/2009/secpod_novell_edir_mult_vuln_jul09_win.nasl",
|
|
46
|
+
"common/2010/freebsd/freebsd_3a7c5fc4.nasl",
|
|
47
|
+
"common/2012/freebsd/freebsd_a4a809d8.nasl",
|
|
48
|
+
"common/2015/amazon/alas-2014-455.nasl",
|
|
49
|
+
"common/2015/gb_mozilla_firefox_mult_vuln01_mar15_macosx.nasl",
|
|
50
|
+
"common/2015/gb_mozilla_firefox_mult_vuln01_mar15_win.nasl",
|
|
51
|
+
"common/2015/oracle/ELSA-2009-1619.nasl",
|
|
52
|
+
"common/2015/oracle/ELSA-2011-0586.nasl",
|
|
53
|
+
"common/2016/gb_perl_privilege_escalation_vuln_win.nasl",
|
|
54
|
+
"common/2021/dropbear/gb_dropbear_ssh_filename_vuln_may20.nasl",
|
|
55
|
+
"common/2021/eclipse/gb_jetty_GHSA-v7ff-8wcx-gmc5_lin.nasl",
|
|
56
|
+
"common/2021/eclipse/gb_jetty_GHSA-v7ff-8wcx-gmc5_win.nasl",
|
|
57
|
+
"common/gsf/2009/mandriva/gb_mandriva_MDVSA_2008_140.nasl",
|
|
58
|
+
"common/gsf/2009/mandriva/gb_mandriva_MDVSA_2008_141.nasl",
|
|
59
|
+
"common/gsf/2010/mandriva/gb_mandriva_MDVA_2010_173.nasl",
|
|
60
|
+
"common/gsf/2010/mandriva/gb_mandriva_MDVSA_2010_155.nasl",
|
|
61
|
+
"common/gsf/2010/mandriva/gb_mandriva_MDVSA_2010_155_1.nasl",
|
|
62
|
+
"common/gsf/2010/mandriva/gb_mandriva_MDVSA_2010_167.nasl",
|
|
63
|
+
"common/gsf/2020/f5/gb_f5_big_ip_K11315080.nasl",
|
|
64
|
+
"common/gsf/2020/f5/gb_f5_big_iq_K11315080.nasl",
|
|
65
|
+
"common/2022/opensuse/gb_opensuse_2022_1548_1.nasl",
|
|
66
|
+
"common/2024/opensuse/gb_opensuse_2023_3247_1.nasl",
|
|
67
|
+
"common/attic/debian/deb_232_1.nasl",
|
|
68
|
+
]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class CheckSpacesBeforeDots(FileContentPlugin):
|
|
72
|
+
name = "check_spaces_before_dots"
|
|
73
|
+
|
|
74
|
+
def check_content(
|
|
75
|
+
self, nasl_file: Path, file_content: str
|
|
76
|
+
) -> Iterator[LinterResult]:
|
|
77
|
+
"""
|
|
78
|
+
This plugin checks for excess whitespace before a dot
|
|
79
|
+
in script_tags that have full sentence values
|
|
80
|
+
"""
|
|
81
|
+
self.matches = []
|
|
82
|
+
if nasl_file.suffix == ".inc" or is_ignore_file(nasl_file, IGNORE):
|
|
83
|
+
return
|
|
84
|
+
for tag in TAGS:
|
|
85
|
+
pattern = get_script_tag_pattern(tag)
|
|
86
|
+
match = pattern.search(file_content)
|
|
87
|
+
if not match:
|
|
88
|
+
continue
|
|
89
|
+
|
|
90
|
+
value = match.group("value")
|
|
91
|
+
value_start = match.start("value")
|
|
92
|
+
|
|
93
|
+
for excess_match in PATTERN.finditer(value):
|
|
94
|
+
whitespace_pos = excess_match.start() + value_start
|
|
95
|
+
self.matches.append((whitespace_pos, excess_match.group()))
|
|
96
|
+
fullmatch = match.group()
|
|
97
|
+
yield LinterWarning(
|
|
98
|
+
f"value of script_tag {match.group('name')} has at least"
|
|
99
|
+
" one occurence of excess whitespace before a dot:"
|
|
100
|
+
f"\n '{fullmatch}'",
|
|
101
|
+
file=nasl_file,
|
|
102
|
+
plugin=self.name,
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
def fix(self) -> Iterator[LinterResult]:
|
|
106
|
+
|
|
107
|
+
if not self.matches:
|
|
108
|
+
return
|
|
109
|
+
|
|
110
|
+
# Sort matches by position, descending order to avoid messing up indices during replacement
|
|
111
|
+
self.matches.sort(reverse=True)
|
|
112
|
+
|
|
113
|
+
file_content = self.context.file_content
|
|
114
|
+
for pos, match_str in self.matches:
|
|
115
|
+
# Replace the match by removing the excess whitespace before the dot
|
|
116
|
+
fixed_str = re.sub(r"\s+\.", ".", match_str)
|
|
117
|
+
file_content = (
|
|
118
|
+
file_content[:pos]
|
|
119
|
+
+ fixed_str
|
|
120
|
+
+ file_content[pos + len(match_str) :]
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
with open(self.context.nasl_file, "w", encoding=CURRENT_ENCODING) as f:
|
|
124
|
+
f.write(file_content)
|
|
125
|
+
|
|
126
|
+
yield LinterFix(
|
|
127
|
+
"Excess spaces were removed",
|
|
128
|
+
file=self.context.nasl_file,
|
|
129
|
+
plugin=self.name,
|
|
130
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/plugins/test_variable_redefinition_in_foreach.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/__init__.py
RENAMED
|
File without changes
|
{troubadix-24.9.3 → troubadix-24.10.0}/tests/standalone_plugins/changed_packages/markers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|