From: Wolfgang Hotwagner Date: Fri, 8 Dec 2017 16:39:52 +0000 (+0000) Subject: config: configure a custom user-agent-string X-Git-Tag: 1.0.0b1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0596f5895b8c4514d5371543cfe2ee07af1afee;p=thirdparty%2Fsuricata-update.git config: configure a custom user-agent-string Includes an command-line/config-file-option for a custom user-agent string. --- diff --git a/suricata/update/configs/update.yaml b/suricata/update/configs/update.yaml index ad6e5a7..e113f53 100644 --- a/suricata/update/configs/update.yaml +++ b/suricata/update/configs/update.yaml @@ -22,6 +22,9 @@ modify-conf: /etc/suricata/modify.conf ignore: - "*deleted.rules" +# Override the user-agent string. +#user-agent: "Suricata-Update" + # Provide an alternate command to the default test command. # # The following environment variables can be used. diff --git a/suricata/update/main.py b/suricata/update/main.py index cb12c67..cf00cdc 100644 --- a/suricata/update/main.py +++ b/suricata/update/main.py @@ -1011,6 +1011,8 @@ def _main(): update_parser.add_argument("--no-merge", action="store_true", default=False, help="Do not merge the rules into a single file") + update_parser.add_argument("--user-agent", metavar="", + help="Set custom user-agent string") update_parser.add_argument("-h", "--help", action="store_true") @@ -1181,6 +1183,12 @@ def _main(): logger.info("Loading %s.", drop_conf_filename) drop_filters += load_drop_filters(drop_conf_filename) + # Load custom user-agent-string + user_agent = config.get("user-agent") + if user_agent: + logger.info("Using user-agent: %s.",user_agent) + suricata.update.net.set_custom_user_agent(user_agent) + if os.path.exists("/etc/suricata/suricata.yaml") and \ suricata_path and os.path.exists(suricata_path): logger.info("Loading /etc/suricata/suricata.yaml") diff --git a/suricata/update/net.py b/suricata/update/net.py index f89a4ca..6fb68c6 100644 --- a/suricata/update/net.py +++ b/suricata/update/net.py @@ -37,6 +37,11 @@ logger = logging.getLogger() GET_BLOCK_SIZE = 8192 user_agent_suricata_verison = "Unknown" +custom_user_agent = None + +def set_custom_user_agent(ua): + global custom_user_agent + custom_user_agent = ua def set_user_agent_suricata_version(version): global user_agent_suricata_verison @@ -45,6 +50,9 @@ def set_user_agent_suricata_version(version): def build_user_agent(): params = [] + if custom_user_agent is not None: + return custom_user_agent + uname_system = platform.uname()[0] params.append("OS: %s" % (uname_system))