lib/rubygems_plugin.rb in rubygems_ssl-client-certs-0.0.2.pre.alpha.pre.55 vs lib/rubygems_plugin.rb in rubygems_ssl-client-certs-0.0.2.pre.alpha.pre.56
- old
+ new
@@ -1,51 +1,44 @@
require 'rubygems/remote_fetcher'
-$stderr.puts "rubygems ssl client certs plugin loading"
+class Gem::ConfigFile
-if Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.1.0') then
+ attr_reader :ssl_client_cert
- class Gem::ConfigFile
+ attr_reader :ssl_verify_mode
- attr_reader :ssl_client_cert
+ attr_reader :ssl_ca_cert
- attr_reader :ssl_verify_mode
-
- attr_reader :ssl_ca_cert
- $stderr.puts "loading Gem::ConfigFile monkey patch"
-
- class << self
- unless self.method_defined? :__new__
- $stderr.puts "aliasing new to __new__"
- alias_method :__new__, :new
- end
-
- def new(*args)
- $stderr.puts "instantiating new Gem::ConfigFile with patch"
- config = __new__(*args)
- config.set_ssl_vars
- return config
- end
-
+ class << self
+ unless self.method_defined? :__new__
+ alias_method :__new__, :new
end
- def set_ssl_vars
- $stderr.puts "Configuring SSL variables for Gem::ConfigFile"
- @ssl_verify_mode = @hash[:ssl_verify_mode] if @hash.key? :ssl_verify_mode
- @ssl_ca_cert = @hash[:ssl_ca_cert] if @hash.key? :ssl_ca_cert
- @ssl_ca_cert = ENV['BUNDLE_SSL_CA_CERT'] unless @ssl_ca_cert
- @ssl_client_cert = @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
- @ssl_client_cert = ENV['BUNDLE_SSL_CLIENT_CERT'] unless @ssl_client_cert
+ def new(*args)
+ config = __new__(*args)
+ config.set_ssl_vars
+ return config
end
- if Gem.instance_variable_get(:@configuration) then
- $stderr.puts "forcing a reload of the Gem configuration"
- Gem.configuration = nil
- end
+ end
+ def set_ssl_vars
+ @ssl_verify_mode = @hash[:ssl_verify_mode] if @hash.key? :ssl_verify_mode
+ @ssl_ca_cert = @hash[:ssl_ca_cert] if @hash.key? :ssl_ca_cert
+ @ssl_ca_cert = ENV['BUNDLE_SSL_CA_CERT'] unless @ssl_ca_cert
+ @ssl_client_cert = @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
+ @ssl_client_cert = ENV['BUNDLE_SSL_CLIENT_CERT'] unless @ssl_client_cert
end
+ if Gem.instance_variable_get(:@configuration) then
+ Gem.configuration = nil
+ end
+
+end
+
+if Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.1.0') then
+
class Gem::RemoteFetcher
def connection_for(uri)
net_http_args = [uri.host, uri.port]
@@ -83,24 +76,18 @@
if Gem.configuration.ssl_client_cert
pem = File.read(Gem.configuration.ssl_client_cert)
connection.cert = OpenSSL::X509::Certificate.new(pem)
connection.key = OpenSSL::PKey::RSA.new(pem)
- else
- puts "no Client Cert configured!"
- if !Gem.configuration.respond_to?(:ssl_client_cert)
- puts "Loaded Gem::ConfigFile does not support ssl_client_cert"
- end
end
if Gem.configuration.ssl_ca_cert
if File.directory? Gem.configuration.ssl_ca_cert
store.add_path Gem.configuration.ssl_ca_cert
else
store.add_file Gem.configuration.ssl_ca_cert
end
else
- puts "no CA Cert configured!"
store.set_default_paths
add_rubygems_trusted_certs(store)
end
connection.cert_store = store
rescue LoadError => e