OWASP ESAPI for C++ package and its dependencies ------------------------------------------------------- Used to ensure cgiargs that go into the webpage are safe. See https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet OWASP ESAPI FOR C++ ------------------------------------------------------- The site is: http://owasp-esapi-cplusplus.googlecode.com/svn/trunk/doc/html/index.html The code is from the 3 Mar 2014 svn checkout: svn checkout https://owasp-esapi-cplusplus.googlecode.com/svn/trunk/ owasp-esapi-cpp A slight modification has been made to the package's GNUmakefile: the 2 references to -Wtrampolines have been commented out COMPILATION ---------------------------- ./CASCADE-MAKE.sh To compile up the test/TestMainWin32 binary: runtime-src/packages/security/owasp-esapi-cpp/test>g++ -std=gnu++0x -DDEBUG -O0 -g3 -ggdb TestMainWin32.cpp -o TestMain.exe -I../esapi -I../.. -I../../echoprint-svn/linux/include -L ../lib -lesapi-c++ Note that in the example above, the -std=gnu++0x used with gnu compilers (try -std=c++0x on other systems like VisC++) turns on experimental features of the c++ language. If this is undesirable, edit the owasp-for-cpp/esapi/EsapiCommon.h: //# include //# include //using std::shared_ptr; //using std::unordered_map; # include # include using boost::shared_ptr; using boost::unordered_map; The above uses the include files for unordered_map and shared_ptr from boost instead. OWASP-ESAPI-FOR-C++'s DEPENDENCIES ------------------------------------- OWASP-ESAPI for C++ depends on the following: - cryptopp - Boost - the safeint/Safe Integer header file, SafeInt3.hpp Compiling up Boost requires the following dependencies in the given order: - zlib, bzip2, curl, cmake Boost compilation steps were taken from the echoprint gs2-extension http://trac.greenstone.org/browser/gs2-extensions/echoprint/trunk/src?rev=head