Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix problematic regular expressions reported by SonarCloud #6995

Merged
merged 1 commit into from
Oct 10, 2023

Conversation

nadvornik
Copy link
Contributor

@nadvornik nadvornik commented May 9, 2023

What does this PR change?

This PR fixes some of the problematic regular expressions by using String contains() method or by using possessive quantifiers.

GUI diff

No difference.

  • DONE

Documentation

  • No documentation needed
  • DONE

Test coverage

  • Covred by unit tests
  • DONE

Links

Partially fixes https://github.com/SUSE/spacewalk/issues/21403

  • DONE

Changelogs

Make sure the changelogs entries you are adding are compliant with https://github.com/uyuni-project/uyuni/wiki/Contributing#changelogs and https://github.com/uyuni-project/uyuni/wiki/Contributing#uyuni-projectuyuni-repository

If you don't need a changelog check, please mark this checkbox:

  • No changelog needed

If you uncheck the checkbox after the PR is created, you will need to re-run changelog_test (see below)

Re-run a test

If you need to re-run a test, please mark the related checkbox, it will be unchecked automatically once it has re-run:

  • Re-run test "changelog_test"
  • Re-run test "backend_unittests_pgsql"
  • Re-run test "java_pgsql_tests"
  • Re-run test "schema_migration_test_pgsql"
  • Re-run test "susemanager_unittests"
  • Re-run test "javascript_lint"
  • Re-run test "spacecmd_unittests"

@github-actions
Copy link
Contributor

github-actions bot commented May 9, 2023

Suggested tests to cover this Pull Request
  • minssh_salt_install_package
  • min_deblike_monitoring
  • srv_power_management
  • min_salt_mgrcompat_state
  • srv_sync_channels
  • proxy_cobbler_pxeboot
  • allcli_software_channels_dependencies
  • srv_content_lifecycle
  • minkvm_guests
  • srv_task_status_engine
  • srv_patches_page
  • srv_logfile
  • srv_rename_hostname
  • srv_docker_cve_audit
  • srv_enable_sync_products
  • srv_create_repository
  • srv_cobbler_profile
  • min_empty_system_profiles
  • min_ansible_control_node
  • srv_reportdb
  • min_retracted_patches
  • srv_add_rocky8_repositories
  • srv_organization_credentials
  • allcli_reboot
  • min_bootstrap_ssh_key
  • srv_manage_activationkey
  • min_deblike_salt_install_package
  • buildhost_docker_build_image
  • srv_custom_system_info
  • minssh_bootstrap_api
  • srv_advanced_search
  • srv_cobbler_distro
  • srv_scc_user_credentials
  • min_rhlike_ssh
  • allcli_update_activationkeys
  • srv_datepicker
  • min_salt_openscap_audit
  • srv_change_password
  • srv_user_preferences
  • srv_cobbler_sync
  • min_salt_install_with_staging
  • allcli_config_channel
  • min_salt_software_states
  • srv_channels_add
  • min_bootstrap_api
  • min_bootstrap_reactivation
  • min_rhlike_monitoring
  • srv_distro_cobbler
  • min_rhlike_salt_install_package_and_patch
  • buildhost_osimage_build_image
  • srv_group_union_intersection
  • allcli_action_chain
  • min_salt_pkgset_beacon
  • buildhost_bootstrap
  • proxy_branch_network
  • srv_virtual_host_manager
  • min_cve_id_new_syntax
  • allcli_sanity
  • min_deblike_ssh
  • srv_check_channels_page
  • srv_dist_channel_mapping
  • min_config_state_channel
  • srv_change_task_schedule
  • min_salt_minions_page
  • srv_delete_channel_with_tool
  • srv_notifications
  • min_deblike_remote_command
  • sle_ssh_minion
  • srv_wait_for_reposync
  • srv_salt
  • min_custom_pkg_download_endpoint
  • allcli_software_channels
  • srv_maintenance_windows
  • sle_minion
  • srv_cobbler_buildiso
  • minssh_move_from_and_to_proxy
  • srv_users
  • srv_push_package
  • min_docker_api
  • srv_check_sync_source_packages
  • srv_sync_products
  • allcli_system_group
  • srv_handle_config_channels_with_ISS_v2
  • srv_delete_channel_from_ui
  • srv_restart
  • srv_power_management_redfish
  • srv_user_configuration_salt_states
  • min_bootstrap_negative
  • min_activationkey
  • srv_clone_channel_npn
  • min_rhlike_salt
  • min_salt_formulas_advanced
  • srv_handle_software_channels_with_ISS_v2
  • srv_manage_channels_page
  • srv_mainpage
  • min_salt_migration
  • min_recurring_action
  • proxy_as_pod_basic_tests
  • min_salt_minion_details
  • min_salt_lock_packages
  • min_deblike_openscap_audit
  • srv_check_reposync
  • min_check_patches_install
  • min_virthost
  • srv_power_management_api
  • min_move_from_and_to_proxy
  • min_project_lotus
  • min_config_state_channel_subscriptions
  • srv_payg_ssh_connection
  • min_timezone
  • min_salt_user_states
  • srv_activationkey_api
  • minssh_ansible_control_node
  • min_deblike_salt
  • srv_docker
  • buildhost_docker_auth_registry
  • srv_monitoring
  • min_deblike_salt_install_with_staging
  • min_cve_audit
  • min_rhlike_remote_command
  • srv_channel_api
  • proxy_retail_pxeboot_and_mass_import
  • min_bootstrap_script
  • min_rhlike_openscap_audit
  • srv_docker_advanced_content_management
  • srv_salt_download_endpoint
  • proxy_register_as_minion_with_script
  • min_salt_install_package
  • srv_menu
  • min_monitoring
  • min_change_software_channel
  • min_action_chain
  • srv_osimage
  • srv_first_settings
  • minssh_action_chain
  • srv_create_activationkey
  • min_salt_formulas
  • allcli_overview_systems_details
  • srv_disable_local_repos_off
  • min_ssh_tunnel
  • min_config_state_channel_api

@nadvornik nadvornik force-pushed the rexex branch 3 times, most recently from 12a53d6 to 11a1861 Compare May 11, 2023 12:32
@nadvornik nadvornik changed the title WIP: Fix problematic regular expressions reported by SonarCloud Fix problematic regular expressions reported by SonarCloud May 11, 2023
@nadvornik nadvornik requested a review from cbosdo May 11, 2023 14:04
@nadvornik nadvornik force-pushed the rexex branch 2 times, most recently from 567be3c to 7798518 Compare May 18, 2023 14:10
@@ -240,7 +240,7 @@ public static SortedMap<String, String> setUpPowerTypes(HttpServletRequest reque
SortedMap<String, String> types = new TreeMap<>();
String typeString = ConfigDefaults.get().getCobblerPowerTypes();
if (typeString != null) {
List<String> typeNames = Arrays.asList(typeString.split(" *, *"));
List<String> typeNames = Arrays.asList(typeString.split(" *+, *+"));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it be even better with "[^,]*+, *+" ?

@@ -71,7 +71,7 @@ public class PowerManagementHandler extends BaseHandler {
public List<String> listTypes(User loggedInUser) {
String typeString = ConfigDefaults.get().getCobblerPowerTypes();
if (typeString != null) {
return Arrays.asList(typeString.split(" *, *"));
return Arrays.asList(typeString.split(" *+, *+"));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

@@ -37,11 +37,11 @@ public class RhelUtils {
private RhelUtils() { }

private static final Pattern RHEL_RELEASE_MATCHER =
Pattern.compile("(.+)\\srelease\\s([\\d.]+)\\s*\\((.+)\\).*", Pattern.DOTALL);
Pattern.compile("(.+)\\srelease\\s([\\d.]+)\\s*+\\(([^)]++)\\).*+", Pattern.DOTALL);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't you need a + to prevent backtracking in the first group too?

private static final Pattern ORACLE_RELEASE_MATCHER =
Pattern.compile("(.+)\\srelease\\s([\\d.]+).*", Pattern.DOTALL);
private static final Pattern ALIBABA_RELEASE_MATCHER =
Pattern.compile("(.+)\\srelease\\s([\\d.]+)\\s*LTS\\s*\\((.+)\\).*", Pattern.DOTALL);
Pattern.compile("(.+)\\srelease\\s([\\d.]+)\\s*+LTS\\s*+\\(([^)]++)\\).*+", Pattern.DOTALL);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here

@github-actions
Copy link
Contributor

This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions bot added the Stale label Sep 10, 2023
@github-actions
Copy link
Contributor

This PR was closed because it has been stalled for 10 days with no activity.

@github-actions github-actions bot closed this Sep 21, 2023
@cbosdo
Copy link
Contributor

cbosdo commented Sep 21, 2023

Reopening: some questions haven't been answered

@cbosdo cbosdo reopened this Sep 21, 2023
@cbosdo cbosdo requested a review from a team as a code owner September 21, 2023 07:02
@github-actions github-actions bot removed the Stale label Sep 22, 2023
@cbosdo cbosdo merged commit 1bc0b1e into uyuni-project:master Oct 10, 2023
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants