📄 parser.c
字号:
/** This file is part of Firestorm NIDS* Copyright (c) 2002 Gianni Tedesco* This program is released under the terms of the GNU GPL version 2** Track relevent ruleset parser modules. Ruleset parsing is actually* done inside the plugins.*/#include <string.h>#include <firestorm.h>#include <args.h>#include <loader.h>#include <cleanup.h>#include <packet.h>#include <alert.h>#include <signature.h>#include <parser.h>struct parser *parse_list=NULL;void parser_load(void){ struct plugin *p; proc_parser_load fn; static struct parser_api papi={ .size=sizeof(papi), .parser_add=parser_add, .parser_setup=parser_setup, .args_parse=args_parse, .signature_rule=signature_rule, .signature_criteria=signature_criteria, .signature_modifier=signature_modifier, .signature_alert=signature_alert, .signature_commit=signature_commit, .signature_abort=signature_abort, }; for(p=ld_list; p; p=p->next) { if ( !(fn=loader_symbol(p, plugin_parser)) ) continue; loader_perror(p, "parser", fn(&papi)); }}int parser_setup(char *type, char *file){ struct parser *p; if ( !type ) return 0; for(p=parse_list; p; p=p->next) { if ( !strcmp(p->name, type) ) { return p->load_file(file); } } return 0;}int parser_add(struct parser *p){ if ( !p || !p->name || !p->load_file ) return 0; /* Append to list */ p->next=parse_list; parse_list=p; return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -