diff options
author | Markus Roberts <Markus@reality.com> | 2010-07-09 18:06:06 -0700 |
---|---|---|
committer | Markus Roberts <Markus@reality.com> | 2010-07-09 18:06:06 -0700 |
commit | 81e283b28cdd91d259e3b60687aee7ea66e9d05d (patch) | |
tree | e3c7b6e4b41cc219f75a3ae7d1294652ead6f268 /lib/puppet/util/selinux.rb | |
parent | e8cf06336b64491a2dd7538a06651e0caaf6a48d (diff) | |
download | puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.tar.gz puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.tar.xz puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.zip |
Code smell: Line modifiers are preferred to one-line blocks.
* Replaced 6 occurances of (while .*?) *do$ with
The do is unneeded in the block header form and causes problems
with the block-to-one-line transformation.
3 Examples:
The code:
while line = f.gets do
becomes:
while line = f.gets
The code:
while line = shadow.gets do
becomes:
while line = shadow.gets
The code:
while wrapper = zeros.pop do
becomes:
while wrapper = zeros.pop
* Replaced 19 occurances of ((if|unless) .*?) *then$ with
The then is unneeded in the block header form and causes problems
with the block-to-one-line transformation.
3 Examples:
The code:
if f = test_files_for(failed).find { |f| failed_trace =~ Regexp.new(f) } then
becomes:
if f = test_files_for(failed).find { |f| failed_trace =~ Regexp.new(f) }
The code:
unless defined?(@spec_command) then
becomes:
unless defined?(@spec_command)
The code:
if c == ?\n then
becomes:
if c == ?\n
* Replaced 758 occurances of
((?:if|unless|while|until) .*)
(.*)
end
with
The one-line form is preferable provided:
* The condition is not used to assign a variable
* The body line is not already modified
* The resulting line is not too long
3 Examples:
The code:
if Puppet.features.libshadow?
has_feature :manages_passwords
end
becomes:
has_feature :manages_passwords if Puppet.features.libshadow?
The code:
unless (defined?(@current_pool) and @current_pool)
@current_pool = process_zpool_data(get_pool_data)
end
becomes:
@current_pool = process_zpool_data(get_pool_data) unless (defined?(@current_pool) and @current_pool)
The code:
if Puppet[:trace]
puts detail.backtrace
end
becomes:
puts detail.backtrace if Puppet[:trace]
Diffstat (limited to 'lib/puppet/util/selinux.rb')
-rw-r--r-- | lib/puppet/util/selinux.rb | 34 |
1 files changed, 9 insertions, 25 deletions
diff --git a/lib/puppet/util/selinux.rb b/lib/puppet/util/selinux.rb index fad15d74e..7c6177f81 100644 --- a/lib/puppet/util/selinux.rb +++ b/lib/puppet/util/selinux.rb @@ -14,9 +14,7 @@ require 'pathname' module Puppet::Util::SELinux def selinux_support? - unless defined?(Selinux) - return false - end + return false unless defined?(Selinux) if Selinux.is_selinux_enabled == 1 return true end @@ -26,9 +24,7 @@ module Puppet::Util::SELinux # Retrieve and return the full context of the file. If we don't have # SELinux support or if the SELinux call fails then return nil. def get_selinux_current_context(file) - unless selinux_support? - return nil - end + return nil unless selinux_support? retval = Selinux.lgetfilecon(file) if retval == -1 return nil @@ -39,14 +35,10 @@ module Puppet::Util::SELinux # Retrieve and return the default context of the file. If we don't have # SELinux support or if the SELinux call fails to file a default then return nil. def get_selinux_default_context(file) - unless selinux_support? - return nil - end + return nil unless selinux_support? # If the filesystem has no support for SELinux labels, return a default of nil # instead of what matchpathcon would return - unless selinux_label_support?(file) - return nil - end + return nil unless selinux_label_support?(file) # If the file exists we should pass the mode to matchpathcon for the most specific # matching. If not, we can pass a mode of 0. begin @@ -89,9 +81,7 @@ module Puppet::Util::SELinux # I believe that the OS should always provide at least a fall-through context # though on any well-running system. def set_selinux_context(file, value, component = false) - unless selinux_support? && selinux_label_support?(file) - return nil - end + return nil unless selinux_support? && selinux_label_support?(file) if component # Must first get existing context to replace a single component @@ -137,9 +127,7 @@ module Puppet::Util::SELinux # the file. def set_selinux_default_context(file) new_context = get_selinux_default_context(file) - unless new_context - return nil - end + return nil unless new_context cur_context = get_selinux_current_context(file) if new_context != cur_context set_selinux_context(file, new_context) @@ -207,10 +195,8 @@ module Puppet::Util::SELinux # Remove the last slash and everything after it, # and repeat with that as the file for the next loop through. path = realpath(path) - while not path.empty? do - if mnts.has_key?(path) - return mnts[path] - end + while not path.empty? + return mnts[path] if mnts.has_key?(path) path = parent_directory(path) end return mnts['/'] @@ -222,9 +208,7 @@ module Puppet::Util::SELinux # false if not. def selinux_label_support?(file) fstype = find_fs(file) - if fstype.nil? - return false - end + return false if fstype.nil? filesystems = ['ext2', 'ext3', 'ext4', 'gfs', 'gfs2', 'xfs', 'jfs'] return filesystems.include?(fstype) end |