puppet 4 foo
[mirror/dsa-puppet.git] / modules / portforwarder / templates / xinetd.erb
index 2d8b994..93ba0af 100644 (file)
@@ -19,17 +19,18 @@ template = 'service @@TARGET_HOST@@@@TARGET_PORT@@
         group           = portforwarder
         instances       = 10
         server          = /usr/bin/ssh
-        server_args     = -o PreferredAuthentications=publickey -o EscapeChar=none -C @@TARGET_HOST@@ forward-to @@TARGET_PORT@@
+        server_args     = -o PreferredAuthentications=publickey -o EscapeChar=none -o BatchMode=yes -C @@SSH_OPTIONS@@ @@TARGET_HOST@@ forward-to @@TARGET_PORT@@
         cps             = 0 0
 }
 '
 
 config = YAML.load(File.open('/etc/puppet/modules/portforwarder/misc/config.yaml').read)
-if config[fqdn]
+if config[@fqdn]
        config[fqdn].each do |service|
                target_port = service['target_port']
                target_host = service['target_host']
                local_bind = service['source_bind_port']
+               ssh_options = service['ssh_options'] || ""
 
                lines << "# to #{target_port.to_s}:target_host from local port #{local_bind.to_s}"
                if target_port.nil? or target_host.nil? or local_bind.nil?
@@ -39,6 +40,7 @@ if config[fqdn]
                        p.gsub!('@@TARGET_HOST@@', target_host)
                        p.gsub!('@@TARGET_PORT@@', target_port.to_s)
                        p.gsub!('@@LOCAL_BIND@@', local_bind.to_s)
+                       p.gsub!('@@SSH_OPTIONS@@', ssh_options.to_s)
                        lines << p
                end
        end