Index: tools/gformat.py
===================================================================
--- tools/gformat.py	(revision 10455)
+++ tools/gformat.py	(revision 10459)
@@ -96,6 +96,6 @@
       datadump[key]['autogen_ifname'] = datadump[key]['interface'].split(':')[0]
 
-  dhcp_interfaces = [datadump[key]['autogen_ifname'] for key in datadump['autogen_iface_keys'] if datadump[key]['dhcp'] != 'no']
-  datadump['autogen_dhcp_interfaces'] = ' '.join(dhcp_interfaces)
+  dhcp_interfaces = [datadump[key]['autogen_ifname'] for key in datadump['autogen_iface_keys'] if datadump[key]['dhcp']]
+  datadump['autogen_dhcp_interfaces'] = ','.join(dhcp_interfaces)
   datadump['autogen_item'] = item
 
@@ -457,19 +457,18 @@
 nodetype="{{ nodetype }}"
 
-{% if tproxy -%}
-tproxy_enable='YES'
-tproxy_range='{{ tproxy }}'
-{% else -%}
-tproxy_enable='NO'
-{% endif -%}
-
-{% if nodetype == "Proxy" or nodetype == "Hybrid" %}
-#
-# Edge Configuration
-#
-
-
-# Firewall and Routing Configuration
-
+#
+# Configured listings
+#
+captive_portal_whitelist=""
+captive_portal_interfaces="{{ autogen_dhcp_interfaces }}"
+# iLeiden Proxies {{ autogen_ileiden_proxies_names }}
+list_ileiden_proxies="{{ autogen_ileiden_proxies }}"
+# normal Proxies {{ autogen_normal_proxies_names }}
+list_normal_proxies="{{ autogen_normal_proxies }}"
+
+{% if nodetype == "Proxy" %}
+#
+# Proxy Configuration
+#
 {% if gateway -%}
 defaultrouter="{{ gateway }}"
@@ -495,21 +494,46 @@
 {% endif -%}
 
-{% if nodetype == "CNode" %} 
+{% if nodetype == "Hybrid" %}
+#
+# Hybrid Configuration
+#
+captive_portal_interfaces="{{ autogen_dhcp_interfaces }}"
+
+pf_rules="/etc/pf.hybrid.conf"
+{% if service_ileiden -%}
+# Service iLeiden
+pf_flags="-D ext_if={{ externalif }} -D captive_portal_interfaces=${captive_portal_interfaces:-'none'} -D publicnat=80,443"
+{% else -%}
+pf_flags="-D ext_if={{ externalif }} -D captive_portal_interfaces=${captive_portal_interfaces:-'none'} -D publicnat=0"
+{% endif -%}
+
+{% if service_proxy %}
+# Service Proxy
+tinyproxy_enable="yes"
+{% endif -%}
+
+{% if gateway -%}
+defaultrouter="{{ gateway }}"
+{% endif -%}
+#
+# END Hybrid Configuration
+#
+{% endif -%}
+
+
+{% if nodetype == "CNode" %}
 #
 # NODE iLeiden Configuration
 #
-# iLeiden Proxies {{ autogen_ileiden_proxies_names }}
-list_ileiden_proxies="{{ autogen_ileiden_proxies }}"
-# normal Proxies {{ autogen_normal_proxies_names }}
-list_normal_proxies="{{ autogen_normal_proxies }}"
+
+{% if tproxy -%}
+tproxy_enable='YES'
+tproxy_range='{{ tproxy }}'
+{% else -%}
+tproxy_enable='NO'
+{% endif -%}
 
 lvrouted_flags="-u -s s00p3rs3kr3t -m 28 -z $list_ileiden_proxies"
 {% endif %}
-{% if vpnif -%}
-  vpnif="{{ vpnif }}"
-{% endif -%}
-
-captive_portal_whitelist=""
-captive_portal_interfaces="{{ autogen_dhcp_interfaces }}"
 \n
 """).render(datadump)
@@ -1148,10 +1172,9 @@
             if type(dump[key]) == dict:
               dump[key] = fix_boolean(dump[key])
-            elif str(dump[key]).lower() == "yes":
+            elif str(dump[key]).lower() in ["yes", "true"]:
               dump[key] = True
-            elif str(dump[key]).lower() == "no":
+            elif str(dump[key]).lower() in ["no", "false"]:
               # Compass richting no (Noord Oost) is valid input
-              if key != "compass":
-                dump[key] = False
+              if key != "compass": dump[key] = False
           return dump
         datadump = fix_boolean(datadump)
