From f321c1bbcca8948e1b0ac5ede3383c0a7e01b1a0 Mon Sep 17 00:00:00 2001 From: Nikos Vassakis Date: Wed, 19 Oct 2016 18:24:12 +0100 Subject: [PATCH] Patch for Android 4.x terminals that are missing some linux commands --- settings.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/settings.py b/settings.py index ca1fe0a..5ea5e1a 100644 --- a/settings.py +++ b/settings.py @@ -222,12 +222,29 @@ class Settings: self.AnalyzeLogger = logging.getLogger('Analyze Log') self.AnalyzeLogger.addHandler(ALog_Handler) - NetworkCard = subprocess.check_output(["ifconfig", "-a"]) - DNS = subprocess.check_output(["cat", "/etc/resolv.conf"]) - RoutingInfo = subprocess.check_output(["netstat", "-rn"]) - Message = "Current environment is:\nNetwork Config:\n%s\nDNS Settings:\n%s\nRouting info:\n%s\n\n"%(NetworkCard,DNS,RoutingInfo) - utils.DumpConfig(self.ResponderConfigDump, Message) - utils.DumpConfig(self.ResponderConfigDump,str(self)) + try: + NetworkCard = subprocess.check_output(["ifconfig", "-a"]) + except subprocess.CalledProcessError as ex: + NetworkCard = "Error fetching Network Interfaces:", ex + pass + try: + DNS = subprocess.check_output(["cat", "/etc/resolv.conf"]) + except subprocess.CalledProcessError as ex: + DNS = "Error fetching DNS configuration:", ex + pass + try: + RoutingInfo = subprocess.check_output(["netstat", "-rn"]) + except subprocess.CalledProcessError as ex: + RoutingInfo = "Error fetching Routing information:", ex + pass + + Message = "Current environment is:\nNetwork Config:\n%s\nDNS Settings:\n%s\nRouting info:\n%s\n\n"%(NetworkCard,DNS,RoutingInfo) + try: + utils.DumpConfig(self.ResponderConfigDump, Message) + utils.DumpConfig(self.ResponderConfigDump,str(self)) + except AttributeError as ex: + print "Missing Module:", ex + pass def init(): global Config