From: Victor Julien Date: Fri, 6 Feb 2015 14:08:44 +0000 (+0100) Subject: suricatasc: add register-tenant-handler command X-Git-Tag: suricata-3.0RC1~209 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a21e88d95534df8dc70b0500b02fd7c45337625e;p=thirdparty%2Fsuricata.git suricatasc: add register-tenant-handler command Arguments: - tenant id (int) - name of handler (string) - traffic id related to handler (int, optional) Examples: - register-tenant-handler 1 vlan 1111 - register-tenant-handler 8 pcap --- diff --git a/scripts/suricatasc/src/suricatasc.py b/scripts/suricatasc/src/suricatasc.py index 9507b6ba5f..97f1c24d70 100644 --- a/scripts/suricatasc/src/suricatasc.py +++ b/scripts/suricatasc/src/suricatasc.py @@ -80,7 +80,7 @@ class SuricataCompleter: class SuricataSC: def __init__(self, sck_path, verbose=False): - self.cmd_list=['shutdown','quit','pcap-file','pcap-file-number','pcap-file-list','iface-list','iface-stat','register-tenant','unregister-tenant'] + self.cmd_list=['shutdown','quit','pcap-file','pcap-file-number','pcap-file-list','iface-list','iface-stat','register-tenant','unregister-tenant','register-tenant-handler'] self.sck_path = sck_path self.verbose = verbose @@ -212,6 +212,23 @@ class SuricataSC: else: arguments = {} arguments["variable"] = variable + elif "register-tenant-handler" in command: + try: + parts = command.split(' ') + except: + raise SuricataCommandException("Arguments to command '%s' is missing" % (command)) + cmd, tenantid, htype = parts[0], parts[1], parts[2] + hargs = None + if len(parts) > 3: + hargs = parts[3] + if cmd != "register-tenant-handler": + raise SuricataCommandException("Invalid command '%s'" % (command)) + else: + arguments = {} + arguments["id"] = int(tenantid) + arguments["htype"] = htype + if hargs != None: + arguments["hargs"] = int(hargs) elif "unregister-tenant" in command: try: [cmd, tenantid] = command.split(' ', 1)