summaryrefslogtreecommitdiff
path: root/lib/rubygems.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-04 08:07:22 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-04 08:07:22 +0000
commit6754cad8e9dc6db89f07d3df378fa124fae70944 (patch)
tree63b858e2377c62dc8037d0dfbe83c2422f4ba6f1 /lib/rubygems.rb
parentef7057fe2f7634a91052e1bed39001c05fc34744 (diff)
* lib/rubygems.rb (Gem.set_home, Gem.set_paths): should not create
directories stealthily. [ruby-core:20990] * lib/rubygems.rb (Gem.find_home): expand_path deals with platform dependent envirionments. * lib/rdoc/ri/paths.rb (RDoc::HOMEDIR): ditto. * instruby.rb (gem): creates gem directories at installation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems.rb')
-rw-r--r--lib/rubygems.rb33
1 files changed, 6 insertions, 27 deletions
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index 9913b59ce1..77930016fa 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -373,22 +373,12 @@ module Gem
# least on Win32).
def self.find_home
- ['HOME', 'USERPROFILE'].each do |homekey|
- return ENV[homekey] if ENV[homekey]
- end
-
- if ENV['HOMEDRIVE'] && ENV['HOMEPATH'] then
- return "#{ENV['HOMEDRIVE']}#{ENV['HOMEPATH']}"
- end
-
- begin
- File.expand_path("~")
- rescue
- if File::ALT_SEPARATOR then
- "C:/"
- else
- "/"
- end
+ File.expand_path("~")
+ rescue
+ if File::ALT_SEPARATOR then
+ "C:/"
+ else
+ "/"
end
end
@@ -691,7 +681,6 @@ module Gem
def self.set_home(home)
home = home.gsub(File::ALT_SEPARATOR, File::SEPARATOR) if File::ALT_SEPARATOR
@gem_home = home
- ensure_gem_subdirectories(@gem_home)
end
private_class_method :set_home
@@ -716,16 +705,6 @@ module Gem
end
@gem_path.uniq!
- @gem_path.each do |path|
- if 0 == File.expand_path(path).index(Gem.user_home)
- next unless File.directory? Gem.user_home
- unless win_platform? then
- # only create by matching user
- next if Etc.getpwuid.uid != File::Stat.new(Gem.user_home).uid
- end
- end
- ensure_gem_subdirectories path
- end
end
private_class_method :set_paths