+++ /dev/null
---- project/linux/Makefile.orig 2012-01-02 12:08:20.400871287 +0100
-+++ project/linux/Makefile 2012-01-02 12:08:48.966488826 +0100
-@@ -50,7 +50,7 @@
- LIBDIR = -L/usr/local/lib -L/usr/lib\r
- \r
- # What libraries do we need?\r
--LIBS = -lxerces-c -lxalan-c -lpcre -lpopt -lgcrypt -lblkid\r
-+LIBS = -lxerces-c -lxalan-c -lpcre -lpopt -lgcrypt -lblkid -lsepol -lselinux\r
- \r
- # Determine what package management system is being used \r
- #PACKAGE_RPM = $(shell /usr/bin/env rpm --version 2>/dev/null)\r
+++ /dev/null
---- src/linux/ProbeFactory.cpp 2010-12-10 13:37:00.019140703 +0100
-+++ src/linux/ProbeFactory.cpp 2010-08-27 21:23:41.000000000 +0200
-@@ -61,8 +61,6 @@
- probe = XmlFileContentProbe::Instance();\r
- } else if(objectName.compare("textfilecontent54_object") == 0) {\r
- probe = TextFileContent54Probe::Instance();\r
-- } else if(objectName.compare("ldap_object") == 0) {\r
-- probe = LDAPProbe::Instance();\r
- \r
- // here are the objects defined in the unix schema\r
- } else if(objectName.compare("file_object") == 0) {\r
+++ /dev/null
---- ./src/linux/ProbeFactory.cpp.old 2011-08-18 14:45:11.314556346 +0200
-+++ ./src/linux/ProbeFactory.cpp 2011-08-18 14:45:23.151011753 +0200
-@@ -101,10 +101,6 @@
- #endif\r
- } else if (objectName.compare("partition_object") == 0) {\r
- probe = PartitionProbe::Instance();\r
-- } else if (objectName.compare("selinuxsecuritycontext_object") == 0) {\r
-- probe = SelinuxSecurityContextProbe::Instance();\r
-- } else if (objectName.compare("selinuxboolean_object") == 0) {\r
-- probe = SelinuxBooleanProbe::Instance();\r
- } else if (objectName.compare("iflisteners_object") == 0) {\r
- probe = IfListenersProbe::Instance();\r
- } else {\r
---- src/linux/ProbeFactory.h.old 2011-08-18 14:47:23.226501075 +0200
-+++ src/linux/ProbeFactory.h 2011-08-18 14:47:34.183998019 +0200
-@@ -71,8 +71,6 @@
- #include "InetdProbe.h"\r
-
- #include "PartitionProbe.h"\r
--#include "SelinuxSecurityContextProbe.h"\r
--#include "SelinuxBooleanProbe.h"\r
- #include "IfListenersProbe.h"\r
- \r
- class AbsProbe;\r
---- src/probes/unix/Process58Probe.cpp.old 2012-05-22 10:09:52.980828398 +0200
-+++ src/probes/unix/Process58Probe.cpp 2012-05-22 10:11:06.266468168 +0200
-@@ -29,10 +29,10 @@
- //****************************************************************************************//\r
- \r
- #ifdef LINUX\r
--# include <selinux/selinux.h>\r
--# include <selinux/context.h>\r
-+/*# include <selinux/selinux.h>\r
-+# include <selinux/context.h>*/\r
- # include <sys/capability.h>\r
--# include <SecurityContextGuard.h>\r
-+/*# include <SecurityContextGuard.h>*/\r
- #endif\r
- \r
- #include <fstream>\r
-@@ -328,7 +328,7 @@
- pid_t sessionId;\r
- uid_t loginuid;\r
- uint64_t effCap, *effCapp=&effCap;\r
-- string selinuxDomainLabel;\r
-+/* string selinuxDomainLabel;*/\r
- \r
- Process58Probe::ProcStatus statStatus, statusStatus, ttyStatus, loginuidStatus;\r
- \r
-@@ -423,10 +423,10 @@
- }\r
- \r
- // this one doesn't require reading anything in /proc\r
-- if (!RetrieveSelinuxDomainLabel(pid, &selinuxDomainLabel, &errMsg)) {\r
-+/* if (!RetrieveSelinuxDomainLabel(pid, &selinuxDomainLabel, &errMsg)) {\r
- item->AppendMessage(new OvalMessage(errMsg, OvalEnum::LEVEL_ERROR));\r
- item->SetStatus(OvalEnum::STATUS_ERROR);\r
-- }\r
-+ }*/\r
- \r
- // The Linux start time is represented as the number of jiffies (1/100 sec)\r
- // that the application was started after the last system reboot. To get an\r
-@@ -491,10 +491,10 @@
- // aren't any.\r
- item->AppendElement(new ItemEntity("posix_capability", "", OvalEnum::DATATYPE_STRING, false, OvalEnum::STATUS_ERROR));\r
- \r
-- if (selinuxDomainLabel.empty())\r
-+/* if (selinuxDomainLabel.empty())*/\r
- item->AppendElement(new ItemEntity("selinux_domain_label", "", OvalEnum::DATATYPE_STRING, false, OvalEnum::STATUS_ERROR));\r
-- else\r
-- item->AppendElement(new ItemEntity("selinux_domain_label", selinuxDomainLabel));\r
-+/* else\r
-+ item->AppendElement(new ItemEntity("selinux_domain_label", selinuxDomainLabel));*/\r
- \r
- if (statStatus == PROC_OK)\r
- item->AppendElement(new ItemEntity("session_id", Common::ToString(sessionId), OvalEnum::DATATYPE_INTEGER));\r
-@@ -709,7 +709,7 @@
- capMap[capEnum]));\r
- }\r
- }\r
--\r
-+/*\r
- bool Process58Probe::RetrieveSelinuxDomainLabel(pid_t pid, string *label, string *err) {\r
- security_context_t sctx;\r
- int ec = getpidcon(pid, &sctx);\r
-@@ -732,7 +732,7 @@
- *label = tmp;\r
- return true;\r
- }\r
--\r
-+*/\r
- #elif defined SUNOS\r
- \r
- void Process58Probe::GetPSInfo(string command, string pidStr, ItemVector* items) {\r
+++ /dev/null
---- src/CountFunction.cpp.old 2012-01-02 11:37:27.113604532 +0100
-+++ src/CountFunction.cpp 2012-01-02 11:37:39.624998573 +0100
-@@ -29,6 +29,7 @@
- //****************************************************************************************//
-
- #include <cstddef>
-+#include <memory>
- #include "CountFunction.h"
- #include "ComponentFactory.h"
-
---- src/UniqueFunction.cpp.orig 2012-01-02 11:39:58.564269070 +0100
-+++ src/UniqueFunction.cpp 2012-01-02 11:40:12.057615550 +0100
-@@ -29,6 +29,7 @@
- //****************************************************************************************//
-
- #include <set>
-+#include <memory>
- #include "Common.h"
- #include "ComponentFactory.h"
- #include "UniqueFunction.h"
+++ /dev/null
---- src/Main.h.old 2010-10-22 14:59:13.000000000 +0200
-+++ src/Main.h 2010-10-22 14:59:38.000000000 +0200
-@@ -38,7 +38,7 @@
- #endif\r
- \r
- #ifdef LINUX\r
--# define STRNICMP strnicmp\r
-+# define STRNICMP strncasecmp\r
- #elif defined SUNOS\r
- # define STRNICMP strncasecmp\r
- #elif defined DARWIN\r
+++ /dev/null
---- src/XmlProcessor.cpp.old 2011-08-18 14:51:20.311616357 +0200
-+++ src/XmlProcessor.cpp 2011-08-18 14:51:47.214381144 +0200
-@@ -35,7 +35,6 @@
- // for dom Writer\r
- #include <xercesc/dom/DOMImplementation.hpp>\r
- #include <xercesc/dom/DOMImplementationLS.hpp>\r
--#include <xercesc/dom/DOMWriter.hpp>\r
- #include <xercesc/framework/StdOutFormatTarget.hpp>\r
- #include <xercesc/framework/LocalFileFormatTarget.hpp>\r
- #include <xercesc/util/XMLUni.hpp>\r
-@@ -53,8 +52,17 @@
- //****************************************************************************************//\r
- // DataDirResolver Class // \r
- //****************************************************************************************//\r
--\r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMInputSource* DataDirResolver::resolveEntity (const XMLCh *const /*publicId*/, const XMLCh *const systemId, const XMLCh *const /*baseURI*/) {\r
-+#else\r
-+InputSource* DataDirResolver::resolveEntity(const XMLCh* publicId, const XMLCh* systemId)\r
-+{\r
-+ return NULL;\r
-+ //return DataDirResolver::resolveEntity (publicId, systemId, NULL);\r
-+}\r
-+\r
-+DOMLSInput* DataDirResolver::resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI) {\r
-+#endif\r
- string path = "";\r
- size_t last;\r
- string schemapath = Common::GetSchemaPath();\r
-@@ -104,13 +112,19 @@
- \r
- try {\r
- XMLPlatformUtils::Initialize();\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+#define SetParameter(parser,n,v) parser->setFeature(n,v)\r
-+#else\r
-+#define SetParameter(parser,n,v) parser->getDomConfig()->setParameter(n,v)\r
-+#endif\r
- \r
- parser = makeParser();\r
- parserWithCallerAdoption = makeParser();\r
- // add one extra feature on this parser to prevent it from\r
- // taking ownership of its documents.\r
-- parserWithCallerAdoption->setFeature(XMLUni::fgXercesUserAdoptsDOMDocument, true);\r
-+ SetParameter(parserWithCallerAdoption, XMLUni::fgXercesUserAdoptsDOMDocument, true);\r
- \r
-+#undef SetParameter\r
- } catch (const XMLException& toCatch) {\r
- string errMsg = "Error: An error occured durring initialization of the xml utilities:\n";\r
- errMsg.append(XmlCommon::ToString(toCatch.getMessage()));\r
-@@ -137,32 +151,55 @@
- \r
- }\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMBuilder *XmlProcessor::makeParser() {\r
-+#else\r
-+DOMLSParser *XmlProcessor::makeParser() {\r
-+#endif\r
- // Instantiate the DOM parser.\r
- static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };\r
- DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS);\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMBuilder *parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);\r
-+#else\r
-+ DOMLSParser *parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);\r
-+#endif\r
- \r
- ///////////////////////////////////////////////////////\r
- // Set features on the builder\r
- ///////////////////////////////////////////////////////\r
- \r
-- parser->setFeature(XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. \r
-- parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language. \r
-- parser->setFeature(XMLUni::fgDOMNamespaces, true); // Perform Namespace processing\r
-- parser->setFeature(XMLUni::fgDOMValidation, true); // Report all validation errors. \r
-- parser->setFeature(XMLUni::fgXercesSchema, true); // Enable the parser's schema support.\r
-- parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option. \r
-- parser->setFeature(XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit \r
-- parser->setFeature(XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes.\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+#define SetParameter(parser,n,v) parser->setFeature(n,v)\r
-+#else\r
-+#define SetParameter(parser,n,v) parser->getDomConfig()->setParameter(n,v)\r
-+#endif\r
-+\r
-+ SetParameter(parser, XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. \r
-+ SetParameter(parser, XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language. \r
-+ SetParameter(parser, XMLUni::fgDOMNamespaces, true); // Perform Namespace processing\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+ SetParameter(parser, XMLUni::fgDOMValidation, true); // Report all validation errors. \r
-+#else\r
-+ SetParameter(parser, XMLUni::fgDOMValidate, true); // Report all validation errors. \r
-+#endif\r
-+ SetParameter(parser, XMLUni::fgXercesSchema, true); // Enable the parser's schema support.\r
-+ SetParameter(parser, XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option. \r
-+ SetParameter(parser, XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit \r
-+ SetParameter(parser, XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes.\r
-+#undef SetParameter\r
- \r
- ///////////////////////////////////////////////////////\r
- //****************************************************************************************//\r
- // The following code was added to handle air-gap operation // \r
- //****************************************************************************************//\r
- /* Look for XML schemas in local directory instead of Internet */\r
-+#if XERCES_VERSION_MAJOR < 3\r
- parser->setEntityResolver (&resolver);\r
-+#else\r
-+ parser->getDomConfig()->setParameter(XMLUni::fgXercesEntityResolver, &resolver);\r
-+#endif\r
- //****************************************************************************************//\r
- // End of air-gap code // \r
- //****************************************************************************************//\r
-@@ -170,7 +207,11 @@
- ///////////////////////////////////////////////////////\r
- // Add an Error Handler\r
- ///////////////////////////////////////////////////////\r
-+#if XERCES_VERSION_MAJOR < 3\r
- parser->setErrorHandler(&errHandler);\r
-+#else\r
-+ parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, &errHandler);\r
-+#endif\r
- \r
- return parser;\r
- }\r
-@@ -250,24 +291,26 @@
- XMLCh tempStr[100];\r
- XMLString::transcode("LS", tempStr, 99);\r
- DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr);\r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMWriter *theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter();\r
-+#else\r
-+ DOMLSSerializer *theSerializer = ((DOMImplementationLS*)impl)->createLSSerializer();\r
-+#endif\r
-+\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+#define SetParameter(serializer,n,v) if (serializer->canSetFeature(n,v)) serializer->setFeature(n,v)\r
-+#else\r
-+#define SetParameter(serializer,n,v) if (serializer->getDomConfig()->canSetParameter(n,v)) serializer->getDomConfig()->setParameter(n,v)\r
-+#endif\r
- \r
- // set feature if the serializer supports the feature/mode\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTSplitCdataSections, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTSplitCdataSections, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTBOM, false))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTBOM, false);\r
--\r
-- //if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true))\r
-- // theSerializer->setFeature(XMLUni::fgDOMWRTBOM, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTSplitCdataSections, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTDiscardDefaultContent, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTFormatPrettyPrint, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, false);\r
-+ //SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, true);\r
- \r
-+#undef SetParameter\r
- //\r
- // Plug in a format target to receive the resultant\r
- // XML stream from the serializer.\r
-@@ -284,7 +327,13 @@
- //\r
- // do the serialization through DOMWriter::writeNode();\r
- //\r
-+#if XERCES_VERSION_MAJOR < 3\r
- theSerializer->writeNode(myFormTarget, *doc);\r
-+#else\r
-+ DOMLSOutput *output = ((DOMImplementationLS*)impl)->createLSOutput();\r
-+ output->setByteStream(myFormTarget);\r
-+ theSerializer->write(doc, output);\r
-+#endif\r
- \r
- theSerializer->release();\r
- delete myFormTarget;\r
---- src/XmlProcessor.h.old 2011-08-18 14:35:41.608703233 +0200
-+++ src/XmlProcessor.h 2011-08-18 14:39:21.835597094 +0200
-@@ -38,14 +38,17 @@
- #include <string>\r
- \r
- // required xerces includes\r
--#include <xercesc/dom/DOMBuilder.hpp>\r
- #include <xercesc/dom/DOMDocument.hpp>\r
- #include <xercesc/dom/DOMErrorHandler.hpp>\r
- #include <xercesc/dom/DOMError.hpp>\r
- \r
- // for entity resolver\r
--#include <xercesc/dom/DOMEntityResolver.hpp>\r
--#include <xercesc/dom/DOMInputSource.hpp>\r
-+\r
-+#include <xercesc/dom/DOMImplementationRegistry.hpp>\r
-+#include <xercesc/dom/DOMLSParser.hpp>\r
-+#include <xercesc/sax/EntityResolver.hpp>\r
-+#include <xercesc/sax/InputSource.hpp>\r
-+#include <xercesc/sax2/SAX2XMLReader.hpp>\r
- \r
- #include "Exception.h"\r
- \r
-@@ -53,12 +56,14 @@
- This class extends the default DOMEntityResolver and implments the resolve entity method \r
- to support \r
- */\r
--class DataDirResolver : public xercesc::DOMEntityResolver {\r
-+class DataDirResolver : public xercesc::EntityResolver {\r
- public:\r
- /**\r
- * \r
- */\r
-- xercesc::DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);\r
-+// xercesc::DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);
-+ xercesc::InputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId);
-+ xercesc::DOMLSInput *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);
- };\r
- \r
- /**\r
-@@ -135,7 +140,7 @@
- /**\r
- * Has the common code for creating an XML parser.\r
- */\r
-- xercesc::DOMBuilder *makeParser();\r
-+ xercesc::DOMLSParser *makeParser();\r
- \r
- static XmlProcessor* instance;\r
- \r
-@@ -144,7 +149,7 @@
- * owns the documents it builds. Users must manually destroy\r
- * those documents.\r
- */\r
-- xercesc::DOMBuilder *parserWithCallerAdoption;\r
-+ xercesc::DOMLSParser *parserWithCallerAdoption;\r
- \r
- /**\r
- * This parser doesn't have user-adoption switched on, so it\r
-@@ -156,7 +161,7 @@
- * appear to ever be switched off. So to make sure this isn't\r
- * leaking memory, I have created separate parsers.\r
- */\r
-- xercesc::DOMBuilder *parser;\r
-+ xercesc::DOMLSParser *parser;\r
- \r
- /** The entity resolver for both parsers. */\r
- DataDirResolver resolver;\r
---- src/probes/independent/XmlFileContentProbe.cpp.old 2010-10-22 14:49:22.000000000 +0200
-+++ src/probes/independent/XmlFileContentProbe.cpp 2010-10-22 14:51:39.000000000 +0200
-@@ -419,12 +419,24 @@
- return new DummyEntityResolver::DoNothingBinInputStream();\r
- }\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- unsigned int DummyEntityResolver::DoNothingBinInputStream::curPos() const\r
-+#else\r
-+const XMLCh* DummyEntityResolver::DoNothingBinInputStream::getContentType() const\r
-+{\r
-+ return NULL;\r
-+}\r
-+XMLFilePos DummyEntityResolver::DoNothingBinInputStream::curPos() const\r
-+#endif\r
- {\r
- return 0;\r
- }\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- unsigned int DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const /*toFill*/, const unsigned int /*maxToRead*/)\r
-+#else\r
-+XMLSize_t DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const toFill, XMLSize_t maxToRead)\r
-+#endif\r
- {\r
- return 0;\r
- }\r
---- src/probes/independent/XmlFileContentProbe.h.old 2010-10-22 14:55:47.000000000 +0200
-+++ src/probes/independent/XmlFileContentProbe.h 2010-10-22 14:57:00.000000000 +0200
-@@ -134,8 +134,14 @@
- class DoNothingBinInputStream : public BinInputStream\r
- {\r
- public:\r
-+#if XERCES_VERSION_MAJOR < 3\r
- virtual unsigned int curPos() const;\r
- virtual unsigned int readBytes(XMLByte *const toFill, const unsigned int maxToRead);\r
-+#else\r
-+ virtual XMLFilePos curPos() const;\r
-+ virtual const XMLCh* getContentType() const;\r
-+ virtual XMLSize_t readBytes(XMLByte *const toFill, XMLSize_t maxToRead);\r
-+#endif\r
- };\r
- };\r
- \r
---- src/XmlCommon.cpp.old
-+++ src/XmlCommon.cpp
-@@ -546,7 +546,11 @@ void XmlCommon::AddSchemaLocation(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *do
- string XmlCommon::GetNamespace(DOMElement *element) {\r
- \r
- string xmlns = "";\r
-+#if XERCES_VERSION_MAJOR < 3\r
- xmlns = XmlCommon::ToString(element->getTypeInfo()->getNamespace());\r
-+#else\r
-+ xmlns = XmlCommon::ToString(element->getSchemaTypeInfo()->getTypeNamespace());\r
-+#endif\r
- if (xmlns.compare("") == 0) {\r
- xmlns = "";\r
- }\r
+++ /dev/null
---- src/linux/ProbeFactory.cpp 2010-12-10 13:37:00.019140703 +0100
-+++ src/linux/ProbeFactory.cpp 2010-08-27 21:23:41.000000000 +0200
-@@ -61,8 +61,6 @@
- probe = XmlFileContentProbe::Instance();\r
- } else if(objectName.compare("textfilecontent54_object") == 0) {\r
- probe = TextFileContent54Probe::Instance();\r
-- } else if(objectName.compare("ldap_object") == 0) {\r
-- probe = LDAPProbe::Instance();\r
- \r
- // here are the objects defined in the unix schema\r
- } else if(objectName.compare("file_object") == 0) {\r
---- src/linux/ProbeFactory.h 2010-12-10 13:36:50.315386197 +0100
-+++ src/linux/ProbeFactory.h 2010-08-27 21:23:41.000000000 +0200
-@@ -68,7 +68,6 @@
- #include "RunLevelProbe.h"\r
- #include "XinetdProbe.h"\r
- #include "InetdProbe.h"\r
--#include "LDAPProbe.h"\r
- \r
- \r
- \r
---- project/linux/Makefile 2010-12-10 13:49:06.655143160 +0100
-+++ project/linux/Makefile 2010-12-10 13:47:37.247382096 +0100
-@@ -49,7 +49,7 @@
- LIBDIR = -L/usr/local/lib -L/usr/lib\r
- \r
- # What libraries do we need?\r
--LIBS = -lxerces-c -lxalan-c -lpcre -lpopt -lgcrypt -lldap\r
-+LIBS = -lxerces-c -lxalan-c -lpcre -lpopt -lgcrypt\r
- \r
- # Determine what package management system is being used \r
- PACKAGE_RPM = $(shell /usr/bin/env rpm --version 2>/dev/null)\r
+++ /dev/null
---- src/Main.h.old 2010-10-22 14:59:13.000000000 +0200
-+++ src/Main.h 2010-10-22 14:59:38.000000000 +0200
-@@ -38,7 +38,7 @@
- #endif\r
- \r
- #ifdef LINUX\r
--# define STRNICMP strnicmp\r
-+# define STRNICMP strncasecmp\r
- #elif defined SUNOS\r
- # define STRNICMP strncasecmp\r
- #elif defined DARWIN\r
+++ /dev/null
---- src/XmlProcessor.cpp.old 2010-10-25 15:13:58.000000000 +0200
-+++ src/XmlProcessor.cpp 2010-10-26 09:14:46.000000000 +0200
-@@ -34,8 +34,17 @@
- //****************************************************************************************//\r
- // DataDirResolver Class // \r
- //****************************************************************************************//\r
--\r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMInputSource* DataDirResolver::resolveEntity (const XMLCh *const /*publicId*/, const XMLCh *const systemId, const XMLCh *const /*baseURI*/) {\r
-+#else\r
-+InputSource* DataDirResolver::resolveEntity(const XMLCh* publicId, const XMLCh* systemId)\r
-+{\r
-+ return NULL;\r
-+ //return DataDirResolver::resolveEntity (publicId, systemId, NULL);\r
-+}\r
-+\r
-+DOMLSInput* DataDirResolver::resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI) {\r
-+#endif\r
- string path = "";\r
- size_t last;\r
- string schemapath = Common::GetSchemaPath();\r
-@@ -111,21 +120,35 @@
- // Instantiate the DOM parser.\r
- static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };\r
- DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS);\r
-+#if XERCES_VERSION_MAJOR < 3\r
- parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);\r
-+#else\r
-+ parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);\r
-+#endif\r
- \r
- ///////////////////////////////////////////////////////\r
- // Set fetuares on the builder\r
- ///////////////////////////////////////////////////////\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
-+#define SetParameter(parser,n,v) parser->setFeature(n,v)\r
-+#else\r
-+#define SetParameter(parser,n,v) parser->getDomConfig()->setParameter(n,v)\r
-+#endif\r
-+ SetParameter(parser, XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. \r
-+ SetParameter(parser, XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language.\r
-+ SetParameter(parser, XMLUni::fgDOMNamespaces, true); // Perform Namespace processing\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+ SetParameter(parser, XMLUni::fgDOMValidation, true); // Report all validation errors.\r
-+#else\r
-+ SetParameter(parser, XMLUni::fgDOMValidate, true); // Report all validation errors.\r
-+#endif\r
-+ SetParameter(parser, XMLUni::fgXercesSchema, true); // Enable the parser's schema support.\r
-+ SetParameter(parser, XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option.\r
-+ SetParameter(parser, XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit\r
-+ SetParameter(parser, XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes.\r
- \r
-- parser->setFeature(XMLUni::fgDOMComments, false); // Discard Comment nodes in the document. \r
-- parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true); // Let the validation process do its datatype normalization that is defined in the used schema language. \r
-- parser->setFeature(XMLUni::fgDOMNamespaces, true); // Perform Namespace processing\r
-- parser->setFeature(XMLUni::fgDOMValidation, true); // Report all validation errors. \r
-- parser->setFeature(XMLUni::fgXercesSchema, true); // Enable the parser's schema support.\r
-- parser->setFeature(XMLUni::fgXercesSchemaFullChecking, true); // Enable full schema constraint checking, including checking which may be time-consuming or memory intensive. Currently, particle unique attribution constraint checking and particle derivation restriction checking are controlled by this option. \r
-- parser->setFeature(XMLUni::fgXercesValidationErrorAsFatal, true); // The parser will treat validation error as fatal and will exit \r
-- parser->setFeature(XMLUni::fgXercesDOMHasPSVIInfo, true); // Enable storing of PSVI information in element and attribute nodes.\r
-+#undef SetParameter\r
- \r
- ///////////////////////////////////////////////////////\r
- //****************************************************************************************//\r
-@@ -133,7 +156,11 @@
- //****************************************************************************************//\r
- /* Look for XML schemas in local directory instead of Internet */\r
- DataDirResolver resolver;\r
-+#if XERCES_VERSION_MAJOR < 3\r
- parser->setEntityResolver (&resolver);\r
-+#else\r
-+ parser->getDomConfig()->setParameter(XMLUni::fgXercesEntityResolver, &resolver);\r
-+#endif\r
- //****************************************************************************************//\r
- // End of air-gap code // \r
- //****************************************************************************************//\r
-@@ -144,7 +171,11 @@
- // Create a new DOMErrorHandler\r
- // and set it to the builder\r
- XmlProcessorErrorHandler *errHandler = new XmlProcessorErrorHandler();\r
-+#if XERCES_VERSION_MAJOR < 3\r
- parser->setErrorHandler(errHandler);\r
-+#else\r
-+ parser->getDomConfig()->setParameter(XMLUni::fgDOMErrorHandler, errHandler);\r
-+#endif\r
- \r
- try {\r
- // reset document pool\r
-@@ -215,24 +246,26 @@
- XMLCh tempStr[100];\r
- XMLString::transcode("LS", tempStr, 99);\r
- DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr);\r
-+#if XERCES_VERSION_MAJOR < 3\r
- DOMWriter *theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter();\r
-+#else\r
-+ DOMLSSerializer *theSerializer = ((DOMImplementationLS*)impl)->createLSSerializer();\r
-+#endif\r
-+\r
-+#if XERCES_VERSION_MAJOR < 3\r
-+#define SetParameter(serializer,n,v) if (serializer->canSetFeature(n,v)) serializer->setFeature(n,v)\r
-+#else\r
-+#define SetParameter(serializer,n,v) if (serializer->getDomConfig()->canSetParameter(n,v)) serializer->getDomConfig()->setParameter(n,v)\r
-+#endif\r
- \r
- // set feature if the serializer supports the feature/mode\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTSplitCdataSections, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTSplitCdataSections, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);\r
--\r
-- if (theSerializer->canSetFeature(XMLUni::fgDOMWRTBOM, false))\r
-- theSerializer->setFeature(XMLUni::fgDOMWRTBOM, false);\r
--\r
-- //if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true))\r
-- // theSerializer->setFeature(XMLUni::fgDOMWRTBOM, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTSplitCdataSections, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTDiscardDefaultContent, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTFormatPrettyPrint, true);\r
-+ SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, false);\r
-+ //SetParameter(theSerializer, XMLUni::fgDOMWRTBOM, true);\r
- \r
-+#undef SetParameter\r
- //\r
- // Plug in a format target to receive the resultant\r
- // XML stream from the serializer.\r
-@@ -249,7 +282,13 @@
- //\r
- // do the serialization through DOMWriter::writeNode();\r
- //\r
-+#if XERCES_VERSION_MAJOR < 3\r
- theSerializer->writeNode(myFormTarget, *doc);\r
-+#else\r
-+ DOMLSOutput *output = ((DOMImplementationLS*)impl)->createLSOutput();\r
-+ output->setByteStream(myFormTarget);\r
-+ theSerializer->write(doc, output);\r
-+#endif\r
- \r
- delete theSerializer;\r
- delete myFormTarget;\r
---- src/XmlProcessor.h.old 2010-10-22 12:06:05.000000000 +0200
-+++ src/XmlProcessor.h 2010-10-22 12:06:20.000000000 +0200
-@@ -40,7 +40,7 @@
- \r
- // required xerces includes\r
- #include <xercesc/dom/DOMImplementationRegistry.hpp>\r
--#include <xercesc/dom/DOMBuilder.hpp>\r
-+//#include <xercesc/dom/DOMBuilder.hpp>\r
- #include <xercesc/dom/DOMException.hpp>\r
- #include <xercesc/dom/DOMErrorHandler.hpp>\r
- #include <xercesc/dom/DOMError.hpp>\r
---- src/XmlProcessor.h.old 2010-10-22 14:40:45.000000000 +0200
-+++ src/XmlProcessor.h 2010-10-22 14:42:00.000000000 +0200
-@@ -50,18 +50,23 @@
- // for dom Writer\r
- #include <xercesc/dom/DOMImplementation.hpp>\r
- #include <xercesc/dom/DOMImplementationLS.hpp>\r
--#include <xercesc/dom/DOMWriter.hpp>\r
-+//#include <xercesc/dom/DOMWriter.hpp>\r
- #include <xercesc/framework/StdOutFormatTarget.hpp>\r
- #include <xercesc/framework/LocalFileFormatTarget.hpp>\r
- #include <xercesc/parsers/XercesDOMParser.hpp>\r
- #include <xercesc/util/XMLUni.hpp>\r
- \r
- // for entity resolver\r
--#include <xercesc/dom/DOMEntityResolver.hpp>\r
--#include <xercesc/dom/DOMInputSource.hpp>\r
-+//#include <xercesc/dom/DOMEntityResolver.hpp>\r
-+//#include <xercesc/dom/DOMInputSource.hpp>\r
- #include <xercesc/framework/LocalFileInputSource.hpp>\r
- #include <xercesc/framework/Wrapper4InputSource.hpp>\r
- \r
-+#include <xercesc/dom/DOMImplementationRegistry.hpp>\r
-+#include <xercesc/sax/EntityResolver.hpp>\r
-+#include <xercesc/sax/InputSource.hpp>\r
-+#include <xercesc/sax2/SAX2XMLReader.hpp>\r
-+\r
- \r
- XERCES_CPP_NAMESPACE_USE\r
- \r
---- src/XmlProcessor.h.old 2010-10-22 14:43:06.000000000 +0200
-+++ src/XmlProcessor.h 2010-10-22 14:44:16.000000000 +0200
-@@ -75,12 +75,14 @@
- This class extends the default DOMEntityResolver and implments the resolve entity method \r
- to support \r
- */\r
--class DataDirResolver : public DOMEntityResolver {\r
-+class DataDirResolver : public EntityResolver {\r
- public:\r
- /**\r
- * \r
- */\r
-- DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);\r
-+// DOMInputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);\r
-+ InputSource *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId);\r
-+ DOMLSInput *resolveEntity (const XMLCh *const publicId, const XMLCh *const systemId, const XMLCh *const baseURI);\r
- };\r
- \r
- /**\r
-@@ -120,7 +122,7 @@
- \r
- static XmlProcessor* instance;\r
- \r
-- DOMBuilder *parser;\r
-+ DOMLSParser *parser;\r
- };\r
- \r
- /** \r
---- src/probes/independent/XmlFileContentProbe.cpp.old 2010-10-22 14:49:22.000000000 +0200
-+++ src/probes/independent/XmlFileContentProbe.cpp 2010-10-22 14:51:39.000000000 +0200
-@@ -419,12 +419,24 @@
- return new DummyEntityResolver::DoNothingBinInputStream();\r
- }\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- unsigned int DummyEntityResolver::DoNothingBinInputStream::curPos() const\r
-+#else\r
-+const XMLCh* DummyEntityResolver::DoNothingBinInputStream::getContentType() const\r
-+{\r
-+ return NULL;\r
-+}\r
-+XMLFilePos DummyEntityResolver::DoNothingBinInputStream::curPos() const\r
-+#endif\r
- {\r
- return 0;\r
- }\r
- \r
-+#if XERCES_VERSION_MAJOR < 3\r
- unsigned int DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const /*toFill*/, const unsigned int /*maxToRead*/)\r
-+#else\r
-+XMLSize_t DummyEntityResolver::DoNothingBinInputStream::readBytes(XMLByte *const toFill, XMLSize_t maxToRead)\r
-+#endif\r
- {\r
- return 0;\r
- }\r
---- src/probes/independent/XmlFileContentProbe.h.old 2010-10-22 14:55:47.000000000 +0200
-+++ src/probes/independent/XmlFileContentProbe.h 2010-10-22 14:57:00.000000000 +0200
-@@ -134,8 +134,14 @@
- class DoNothingBinInputStream : public BinInputStream\r
- {\r
- public:\r
-+#if XERCES_VERSION_MAJOR < 3\r
- virtual unsigned int curPos() const;\r
- virtual unsigned int readBytes(XMLByte *const toFill, const unsigned int maxToRead);\r
-+#else\r
-+ virtual XMLFilePos curPos() const;\r
-+ virtual const XMLCh* getContentType() const;\r
-+ virtual XMLSize_t readBytes(XMLByte *const toFill, XMLSize_t maxToRead);\r
-+#endif\r
- };\r
- };\r
- \r
---- src/XmlCommon.cpp.old
-+++ src/XmlCommon.cpp
-@@ -546,7 +546,11 @@ void XmlCommon::AddSchemaLocation(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *do
- string XmlCommon::GetNamespace(DOMElement *element) {\r
- \r
- string xmlns = "";\r
-+#if XERCES_VERSION_MAJOR < 3\r
- xmlns = XmlCommon::ToString(element->getTypeInfo()->getNamespace());\r
-+#else\r
-+ xmlns = XmlCommon::ToString(element->getSchemaTypeInfo()->getTypeNamespace());\r
-+#endif\r
- if (xmlns.compare("") == 0) {\r
- xmlns = "";\r
- }\r