From 89a53312dd7b1b58a669ce0e016897da15a078f6 Mon Sep 17 00:00:00 2001 From: Joe Rafaniello Date: Fri, 8 Nov 2024 13:27:31 -0500 Subject: [PATCH 1/2] Fix warnings raised by URI 1.0.1 Related to: https://www.github.com/ruby/uri/issues/125 https://github.com/ManageIQ/manageiq/pull/23260 --- lib/gems/pending/util/miq_file_storage.rb | 2 +- lib/gems/pending/util/mount/miq_generic_mount_session.rb | 8 ++++---- lib/gems/pending/util/mount/miq_glusterfs_session.rb | 2 +- lib/gems/pending/util/mount/miq_nfs_session.rb | 2 +- lib/gems/pending/util/mount/miq_smb_session.rb | 2 +- lib/gems/pending/util/object_storage/miq_swift_storage.rb | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/gems/pending/util/miq_file_storage.rb b/lib/gems/pending/util/miq_file_storage.rb index d41e6327..d09adbb2 100644 --- a/lib/gems/pending/util/miq_file_storage.rb +++ b/lib/gems/pending/util/miq_file_storage.rb @@ -36,7 +36,7 @@ def self.fetch_interface_class(opts) return nil unless opts[:uri] require 'uri' - scheme, _ = URI.split(URI::DEFAULT_PARSER.escape(opts[:uri])) + scheme, _ = URI.split(URI::RFC2396_PARSER.escape(opts[:uri])) klass = storage_interface_classes[scheme] raise InvalidSchemeError, scheme if klass.nil? diff --git a/lib/gems/pending/util/mount/miq_generic_mount_session.rb b/lib/gems/pending/util/mount/miq_generic_mount_session.rb index a35eae01..8535c4b4 100644 --- a/lib/gems/pending/util/mount/miq_generic_mount_session.rb +++ b/lib/gems/pending/util/mount/miq_generic_mount_session.rb @@ -72,7 +72,7 @@ def self.new_with_opts(opts) def self.uri_scheme_to_class(uri) require 'uri' - scheme, userinfo, host, port, registry, share, opaque, query, fragment = URI.split(URI::DEFAULT_PARSER.escape(uri)) + scheme, userinfo, host, port, registry, share, opaque, query, fragment = URI.split(URI::RFC2396_PARSER.escape(uri)) case scheme when 'smb' MiqSmbSession @@ -321,8 +321,8 @@ def log_uri_still_configured?(log_uri) # Only remove the log file if the current depot @settings are based on the same base URI as the log_uri to be removed return false if log_uri.nil? || @settings[:uri].nil? - scheme, userinfo, host, port, registry, share, opaque, query, fragment = URI.split(URI::DEFAULT_PARSER.escape(@settings[:uri])) - scheme_log, userinfo_log, host_log, port_log, registry_log, share_log, opaque_log, query_log, fragment_log = URI.split(URI::DEFAULT_PARSER.escape(log_uri)) + scheme, userinfo, host, port, registry, share, opaque, query, fragment = URI.split(URI::RFC2396_PARSER.escape(@settings[:uri])) + scheme_log, userinfo_log, host_log, port_log, registry_log, share_log, opaque_log, query_log, fragment_log = URI.split(URI::RFC2396_PARSER.escape(log_uri)) return false if scheme != scheme_log return false if host != host_log @@ -451,7 +451,7 @@ def mount_root def relative_to_mount(uri) log_header = "MIQ(#{self.class.name}-relative_to_mount)" logger.info("#{log_header} mount point [#{@mount_path}], uri: [#{uri}]...") - scheme, userinfo, host, port, registry, path, opaque, query, fragment = URI.split(URI::DEFAULT_PARSER.escape(uri)) + scheme, userinfo, host, port, registry, path, opaque, query, fragment = URI.split(URI::RFC2396_PARSER.escape(uri)) # Replace any encoded spaces back into spaces since the mount commands accepts quoted spaces path.gsub!('%20', ' ') diff --git a/lib/gems/pending/util/mount/miq_glusterfs_session.rb b/lib/gems/pending/util/mount/miq_glusterfs_session.rb index e91d3e7a..ac2569b0 100644 --- a/lib/gems/pending/util/mount/miq_glusterfs_session.rb +++ b/lib/gems/pending/util/mount/miq_glusterfs_session.rb @@ -11,7 +11,7 @@ def initialize(log_settings) def connect _scheme, _userinfo, @host, _port, _registry, @mount_path, _opaque, _query, _fragment = - URI.split(URI::DEFAULT_PARSER.escape(@settings[:uri])) + URI.split(URI::RFC2396_PARSER.escape(@settings[:uri])) super end diff --git a/lib/gems/pending/util/mount/miq_nfs_session.rb b/lib/gems/pending/util/mount/miq_nfs_session.rb index 9f41bd7d..d4784013 100644 --- a/lib/gems/pending/util/mount/miq_nfs_session.rb +++ b/lib/gems/pending/util/mount/miq_nfs_session.rb @@ -10,7 +10,7 @@ def initialize(log_settings) end def connect - scheme, userinfo, @host, port, registry, @mount_path, opaque, query, fragment = URI.split(URI::DEFAULT_PARSER.escape(@settings[:uri])) + scheme, userinfo, @host, port, registry, @mount_path, opaque, query, fragment = URI.split(URI::RFC2396_PARSER.escape(@settings[:uri])) super end diff --git a/lib/gems/pending/util/mount/miq_smb_session.rb b/lib/gems/pending/util/mount/miq_smb_session.rb index b705c890..c3fce30c 100644 --- a/lib/gems/pending/util/mount/miq_smb_session.rb +++ b/lib/gems/pending/util/mount/miq_smb_session.rb @@ -12,7 +12,7 @@ def initialize(log_settings) end def connect - scheme, userinfo, @host, port, registry, @mount_root, opaque, query, fragment = URI.split(URI::DEFAULT_PARSER.escape(@settings[:uri])) + scheme, userinfo, @host, port, registry, @mount_root, opaque, query, fragment = URI.split(URI::RFC2396_PARSER.escape(@settings[:uri])) @mount_path = @mount_root.split("/")[0..1].join("/") super end diff --git a/lib/gems/pending/util/object_storage/miq_swift_storage.rb b/lib/gems/pending/util/object_storage/miq_swift_storage.rb index cdb08ed2..ab07c00b 100644 --- a/lib/gems/pending/util/object_storage/miq_swift_storage.rb +++ b/lib/gems/pending/util/object_storage/miq_swift_storage.rb @@ -14,7 +14,7 @@ def initialize(settings) @bucket_name = URI(@settings[:uri]).host raise "username and password are required values!" if @settings[:username].nil? || @settings[:password].nil? - _scheme, _userinfo, @host, @port, _registry, path, _opaque, query, _fragment = URI.split(URI::DEFAULT_PARSER.escape(@settings[:uri])) + _scheme, _userinfo, @host, @port, _registry, path, _opaque, query, _fragment = URI.split(URI::RFC2396_PARSER.escape(@settings[:uri])) query_params(query) if query @swift = nil @username = @settings[:username] @@ -28,7 +28,7 @@ def initialize(settings) def uri_to_object_path(remote_file) # Strip off the leading "swift://" and the container name from the URI" # Also remove the leading delimiter. - object_file_with_bucket = URI.split(URI::DEFAULT_PARSER.escape(remote_file))[5] + object_file_with_bucket = URI.split(URI::RFC2396_PARSER.escape(remote_file))[5] object_file_with_bucket.split(File::Separator)[2..-1].join(File::Separator) end From 3dd4331c7068af4bd31b66bafe3c9f62a12c6be5 Mon Sep 17 00:00:00 2001 From: Joe Rafaniello Date: Fri, 8 Nov 2024 16:22:32 -0500 Subject: [PATCH 2/2] Add uri dependency explicitly --- manageiq-gems-pending.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/manageiq-gems-pending.gemspec b/manageiq-gems-pending.gemspec index 8b7baa3a..1610034c 100644 --- a/manageiq-gems-pending.gemspec +++ b/manageiq-gems-pending.gemspec @@ -31,6 +31,7 @@ Gem::Specification.new do |s| s.add_runtime_dependency "rexml", ">= 3.3.6" s.add_runtime_dependency "sys-proctable", "~> 1.2.5" s.add_runtime_dependency "sys-uname", "~> 1.2.1" + s.add_runtime_dependency "uri", "~> 1.0.0", ">= 1.0.1" s.add_runtime_dependency "win32ole", "~> 1.8.8" # this gem was extracted in ruby 3 - required if we use wmi on windows s.add_runtime_dependency "zeitwerk", "~> 2.6", ">= 2.6.8"