# This file parses an sfatables command and generates XML files that parameterize
# matches and targets. Each such XML file defines a rule. Rules are dropped in directories
# This file parses an sfatables command and generates XML files that parameterize
# matches and targets. Each such XML file defines a rule. Rules are dropped in directories
parser = OptionParser(usage="sfatables [command] [chain] [match] [target]",
description='See "man sfatables" for more detail.')
parser = OptionParser(usage="sfatables [command] [chain] [match] [target]",
description='See "man sfatables" for more detail.')
command = command_dict[k]
for (short_option,long_option) in command.options:
parser.add_option(short_option,long_option,dest=command.type,action=command.action,const=k,help=command.help,metavar="CHAIN")
command = command_dict[k]
for (short_option,long_option) in command.options:
parser.add_option(short_option,long_option,dest=command.type,action=command.action,const=k,help=command.help,metavar="CHAIN")
parser = OptionParser(usage="sfatables [command] [chain] [match] [target]",
description='See "man sfatables" for more detail.')
parser = OptionParser(usage="sfatables [command] [chain] [match] [target]",
description='See "man sfatables" for more detail.')
command = ext_dict[k]
for arg in command.arguments:
parser.add_option('',"--"+arg['name'],dest=arg['name'],help=arg['help'],metavar=arg['target'])
command = ext_dict[k]
for arg in command.arguments:
parser.add_option('',"--"+arg['name'],dest=arg['name'],help=arg['help'],metavar=arg['target'])
raise Exception("Must specify match for this command")
match_dict = load_xml_extensions("sfatables.matches",match_dir)
match_parser = create_parser_xml_ext(match_dict)
raise Exception("Must specify match for this command")
match_dict = load_xml_extensions("sfatables.matches",match_dir)
match_parser = create_parser_xml_ext(match_dict)
match_parser.add_option('-m','--match',dest='name',help='Match name (one of %s)'%matches_str, metavar = 'MATCH')
match_parser.add_option('-n','--negate',dest='negate',help='Negate result',action='store_true')
(match_options, args) = match_parser.parse_args(pargs[1])
try:
name = match_options.name
except Exception:
match_parser.add_option('-m','--match',dest='name',help='Match name (one of %s)'%matches_str, metavar = 'MATCH')
match_parser.add_option('-n','--negate',dest='negate',help='Negate result',action='store_true')
(match_options, args) = match_parser.parse_args(pargs[1])
try:
name = match_options.name
except Exception:
setattr(match_options, 'arguments', match_dict[name].arguments)
else:
raise Exception('Match %s not found'%name)
setattr(match_options, 'arguments', match_dict[name].arguments)
else:
raise Exception('Match %s not found'%name)
raise Exception("Must specify a target for this command")
target_dict = load_xml_extensions("sfatables.targets",target_dir)
target_parser = create_parser_xml_ext(target_dict)
raise Exception("Must specify a target for this command")
target_dict = load_xml_extensions("sfatables.targets",target_dir)
target_parser = create_parser_xml_ext(target_dict)
target_parser.add_option('-j','--jump',dest='name',help='Target name (one of %s)'%targets_str, metavar = 'TARGET')
target_parser.add_option('-e','--element',dest='element',help='Element name', metavar = 'ELEMENT')
(target_options, args) = target_parser.parse_args(pargs[2])
try:
name = target_options.name
except Exception:
target_parser.add_option('-j','--jump',dest='name',help='Target name (one of %s)'%targets_str, metavar = 'TARGET')
target_parser.add_option('-e','--element',dest='element',help='Element name', metavar = 'ELEMENT')
(target_options, args) = target_parser.parse_args(pargs[2])
try:
name = target_options.name
except Exception:
setattr(target_options, 'arguments', target_dict[name].arguments)
else:
raise Exception('Target %s not found'%name)
setattr(target_options, 'arguments', target_dict[name].arguments)
else:
raise Exception('Target %s not found'%name)