troubadix 25.3.1__tar.gz → 25.3.3__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.
Files changed (221) hide show
  1. {troubadix-25.3.1 → troubadix-25.3.3}/PKG-INFO +1 -1
  2. {troubadix-25.3.1 → troubadix-25.3.3}/pyproject.toml +2 -2
  3. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_runner.py +10 -14
  4. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/__version__.py +1 -1
  5. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/__init__.py +42 -0
  6. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/grammar.py +1 -0
  7. {troubadix-25.3.1 → troubadix-25.3.3}/LICENSE +0 -0
  8. {troubadix-25.3.1 → troubadix-25.3.3}/README.md +0 -0
  9. {troubadix-25.3.1 → troubadix-25.3.3}/tests/__init__.py +0 -0
  10. {troubadix-25.3.1 → troubadix-25.3.3}/tests/helper/__init__.py +0 -0
  11. {troubadix-25.3.1 → troubadix-25.3.3}/tests/helper/test_linguistic_exception_handler.py +0 -0
  12. {troubadix-25.3.1 → troubadix-25.3.3}/tests/helper/test_patterns.py +0 -0
  13. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/__init__.py +0 -0
  14. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/fail.nasl +0 -0
  15. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/fail2.nasl +0 -0
  16. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test.nasl +0 -0
  17. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_badwords.py +0 -0
  18. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_copyright_text.py +0 -0
  19. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_copyright_year.py +0 -0
  20. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_creation_date.py +0 -0
  21. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_cve_format.py +0 -0
  22. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_cvss_format.py +0 -0
  23. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_dependencies.py +0 -0
  24. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_dependency_category_order.py +0 -0
  25. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_deprecated_dependency.py +0 -0
  26. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_deprecated_functions.py +0 -0
  27. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_double_end_points.py +0 -0
  28. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_duplicate_oid.py +0 -0
  29. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_duplicated_script_tags.py +0 -0
  30. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_encoding.py +0 -0
  31. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
  32. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_badwords.nasl +0 -0
  33. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
  34. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
  35. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_permissions.nasl +0 -0
  36. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/fail_spelling.nasl +0 -0
  37. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
  38. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
  39. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
  40. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
  41. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
  42. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
  43. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
  44. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
  45. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
  46. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
  47. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
  48. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/nasl/warning.nasl +0 -0
  49. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/ok_permissions.nasl +0 -0
  50. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_files/test_oid.nasl +0 -0
  51. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_forking_nasl_functions.py +0 -0
  52. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_get_kb_on_services.py +0 -0
  53. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_grammar.py +0 -0
  54. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_http_links_in_tags.py +0 -0
  55. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_illegal_characters.py +0 -0
  56. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_log_messages.py +0 -0
  57. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_malformed_dependencies.py +0 -0
  58. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
  59. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_missing_desc_exit.py +0 -0
  60. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_missing_tag_solution.py +0 -0
  61. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_multiple_re_parameters.py +0 -0
  62. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_newlines.py +0 -0
  63. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_overlong_description_lines.py +0 -0
  64. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_overlong_script_tags.py +0 -0
  65. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
  66. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_qod.py +0 -0
  67. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_reporting_consistency.py +0 -0
  68. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_add_preference_type.py +0 -0
  69. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_calls_empty_values.py +0 -0
  70. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_calls_recommended.py +0 -0
  71. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_category.py +0 -0
  72. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_copyright.py +0 -0
  73. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_family.py +0 -0
  74. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_tag_form.py +0 -0
  75. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_tag_whitespaces.py +0 -0
  76. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_tags_mandatory.py +0 -0
  77. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
  78. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_xref_form.py +0 -0
  79. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_script_xref_url.py +0 -0
  80. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_security_messages.py +0 -0
  81. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_set_get_kb_calls.py +0 -0
  82. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_solution_text.py +0 -0
  83. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_solution_type.py +0 -0
  84. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_spaces_before_dots.py +0 -0
  85. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_spaces_in_filename.py +0 -0
  86. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_spelling.py +0 -0
  87. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_tabs.py +0 -0
  88. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_todo_tbd.py +0 -0
  89. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
  90. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_using_display.py +0 -0
  91. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_valid_oid.py +0 -0
  92. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_valid_script_tag_names.py +0 -0
  93. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
  94. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_vt_file_permissions.py +0 -0
  95. {troubadix-25.3.1 → troubadix-25.3.3}/tests/plugins/test_vt_placement.py +0 -0
  96. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/__init__.py +0 -0
  97. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
  98. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
  99. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
  100. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
  101. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
  102. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
  103. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
  104. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
  105. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
  106. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/21.04/21_script.nasl +0 -0
  107. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/22.04/22_script.nasl +0 -0
  108. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/common/bar.nasl +0 -0
  109. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/common/foo.nasl +0 -0
  110. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/common/foobar.nasl +0 -0
  111. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/nasl/common/gsf/enterprise_script.nasl +0 -0
  112. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_changed_cves.py +0 -0
  113. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_changed_oid.py +0 -0
  114. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_dependency_graph.py +0 -0
  115. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
  116. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_file_extensions.py +0 -0
  117. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_last_modification.py +0 -0
  118. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_no_solution.py +0 -0
  119. {troubadix-25.3.1 → troubadix-25.3.3}/tests/standalone_plugins/test_version_updated.py +0 -0
  120. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_argparser.py +0 -0
  121. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_helper.py +0 -0
  122. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_naslinter.py +0 -0
  123. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_reporter.py +0 -0
  124. {troubadix-25.3.1 → troubadix-25.3.3}/tests/test_results.py +0 -0
  125. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/__init__.py +0 -0
  126. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/argparser.py +0 -0
  127. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/codespell/codespell.additions +0 -0
  128. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/codespell/codespell.exclude +0 -0
  129. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/codespell/codespell.ignore +0 -0
  130. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/helper/__init__.py +0 -0
  131. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/helper/helper.py +0 -0
  132. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/helper/linguistic_exception_handler.py +0 -0
  133. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/helper/patterns.py +0 -0
  134. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugin.py +0 -0
  135. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/badwords.py +0 -0
  136. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/copyright_text.py +0 -0
  137. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/copyright_year.py +0 -0
  138. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/creation_date.py +0 -0
  139. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/cve_format.py +0 -0
  140. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/cvss_format.py +0 -0
  141. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/dependencies.py +0 -0
  142. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/dependency_category_order.py +0 -0
  143. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/deprecated_dependency.py +0 -0
  144. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/deprecated_functions.py +0 -0
  145. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/double_end_points.py +0 -0
  146. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/duplicate_oid.py +0 -0
  147. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/duplicated_script_tags.py +0 -0
  148. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/encoding.py +0 -0
  149. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/forking_nasl_functions.py +0 -0
  150. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/get_kb_on_services.py +0 -0
  151. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/http_links_in_tags.py +0 -0
  152. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/illegal_characters.py +0 -0
  153. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/log_messages.py +0 -0
  154. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/malformed_dependencies.py +0 -0
  155. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
  156. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/missing_desc_exit.py +0 -0
  157. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/missing_tag_solution.py +0 -0
  158. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/multiple_re_parameters.py +0 -0
  159. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/newlines.py +0 -0
  160. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/overlong_description_lines.py +0 -0
  161. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/overlong_script_tags.py +0 -0
  162. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
  163. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/qod.py +0 -0
  164. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/reporting_consistency.py +0 -0
  165. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_add_preference_type.py +0 -0
  166. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_calls_empty_values.py +0 -0
  167. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_calls_recommended.py +0 -0
  168. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_category.py +0 -0
  169. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_copyright.py +0 -0
  170. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_family.py +0 -0
  171. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_tag_form.py +0 -0
  172. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_tag_whitespaces.py +0 -0
  173. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_tags_mandatory.py +0 -0
  174. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
  175. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_xref_form.py +0 -0
  176. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/script_xref_url.py +0 -0
  177. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/security_messages.py +0 -0
  178. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/set_get_kb_calls.py +0 -0
  179. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/solution_text.py +0 -0
  180. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/solution_type.py +0 -0
  181. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/spaces_before_dots.py +0 -0
  182. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/spaces_in_filename.py +0 -0
  183. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/spelling.py +0 -0
  184. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/tabs.py +0 -0
  185. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/todo_tbd.py +0 -0
  186. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
  187. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/using_display.py +0 -0
  188. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/valid_oid.py +0 -0
  189. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/valid_script_tag_names.py +0 -0
  190. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/variable_assigned_in_if.py +0 -0
  191. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
  192. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/vt_file_permissions.py +0 -0
  193. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/plugins/vt_placement.py +0 -0
  194. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/reporter.py +0 -0
  195. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/results.py +0 -0
  196. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/runner.py +0 -0
  197. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/__init__.py +0 -0
  198. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
  199. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_cves.py +0 -0
  200. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_oid.py +0 -0
  201. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
  202. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
  203. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
  204. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
  205. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
  206. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
  207. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
  208. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
  209. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
  210. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/common.py +0 -0
  211. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/dependency_graph/__init__.py +0 -0
  212. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/dependency_graph/checks.py +0 -0
  213. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/dependency_graph/cli.py +0 -0
  214. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/dependency_graph/dependency_graph.py +0 -0
  215. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/dependency_graph/models.py +0 -0
  216. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
  217. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/file_extensions.py +0 -0
  218. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/last_modification.py +0 -0
  219. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/no_solution.py +0 -0
  220. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/standalone_plugins/version_updated.py +0 -0
  221. {troubadix-25.3.1 → troubadix-25.3.3}/troubadix/troubadix.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: troubadix
3
- Version: 25.3.1
3
+ Version: 25.3.3
4
4
  Summary: A linting and QA check tool for NASL files
5
5
  License: GPL-3.0-or-later
6
6
  Author: Greenbone
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "troubadix"
3
- version = "25.3.1"
3
+ version = "25.3.3"
4
4
  description = "A linting and QA check tool for NASL files"
5
5
  authors = ["Greenbone <info@greenbone.net>"]
6
6
  license = "GPL-3.0-or-later"
@@ -37,7 +37,7 @@ networkx = "^3.4.2"
37
37
  [tool.poetry.group.dev.dependencies]
38
38
  autohooks = ">=21.7.0"
39
39
  autohooks-plugin-black = ">=21.12.0"
40
- ruff = ">=0.5.6,<0.10.0"
40
+ ruff = ">=0.5.6,<0.12.0"
41
41
  autohooks-plugin-ruff = ">=24.1,<26.0"
42
42
 
43
43
  [tool.black]
@@ -35,7 +35,7 @@ from troubadix.plugins.script_version_and_last_modification_tags import (
35
35
  CheckScriptVersionAndLastModificationTags,
36
36
  )
37
37
  from troubadix.reporter import Reporter
38
- from troubadix.runner import Runner, TroubadixException
38
+ from troubadix.runner import Runner
39
39
 
40
40
  _here = Path(__file__).parent
41
41
 
@@ -61,7 +61,7 @@ class TestRunner(unittest.TestCase):
61
61
  def test_runner_with_excluded_plugins(self):
62
62
  excluded_plugins = [
63
63
  "CheckBadwords",
64
- "CheckCopyRightYearPlugin",
64
+ "CheckCopyrightYear",
65
65
  ]
66
66
  included_plugins = [
67
67
  plugin.__name__
@@ -342,18 +342,14 @@ class TestRunner(unittest.TestCase):
342
342
  # revert changes for the next time
343
343
  nasl_file.write_text(content, encoding=CURRENT_ENCODING)
344
344
 
345
- def test_no_plugins(self):
346
- runner = Runner(
347
- n_jobs=1,
348
- reporter=self._reporter,
349
- included_plugins=["foo"],
350
- root=self.root,
351
- )
352
-
353
- nasl_file = _here / "plugins" / "test.nasl"
354
-
355
- with self.assertRaises(TroubadixException):
356
- runner.run([nasl_file])
345
+ def test_unknown_plugins(self):
346
+ with self.assertRaisesRegex(ValueError, "Unknown plugins: 'foo'"):
347
+ Runner(
348
+ n_jobs=1,
349
+ reporter=self._reporter,
350
+ included_plugins=["foo"],
351
+ root=self.root,
352
+ )
357
353
 
358
354
  def test_runner_log_file(self):
359
355
  included_plugins = [
@@ -2,4 +2,4 @@
2
2
 
3
3
  # THIS IS AN AUTOGENERATED FILE. DO NOT TOUCH!
4
4
 
5
- __version__ = "25.3.1"
5
+ __version__ = "25.3.3"
@@ -15,6 +15,7 @@
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 difflib
18
19
  from typing import Iterable, List
19
20
 
20
21
  from troubadix.plugin import FilePlugin, FilesPlugin, Plugin
@@ -175,13 +176,22 @@ class StandardPlugins(Plugins):
175
176
  ) -> None:
176
177
  file_plugins = _FILE_PLUGINS
177
178
  files_plugins = _FILES_PLUGINS
179
+
178
180
  if excluded_plugins:
181
+ self._check_unknown_plugins(
182
+ _FILE_PLUGINS + _FILES_PLUGINS, excluded_plugins
183
+ )
184
+
179
185
  file_plugins = self._exclude_plugins(excluded_plugins, file_plugins)
180
186
  files_plugins = self._exclude_plugins(
181
187
  excluded_plugins, files_plugins
182
188
  )
183
189
 
184
190
  if included_plugins:
191
+ self._check_unknown_plugins(
192
+ _FILE_PLUGINS + _FILES_PLUGINS, included_plugins
193
+ )
194
+
185
195
  file_plugins = self._include_plugins(included_plugins, file_plugins)
186
196
  files_plugins = self._include_plugins(
187
197
  included_plugins, files_plugins
@@ -208,3 +218,35 @@ class StandardPlugins(Plugins):
208
218
  for plugin in plugins
209
219
  if plugin.__name__ in included or plugin.name in included
210
220
  ]
221
+
222
+ @staticmethod
223
+ def _check_unknown_plugins(found_plugins, selected_plugins):
224
+ if len(found_plugins) == len(selected_plugins):
225
+ return
226
+
227
+ all_plugin_names = {
228
+ name
229
+ for plugin in _FILE_PLUGINS + _FILES_PLUGINS
230
+ for name in (plugin.name, plugin.__name__)
231
+ }
232
+ found_plugin_names = {
233
+ name
234
+ for plugin in found_plugins
235
+ for name in (plugin.name, plugin.__name__)
236
+ }
237
+
238
+ unknown_plugins = set(selected_plugins).difference(found_plugin_names)
239
+
240
+ if not unknown_plugins:
241
+ return
242
+
243
+ messages = []
244
+ for plugin in sorted(unknown_plugins):
245
+ message = f"'{plugin}'"
246
+ match = difflib.get_close_matches(plugin, all_plugin_names, n=1)
247
+ if match:
248
+ message += f" (Did you mean '{match[0]}'?)"
249
+
250
+ messages.append(message)
251
+
252
+ raise ValueError(f"Unknown plugins: {', '.join(messages)}")
@@ -34,6 +34,7 @@ exceptions = [
34
34
  TextCheck("Multiple '/' Vulnerability"),
35
35
  TextCheck("an attackers choise"),
36
36
  TextCheck("multiple error handling vulnerabilities"),
37
+ TextCheck("multiple error messages"),
37
38
  # Like seen in 2022/debian/deb_dla_2981.nasl
38
39
  TextCheck("a multiple concurrency"),
39
40
  # From 2008/debian/deb_1017_1.nasl
File without changes
File without changes
File without changes