From: Peter Palfrader <peter@palfrader.org>
Date: Fri, 3 Sep 2010 10:10:44 +0000 (+0200)
Subject: Find out if we are natted
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=02c7f4f4890f18696ce9e8094da69e8802282995;p=dsa-puppet.git

Find out if we are natted
---

diff --git a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb
index 4d915b21..d5308184 100644
--- a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb
+++ b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb
@@ -8,6 +8,15 @@ module Puppet::Parser::Functions
 
     results         = function_yamlinfo(host, yamlfile)
     results['ldap'] = function_ldapinfo(host, '*')
+
+    results['misc'] = {}
+    if $fqdn == host
+      # find out if we are behind nat
+      v4addrs = $v4ips.split(',')
+      intersection = v4addrs & nodeinfo['ldap']['ipHostNumber']
+      results['misc']['natted'] = intersection.empty?
+    end
+
     return(results)
   end
 end