]> git.ipfire.org Git - thirdparty/suricata-update.git/commitdiff
attempt to load defaults from a defaults module
authorJason Ish <ish@unx.ca>
Wed, 25 Apr 2018 20:48:16 +0000 (14:48 -0600)
committerJason Ish <ish@unx.ca>
Thu, 26 Apr 2018 12:49:57 +0000 (06:49 -0600)
The defaults module is installed by suricata into the
and contains compile time values such as sysconfdir,
and the directory where distribution provided rules
are found.

suricata/update/config.py
suricata/update/main.py

index fc58527ff315aa6889ada18129eb045bedfcafa4..891e3150bf71e55b8aa53c003db86e4b7457a697 100644 (file)
@@ -23,6 +23,12 @@ import yaml
 import suricata.update.engine
 from suricata.update.exceptions import ApplicationError
 
+try:
+    from suricata.config import defaults
+    has_defaults = True
+except:
+    has_defaults = False
+
 logger = logging.getLogger()
 
 DEFAULT_DATA_DIRECTORY = "/var/lib/suricata"
@@ -45,7 +51,10 @@ LOCAL_CONF_KEY = "local"
 OUTPUT_KEY = "output"
 DIST_RULE_DIRECTORY_KEY = "dist-rule-directory"
 
-DEFAULT_UPDATE_YAML_PATH = "/etc/suricata/update.yaml"
+if has_defaults:
+    DEFAULT_UPDATE_YAML_PATH = os.path.join(defaults.sysconfdir, "update.yaml")
+else:
+    DEFAULT_UPDATE_YAML_PATH = "/etc/suricata/update.yaml"
 
 DEFAULT_SURICATA_YAML_PATH = [
     "/etc/suricata/suricata.yaml",
@@ -53,9 +62,15 @@ DEFAULT_SURICATA_YAML_PATH = [
     "/etc/suricata/suricata-debian.yaml"
 ]
 
-DEFAULT_DIST_RULE_PATH = [
-    "/etc/suricata/rules",
-]
+if has_defaults:
+    DEFAULT_DIST_RULE_PATH = [
+        defaults.datarulesdir,
+        "/etc/suricata/rules",
+    ]
+else:
+    DEFAULT_DIST_RULE_PATH = [
+        "/etc/suricata/rules",
+    ]
 
 DEFAULT_CONFIG = {
     "disable-conf": "/etc/suricata/disable.conf",
index 6e27ce1938f502711e4b3c68d22e3c5ed03a464f..df182fdb6b06dab60d6e4b7e2aa932da24457829 100644 (file)
@@ -980,6 +980,8 @@ def copytree_ignore_backup(src, names):
 def _main():
     global args
 
+    default_update_yaml = config.DEFAULT_UPDATE_YAML_PATH
+
     global_parser = argparse.ArgumentParser(add_help=False)
     global_parser.add_argument(
         "-v", "--verbose", action="store_true", default=None,
@@ -992,7 +994,7 @@ def _main():
         help="Data directory (default: /var/lib/suricata)")
     global_parser.add_argument(
         "-c", "--config", metavar="<filename>",
-        help="configuration file (default: /etc/suricata/update.yaml)")
+        help="configuration file (default: %s)" %(default_update_yaml))
     global_parser.add_argument(
         "--suricata-conf", metavar="<filename>",
         help="configuration file (default: /etc/suricata/suricata.yaml)")