mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-15 09:04:39 +00:00
(ids) move parameter parsing to function
This commit is contained in:
parent
d67dcd90e6
commit
ca7c0ffa62
@ -34,8 +34,8 @@
|
||||
parameters: list of parameters used
|
||||
"""
|
||||
import ujson
|
||||
import sys
|
||||
from lib.rulecache import RuleCache
|
||||
from lib.params import updateParams
|
||||
|
||||
|
||||
# Because rule parsing isn't very useful when the rule definitions didn't change we create a single json file
|
||||
@ -47,14 +47,7 @@ if __name__ == '__main__':
|
||||
|
||||
# load parameters, ignore validation here the search method only processes valid input
|
||||
parameters = {'limit':'0','offset':'0','sort_by':'', 'filter':''}
|
||||
cmd=None
|
||||
for arg in sys.argv[1:]:
|
||||
if cmd is None:
|
||||
cmd=arg[1:]
|
||||
else:
|
||||
if cmd in parameters:
|
||||
parameters[cmd] = arg.strip()
|
||||
cmd=None
|
||||
updateParams(parameters)
|
||||
|
||||
# dump output
|
||||
result=rc.search(**parameters)
|
||||
|
||||
50
src/opnsense/scripts/suricata/lib/params.py
Normal file
50
src/opnsense/scripts/suricata/lib/params.py
Normal file
@ -0,0 +1,50 @@
|
||||
"""
|
||||
Copyright (c) 2015 Ad Schellevis
|
||||
|
||||
part of OPNsense (https://www.opnsense.org/)
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
||||
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
"""
|
||||
import sys
|
||||
|
||||
def updateParams(parameters):
|
||||
""" update predefined parameters with given list from shell (as switches)
|
||||
for example /a valA /b valB
|
||||
converts to
|
||||
{'a':'valA','b':'valB'}
|
||||
(assuming parameters contains both a and b)
|
||||
:param parameters: parameter dictionary
|
||||
:return:
|
||||
"""
|
||||
cmd=None
|
||||
for arg in sys.argv[1:]:
|
||||
if cmd is None:
|
||||
cmd=arg[1:]
|
||||
else:
|
||||
if cmd in parameters and arg.strip() != '':
|
||||
parameters[cmd] = arg.strip()
|
||||
cmd=None
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user