diff options
Diffstat (limited to 'lib/chef/mixin/path_sanity.rb')
-rw-r--r-- | lib/chef/mixin/path_sanity.rb | 42 |
1 files changed, 3 insertions, 39 deletions
diff --git a/lib/chef/mixin/path_sanity.rb b/lib/chef/mixin/path_sanity.rb index c441d0770a..de59c063e9 100644 --- a/lib/chef/mixin/path_sanity.rb +++ b/lib/chef/mixin/path_sanity.rb @@ -1,6 +1,6 @@ # # Author:: Seth Chisamore (<schisamo@chef.io>) -# Copyright:: Copyright 2011-2017, Chef Software Inc. +# Copyright:: Copyright 2011-2019, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,49 +18,13 @@ class Chef module Mixin + # @ deprecated module PathSanity - def enforce_path_sanity(env = ENV) if Chef::Config[:enforce_path_sanity] - env["PATH"] = sanitized_path(env) - end - end - - def sanitized_path(env = ENV) - env_path = env["PATH"].nil? ? "" : env["PATH"].dup - path_separator = Chef::Platform.windows? ? ";" : ":" - # ensure the Ruby and Gem bindirs are included - # mainly for 'full-stack' Chef installs - new_paths = env_path.split(path_separator) - [ ruby_bindir, gem_bindir ].compact.each do |path| - new_paths = [ path ] + new_paths unless new_paths.include?(path) - end - sane_paths.each do |path| - new_paths << path unless new_paths.include?(path) - end - new_paths.join(path_separator).encode("utf-8", invalid: :replace, undef: :replace) - end - - private - - def sane_paths - @sane_paths ||= begin - if Chef::Platform.windows? - %w{} - else - %w{/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin} - end + env["PATH"] = ChefUtils::DSL::PathSanity.sanitized_path(env) end end - - def ruby_bindir - RbConfig::CONFIG["bindir"] - end - - def gem_bindir - Gem.bindir - end - end end end |