rubygems_ssl-client-certs 0.0.2.pre.alpha.pre.55 → 0.0.2.pre.alpha.pre.56
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/rubygems_plugin.rb +26 -39
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NGJkNjc1OGVhMzgyZjc5MTY4OWFiODM5ODZmYjI0OTgxNzNjNDg1Yg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGI4N2U2ZDAyMDUxZTYyYmExNGFjYzZhOWI0MGQ2ZjVjZTU2YTRiOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZmY5ZjQwZDMxMDFkMzQ2YTUyOTkwMWQ1OWU2Yzc0ZDJlYjMyMTg3MGY1YzQ5
|
10
|
+
NzA5ZmZiYTllMTg2ZGQ4MGM2NWMyN2M5NmEyMTI1NmYwYmEyMjcyOGY0NDM5
|
11
|
+
NDExNGIzYjBlOWZmMTJhZDM1NDdiMjg2Y2I0ZjQ1YjEzMmJkMjY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTQ0ZWNmNjI0ZjFlNzVlYjNlMmJiOWZkNTY5MzZkMjFiMTE5ODhhNDM5NmZi
|
14
|
+
MzhjOTk4N2Y3MTk4YmU2ZTE5NTYxZTBkMTE0Yjc3OWI3MTM1ZTJhZGYxOWFh
|
15
|
+
MzhlYTkxOWNhODRlYmE2NzJkMjI4ZWYzNTMyYTEwN2Q0MGFiNTc=
|
data/lib/rubygems_plugin.rb
CHANGED
@@ -1,49 +1,42 @@
|
|
1
1
|
require 'rubygems/remote_fetcher'
|
2
2
|
|
3
|
-
|
3
|
+
class Gem::ConfigFile
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
class Gem::ConfigFile
|
8
|
-
|
9
|
-
attr_reader :ssl_client_cert
|
5
|
+
attr_reader :ssl_client_cert
|
10
6
|
|
11
|
-
|
7
|
+
attr_reader :ssl_verify_mode
|
12
8
|
|
13
|
-
|
14
|
-
$stderr.puts "loading Gem::ConfigFile monkey patch"
|
15
|
-
|
16
|
-
class << self
|
17
|
-
unless self.method_defined? :__new__
|
18
|
-
$stderr.puts "aliasing new to __new__"
|
19
|
-
alias_method :__new__, :new
|
20
|
-
end
|
21
|
-
|
22
|
-
def new(*args)
|
23
|
-
$stderr.puts "instantiating new Gem::ConfigFile with patch"
|
24
|
-
config = __new__(*args)
|
25
|
-
config.set_ssl_vars
|
26
|
-
return config
|
27
|
-
end
|
9
|
+
attr_reader :ssl_ca_cert
|
28
10
|
|
11
|
+
class << self
|
12
|
+
unless self.method_defined? :__new__
|
13
|
+
alias_method :__new__, :new
|
29
14
|
end
|
30
15
|
|
31
|
-
def
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
@ssl_ca_cert = ENV['BUNDLE_SSL_CA_CERT'] unless @ssl_ca_cert
|
36
|
-
@ssl_client_cert = @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
|
37
|
-
@ssl_client_cert = ENV['BUNDLE_SSL_CLIENT_CERT'] unless @ssl_client_cert
|
16
|
+
def new(*args)
|
17
|
+
config = __new__(*args)
|
18
|
+
config.set_ssl_vars
|
19
|
+
return config
|
38
20
|
end
|
39
21
|
|
40
|
-
|
41
|
-
$stderr.puts "forcing a reload of the Gem configuration"
|
42
|
-
Gem.configuration = nil
|
43
|
-
end
|
22
|
+
end
|
44
23
|
|
24
|
+
def set_ssl_vars
|
25
|
+
@ssl_verify_mode = @hash[:ssl_verify_mode] if @hash.key? :ssl_verify_mode
|
26
|
+
@ssl_ca_cert = @hash[:ssl_ca_cert] if @hash.key? :ssl_ca_cert
|
27
|
+
@ssl_ca_cert = ENV['BUNDLE_SSL_CA_CERT'] unless @ssl_ca_cert
|
28
|
+
@ssl_client_cert = @hash[:ssl_client_cert] if @hash.key? :ssl_client_cert
|
29
|
+
@ssl_client_cert = ENV['BUNDLE_SSL_CLIENT_CERT'] unless @ssl_client_cert
|
45
30
|
end
|
46
31
|
|
32
|
+
if Gem.instance_variable_get(:@configuration) then
|
33
|
+
Gem.configuration = nil
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
if Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.1.0') then
|
39
|
+
|
47
40
|
class Gem::RemoteFetcher
|
48
41
|
|
49
42
|
def connection_for(uri)
|
@@ -85,11 +78,6 @@ if Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.1.0') then
|
|
85
78
|
pem = File.read(Gem.configuration.ssl_client_cert)
|
86
79
|
connection.cert = OpenSSL::X509::Certificate.new(pem)
|
87
80
|
connection.key = OpenSSL::PKey::RSA.new(pem)
|
88
|
-
else
|
89
|
-
puts "no Client Cert configured!"
|
90
|
-
if !Gem.configuration.respond_to?(:ssl_client_cert)
|
91
|
-
puts "Loaded Gem::ConfigFile does not support ssl_client_cert"
|
92
|
-
end
|
93
81
|
end
|
94
82
|
|
95
83
|
if Gem.configuration.ssl_ca_cert
|
@@ -99,7 +87,6 @@ if Gem::Version.new(Gem::VERSION) < Gem::Version.new('2.1.0') then
|
|
99
87
|
store.add_file Gem.configuration.ssl_ca_cert
|
100
88
|
end
|
101
89
|
else
|
102
|
-
puts "no CA Cert configured!"
|
103
90
|
store.set_default_paths
|
104
91
|
add_rubygems_trusted_certs(store)
|
105
92
|
end
|