troubadix 24.9.1__tar.gz → 24.9.2__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.1 → troubadix-24.9.2}/PKG-INFO +1 -1
- {troubadix-24.9.1 → troubadix-24.9.2}/pyproject.toml +1 -1
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_qod.py +12 -14
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/__version__.py +1 -1
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/qod.py +33 -23
- {troubadix-24.9.1 → troubadix-24.9.2}/LICENSE +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/README.md +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/helper/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/helper/test_patterns.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/fail.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/fail2.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_badwords.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_encoding.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_grammar.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_newlines.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_category.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_family.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_spelling.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_tabs.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_using_display.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_argparser.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_helper.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_naslinter.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_reporter.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_results.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/tests/test_runner.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/argparser.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/codespell/codespell.additions +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/codespell/codespell.exclude +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/helper/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/helper/helper.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/helper/patterns.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugin.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/badwords.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/encoding.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/grammar.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/newlines.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_category.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_family.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/spelling.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/tabs.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/using_display.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/reporter.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/results.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/runner.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-24.9.1 → troubadix-24.9.2}/troubadix/troubadix.py +0 -0
|
@@ -30,7 +30,7 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
30
30
|
nasl_file = Path("some/file.nasl")
|
|
31
31
|
|
|
32
32
|
def test_ok_qod_num(self):
|
|
33
|
-
content = ' script_tag(name:"qod", value:97);\n'
|
|
33
|
+
content = ' script_tag(name:"qod", value:"97");\n'
|
|
34
34
|
fake_context = self.create_file_plugin_context(
|
|
35
35
|
nasl_file=self.nasl_file, file_content=content
|
|
36
36
|
)
|
|
@@ -75,7 +75,7 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
75
75
|
def test_too_many_qod(self):
|
|
76
76
|
content = (
|
|
77
77
|
' script_tag(name:"qod_type", value:"exploit");\n'
|
|
78
|
-
' script_tag(name:"qod", value:97);\n'
|
|
78
|
+
' script_tag(name:"qod", value:"97");\n'
|
|
79
79
|
)
|
|
80
80
|
fake_context = self.create_file_plugin_context(
|
|
81
81
|
nasl_file=self.nasl_file, file_content=content
|
|
@@ -87,7 +87,7 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
87
87
|
self.assertEqual(len(results), 1)
|
|
88
88
|
self.assertEqual("VT contains multiple QoD values", results[0].message)
|
|
89
89
|
|
|
90
|
-
def
|
|
90
|
+
def test_wrong_qod_num(self):
|
|
91
91
|
content = ' script_tag(name:"qod", value:"foo");\n'
|
|
92
92
|
fake_context = self.create_file_plugin_context(
|
|
93
93
|
nasl_file=self.nasl_file, file_content=content
|
|
@@ -98,14 +98,14 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
98
98
|
|
|
99
99
|
self.assertEqual(len(results), 1)
|
|
100
100
|
self.assertEqual(
|
|
101
|
-
'script_tag(name:"qod", value:"foo")
|
|
102
|
-
"
|
|
101
|
+
'Invalid QOD value \'foo\' in script_tag(name:"qod", value:"foo");.'
|
|
102
|
+
" Allowed are"
|
|
103
103
|
f" {', '.join(str(x) for x in VALID_QOD_NUM_VALUES)}",
|
|
104
104
|
results[0].message,
|
|
105
105
|
)
|
|
106
106
|
|
|
107
|
-
def
|
|
108
|
-
content = ' script_tag(name:"
|
|
107
|
+
def test_wrong_qod_type(self):
|
|
108
|
+
content = ' script_tag(name:"qod_type", value:"foo");\n'
|
|
109
109
|
fake_context = self.create_file_plugin_context(
|
|
110
110
|
nasl_file=self.nasl_file, file_content=content
|
|
111
111
|
)
|
|
@@ -115,14 +115,13 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
115
115
|
|
|
116
116
|
self.assertEqual(len(results), 1)
|
|
117
117
|
self.assertEqual(
|
|
118
|
-
|
|
119
|
-
"
|
|
120
|
-
f" {', '.join(str(x) for x in VALID_QOD_NUM_VALUES)}",
|
|
118
|
+
'script_tag(name:"qod_type", value:"foo");: \'foo\' is an invalid'
|
|
119
|
+
f" QoD type. Allowed are {', '.join(VALID_QOD_TYPES)}",
|
|
121
120
|
results[0].message,
|
|
122
121
|
)
|
|
123
122
|
|
|
124
|
-
def
|
|
125
|
-
content = ' script_tag(name:"
|
|
123
|
+
def test_improper_quotes(self):
|
|
124
|
+
content = ' script_tag(name:"qod", value:97);\n'
|
|
126
125
|
fake_context = self.create_file_plugin_context(
|
|
127
126
|
nasl_file=self.nasl_file, file_content=content
|
|
128
127
|
)
|
|
@@ -132,7 +131,6 @@ class CheckQodTestCase(PluginTestCase):
|
|
|
132
131
|
|
|
133
132
|
self.assertEqual(len(results), 1)
|
|
134
133
|
self.assertEqual(
|
|
135
|
-
'script_tag(name:"
|
|
136
|
-
f" QoD type. Allowed are {', '.join(VALID_QOD_TYPES)}",
|
|
134
|
+
'QOD value not properly enclosed in double quotes in script_tag(name:"qod", value:97);',
|
|
137
135
|
results[0].message,
|
|
138
136
|
)
|
|
@@ -15,23 +15,24 @@
|
|
|
15
15
|
# You should have received a copy of the GNU General Public License
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
|
|
18
|
+
import re
|
|
18
19
|
from typing import Iterator
|
|
19
20
|
|
|
20
21
|
from troubadix.helper.patterns import ScriptTag, get_script_tag_pattern
|
|
21
22
|
from troubadix.plugin import FilePlugin, LinterError, LinterResult
|
|
22
23
|
|
|
23
24
|
VALID_QOD_NUM_VALUES = [
|
|
24
|
-
1,
|
|
25
|
-
30,
|
|
26
|
-
50,
|
|
27
|
-
70,
|
|
28
|
-
75,
|
|
29
|
-
80,
|
|
30
|
-
95,
|
|
31
|
-
97,
|
|
32
|
-
98,
|
|
33
|
-
99,
|
|
34
|
-
100,
|
|
25
|
+
"1",
|
|
26
|
+
"30",
|
|
27
|
+
"50",
|
|
28
|
+
"70",
|
|
29
|
+
"75",
|
|
30
|
+
"80",
|
|
31
|
+
"95",
|
|
32
|
+
"97",
|
|
33
|
+
"98",
|
|
34
|
+
"99",
|
|
35
|
+
"100",
|
|
35
36
|
]
|
|
36
37
|
|
|
37
38
|
VALID_QOD_TYPES = [
|
|
@@ -51,6 +52,12 @@ VALID_QOD_TYPES = [
|
|
|
51
52
|
"package_unreliable",
|
|
52
53
|
]
|
|
53
54
|
|
|
55
|
+
# needed due to script_tag_pattern value not including the quotes
|
|
56
|
+
QOD_WITH_QUOTES_PATTERN = re.compile(
|
|
57
|
+
r'script_tag\(\s*name\s*:\s*(?P<quote>[\'"])qod(?P=quote)\s*,'
|
|
58
|
+
r'\s*value\s*:\s*(?P<value_with_quotes>[\'"]?(?P<value>.+?)[\'"]?)\s*\)\s*;'
|
|
59
|
+
)
|
|
60
|
+
|
|
54
61
|
|
|
55
62
|
class CheckQod(FilePlugin):
|
|
56
63
|
name = "check_qod"
|
|
@@ -68,10 +75,9 @@ class CheckQod(FilePlugin):
|
|
|
68
75
|
if "# troubadix: disable=template_nd_test_files_fps" in file_content:
|
|
69
76
|
return
|
|
70
77
|
|
|
71
|
-
qod_pattern = get_script_tag_pattern(ScriptTag.QOD)
|
|
72
78
|
qod_type_pattern = get_script_tag_pattern(ScriptTag.QOD_TYPE)
|
|
73
79
|
|
|
74
|
-
match_qod = list(
|
|
80
|
+
match_qod = list(QOD_WITH_QUOTES_PATTERN.finditer(file_content))
|
|
75
81
|
match_qod_type = list(qod_type_pattern.finditer(file_content))
|
|
76
82
|
|
|
77
83
|
num_matches = len(match_qod) + len(match_qod_type)
|
|
@@ -89,21 +95,25 @@ class CheckQod(FilePlugin):
|
|
|
89
95
|
)
|
|
90
96
|
|
|
91
97
|
for match in match_qod:
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
98
|
+
full_match = match.group(0)
|
|
99
|
+
full_value = match.group("value_with_quotes")
|
|
100
|
+
value = match.group("value")
|
|
101
|
+
|
|
102
|
+
# Check if the value is enclosed in double quotes
|
|
103
|
+
if full_value.startswith('"') and full_value.endswith('"'):
|
|
104
|
+
|
|
105
|
+
# Compare against valid values
|
|
106
|
+
if value not in VALID_QOD_NUM_VALUES:
|
|
95
107
|
yield LinterError(
|
|
96
|
-
f"
|
|
97
|
-
"
|
|
98
|
-
f" {', '.join(
|
|
108
|
+
f"Invalid QOD value '{value}' in {full_match}."
|
|
109
|
+
" Allowed are"
|
|
110
|
+
f" {', '.join(x for x in VALID_QOD_NUM_VALUES)}",
|
|
99
111
|
file=self.context.nasl_file,
|
|
100
112
|
plugin=self.name,
|
|
101
113
|
)
|
|
102
|
-
|
|
114
|
+
else:
|
|
103
115
|
yield LinterError(
|
|
104
|
-
f"
|
|
105
|
-
" QoD number value. Allowed are"
|
|
106
|
-
f" {', '.join(str(x) for x in VALID_QOD_NUM_VALUES)}",
|
|
116
|
+
f"QOD value not properly enclosed in double quotes in {full_match}",
|
|
107
117
|
file=self.context.nasl_file,
|
|
108
118
|
plugin=self.name,
|
|
109
119
|
)
|
|
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.1 → troubadix-24.9.2}/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.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.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
|
{troubadix-24.9.1 → troubadix-24.9.2}/tests/plugins/test_variable_redefinition_in_foreach.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/markers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-24.9.1 → troubadix-24.9.2}/tests/standalone_plugins/changed_packages/test_package.py
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
|
|
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.1 → troubadix-24.9.2}/troubadix/plugins/script_version_and_last_modification_tags.py
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
|
{troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/marker/marker.py
RENAMED
|
File without changes
|
{troubadix-24.9.1 → troubadix-24.9.2}/troubadix/standalone_plugins/changed_packages/package.py
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
|