troubadix 24.9.1__tar.gz → 24.9.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 (207) hide show
  1. {troubadix-24.9.1 → troubadix-24.9.3}/PKG-INFO +1 -1
  2. {troubadix-24.9.1 → troubadix-24.9.3}/pyproject.toml +1 -1
  3. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_qod.py +12 -14
  4. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/__version__.py +1 -1
  5. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/qod.py +33 -23
  6. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/reporting_consistency.py +1 -1
  7. {troubadix-24.9.1 → troubadix-24.9.3}/LICENSE +0 -0
  8. {troubadix-24.9.1 → troubadix-24.9.3}/README.md +0 -0
  9. {troubadix-24.9.1 → troubadix-24.9.3}/tests/__init__.py +0 -0
  10. {troubadix-24.9.1 → troubadix-24.9.3}/tests/helper/__init__.py +0 -0
  11. {troubadix-24.9.1 → troubadix-24.9.3}/tests/helper/test_linguistic_exception_handler.py +0 -0
  12. {troubadix-24.9.1 → troubadix-24.9.3}/tests/helper/test_patterns.py +0 -0
  13. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/__init__.py +0 -0
  14. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/fail.nasl +0 -0
  15. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/fail2.nasl +0 -0
  16. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test.nasl +0 -0
  17. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_badwords.py +0 -0
  18. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_copyright_text.py +0 -0
  19. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_copyright_year.py +0 -0
  20. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_creation_date.py +0 -0
  21. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_cve_format.py +0 -0
  22. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_cvss_format.py +0 -0
  23. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_dependencies.py +0 -0
  24. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_dependency_category_order.py +0 -0
  25. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_deprecated_dependency.py +0 -0
  26. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_deprecated_functions.py +0 -0
  27. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_double_end_points.py +0 -0
  28. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_duplicate_oid.py +0 -0
  29. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_duplicated_script_tags.py +0 -0
  30. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_encoding.py +0 -0
  31. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
  32. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_badwords.nasl +0 -0
  33. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
  34. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
  35. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_permissions.nasl +0 -0
  36. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/fail_spelling.nasl +0 -0
  37. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
  38. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
  39. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
  40. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
  41. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
  42. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
  43. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
  44. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
  45. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
  46. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
  47. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
  48. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/nasl/warning.nasl +0 -0
  49. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/ok_permissions.nasl +0 -0
  50. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_files/test_oid.nasl +0 -0
  51. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_forking_nasl_functions.py +0 -0
  52. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_get_kb_on_services.py +0 -0
  53. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_grammar.py +0 -0
  54. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_http_links_in_tags.py +0 -0
  55. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_illegal_characters.py +0 -0
  56. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_log_messages.py +0 -0
  57. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_malformed_dependencies.py +0 -0
  58. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
  59. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_missing_desc_exit.py +0 -0
  60. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_missing_tag_solution.py +0 -0
  61. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_multiple_re_parameters.py +0 -0
  62. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_newlines.py +0 -0
  63. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_overlong_description_lines.py +0 -0
  64. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_overlong_script_tags.py +0 -0
  65. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
  66. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_reporting_consistency.py +0 -0
  67. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_add_preference_type.py +0 -0
  68. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_calls_empty_values.py +0 -0
  69. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_calls_recommended.py +0 -0
  70. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_category.py +0 -0
  71. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_copyright.py +0 -0
  72. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_family.py +0 -0
  73. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_tag_form.py +0 -0
  74. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_tag_whitespaces.py +0 -0
  75. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_tags_mandatory.py +0 -0
  76. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
  77. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_xref_form.py +0 -0
  78. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_script_xref_url.py +0 -0
  79. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_security_messages.py +0 -0
  80. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_set_get_kb_calls.py +0 -0
  81. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_solution_text.py +0 -0
  82. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_solution_type.py +0 -0
  83. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_spaces_in_filename.py +0 -0
  84. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_spelling.py +0 -0
  85. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_tabs.py +0 -0
  86. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_todo_tbd.py +0 -0
  87. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
  88. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_using_display.py +0 -0
  89. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_valid_oid.py +0 -0
  90. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_valid_script_tag_names.py +0 -0
  91. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
  92. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_vt_file_permissions.py +0 -0
  93. {troubadix-24.9.1 → troubadix-24.9.3}/tests/plugins/test_vt_placement.py +0 -0
  94. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/__init__.py +0 -0
  95. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
  96. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
  97. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
  98. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
  99. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
  100. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
  101. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
  102. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
  103. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
  104. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_changed_cves.py +0 -0
  105. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_changed_oid.py +0 -0
  106. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
  107. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_file_extensions.py +0 -0
  108. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_last_modification.py +0 -0
  109. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_no_solution.py +0 -0
  110. {troubadix-24.9.1 → troubadix-24.9.3}/tests/standalone_plugins/test_version_updated.py +0 -0
  111. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_argparser.py +0 -0
  112. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_helper.py +0 -0
  113. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_naslinter.py +0 -0
  114. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_reporter.py +0 -0
  115. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_results.py +0 -0
  116. {troubadix-24.9.1 → troubadix-24.9.3}/tests/test_runner.py +0 -0
  117. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/__init__.py +0 -0
  118. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/argparser.py +0 -0
  119. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/codespell/codespell.additions +0 -0
  120. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/codespell/codespell.exclude +0 -0
  121. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/codespell/codespell.ignore +0 -0
  122. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/helper/__init__.py +0 -0
  123. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/helper/helper.py +0 -0
  124. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/helper/linguistic_exception_handler.py +0 -0
  125. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/helper/patterns.py +0 -0
  126. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugin.py +0 -0
  127. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/__init__.py +0 -0
  128. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/badwords.py +0 -0
  129. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/copyright_text.py +0 -0
  130. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/copyright_year.py +0 -0
  131. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/creation_date.py +0 -0
  132. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/cve_format.py +0 -0
  133. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/cvss_format.py +0 -0
  134. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/dependencies.py +0 -0
  135. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/dependency_category_order.py +0 -0
  136. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/deprecated_dependency.py +0 -0
  137. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/deprecated_functions.py +0 -0
  138. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/double_end_points.py +0 -0
  139. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/duplicate_oid.py +0 -0
  140. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/duplicated_script_tags.py +0 -0
  141. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/encoding.py +0 -0
  142. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/forking_nasl_functions.py +0 -0
  143. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/get_kb_on_services.py +0 -0
  144. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/grammar.py +0 -0
  145. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/http_links_in_tags.py +0 -0
  146. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/illegal_characters.py +0 -0
  147. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/log_messages.py +0 -0
  148. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/malformed_dependencies.py +0 -0
  149. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
  150. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/missing_desc_exit.py +0 -0
  151. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/missing_tag_solution.py +0 -0
  152. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/multiple_re_parameters.py +0 -0
  153. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/newlines.py +0 -0
  154. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/overlong_description_lines.py +0 -0
  155. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/overlong_script_tags.py +0 -0
  156. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
  157. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_add_preference_type.py +0 -0
  158. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_calls_empty_values.py +0 -0
  159. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_calls_recommended.py +0 -0
  160. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_category.py +0 -0
  161. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_copyright.py +0 -0
  162. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_family.py +0 -0
  163. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_tag_form.py +0 -0
  164. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_tag_whitespaces.py +0 -0
  165. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_tags_mandatory.py +0 -0
  166. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
  167. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_xref_form.py +0 -0
  168. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/script_xref_url.py +0 -0
  169. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/security_messages.py +0 -0
  170. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/set_get_kb_calls.py +0 -0
  171. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/solution_text.py +0 -0
  172. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/solution_type.py +0 -0
  173. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/spaces_in_filename.py +0 -0
  174. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/spelling.py +0 -0
  175. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/tabs.py +0 -0
  176. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/todo_tbd.py +0 -0
  177. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
  178. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/using_display.py +0 -0
  179. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/valid_oid.py +0 -0
  180. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/valid_script_tag_names.py +0 -0
  181. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/variable_assigned_in_if.py +0 -0
  182. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
  183. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/vt_file_permissions.py +0 -0
  184. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/plugins/vt_placement.py +0 -0
  185. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/reporter.py +0 -0
  186. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/results.py +0 -0
  187. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/runner.py +0 -0
  188. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/__init__.py +0 -0
  189. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
  190. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_cves.py +0 -0
  191. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_oid.py +0 -0
  192. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
  193. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
  194. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
  195. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
  196. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
  197. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
  198. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
  199. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
  200. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
  201. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/common.py +0 -0
  202. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
  203. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/file_extensions.py +0 -0
  204. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/last_modification.py +0 -0
  205. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/no_solution.py +0 -0
  206. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/standalone_plugins/version_updated.py +0 -0
  207. {troubadix-24.9.1 → troubadix-24.9.3}/troubadix/troubadix.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: troubadix
3
- Version: 24.9.1
3
+ Version: 24.9.3
4
4
  Summary: A linting and QA check tool for NASL files
5
5
  Home-page: https://github.com/greenbone/troubadix
6
6
  License: GPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "troubadix"
3
- version = "24.9.1"
3
+ version = "24.9.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"
@@ -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 test_wrong_qod_num_str(self):
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");: \'foo\' is an invalid QoD'
102
- " number value. Allowed are"
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 test_wrong_qod_num_int(self):
108
- content = ' script_tag(name:"qod", value:2);\n'
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
- "script_tag(name:\"qod\", value:2);: '2' is an invalid QoD"
119
- " number value. Allowed are"
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 test_wrong_qod_type(self):
125
- content = ' script_tag(name:"qod_type", value:"foo");\n'
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:"qod_type", value:"foo");: \'foo\' is an invalid'
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
  )
@@ -2,4 +2,4 @@
2
2
 
3
3
  # THIS IS AN AUTOGENERATED FILE. DO NOT TOUCH!
4
4
 
5
- __version__ = "24.9.1"
5
+ __version__ = "24.9.3"
@@ -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(qod_pattern.finditer(file_content))
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
- try:
93
- qod = int(match.group("value"))
94
- if qod not in VALID_QOD_NUM_VALUES:
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"{match.group(0)}: '{qod}' is an invalid QoD number"
97
- " value. Allowed are"
98
- f" {', '.join(str(x) for x in VALID_QOD_NUM_VALUES)}",
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
- except ValueError:
114
+ else:
103
115
  yield LinterError(
104
- f"{match.group(0)}: '{match.group('value')}' is an invalid"
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
  )
@@ -46,7 +46,7 @@ IGNORE_FILES = [
46
46
  "2018/gb_unquoted_path_vulnerabilities_win.nasl",
47
47
  "2009/remote-net-hub-3com.nasl",
48
48
  "2015/gb_vnc_brute_force.nasl",
49
- "2012/gb_secpod_ssl_ciphers_weak_report.nasl",
49
+ "2012/gb_ssl_tls_ciphers_weak_report.nasl",
50
50
  "GSHB/GSHB_Kompendium.nasl",
51
51
  "/policy_control_template.nasl",
52
52
  "/template.nasl",
File without changes
File without changes
File without changes