]> git.ipfire.org Git - thirdparty/suricata-update.git/commitdiff
look in config file for "suricata" option
authorJason Ish <ish@unx.ca>
Tue, 12 Dec 2017 20:45:27 +0000 (14:45 -0600)
committerJason Ish <ish@unx.ca>
Tue, 12 Dec 2017 20:45:27 +0000 (14:45 -0600)
Previously the suricata binary could only be changed from
the command line. Now it can be set in the config file.

suricata/update/engine.py
suricata/update/main.py

index 538804541a3fe2dc04d6334084f908a006d9f8b8..87694e3f06541c1a03d11fe37238a2f595d3cda6 100644 (file)
@@ -84,9 +84,9 @@ def get_path(program="suricata"):
         if not path:
             continue
         suricata_path = os.path.join(path, program)
-        logger.debug("Testing path: %s" % (path))
+        logger.debug("Looking for %s in %s" % (program, path))
         if os.path.exists(suricata_path):
-            logger.debug("Found %s." % (path))
+            logger.debug("Found %s." % (suricata_path))
             return suricata_path
     return None
 
@@ -106,14 +106,12 @@ def parse_version(buf):
             raw=buf)
     return None
 
-def get_version(path=None):
+def get_version(path):
     """Get a SuricataVersion named tuple describing the version.
 
     If no path argument is found, the envionment PATH will be
     searched.
     """
-    if not path:
-        path = get_path("suricata")
     if not path:
         return None
     output = subprocess.check_output([path, "-V"])
index bddd152080f6ed401dfb9ba4bf8531c7c8f64516..d66726d11c7e353bf591631d2504b2502839f557 100644 (file)
@@ -924,8 +924,6 @@ def copytree_ignore_backup(src, names):
 def _main():
     global args
 
-    suricata_path = suricata.update.engine.get_path()
-
     global_parser = argparse.ArgumentParser(add_help=False)
     global_parser.add_argument(
         "-v", "--verbose", action="store_true", default=None,
@@ -1093,12 +1091,12 @@ def _main():
         version, revision, sys.version.replace("\n", "- ")))
 
     # Check for Suricata binary...
-    if args.suricata:
-        if not os.path.exists(args.suricata):
+    if config.get("suricata"):
+        if not os.path.exists(config.get("suricata")):
             logger.error("Specified path to suricata does not exist: %s",
-                     args.suricata)
+                         config.get("suricata"))
             return 1
-        suricata_path = args.suricata
+        suricata_path = config.get("suricata")
     else:
         suricata_path = suricata.update.engine.get_path()
         if not suricata_path:
@@ -1116,7 +1114,7 @@ def _main():
             return 1
         logger.info("Forcing Suricata version to %s." % (suricata_version.full))
     elif suricata_path:
-        suricata_version = suricata.update.engine.get_version(args.suricata)
+        suricata_version = suricata.update.engine.get_version(suricata_path)
         if suricata_version:
             logger.info("Found Suricata version %s at %s." % (
                 str(suricata_version.full), suricata_path))