troubadix 25.12.0__tar.gz → 25.12.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.
Files changed (243) hide show
  1. {troubadix-25.12.0 → troubadix-25.12.2}/PKG-INFO +1 -1
  2. {troubadix-25.12.0 → troubadix-25.12.2}/pyproject.toml +1 -1
  3. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_grammar.py +28 -0
  4. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/__version__.py +1 -1
  5. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/codespell/codespell.additions +1 -0
  6. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/codespell/codespell.exclude +1 -0
  7. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/grammar.py +4 -0
  8. {troubadix-25.12.0 → troubadix-25.12.2}/LICENSE +0 -0
  9. {troubadix-25.12.0 → troubadix-25.12.2}/README.md +0 -0
  10. {troubadix-25.12.0 → troubadix-25.12.2}/tests/__init__.py +0 -0
  11. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/__init__.py +0 -0
  12. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_date_format.py +0 -0
  13. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_if_block_parser.py +0 -0
  14. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_linguistic_exception_handler.py +0 -0
  15. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_patterns.py +0 -0
  16. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_remove_comments.py +0 -0
  17. {troubadix-25.12.0 → troubadix-25.12.2}/tests/helper/test_text_utils.py +0 -0
  18. {troubadix-25.12.0 → troubadix-25.12.2}/tests/manual_tests/comment_removal_diff.py +0 -0
  19. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/__init__.py +0 -0
  20. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/fail.nasl +0 -0
  21. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/fail2.nasl +0 -0
  22. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test.nasl +0 -0
  23. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_badwords.py +0 -0
  24. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_copyright_text.py +0 -0
  25. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_copyright_year.py +0 -0
  26. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_creation_date.py +0 -0
  27. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_cve_format.py +0 -0
  28. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_cvss_format.py +0 -0
  29. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_dependencies.py +0 -0
  30. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_dependency_category_order.py +0 -0
  31. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_deprecated_dependency.py +0 -0
  32. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_deprecated_functions.py +0 -0
  33. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_double_end_points.py +0 -0
  34. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_duplicate_oid.py +0 -0
  35. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_duplicated_script_tags.py +0 -0
  36. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_encoding.py +0 -0
  37. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
  38. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_badwords.nasl +0 -0
  39. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
  40. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
  41. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_permissions.nasl +0 -0
  42. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/fail_spelling.nasl +0 -0
  43. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
  44. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
  45. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
  46. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
  47. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
  48. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
  49. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
  50. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
  51. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
  52. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
  53. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
  54. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/nasl/warning.nasl +0 -0
  55. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/ok_permissions.nasl +0 -0
  56. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_files/test_oid.nasl +0 -0
  57. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_forking_nasl_functions.py +0 -0
  58. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_get_kb_on_services.py +0 -0
  59. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_http_links_in_tags.py +0 -0
  60. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_if_statement_syntax.py +0 -0
  61. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_illegal_characters.py +0 -0
  62. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_log_messages.py +0 -0
  63. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_malformed_dependencies.py +0 -0
  64. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
  65. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_missing_desc_exit.py +0 -0
  66. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_missing_tag_solution.py +0 -0
  67. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_multiple_re_parameters.py +0 -0
  68. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_newlines.py +0 -0
  69. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_overlong_description_lines.py +0 -0
  70. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_overlong_script_tags.py +0 -0
  71. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
  72. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_qod.py +0 -0
  73. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_reporting_consistency.py +0 -0
  74. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_add_preference_id.py +0 -0
  75. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_add_preference_type.py +0 -0
  76. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_calls_empty_values.py +0 -0
  77. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_calls_recommended.py +0 -0
  78. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_category.py +0 -0
  79. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_copyright.py +0 -0
  80. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_family.py +0 -0
  81. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_tag_form.py +0 -0
  82. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_tag_whitespaces.py +0 -0
  83. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_tags_mandatory.py +0 -0
  84. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
  85. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_xref_form.py +0 -0
  86. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_script_xref_url.py +0 -0
  87. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_security_messages.py +0 -0
  88. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_set_get_kb_calls.py +0 -0
  89. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_severity_date.py +0 -0
  90. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_severity_format.py +0 -0
  91. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_severity_origin.py +0 -0
  92. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_solution_text.py +0 -0
  93. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_solution_type.py +0 -0
  94. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_spaces_before_dots.py +0 -0
  95. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_spaces_in_filename.py +0 -0
  96. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_spelling.py +0 -0
  97. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_tabs.py +0 -0
  98. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_todo_tbd.py +0 -0
  99. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
  100. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_using_display.py +0 -0
  101. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_valid_oid.py +0 -0
  102. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_valid_script_tag_names.py +0 -0
  103. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
  104. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_vt_file_permissions.py +0 -0
  105. {troubadix-25.12.0 → troubadix-25.12.2}/tests/plugins/test_vt_placement.py +0 -0
  106. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/__init__.py +0 -0
  107. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
  108. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
  109. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
  110. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
  111. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
  112. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
  113. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
  114. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
  115. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
  116. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/21.04/21_script.nasl +0 -0
  117. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/22.04/22_script.nasl +0 -0
  118. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/common/bar.nasl +0 -0
  119. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/common/foo.nasl +0 -0
  120. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/common/foobar.nasl +0 -0
  121. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/nasl/common/gsf/enterprise_script.nasl +0 -0
  122. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_changed_creation_date.py +0 -0
  123. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_changed_cves.py +0 -0
  124. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_changed_oid.py +0 -0
  125. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_dependency_graph.py +0 -0
  126. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
  127. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_file_extensions.py +0 -0
  128. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_last_modification.py +0 -0
  129. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_no_solution.py +0 -0
  130. {troubadix-25.12.0 → troubadix-25.12.2}/tests/standalone_plugins/test_version_updated.py +0 -0
  131. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_argparser.py +0 -0
  132. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_helper.py +0 -0
  133. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_naslinter.py +0 -0
  134. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_reporter.py +0 -0
  135. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_results.py +0 -0
  136. {troubadix-25.12.0 → troubadix-25.12.2}/tests/test_runner.py +0 -0
  137. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/__init__.py +0 -0
  138. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/argparser.py +0 -0
  139. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/codespell/codespell.ignore +0 -0
  140. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/__init__.py +0 -0
  141. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/date_format.py +0 -0
  142. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/helper.py +0 -0
  143. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/if_block_parser.py +0 -0
  144. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/linguistic_exception_handler.py +0 -0
  145. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/patterns.py +0 -0
  146. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/remove_comments.py +0 -0
  147. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/helper/text_utils.py +0 -0
  148. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugin.py +0 -0
  149. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/__init__.py +0 -0
  150. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/badwords.py +0 -0
  151. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/copyright_text.py +0 -0
  152. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/copyright_year.py +0 -0
  153. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/creation_date.py +0 -0
  154. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/cve_format.py +0 -0
  155. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/cvss_format.py +0 -0
  156. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/dependencies.py +0 -0
  157. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/dependency_category_order.py +0 -0
  158. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/deprecated_dependency.py +0 -0
  159. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/deprecated_functions.py +0 -0
  160. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/double_end_points.py +0 -0
  161. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/duplicate_oid.py +0 -0
  162. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/duplicated_script_tags.py +0 -0
  163. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/encoding.py +0 -0
  164. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/forking_nasl_functions.py +0 -0
  165. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/get_kb_on_services.py +0 -0
  166. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/http_links_in_tags.py +0 -0
  167. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/if_statement_syntax.py +0 -0
  168. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/illegal_characters.py +0 -0
  169. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/log_messages.py +0 -0
  170. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/malformed_dependencies.py +0 -0
  171. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
  172. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/missing_desc_exit.py +0 -0
  173. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/missing_tag_solution.py +0 -0
  174. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/multiple_re_parameters.py +0 -0
  175. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/newlines.py +0 -0
  176. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/overlong_description_lines.py +0 -0
  177. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/overlong_script_tags.py +0 -0
  178. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
  179. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/qod.py +0 -0
  180. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/reporting_consistency.py +0 -0
  181. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_add_preference_id.py +0 -0
  182. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_add_preference_type.py +0 -0
  183. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_calls_empty_values.py +0 -0
  184. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_calls_recommended.py +0 -0
  185. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_category.py +0 -0
  186. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_copyright.py +0 -0
  187. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_family.py +0 -0
  188. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_tag_form.py +0 -0
  189. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_tag_whitespaces.py +0 -0
  190. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_tags_mandatory.py +0 -0
  191. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
  192. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_xref_form.py +0 -0
  193. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/script_xref_url.py +0 -0
  194. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/security_messages.py +0 -0
  195. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/set_get_kb_calls.py +0 -0
  196. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/severity_date.py +0 -0
  197. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/severity_format.py +0 -0
  198. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/severity_origin.py +0 -0
  199. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/solution_text.py +0 -0
  200. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/solution_type.py +0 -0
  201. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/spaces_before_dots.py +0 -0
  202. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/spaces_in_filename.py +0 -0
  203. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/spelling.py +0 -0
  204. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/tabs.py +0 -0
  205. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/todo_tbd.py +0 -0
  206. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
  207. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/using_display.py +0 -0
  208. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/valid_oid.py +0 -0
  209. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/valid_script_tag_names.py +0 -0
  210. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/variable_assigned_in_if.py +0 -0
  211. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
  212. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/vt_file_permissions.py +0 -0
  213. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/plugins/vt_placement.py +0 -0
  214. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/reporter.py +0 -0
  215. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/results.py +0 -0
  216. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/runner.py +0 -0
  217. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/__init__.py +0 -0
  218. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
  219. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_creation_date.py +0 -0
  220. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_cves.py +0 -0
  221. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_oid.py +0 -0
  222. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
  223. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
  224. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
  225. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
  226. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
  227. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
  228. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
  229. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
  230. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
  231. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/common.py +0 -0
  232. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/dependency_graph/__init__.py +0 -0
  233. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/dependency_graph/checks.py +0 -0
  234. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/dependency_graph/cli.py +0 -0
  235. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/dependency_graph/dependency_graph.py +0 -0
  236. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/dependency_graph/models.py +0 -0
  237. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
  238. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/file_extensions.py +0 -0
  239. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/last_modification.py +0 -0
  240. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/no_solution.py +0 -0
  241. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/util.py +0 -0
  242. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/standalone_plugins/version_updated.py +0 -0
  243. {troubadix-25.12.0 → troubadix-25.12.2}/troubadix/troubadix.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: troubadix
3
- Version: 25.12.0
3
+ Version: 25.12.2
4
4
  Summary: A linting and QA check tool for NASL files
5
5
  License: GPL-3.0-or-later
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "troubadix"
3
- version = "25.12.0"
3
+ version = "25.12.2"
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"
@@ -300,6 +300,34 @@ class CheckNewlinesTestCase(PluginTestCase):
300
300
  results[0].message,
301
301
  )
302
302
 
303
+ def test_grammar10(self):
304
+ nasl_file = Path(__file__).parent / "test.nasl"
305
+ content = (
306
+ ' script_tag(name:"cvss_base", value:"4.0");\n'
307
+ ' script_tag(name:"impact", value:"Successful exploitation may '
308
+ "allows an attacker to run arbitrary code on the affected IP "
309
+ 'cameras.");\n'
310
+ ' script_tag(name:"solution_type", value:"VendorFix");\n'
311
+ )
312
+
313
+ fake_context = self.create_file_plugin_context(
314
+ nasl_file=nasl_file, file_content=content
315
+ )
316
+ plugin = CheckGrammar(fake_context)
317
+
318
+ results = list(plugin.run())
319
+
320
+ self.assertEqual(len(results), 1)
321
+ self.assertIsInstance(results[0], LinterError)
322
+ self.assertEqual(
323
+ "VT/Include has the following grammar problem:\n"
324
+ "- Hit: may allows\n"
325
+ '- Full line: script_tag(name:"impact", value:"Successful '
326
+ "exploitation may allows an attacker to run arbitrary code on the "
327
+ 'affected IP cameras.");',
328
+ results[0].message,
329
+ )
330
+
303
331
  def test_grammar_fp(self):
304
332
  nasl_file = Path(__file__).parent / "test.nasl"
305
333
  content = (
@@ -2,4 +2,4 @@
2
2
 
3
3
  # THIS IS AN AUTOGENERATED FILE. DO NOT TOUCH!
4
4
 
5
- __version__ = "25.12.0"
5
+ __version__ = "25.12.2"
@@ -26,3 +26,4 @@ CSFR->CSRF
26
26
  XXS->XSS
27
27
  reverenced->referenced
28
28
  sever->server
29
+ cooky->cookie, cookies,
@@ -1621,3 +1621,4 @@ xml += string( '<oval_system_characteristics xmlns="http://oval.mitre.org/XMLSch
1621
1621
  - XSS via a crafted WAN name on the General Setup screen (CVE-2019-16534)");
1622
1622
  "^[Xx]-[Aa]dobe-[Cc]ontent\s*:\s*AEM" );
1623
1623
  Zhongling Wen discovered that the h323 conntrack handler did not correctly
1624
+ check_urls = make_list( "/olt/Login.do", "/otm/logon.do" );
@@ -179,6 +179,10 @@ def get_grammer_pattern() -> re.Pattern:
179
179
  # server-site template injection -> server-side template injection
180
180
  r"cross[\s-]+side[\s-]+(request[\s-]+forgery|scripting)|"
181
181
  r"server[\s-]+site[\s-]+(request[\s-]+forgery|template)[\s-]+injection|"
182
+ # e.g.:
183
+ # Successful exploitation may allows an attacker to run arbitrary
184
+ # An error in INSTALL_JAR procedure might allows remote authenticated
185
+ r"(could|may|will|might|should|can)\s+allows\s+|"
182
186
  # nb: Next few could happen when copy'n'paste some text parts around
183
187
  # like e.g.:
184
188
  # is prone to a to a remote denial-of-service vulnerability
File without changes
File without changes