From 436147586ebe1c3d173dc70211ecf3cdd1ef24a5 Mon Sep 17 00:00:00 2001
From: Oliver Pinter <oliver.pinter@hardenedbsd.org>
Date: Thu, 15 Jan 2015 12:44:46 +0100
Subject: [PATCH] added basic networking

---
 freebsd/network.py | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/freebsd/network.py b/freebsd/network.py
index 8826b40..db34abd 100644
--- a/freebsd/network.py
+++ b/freebsd/network.py
@@ -42,27 +42,28 @@ def change_ip_freebsd(interfaces, dns):
     remove_interfaces_freebsd(dict(data).keys())
 
     for device, conf in data:
-        if_file = rcconf_dir + device
+        if_file = rcconf_dir + "ifconfig_" + device
         with open(if_file, 'w') as f:
-            f.write('ifconfig_' + device + '="SYNCDHCP"') #XXXOP - hardcoded
-    '''
-    with open(interfaces_file, 'a') as f:
-        for ifname, conf in data:
             ipv4_alias_counter = ipv6_alias_counter = 0
-            f.write('auto %s\n' % ifname)
             for i in conf['addresses']:
+                alias=""
                 ip_with_prefix = IPNetwork(i)
-                prefixlen = ip_with_prefix.prefixlen
                 ip = ip_with_prefix.ip
-                alias = ifname
+                prefixlen = ip_with_prefix.prefixlen
                 if ip.version == 6:
+                    alias="_ipv6"
                     if ipv6_alias_counter > 0:
-                        alias = '%s:%d' % (ifname, ipv6_alias_counter)
+                        alias = '_alias%d' % (ipv6_alias_counter-1)
                     ipv6_alias_counter += 1
+                    f.write("ifconfig_" + device + alias + "=" +
+                        "\"inet6 %(ip)s prefix %(pref)s\"\n" % { 'ip' : ip, 'pref' : prefixlen })
                 else:
                     if ipv4_alias_counter > 0:
-                        alias = '%s:%d' % (ifname, ipv4_alias_counter)
+                        alias = '_alias%d' % (ipv4_alias_counter-1)
                     ipv4_alias_counter += 1
+                    f.write("ifconfig_" + device + alias + "=" + "\"inet %(ip)s/%(pref)s\"\n" % { 'ip' : ip, 'pref' : prefixlen })
+
+    '''
 
                 f.write(
                     'iface %(ifname)s %(proto)s static\n'
--
libgit2 0.26.0