if(argc < 3) {
std::string msg = "Usage: "; msg += exec;
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: <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";
// Register stacks:
try {
anna::Tokenizer stacksTok;
- stacksTok.apply(stacks, ",");
+ stacksTok.apply(stacks, "#");
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;
- stackTok.apply(stack, "#");
+ stackTok.apply(stack, ",");
if(stackTok.size() == 1) {
if(stacksTok.size() != 1)
}
// Validation kindness
+ e_codecEngine->setValidationDepth(anna::diameter::codec::EngineImpl::ValidationDepth::Complete); // complete validation for better reports
if(no_validation) G_codecEngine->setValidationMode(anna::diameter::codec::EngineImpl::ValidationMode::Never);
if(ignore_flags) G_codecEngine->ignoreFlagsOnValidation(true);