summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util/selinux.rb
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-07-09 18:06:06 -0700
committerMarkus Roberts <Markus@reality.com>2010-07-09 18:06:06 -0700
commit81e283b28cdd91d259e3b60687aee7ea66e9d05d (patch)
treee3c7b6e4b41cc219f75a3ae7d1294652ead6f268 /lib/puppet/util/selinux.rb
parente8cf06336b64491a2dd7538a06651e0caaf6a48d (diff)
downloadpuppet-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.rb34
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