- msg += " <stacks> <input file> [--no-validation] [--ignore-flags]\n\n";
- msg += " stacks: <id1#dictionary1,id2#dictionary2,...,idN#dictionaryN>\n";
- msg += " This is a list of comma-separated stacks defined by a #-separated pair <application-id#xml dictionary pathfile>\n";
+ msg += " <stacks> <input file> [--no-validation] [--ignore-flags] [--debug]\n\n";
+ msg += " stacks: <id1,dictionary1#id2,dictionary2#...#idN,dictionaryN>\n";
+ msg += " This is a list of #-separated stacks defined by a comma-separated pair <application-id,xml dictionary pathfile>\n";
msg += " If only one stack is provided, application-id could be omitted and then, all the messages will be decoded with the\n";
msg += " dictionary regardless the value of the application-id (the stack will be registered with id=0).\n";
msg += " Input file: normally a pcap file, but hexadecimal content (colons allowed) can also be decoded (use '.hex' extension).\n";
msg += " --no-validation: no validation is performed.\n";
msg += " If only one stack is provided, application-id could be omitted and then, all the messages will be decoded with the\n";
msg += " dictionary regardless the value of the application-id (the stack will be registered with id=0).\n";
msg += " Input file: normally a pcap file, but hexadecimal content (colons allowed) can also be decoded (use '.hex' extension).\n";
msg += " --no-validation: no validation is performed.\n";
bool no_validation = (optionals.find("--no-validation") != std::string::npos);
bool ignore_flags = (optionals.find("--ignore-flags") != std::string::npos);
bool no_validation = (optionals.find("--no-validation") != std::string::npos);
bool ignore_flags = (optionals.find("--ignore-flags") != std::string::npos);
Logger::initialize(execBN.c_str(), new TraceWriter(filetrace.c_str(), 2048000));
G_codecEngine = new anna::diameter::codec::Engine();
anna::diameter::stack::Engine &stackEngine =
Logger::initialize(execBN.c_str(), new TraceWriter(filetrace.c_str(), 2048000));
G_codecEngine = new anna::diameter::codec::Engine();
anna::diameter::stack::Engine &stackEngine =
anna::Tokenizer::const_iterator stacks_it, stack_it;
for(stacks_it = stacksTok.begin(); stacks_it != stacksTok.end(); stacks_it++) {
std::string stack = anna::Tokenizer::data(stacks_it);
anna::Tokenizer stackTok;
anna::Tokenizer::const_iterator stacks_it, stack_it;
for(stacks_it = stacksTok.begin(); stacks_it != stacksTok.end(); stacks_it++) {
std::string stack = anna::Tokenizer::data(stacks_it);
anna::Tokenizer stackTok;
if(no_validation) G_codecEngine->setValidationMode(anna::diameter::codec::EngineImpl::ValidationMode::Never);
if(ignore_flags) G_codecEngine->ignoreFlagsOnValidation(true);
if(no_validation) G_codecEngine->setValidationMode(anna::diameter::codec::EngineImpl::ValidationMode::Never);
if(ignore_flags) G_codecEngine->ignoreFlagsOnValidation(true);