From da98b0f401f135cb5a04270dbfc46c5dafc43d9d Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 17 Aug 2009 12:15:12 -0500
Subject: LinHESconfig: remove debugging code, finish myth vars in network

---
 abs/core-testing/LinHES-config/mv_advanced.py  |  3 --
 abs/core-testing/LinHES-config/mv_install.py   |  3 +-
 abs/core-testing/LinHES-config/mv_network.py   | 56 +++++++++++++++++++++++++-
 abs/core-testing/LinHES-config/systemconfig.py |  2 +
 4 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/abs/core-testing/LinHES-config/mv_advanced.py b/abs/core-testing/LinHES-config/mv_advanced.py
index d7c65f1..2b53d04 100755
--- a/abs/core-testing/LinHES-config/mv_advanced.py
+++ b/abs/core-testing/LinHES-config/mv_advanced.py
@@ -369,9 +369,6 @@ def setup_advanced(systemconfig,data_config):
     setup_evrouter(systemconfig["UseEvrouter"],
                    systemconfig["EvrouterConfig"],
                    systemconfig["TEMPLATES"])
-    systemconfig["mythip"]="192.168.100.myip"
-    systemconfig["mythgw"]="192.168.100.mygw"
-    systemconfig["mythdns"]="192.168.100.100"
 
     setup_DNSmasq(systemconfig["RunDHCP"],
                   systemconfig["mythip"],
diff --git a/abs/core-testing/LinHES-config/mv_install.py b/abs/core-testing/LinHES-config/mv_install.py
index 2f2d1c2..56118c1 100755
--- a/abs/core-testing/LinHES-config/mv_install.py
+++ b/abs/core-testing/LinHES-config/mv_install.py
@@ -137,14 +137,13 @@ def copy_updates():
     cp_and_log2(MVROOT+"/bin/", data_config.MOUNTPOINT+MVROOT+"/bin", "*.py")
 
 def timezone_to_db(timefile):
-    logging.info("importing timezone needs")
+    logging.info("importing timezone")
     try:
         f = open(timefile)
         timezonecontents = f.readline().strip()
         f.close()
     except:
         logging.debug("Couldn't open /tmp/etc/timezone, will not set the timezone")
-	updatedb("HostTimeZone", "Unknown");
         return
     update_db("HostTimeZone", timezonecontents);
     tzsplit = timezonecontents.partition('/')
diff --git a/abs/core-testing/LinHES-config/mv_network.py b/abs/core-testing/LinHES-config/mv_network.py
index 855940f..3f8de3b 100755
--- a/abs/core-testing/LinHES-config/mv_network.py
+++ b/abs/core-testing/LinHES-config/mv_network.py
@@ -3,7 +3,7 @@ import sys , os, commands , glob, time, re
 import logging
 import mv_common
 import socket, fcntl, struct, array
-import netifaces
+import netifaces, iplib
 global etcnetdir
 etcnetdir = "/etc/net/ifaces"
 
@@ -49,6 +49,25 @@ def get_ip(ifname):
         struct.pack('256s', ifname[:15])
     )[20:24])
 
+def get_default_route(iface):
+    rcroute = "127.0.0.1" 
+    f = open ('/proc/net/route', 'r')
+    for line in f:
+        words = string.split (line)
+        netiface = words[0]
+        route =  words[2]
+        flags =  words[3]
+        try:
+            if ( netiface == iface ) and ( flags == "0003") :
+                route = iplib.IPv4Address(route, notation="hex")
+                t = str(route.get_dot())
+                s = t.split(".")
+                rcroute = s[3] + "." + s[2] + "." + s[1] + "." + s[0]
+                break
+        except ValueError:
+            pass
+    return rcroute
+
 def setup_MYTH_IP(systemconfig):
     default_interface = systemconfig["default_interface"]
     #check for dhcp in use
@@ -64,6 +83,41 @@ def setup_MYTH_IP(systemconfig):
     logging.debug("    Using %s as default ip", defaultip)
     return defaultip
 
+
+def setup_MYTH_GW(systemconfig):
+    default_interface = systemconfig["default_interface"]
+    #check for dhcp in use
+    if setup_MYTH_DHCP(systemconfig) == "0":
+        logging.debug("   dhcp is in use, finding dhcp ip")
+        defaultgw = get_default_route(default_interface)
+    else:
+        try:
+            defaultgw = systemconfig["Hostgw"+default_interface]
+        except:
+            logging.debug("    Error occured finding the defaultgw")
+            defaultgw = "127.0.0.1"
+    logging.debug("    Using %s as default gw", defaultgw)
+    return defaultgw
+
+
+def setup_MTYH_DNS():
+    returndns = "127.0.0.1"
+    try:
+      f = open ('/etc/resolv.conf', 'r')
+      for line in f:
+          if line.startswith("nameserver"):
+              print line
+              returndns = line.split()[1]  
+              break
+    except:
+      logging.debug("   Couldn't open /etc/resolv.conf for myth_dns")
+    logging.debug("   using %s for myth_dns", returndns)
+    return returndns
+
+
+
+
+
 def flush(netdev):
     logging.debug("    Flushing %s",netdev)
     cmd = '''ip address flush dev %s''' %netdev
diff --git a/abs/core-testing/LinHES-config/systemconfig.py b/abs/core-testing/LinHES-config/systemconfig.py
index b2f8529..c559e09 100755
--- a/abs/core-testing/LinHES-config/systemconfig.py
+++ b/abs/core-testing/LinHES-config/systemconfig.py
@@ -75,6 +75,8 @@ def main(argv):
 
     systemconfig["mythip"] = mv_network.setup_MYTH_IP(systemconfig)
     systemconfig["mythdhcp"] = mv_network.setup_MYTH_DHCP(systemconfig)
+    systemconfig["mythgw"] = mv_network.setup_MYTH_DHCP(systemconfig)
+    systemconfig["mythdns"] = mv_network.setup_MYTH_DHCP(systemconfig)
 
     if cmdmodule["all"]:
         logging.info("***    WILL RUN ALL MODULES   ***")
-- 
cgit v0.12

