troubadix 25.2.4__tar.gz → 25.3.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-25.2.4 → troubadix-25.3.0}/PKG-INFO +1 -1
- {troubadix-25.2.4 → troubadix-25.3.0}/pyproject.toml +1 -1
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_creation_date.py +40 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/__version__.py +1 -1
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/creation_date.py +49 -35
- {troubadix-25.2.4 → troubadix-25.3.0}/LICENSE +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/README.md +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/helper/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/helper/test_patterns.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/fail.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/fail2.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_badwords.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_encoding.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_grammar.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_newlines.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_qod.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_category.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_family.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_spaces_before_dots.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_spelling.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_tabs.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_using_display.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_changed_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_argparser.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_helper.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_naslinter.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_reporter.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_results.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/tests/test_runner.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/argparser.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/codespell/codespell.additions +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/codespell/codespell.exclude +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/helper/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/helper/helper.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/helper/patterns.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugin.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/badwords.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/encoding.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/grammar.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/newlines.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/qod.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_category.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_family.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/spaces_before_dots.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/spelling.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/tabs.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/using_display.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/reporter.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/results.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/runner.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-25.2.4 → troubadix-25.3.0}/troubadix/troubadix.py +0 -0
|
@@ -153,3 +153,43 @@ class CheckCreationDateTestCase(PluginTestCase):
|
|
|
153
153
|
"False or incorrectly formatted creation_date.",
|
|
154
154
|
results[0].message,
|
|
155
155
|
)
|
|
156
|
+
|
|
157
|
+
def test_creation_date_greater_than_last_modification(self):
|
|
158
|
+
path = Path("some/file.nasl")
|
|
159
|
+
content = (
|
|
160
|
+
' script_tag(name:"creation_date", value:"2025-01-01 00:00:01 '
|
|
161
|
+
'+0200 (Wed, 01 Jan 2025)");\n'
|
|
162
|
+
' script_tag(name:"last_modification", value:"2025-01-01 00:00:00 '
|
|
163
|
+
'+0200 (Wed, 01 Jan 2025)");\n'
|
|
164
|
+
)
|
|
165
|
+
fake_context = self.create_file_plugin_context(
|
|
166
|
+
nasl_file=path, file_content=content
|
|
167
|
+
)
|
|
168
|
+
plugin = CheckCreationDate(fake_context)
|
|
169
|
+
|
|
170
|
+
results = list(plugin.run())
|
|
171
|
+
|
|
172
|
+
self.assertEqual(len(results), 1)
|
|
173
|
+
|
|
174
|
+
self.assertIsInstance(results[0], LinterError)
|
|
175
|
+
self.assertEqual(
|
|
176
|
+
"The creation_date must not be greater than the last modification date.",
|
|
177
|
+
results[0].message,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
def test_creation_date_equal_last_modification(self):
|
|
181
|
+
path = Path("some/file.nasl")
|
|
182
|
+
content = (
|
|
183
|
+
' script_tag(name:"creation_date", value:"2025-01-01 00:00:00 '
|
|
184
|
+
'+0200 (Wed, 01 Jan 2025)");\n'
|
|
185
|
+
' script_tag(name:"last_modification", value:"2025-01-01 00:00:00 '
|
|
186
|
+
'+0200 (Wed, 01 Jan 2025)");\n'
|
|
187
|
+
)
|
|
188
|
+
fake_context = self.create_file_plugin_context(
|
|
189
|
+
nasl_file=path, file_content=content
|
|
190
|
+
)
|
|
191
|
+
plugin = CheckCreationDate(fake_context)
|
|
192
|
+
|
|
193
|
+
results = list(plugin.run())
|
|
194
|
+
|
|
195
|
+
self.assertEqual(len(results), 0)
|
|
@@ -52,45 +52,59 @@ class CheckCreationDate(FileContentPlugin):
|
|
|
52
52
|
# Example: "2017-11-29 13:56:41 +0100 (Wed, 29 Nov 2017)"
|
|
53
53
|
match = tag_pattern.search(file_content)
|
|
54
54
|
|
|
55
|
-
if match:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
match.group("value")[27:43], "%a, %d %b %Y"
|
|
63
|
-
)
|
|
64
|
-
week_day_parsed = date_right.strftime("%a")
|
|
65
|
-
except ValueError:
|
|
66
|
-
yield LinterError(
|
|
67
|
-
"False or incorrectly formatted creation_date.",
|
|
68
|
-
file=nasl_file,
|
|
69
|
-
plugin=self.name,
|
|
70
|
-
)
|
|
71
|
-
return
|
|
55
|
+
if not match:
|
|
56
|
+
yield LinterError(
|
|
57
|
+
"False or incorrectly formatted creation_date.",
|
|
58
|
+
file=nasl_file,
|
|
59
|
+
plugin=self.name,
|
|
60
|
+
)
|
|
61
|
+
return
|
|
72
62
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
formatted_date = week_day_parsed
|
|
84
|
-
yield LinterError(
|
|
85
|
-
f"Wrong day of week. Please change it from '{week_day_str}"
|
|
86
|
-
f"' to '{formatted_date}'.",
|
|
87
|
-
file=nasl_file,
|
|
88
|
-
plugin=self.name,
|
|
89
|
-
)
|
|
90
|
-
else:
|
|
63
|
+
try:
|
|
64
|
+
date_left = datetime.strptime(
|
|
65
|
+
match.group("value")[:25], "%Y-%m-%d %H:%M:%S %z"
|
|
66
|
+
)
|
|
67
|
+
# 2017-11-29 13:56:41 +0100 (error if no timezone)
|
|
68
|
+
date_right = datetime.strptime(
|
|
69
|
+
match.group("value")[27:43], "%a, %d %b %Y"
|
|
70
|
+
)
|
|
71
|
+
week_day_parsed = date_right.strftime("%a")
|
|
72
|
+
except ValueError:
|
|
91
73
|
yield LinterError(
|
|
92
74
|
"False or incorrectly formatted creation_date.",
|
|
93
75
|
file=nasl_file,
|
|
94
76
|
plugin=self.name,
|
|
95
77
|
)
|
|
96
78
|
return
|
|
79
|
+
|
|
80
|
+
week_day_str = match.group("value")[27:30]
|
|
81
|
+
# Wed, 29 Nov 2017
|
|
82
|
+
if date_left.date() != date_right.date():
|
|
83
|
+
yield LinterError(
|
|
84
|
+
"The creation_date consists of two different dates.",
|
|
85
|
+
file=nasl_file,
|
|
86
|
+
plugin=self.name,
|
|
87
|
+
)
|
|
88
|
+
# Check correct weekday
|
|
89
|
+
elif week_day_str != week_day_parsed:
|
|
90
|
+
formatted_date = week_day_parsed
|
|
91
|
+
yield LinterError(
|
|
92
|
+
f"Wrong day of week. Please change it from '{week_day_str}"
|
|
93
|
+
f"' to '{formatted_date}'.",
|
|
94
|
+
file=nasl_file,
|
|
95
|
+
plugin=self.name,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
last_modification_pattern = get_script_tag_pattern(
|
|
99
|
+
ScriptTag.LAST_MODIFICATION
|
|
100
|
+
)
|
|
101
|
+
if match := last_modification_pattern.search(file_content):
|
|
102
|
+
last_modification = datetime.strptime(
|
|
103
|
+
match.group("value")[:25], "%Y-%m-%d %H:%M:%S %z"
|
|
104
|
+
)
|
|
105
|
+
if date_left > last_modification:
|
|
106
|
+
yield LinterError(
|
|
107
|
+
"The creation_date must not be greater than the last modification date.",
|
|
108
|
+
file=nasl_file,
|
|
109
|
+
plugin=self.name,
|
|
110
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.2.4 → troubadix-25.3.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-25.2.4 → troubadix-25.3.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.2.4 → troubadix-25.3.0}/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.2.4 → troubadix-25.3.0}/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
|
|
File without changes
|
{troubadix-25.2.4 → troubadix-25.3.0}/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.2.4 → troubadix-25.3.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
|
|
File without changes
|
|
File without changes
|
{troubadix-25.2.4 → troubadix-25.3.0}/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-25.2.4 → troubadix-25.3.0}/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
|
|
File without changes
|
{troubadix-25.2.4 → troubadix-25.3.0}/troubadix/standalone_plugins/changed_packages/marker/marker.py
RENAMED
|
File without changes
|
{troubadix-25.2.4 → troubadix-25.3.0}/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
|