summaryrefslogtreecommitdiffstats
path: root/lib/puppet/configurer/fact_handler.rb
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2009-12-03 16:10:49 -0800
committerJames Turnbull <james@lovedthanlost.net>2009-12-16 18:04:21 +1100
commit1c69af2abea55579373e6111cf840197c7cb3494 (patch)
tree3e73531636ba9cb0e6eaa7c8c365ccbc395660d3 /lib/puppet/configurer/fact_handler.rb
parent3528a7b98c300f3ffa363d232b5f577f298390eb (diff)
downloadpuppet-1c69af2abea55579373e6111cf840197c7cb3494.tar.gz
puppet-1c69af2abea55579373e6111cf840197c7cb3494.tar.xz
puppet-1c69af2abea55579373e6111cf840197c7cb3494.zip
Fixing 2855 Inadvertent zlib dependency
Disables the b64_zlib_yaml format if zlib cannot be loaded. I've added a --no-zlib to make it possible to test this on a single machine, but it might also be useful if someone finds themselves failing to connect to a server that doesn't have zlib installed. FactHandler' format is still hard-coded to YAML rather than using facts.class.default_format Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Diffstat (limited to 'lib/puppet/configurer/fact_handler.rb')
-rw-r--r--lib/puppet/configurer/fact_handler.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/puppet/configurer/fact_handler.rb b/lib/puppet/configurer/fact_handler.rb
index cbb627680..40e79b6c6 100644
--- a/lib/puppet/configurer/fact_handler.rb
+++ b/lib/puppet/configurer/fact_handler.rb
@@ -27,12 +27,15 @@ module Puppet::Configurer::FactHandler
facts = find_facts
#format = facts.class.default_format
- # Hard-code yaml, because I couldn't get marshal to work.
- format = :b64_zlib_yaml
+ if facts.support_format?(:b64_zlib_yaml)
+ format = :b64_zlib_yaml
+ else
+ format = :yaml
+ end
text = facts.render(format)
- return {:facts_format => :b64_zlib_yaml, :facts => CGI.escape(text)}
+ return {:facts_format => format, :facts => CGI.escape(text)}
end
# Retrieve facts from the central server.