troubadix 25.1.1__tar.gz → 25.1.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-25.1.1 → troubadix-25.1.2}/PKG-INFO +1 -1
- {troubadix-25.1.1 → troubadix-25.1.2}/pyproject.toml +1 -1
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_valid_oid.py +123 -1
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/__version__.py +1 -1
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/valid_oid.py +49 -15
- {troubadix-25.1.1 → troubadix-25.1.2}/LICENSE +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/README.md +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/helper/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/helper/test_patterns.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/fail.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/fail2.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_badwords.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_encoding.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_grammar.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_newlines.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_qod.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_category.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_family.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_spaces_before_dots.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_spelling.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_tabs.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_using_display.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_argparser.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_helper.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_naslinter.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_reporter.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_results.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/tests/test_runner.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/argparser.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/codespell/codespell.additions +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/codespell/codespell.exclude +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/helper/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/helper/helper.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/helper/patterns.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugin.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/badwords.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/encoding.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/grammar.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/newlines.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/qod.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_category.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_family.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/spaces_before_dots.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/spelling.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/tabs.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/using_display.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/reporter.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/results.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/runner.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-25.1.1 → troubadix-25.1.2}/troubadix/troubadix.py +0 -0
|
@@ -26,7 +26,10 @@ from . import PluginTestCase
|
|
|
26
26
|
class CheckValidOIDTestCase(PluginTestCase):
|
|
27
27
|
def test_ok(self):
|
|
28
28
|
path = Path("some/file.nasl")
|
|
29
|
-
content =
|
|
29
|
+
content = (
|
|
30
|
+
' script_oid("1.3.6.1.4.1.25623.1.0.100376");\n'
|
|
31
|
+
' script_family("Huawei EulerOS Local Security Checks");\n'
|
|
32
|
+
)
|
|
30
33
|
fake_context = self.create_file_plugin_context(
|
|
31
34
|
nasl_file=path, file_content=content
|
|
32
35
|
)
|
|
@@ -672,6 +675,45 @@ class CheckValidOIDTestCase(PluginTestCase):
|
|
|
672
675
|
results[0].message,
|
|
673
676
|
)
|
|
674
677
|
|
|
678
|
+
def test_opensuse_ok(self):
|
|
679
|
+
path = Path("some/file.nasl")
|
|
680
|
+
content = (
|
|
681
|
+
' script_oid("1.3.6.1.4.1.25623.1.1.18.2022.123");\n'
|
|
682
|
+
' script_family("openSUSE Local Security Checks");\n'
|
|
683
|
+
)
|
|
684
|
+
fake_context = self.create_file_plugin_context(
|
|
685
|
+
nasl_file=path, file_content=content
|
|
686
|
+
)
|
|
687
|
+
plugin = CheckValidOID(fake_context)
|
|
688
|
+
|
|
689
|
+
results = list(plugin.run())
|
|
690
|
+
|
|
691
|
+
self.assertEqual(len(results), 0)
|
|
692
|
+
|
|
693
|
+
def test_opensuse_not_ok(self):
|
|
694
|
+
path = Path("some/file.nasl")
|
|
695
|
+
content = (
|
|
696
|
+
' script_oid("1.3.6.1.4.1.25623.1.1.18.2022.123");\n'
|
|
697
|
+
' script_family("HCE Local Security Checks");\n'
|
|
698
|
+
)
|
|
699
|
+
fake_context = self.create_file_plugin_context(
|
|
700
|
+
nasl_file=path, file_content=content
|
|
701
|
+
)
|
|
702
|
+
plugin = CheckValidOID(fake_context)
|
|
703
|
+
|
|
704
|
+
results = list(plugin.run())
|
|
705
|
+
|
|
706
|
+
self.assertEqual(len(results), 1)
|
|
707
|
+
|
|
708
|
+
self.assertIsInstance(results[0], LinterError)
|
|
709
|
+
self.assertEqual(
|
|
710
|
+
(
|
|
711
|
+
"script_oid() is using an OID that is reserved for "
|
|
712
|
+
"openSUSE '1.3.6.1.4.1.25623.1.1.18.2022.123'"
|
|
713
|
+
),
|
|
714
|
+
results[0].message,
|
|
715
|
+
)
|
|
716
|
+
|
|
675
717
|
def test_unknown(self):
|
|
676
718
|
path = Path("some/file.nasl")
|
|
677
719
|
content = (
|
|
@@ -725,6 +767,7 @@ class CheckValidOIDTestCase(PluginTestCase):
|
|
|
725
767
|
content = (
|
|
726
768
|
' script_oid("1.3.6.1.4.1.25623.1.2.1.2020.255");\n'
|
|
727
769
|
' script_name("Mozilla Firefox Security Advisory");\n'
|
|
770
|
+
' script_family("General");'
|
|
728
771
|
)
|
|
729
772
|
fake_context = self.create_file_plugin_context(
|
|
730
773
|
nasl_file=path, file_content=content
|
|
@@ -740,6 +783,7 @@ class CheckValidOIDTestCase(PluginTestCase):
|
|
|
740
783
|
content = (
|
|
741
784
|
' script_oid("1.3.6.1.4.1.25623.1.2.1.2020.255");\n'
|
|
742
785
|
' script_name("AdaptBB Detection (HTTP)");\n'
|
|
786
|
+
' script_family("General");'
|
|
743
787
|
)
|
|
744
788
|
fake_context = self.create_file_plugin_context(
|
|
745
789
|
nasl_file=path, file_content=content
|
|
@@ -757,3 +801,81 @@ class CheckValidOIDTestCase(PluginTestCase):
|
|
|
757
801
|
),
|
|
758
802
|
results[0].message,
|
|
759
803
|
)
|
|
804
|
+
|
|
805
|
+
def test_script_family__product_microsoft_ok(self):
|
|
806
|
+
path = Path("some/file.nasl")
|
|
807
|
+
content = (
|
|
808
|
+
' script_oid("1.3.6.1.4.1.25623.1.3.11571.0.5019966.494846484649555554514651545348");'
|
|
809
|
+
"\n"
|
|
810
|
+
' script_family("Windows : Microsoft Bulletins");\n'
|
|
811
|
+
)
|
|
812
|
+
fake_context = self.create_file_plugin_context(
|
|
813
|
+
nasl_file=path, file_content=content
|
|
814
|
+
)
|
|
815
|
+
plugin = CheckValidOID(fake_context)
|
|
816
|
+
|
|
817
|
+
results = list(plugin.run())
|
|
818
|
+
|
|
819
|
+
self.assertEqual(len(results), 0)
|
|
820
|
+
|
|
821
|
+
def test_script_family__product_microsoft_not_ok(self):
|
|
822
|
+
path = Path("some/file.nasl")
|
|
823
|
+
content = (
|
|
824
|
+
' script_oid("1.3.6.1.4.1.25623.1.3.11571.0.5019966.494846484649555554514651545348");'
|
|
825
|
+
"\n"
|
|
826
|
+
' script_family("Windows : Microsoft");\n'
|
|
827
|
+
)
|
|
828
|
+
fake_context = self.create_file_plugin_context(
|
|
829
|
+
nasl_file=path, file_content=content
|
|
830
|
+
)
|
|
831
|
+
plugin = CheckValidOID(fake_context)
|
|
832
|
+
|
|
833
|
+
results = list(plugin.run())
|
|
834
|
+
self.assertIsInstance(results[0], LinterError)
|
|
835
|
+
self.assertEqual(
|
|
836
|
+
(
|
|
837
|
+
"script_oid() is using an OID that is reserved for 'Windows' "
|
|
838
|
+
"(1.3.6.1.4.1.25623.1.3.11571.0.5019966.494846484649555554514651545348)"
|
|
839
|
+
),
|
|
840
|
+
results[0].message,
|
|
841
|
+
)
|
|
842
|
+
|
|
843
|
+
def test_oid_microsoft_ok(self):
|
|
844
|
+
path = Path("some/file.nasl")
|
|
845
|
+
content = (
|
|
846
|
+
' script_oid("1.3.6.1.4.1.25623.1.3.11571.0.5019966.494846484649555554514651545348");'
|
|
847
|
+
"\n"
|
|
848
|
+
' script_family("Windows : Microsoft Bulletins");\n'
|
|
849
|
+
)
|
|
850
|
+
fake_context = self.create_file_plugin_context(
|
|
851
|
+
nasl_file=path, file_content=content
|
|
852
|
+
)
|
|
853
|
+
plugin = CheckValidOID(fake_context)
|
|
854
|
+
|
|
855
|
+
results = list(plugin.run())
|
|
856
|
+
|
|
857
|
+
self.assertEqual(len(results), 0)
|
|
858
|
+
|
|
859
|
+
def test_oid_microsoft_not_ok(self):
|
|
860
|
+
path = Path("some/file.nasl")
|
|
861
|
+
content = (
|
|
862
|
+
' script_oid("1.3.6.1.4.1.25623.1.3.11571.0.494846484649555554514651545348");'
|
|
863
|
+
"\n"
|
|
864
|
+
' script_family("Windows : Microsoft Bulletins");\n'
|
|
865
|
+
)
|
|
866
|
+
fake_context = self.create_file_plugin_context(
|
|
867
|
+
nasl_file=path, file_content=content
|
|
868
|
+
)
|
|
869
|
+
plugin = CheckValidOID(fake_context)
|
|
870
|
+
results = list(plugin.run())
|
|
871
|
+
|
|
872
|
+
self.assertIsInstance(results[0], LinterError)
|
|
873
|
+
self.assertEqual(
|
|
874
|
+
(
|
|
875
|
+
"script_oid() is using an invalid OID "
|
|
876
|
+
"'1.3.6.1.4.1.25623.1.3.11571.0.494846484649555554514651545348' "
|
|
877
|
+
"(Windows pattern: 1.3.6.1.4.1.25623.1.3.[product_id].[platform_id]."
|
|
878
|
+
"[kb_article_id].[fixed_build_number])"
|
|
879
|
+
),
|
|
880
|
+
results[0].message,
|
|
881
|
+
)
|
|
@@ -58,6 +58,7 @@ class CheckValidOID(FileContentPlugin):
|
|
|
58
58
|
|
|
59
59
|
security_template = "Security Advisory"
|
|
60
60
|
family_template = "Local Security Checks"
|
|
61
|
+
windows_family_template = "Windows : Microsoft Bulletins"
|
|
61
62
|
is_using_reserved = "is using an OID that is reserved for"
|
|
62
63
|
invalid_oid = "is using an invalid OID"
|
|
63
64
|
|
|
@@ -81,22 +82,20 @@ class CheckValidOID(FileContentPlugin):
|
|
|
81
82
|
)
|
|
82
83
|
return
|
|
83
84
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
family_pattern = get_special_script_tag_pattern(SpecialScriptTag.FAMILY)
|
|
86
|
+
family_match = family_pattern.search(file_content)
|
|
87
|
+
|
|
88
|
+
if family_match is None or family_match.group("value") is None:
|
|
89
|
+
yield LinterError(
|
|
90
|
+
"VT is missing a script family!",
|
|
91
|
+
file=nasl_file,
|
|
92
|
+
plugin=self.name,
|
|
88
93
|
)
|
|
89
|
-
|
|
90
|
-
if family_match is None or family_match.group("value") is None:
|
|
91
|
-
yield LinterError(
|
|
92
|
-
"VT is missing a script family!",
|
|
93
|
-
file=nasl_file,
|
|
94
|
-
plugin=self.name,
|
|
95
|
-
)
|
|
96
|
-
return
|
|
94
|
+
return
|
|
97
95
|
|
|
96
|
+
# Vendor-specific OIDs
|
|
97
|
+
if "1.3.6.1.4.1.25623.1.1." in oid:
|
|
98
98
|
family = family_match.group("value")
|
|
99
|
-
|
|
100
99
|
vendor_number_match = re.search(
|
|
101
100
|
r"^1\.3\.6\.1\.4\.1\.25623\.1\.1\.([0-9]+)\.", oid
|
|
102
101
|
)
|
|
@@ -324,6 +323,15 @@ class CheckValidOID(FileContentPlugin):
|
|
|
324
323
|
plugin=self.name,
|
|
325
324
|
)
|
|
326
325
|
return
|
|
326
|
+
elif vendor_number == "18":
|
|
327
|
+
if family != f"openSUSE {family_template}":
|
|
328
|
+
yield LinterError(
|
|
329
|
+
f"script_oid() {is_using_reserved} openSUSE "
|
|
330
|
+
f"'{str(oid)}'",
|
|
331
|
+
file=nasl_file,
|
|
332
|
+
plugin=self.name,
|
|
333
|
+
)
|
|
334
|
+
return
|
|
327
335
|
|
|
328
336
|
else:
|
|
329
337
|
yield LinterError(
|
|
@@ -338,8 +346,8 @@ class CheckValidOID(FileContentPlugin):
|
|
|
338
346
|
|
|
339
347
|
# product-specific OIDs
|
|
340
348
|
if "1.3.6.1.4.1.25623.1.2." in oid:
|
|
341
|
-
|
|
342
|
-
name_match =
|
|
349
|
+
name_pattern = get_special_script_tag_pattern(SpecialScriptTag.NAME)
|
|
350
|
+
name_match = name_pattern.search(file_content)
|
|
343
351
|
if not name_match or not name_match.group("value"):
|
|
344
352
|
yield LinterError(
|
|
345
353
|
"VT is missing a script name!",
|
|
@@ -378,6 +386,32 @@ class CheckValidOID(FileContentPlugin):
|
|
|
378
386
|
|
|
379
387
|
return
|
|
380
388
|
|
|
389
|
+
# Fixed OID-scheme for Windows OIDs
|
|
390
|
+
if "1.3.6.1.4.1.25623.1.3." in oid:
|
|
391
|
+
if family_match.group("value") != windows_family_template:
|
|
392
|
+
yield LinterError(
|
|
393
|
+
f"script_oid() {is_using_reserved} 'Windows' ("
|
|
394
|
+
f"{str(oid)})",
|
|
395
|
+
file=nasl_file,
|
|
396
|
+
plugin=self.name,
|
|
397
|
+
)
|
|
398
|
+
return
|
|
399
|
+
|
|
400
|
+
windows_oid_match = re.search(
|
|
401
|
+
r"^1\.3\.6\.1\.4\.1\.25623\.1\.3\.\d+\.\d+\.\d+\.\d+",
|
|
402
|
+
oid,
|
|
403
|
+
)
|
|
404
|
+
if not windows_oid_match:
|
|
405
|
+
yield LinterError(
|
|
406
|
+
f"script_oid() {invalid_oid} '{str(oid)}' "
|
|
407
|
+
"(Windows pattern: 1.3.6.1.4.1.25623.1.3."
|
|
408
|
+
"[product_id].[platform_id].[kb_article_id].[fixed_build_number])",
|
|
409
|
+
file=nasl_file,
|
|
410
|
+
plugin=self.name,
|
|
411
|
+
)
|
|
412
|
+
return
|
|
413
|
+
return
|
|
414
|
+
|
|
381
415
|
oid_digit_match = re.search(
|
|
382
416
|
r"^1\.3\.6\.1\.4\.1\.25623\.1\.0\.([0-9]+)", oid
|
|
383
417
|
)
|
|
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-25.1.1 → troubadix-25.1.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-25.1.1 → troubadix-25.1.2}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.1.1 → troubadix-25.1.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-25.1.1 → troubadix-25.1.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
|
|
File without changes
|
{troubadix-25.1.1 → troubadix-25.1.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-25.1.1 → troubadix-25.1.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-25.1.1 → troubadix-25.1.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
|
|
File without changes
|
{troubadix-25.1.1 → troubadix-25.1.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-25.1.1 → troubadix-25.1.2}/troubadix/standalone_plugins/changed_packages/marker/marker.py
RENAMED
|
File without changes
|
{troubadix-25.1.1 → troubadix-25.1.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
|