Remove code for XML serialization.

Code was apparently defunct and was not user-accessible for a long time.
This commit is contained in:
Johanna Amann 2016-08-05 14:02:28 -07:00
parent 30b40b214a
commit 39d811ff06
3 changed files with 6 additions and 332 deletions

View file

@ -436,257 +436,3 @@ bool BinarySerializationFormat::Write(const char* buf, int len, const char* tag)
return WriteData(&l, sizeof(l)) && WriteData(buf, len); return WriteData(&l, sizeof(l)) && WriteData(buf, len);
} }
XMLSerializationFormat::XMLSerializationFormat()
{
}
XMLSerializationFormat::~XMLSerializationFormat()
{
}
bool XMLSerializationFormat::Read(int* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(uint16* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(uint32* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(int64* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(uint64* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(bool* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(double* d, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(char* v, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(char** str, int* len, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(string* s, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(IPAddr* addr, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(IPPrefix* prefix, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(struct in_addr* addr, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Read(struct in6_addr* addr, const char* tag)
{
reporter->InternalError("no reading of xml");
return false;
}
bool XMLSerializationFormat::Write(char v, const char* tag)
{
return WriteElem(tag, "char", &v, 1);
}
bool XMLSerializationFormat::Write(uint16 v, const char* tag)
{
const char* tmp = fmt("%" PRIu16, v);
return WriteElem(tag, "uint16", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(uint32 v, const char* tag)
{
const char* tmp = fmt("%" PRIu32, v);
return WriteElem(tag, "uint32", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(uint64 v, const char* tag)
{
const char* tmp = fmt("%" PRIu64, v);
return WriteElem(tag, "uint64", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(int64 v, const char* tag)
{
const char* tmp = fmt("%" PRId64, v);
return WriteElem(tag, "int64", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(int v, const char* tag)
{
const char* tmp = fmt("%d", v);
return WriteElem(tag, "int", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(double d, const char* tag)
{
const char* tmp = fmt("%f", d);
return WriteElem(tag, "double", tmp, strlen(tmp));
}
bool XMLSerializationFormat::Write(bool v, const char* tag)
{
if ( v )
return WriteElem(tag, "bool", "true", 4);
else
return WriteElem(tag, "bool", "false", 5);
}
bool XMLSerializationFormat::Write(const char* s, const char* tag)
{
return WriteElem(tag, "string", s, strlen(s));
}
bool XMLSerializationFormat::Write(const string& s, const char* tag)
{
return WriteElem(tag, "string", s.data(), s.size());
}
bool XMLSerializationFormat::WriteOpenTag(const char* tag)
{
return WriteData("<", 1) && WriteData(tag, strlen(tag) && WriteData(">", 1));
}
bool XMLSerializationFormat::WriteCloseTag(const char* tag)
{
return WriteData("</", 2) && WriteData(tag, strlen(tag))
&& WriteData(">", 1);
}
bool XMLSerializationFormat::WriteSeparator()
{
return WriteData("\n", 1);
}
bool XMLSerializationFormat::Write(const char* buf, int len, const char* tag)
{
return WriteElem(tag, "string", buf, len);
}
bool XMLSerializationFormat::Write(const IPAddr& addr, const char* tag)
{
reporter->InternalError("XML output of addresses not implemented");
return false;
}
bool XMLSerializationFormat::Write(const IPPrefix& prefix, const char* tag)
{
reporter->InternalError("XML output of prefixes not implemented");
return false;
}
bool XMLSerializationFormat::Write(const struct in_addr& addr, const char* tag)
{
reporter->InternalError("XML output of in_addr not implemented");
return false;
}
bool XMLSerializationFormat::Write(const struct in6_addr& addr, const char* tag)
{
reporter->InternalError("XML output of in6_addr not implemented");
return false;
}
bool XMLSerializationFormat::WriteEncodedString(const char* s, int len)
{
while ( len-- )
{
int success = false;
if ( ! isprint(*s) )
{
const char* tmp = fmt("%.4x", (int)* s++);
success = WriteData("&#x", 3) && WriteData(tmp, 4) &&
WriteData(";", 1);
}
else
{
switch ( *s ) {
case '"':
success = WriteData("&quot;", 6);
break;
case '&':
success = WriteData("&amp;", 5);
break;
case '<':
success = WriteData("&lt;", 4);
break;
case '>':
success = WriteData("&gt;", 4);
break;
default:
success = WriteData(s, 1);
}
if ( ! success )
return false;
++s;
}
}
return true;
}
bool XMLSerializationFormat::WriteElem(const char* tag, const char* type,
const char* content, int len)
{
if ( ! tag )
return true;
return WriteData("<", 1) &&
WriteData(tag, strlen(tag)) &&
#if 0
WriteData(" type=\"", 7) &&
WriteData(type, strlen(type)) &&
WriteData("\"", 1) &&
#endif
WriteData(">", 1) &&
WriteEncodedString(content, len) &&
WriteData("</", 2) &&
WriteData(tag, strlen(tag)) &&
WriteData(">", 1);
}

View file

@ -134,54 +134,4 @@ public:
virtual bool WriteSeparator(); virtual bool WriteSeparator();
}; };
class XMLSerializationFormat:public SerializationFormat {
public:
XMLSerializationFormat();
virtual ~ XMLSerializationFormat();
// We don't write anything if tag is nil.
virtual bool Write(int v, const char* tag);
virtual bool Write(uint16 v, const char* tag);
virtual bool Write(uint32 v, const char* tag);
virtual bool Write(int64 v, const char* tag);
virtual bool Write(uint64 v, const char* tag);
virtual bool Write(char v, const char* tag);
virtual bool Write(bool v, const char* tag);
virtual bool Write(double d, const char* tag);
virtual bool Write(const char* s, const char* tag);
virtual bool Write(const char* buf, int len, const char* tag);
virtual bool Write(const string& s, const char* tag);
virtual bool Write(const IPAddr& addr, const char* tag);
virtual bool Write(const IPPrefix& prefix, const char* tag);
virtual bool Write(const struct in_addr& addr, const char* tag);
virtual bool Write(const struct in6_addr& addr, const char* tag);
virtual bool WriteOpenTag(const char* tag);
virtual bool WriteCloseTag(const char* tag);
virtual bool WriteSeparator();
// Not implemented.
virtual bool Read(int* v, const char* tag);
virtual bool Read(uint16* v, const char* tag);
virtual bool Read(uint32* v, const char* tag);
virtual bool Read(int64* v, const char* tag);
virtual bool Read(uint64* v, const char* tag);
virtual bool Read(char* v, const char* tag);
virtual bool Read(bool* v, const char* tag);
virtual bool Read(double* d, const char* tag);
virtual bool Read(char** str, int* len, const char* tag);
virtual bool Read(string* s, const char* tag);
virtual bool Read(IPAddr* addr, const char* tag);
virtual bool Read(IPPrefix* prefix, const char* tag);
virtual bool Read(struct in_addr* addr, const char* tag);
virtual bool Read(struct in6_addr* addr, const char* tag);
private:
// Encodes non-printable characters.
bool WriteEncodedString(const char* str, int len);
// Write an elment including type and encoding.
bool WriteElem(const char* tag, const char* type,
const char* content, int len);
};
#endif #endif

View file

@ -204,9 +204,6 @@ void usage()
#ifdef USE_PERFTOOLS_DEBUG #ifdef USE_PERFTOOLS_DEBUG
fprintf(stderr, " -m|--mem-leaks | show leaks [perftools]\n"); fprintf(stderr, " -m|--mem-leaks | show leaks [perftools]\n");
fprintf(stderr, " -M|--mem-profile | record heap [perftools]\n"); fprintf(stderr, " -M|--mem-profile | record heap [perftools]\n");
#endif
#if 0 // Broken
fprintf(stderr, " -X <file.bst> | print contents of state file as XML\n");
#endif #endif
fprintf(stderr, " --pseudo-realtime[=<speedup>] | enable pseudo-realtime for performance evaluation (default 1)\n"); fprintf(stderr, " --pseudo-realtime[=<speedup>] | enable pseudo-realtime for performance evaluation (default 1)\n");
@ -459,7 +456,6 @@ int main(int argc, char** argv)
int parse_only = false; int parse_only = false;
int bare_mode = false; int bare_mode = false;
int dump_cfg = false; int dump_cfg = false;
int to_xml = 0;
int do_watchdog = 0; int do_watchdog = 0;
int override_ignore_checksums = 0; int override_ignore_checksums = 0;
int rule_debug = 0; int rule_debug = 0;
@ -705,13 +701,6 @@ int main(int argc, char** argv)
break; break;
#endif #endif
#if 0 // broken
case 'X':
bst_file = optarg;
to_xml = 1;
break;
#endif
#ifdef USE_IDMEF #ifdef USE_IDMEF
case 'n': case 'n':
fprintf(stderr, "Using IDMEF XML DTD from %s\n", optarg); fprintf(stderr, "Using IDMEF XML DTD from %s\n", optarg);
@ -1013,23 +1002,12 @@ int main(int argc, char** argv)
// Just read state file from disk. // Just read state file from disk.
if ( bst_file ) if ( bst_file )
{ {
if ( to_xml ) FileSerializer s;
{ UnserialInfo info(&s);
BinarySerializationFormat* b = info.print = stdout;
new BinarySerializationFormat(); info.install_uniques = true;
XMLSerializationFormat* x = new XMLSerializationFormat(); if ( ! s.Read(&info, bst_file) )
ConversionSerializer s(b, x); reporter->Error("Failed to read events from %s\n", bst_file);
s.Convert(bst_file, "/dev/stdout");
}
else
{
FileSerializer s;
UnserialInfo info(&s);
info.print = stdout;
info.install_uniques = true;
if ( ! s.Read(&info, bst_file) )
reporter->Error("Failed to read events from %s\n", bst_file);
}
exit(0); exit(0);
} }