summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util
diff options
context:
space:
mode:
authorNick Lewis <nick@puppetlabs.com>2011-08-24 15:42:03 -0700
committerNick Lewis <nick@puppetlabs.com>2011-08-24 15:42:03 -0700
commitda4a2def42639817c4522fc0162bd691956998da (patch)
tree3cb423a7d2a7a803a922b710c661d675d11bf131 /lib/puppet/util
parent0d51dc9be0bc1c785d749b8b352a1e43b1b6e9c6 (diff)
parent630ec36089e2224fba99b76d76eaf904af13e4d6 (diff)
downloadpuppet-da4a2def42639817c4522fc0162bd691956998da.tar.gz
puppet-da4a2def42639817c4522fc0162bd691956998da.tar.xz
puppet-da4a2def42639817c4522fc0162bd691956998da.zip
Merge branch '2.7.x'
Conflicts: lib/puppet/feature/base.rb lib/puppet/file_serving/configuration.rb spec/unit/indirector/ssl_file_spec.rb spec/unit/parser/functions/extlookup_spec.rb spec/unit/resource/catalog_spec.rb test/language/ast/variable.rb
Diffstat (limited to 'lib/puppet/util')
-rw-r--r--lib/puppet/util/feature.rb3
-rw-r--r--lib/puppet/util/graph.rb3
-rw-r--r--lib/puppet/util/ldap.rb3
-rw-r--r--lib/puppet/util/ldap/connection.rb3
-rw-r--r--lib/puppet/util/ldap/generator.rb3
-rw-r--r--lib/puppet/util/log_paths.rb3
-rw-r--r--lib/puppet/util/settings.rb1
-rw-r--r--lib/puppet/util/settings/file_setting.rb3
-rw-r--r--lib/puppet/util/suidmanager.rb15
9 files changed, 17 insertions, 20 deletions
diff --git a/lib/puppet/util/feature.rb b/lib/puppet/util/feature.rb
index 2f704104a..5a7fbf773 100644
--- a/lib/puppet/util/feature.rb
+++ b/lib/puppet/util/feature.rb
@@ -1,6 +1,3 @@
-# Created by Luke Kanies on 2006-11-07.
-# Copyright (c) 2006. All rights reserved.
-
class Puppet::Util::Feature
attr_reader :path
diff --git a/lib/puppet/util/graph.rb b/lib/puppet/util/graph.rb
index 9598d281e..58ca1ab4d 100644
--- a/lib/puppet/util/graph.rb
+++ b/lib/puppet/util/graph.rb
@@ -1,6 +1,3 @@
-# Created by Luke Kanies on 2006-11-16.
-# Copyright (c) 2006. All rights reserved.
-
require 'puppet'
require 'puppet/simple_graph'
diff --git a/lib/puppet/util/ldap.rb b/lib/puppet/util/ldap.rb
index 33f01f789..71d6a178c 100644
--- a/lib/puppet/util/ldap.rb
+++ b/lib/puppet/util/ldap.rb
@@ -1,5 +1,2 @@
-#
-# Created by Luke Kanies on 2008-3-23.
-# Copyright (c) 2008. All rights reserved.
module Puppet::Util::Ldap
end
diff --git a/lib/puppet/util/ldap/connection.rb b/lib/puppet/util/ldap/connection.rb
index 03240eae9..ee39c08c9 100644
--- a/lib/puppet/util/ldap/connection.rb
+++ b/lib/puppet/util/ldap/connection.rb
@@ -1,6 +1,3 @@
-#
-# Created by Luke Kanies on 2008-3-23.
-# Copyright (c) 2008. All rights reserved.
require 'puppet/util/ldap'
class Puppet::Util::Ldap::Connection
diff --git a/lib/puppet/util/ldap/generator.rb b/lib/puppet/util/ldap/generator.rb
index 2aaa9c370..608d72974 100644
--- a/lib/puppet/util/ldap/generator.rb
+++ b/lib/puppet/util/ldap/generator.rb
@@ -1,6 +1,3 @@
-#
-# Created by Luke Kanies on 2008-3-28.
-# Copyright (c) 2008. All rights reserved.
require 'puppet/util/ldap'
class Puppet::Util::Ldap::Generator
diff --git a/lib/puppet/util/log_paths.rb b/lib/puppet/util/log_paths.rb
index 2fefd4505..c15acb663 100644
--- a/lib/puppet/util/log_paths.rb
+++ b/lib/puppet/util/log_paths.rb
@@ -1,6 +1,3 @@
-# Created by Luke Kanies on 2007-07-04.
-# Copyright (c) 2007. All rights reserved.
-
module Puppet::Util::LogPaths
# return the full path to us, for logging and rollback
# some classes (e.g., FileTypeRecords) will have to override this
diff --git a/lib/puppet/util/settings.rb b/lib/puppet/util/settings.rb
index caaf61b7b..3039a7b0a 100644
--- a/lib/puppet/util/settings.rb
+++ b/lib/puppet/util/settings.rb
@@ -780,6 +780,7 @@ if @config.include?(:run_mode)
# Create the transportable objects for users and groups.
def add_user_resources(catalog, sections)
return unless Puppet.features.root?
+ return if Puppet.features.microsoft_windows?
return unless self[:mkusers]
@config.each do |name, setting|
diff --git a/lib/puppet/util/settings/file_setting.rb b/lib/puppet/util/settings/file_setting.rb
index 0fa65d846..f02a0c547 100644
--- a/lib/puppet/util/settings/file_setting.rb
+++ b/lib/puppet/util/settings/file_setting.rb
@@ -93,7 +93,8 @@ class Puppet::Util::Settings::FileSetting < Puppet::Util::Settings::Setting
if Puppet[:manage_internal_file_permissions]
resource[:mode] = self.mode if self.mode
- if Puppet.features.root?
+ # REMIND fails on Windows because chown/chgrp functionality not supported yet
+ if Puppet.features.root? and !Puppet.features.microsoft_windows?
resource[:owner] = self.owner if self.owner
resource[:group] = self.group if self.group
end
diff --git a/lib/puppet/util/suidmanager.rb b/lib/puppet/util/suidmanager.rb
index 697bce111..d2772002e 100644
--- a/lib/puppet/util/suidmanager.rb
+++ b/lib/puppet/util/suidmanager.rb
@@ -37,7 +37,20 @@ module Puppet::Util::SUIDManager
module_function :groups=
def self.root?
- Process.uid == 0
+ return Process.uid == 0 unless Puppet.features.microsoft_windows?
+
+ require 'sys/admin'
+ require 'win32/security'
+
+ # if Vista or later, check for unrestricted process token
+ begin
+ return Win32::Security.elevated_security?
+ rescue Win32::Security::Error => e
+ raise e unless e.to_s =~ /Incorrect function/i
+ end
+
+ group = Sys::Admin.get_group("Administrators", :sid => Win32::Security::SID::BuiltinAdministrators)
+ group and group.members.index(Sys::Admin.get_login) != nil
end
# Runs block setting uid and gid if provided then restoring original ids