summaryrefslogtreecommitdiff
path: root/lib/rubygems/security.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-05 22:40:53 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-05 22:40:53 +0000
commit7a88ad0a42dffdbbcaf0192635ab64c636294cf6 (patch)
tree932538cb8e039ea6005ab1f783da5d8c0e957338 /lib/rubygems/security.rb
parent32fa37f53c386bf8b6d9031a7c587772ee12430d (diff)
* lib/rubygems/commands/query_command.rb: Only fetch remote specs when
showing details. [ruby-trunk - Bug #8019] RubyGems bug #487 * lib/rubygems/remote_fetcher.rb: ditto. * lib/rubygems/security/policy.rb: ditto. * test/rubygems/test_gem_commands_query_command.rb: Test for the above. * lib/rubygems/security.rb: Make OpenSSL optional for RubyGems. * lib/rubygems/commands/cert_command.rb: ditto. * lib/rubygems/config_file.rb: Display file with YAML error, not ~/.gemrc * lib/rubygems/remote_fetcher.rb: Only create gem subdirectories when installing gems. * lib/rubygems/dependency_resolver.rb: ditto. * lib/rubygems/test_utilities.rb: ditto. * test/rubygems/test_gem_commands_fetch_command.rb: Test for the above. * lib/rubygems/spec_fetcher.rb: Only try to upgrade http://rubygems.org to HTTPS * test/rubygems/test_gem_spec_fetcher.rb: Test for the above. * lib/rubygems.rb: Update win_platform? check for JRuby compatibility. * test/rubygems/test_gem_installer.rb: Update for Ruby 1.9.2 compatibility git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/security.rb')
-rw-r--r--lib/rubygems/security.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/rubygems/security.rb b/lib/rubygems/security.rb
index 2485729488..bed47ab9f3 100644
--- a/lib/rubygems/security.rb
+++ b/lib/rubygems/security.rb
@@ -5,9 +5,29 @@
#++
require 'rubygems/exceptions'
-require 'openssl'
require 'fileutils'
+begin
+ require 'openssl'
+rescue LoadError => e
+ raise unless (e.respond_to?(:path) && e.path == 'openssl') ||
+ e.message =~ / -- openssl$/
+
+ module OpenSSL # :nodoc:
+ class Digest # :nodoc:
+ class SHA1 # :nodoc:
+ def name
+ 'SHA1'
+ end
+ end
+ end
+ module PKey # :nodoc:
+ class RSA # :nodoc:
+ end
+ end
+ end
+end
+
##
# = Signing gems
#