From 47d647392e823f8ad4c4a738fd00e51bcaaae088 Mon Sep 17 00:00:00 2001 From: Justin Thiele Date: Mon, 21 Dec 2015 10:47:05 -0800 Subject: [PATCH 1/5] Fixed typo and superscripted registered marks in README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 61d1598..0e00007 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -#Open Source Tripwire® +#Open Source Tripwire® -Open Source Tripwire® software is a security and data integrity tool useful for monitoring and alerting on specific file change(s) on a range of systems. The project is based on code originally contributed by [Tripwire, Inc.](http://www.tripwire.com)in 2000. +Open Source Tripwire® software is a security and data integrity tool useful for monitoring and alerting on specific file change(s) on a range of systems. The project is based on code originally contributed by [Tripwire, Inc.](http://www.tripwire.com) in 2000. Open Source Tripwire is suitable for monitoring a small number of Linux servers, where centralized control and reporting is not needed and professional support or system automation is not a requirement. From f1a85a217b895c01005133519641346ea72d24ac Mon Sep 17 00:00:00 2001 From: Brian Cox Date: Wed, 13 Apr 2016 17:40:51 -0700 Subject: [PATCH 2/5] Tweak Readme to add Linux-PPC64 and Solaris SPARC as tested --- ReadMe-2.4.3 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ReadMe-2.4.3 b/ReadMe-2.4.3 index 2f6559d..77beb7e 100644 --- a/ReadMe-2.4.3 +++ b/ReadMe-2.4.3 @@ -38,6 +38,7 @@ Linuxes - Android 6.0 (arm) + gcc 4.9 - Raspbian 7 (wheezy) (armv6l) + gcc 4.6.3 - openSuSE Tumbleweed (20160408) (i586) + gcc 5.3.1 +- RHEL 6.0 (powerpc64) + gcc 4.4.4 OSX - Mac OS X 10.11 + LLVM 7.0.2 / clang-700.1.81 @@ -51,6 +52,7 @@ BSDs - HardenedBSD 11.0 + gcc 4.8.5 UNIXes +- Solaris 10 SPARC + gcc 3.4.6 - Solaris 10 x86 + gcc 3.4.3 - OpenIndiana 151 + gcc 4.8.5 [an OpenSolaris/illumos distro] - AIX 5.2 + gcc 4.3.1 From f47e5e7a9d2ba13f81f305e10b25f80695770105 Mon Sep 17 00:00:00 2001 From: Brian Cox Date: Thu, 14 Apr 2016 21:45:46 -0700 Subject: [PATCH 3/5] Resolve a bunch of non-virtual destructor warnings --- src/core/codeconvert.h | 17 +++++++++++------ src/core/serializable.h | 8 ++------ src/core/serializer.h | 2 ++ src/core/twlimits.h | 9 +++++++++ src/core/typed.h | 4 +--- src/fco/fconameinfo.h | 1 + src/fco/fconametranslator.h | 2 ++ src/fco/fcospec.h | 11 +++++++---- src/fs/fsfactory.cpp | 2 ++ src/fs/fsnametranslator.h | 2 ++ src/tripwire/mailmessage.h | 13 +++++++++---- src/twprint/twprintcmdline.h | 2 ++ 12 files changed, 50 insertions(+), 23 deletions(-) diff --git a/src/core/codeconvert.h b/src/core/codeconvert.h index 1829fd0..085f6c6 100644 --- a/src/core/codeconvert.h +++ b/src/core/codeconvert.h @@ -117,10 +117,9 @@ class iCodeConverter protected: - iCodeConverter() - { - }; - + iCodeConverter() {} + virtual ~iCodeConverter() {} + private: static iCodeConverter* CreateConverter(); @@ -170,7 +169,7 @@ class cIconvConverter : public iCodeConverter virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); cIconvConverter(); - ~cIconvConverter(); + virtual ~cIconvConverter(); private: void Init(); @@ -189,7 +188,7 @@ class cDoubleIconvConverter : public iCodeConverter virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); cDoubleIconvConverter(); - ~cDoubleIconvConverter(); + virtual ~cDoubleIconvConverter(); private: @@ -221,6 +220,8 @@ class cWcharIs32BitUcs2Converterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cWcharIs32BitUcs2Converterer() {} }; #endif // WCHAR_IS_32_BITS @@ -239,6 +240,8 @@ class cWcharIs16BitUcs2Converterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cWcharIs16BitUcs2Converterer() {} }; #endif // WCHAR_IS_16_BITS @@ -250,6 +253,8 @@ class cGoodEnoughConverterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cGoodEnoughConverterer() {} }; diff --git a/src/core/serializable.h b/src/core/serializable.h index f9e61a2..e8fc794 100644 --- a/src/core/serializable.h +++ b/src/core/serializable.h @@ -82,9 +82,7 @@ public: virtual void Write(iSerializer* pSerializer) const = 0; // throw (eSerializer, eArchive) // objects implement these methods to read and write themselves to a serializer. - #ifdef _SUNPRO - ~iSerializable(); - #endif + virtual ~iSerializable() {} }; class iTypedSerializable : public iTyped, public iSerializable @@ -101,9 +99,7 @@ public: static int16 MajorVersion(int32 version) { return (int16)((uint32)version >> 16); } static int16 MinorVersion(int32 version) { return (int16)version; } - #ifdef _SUNPRO - ~iTypedSerializable(); - #endif + virtual ~iTypedSerializable() {} }; ////////////////////////////// diff --git a/src/core/serializer.h b/src/core/serializer.h index ec7ffcc..5d03b69 100644 --- a/src/core/serializer.h +++ b/src/core/serializer.h @@ -155,6 +155,8 @@ public: E_OUTPUT_STREAM_FORMAT = 706, E_NUMITEMS }; + + virtual ~iSerializer() {} }; diff --git a/src/core/twlimits.h b/src/core/twlimits.h index 1182ad0..5625b59 100644 --- a/src/core/twlimits.h +++ b/src/core/twlimits.h @@ -88,6 +88,9 @@ private: // virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cInterpretInt() {} }; /////////////////////////////////////////////// @@ -104,6 +107,9 @@ private: virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cSeverityLimits() {} }; /////////////////////////////////////////////// @@ -120,6 +126,9 @@ private: virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cRecurseDepthLimits() {} }; #endif //__TWLIMITS_H diff --git a/src/core/typed.h b/src/core/typed.h index f32afbc..470e964 100644 --- a/src/core/typed.h +++ b/src/core/typed.h @@ -62,9 +62,7 @@ public: // (b) returning that object in their implementation of GetType() // You can use the macros below to simplify the process - #ifdef _SUNPRO - ~iTyped(); - #endif + virtual ~iTyped() {} }; ////////////////////////////////////////////// diff --git a/src/fco/fconameinfo.h b/src/fco/fconameinfo.h index efee64a..4b9b687 100644 --- a/src/fco/fconameinfo.h +++ b/src/fco/fconameinfo.h @@ -47,6 +47,7 @@ class iFCONameInfo public: virtual bool IsCaseSensitive() const = 0; virtual TCHAR GetDelimitingChar() const = 0; + virtual ~iFCONameInfo() {} }; diff --git a/src/fco/fconametranslator.h b/src/fco/fconametranslator.h index 2e01c32..fa221d8 100644 --- a/src/fco/fconametranslator.h +++ b/src/fco/fconametranslator.h @@ -82,6 +82,8 @@ public: virtual bool DisplayStringToFCOName( const TSTRING& str, cFCOName& name ) const = 0; // this function converts strings from FCONameToDisplayString back into an fconame // returns false if can't convert. + + virtual ~iFCONameTranslator() {} }; #endif //__FCONAMETRANSLATOR_H diff --git a/src/fco/fcospec.h b/src/fco/fcospec.h index f4b6f09..c0b55e2 100644 --- a/src/fco/fcospec.h +++ b/src/fco/fcospec.h @@ -56,6 +56,8 @@ class iFCOSpecHelper; class iFCOSpec : public iSerRefCountObj { public: + virtual ~iFCOSpec() {} + virtual const TSTRING& GetName() const = 0; // returns the name of this FCOSpec virtual void SetName(const TSTRING& name) = 0; @@ -120,13 +122,14 @@ public: class iFCOSpecMask { public: - virtual const TSTRING& GetName() const = 0; + virtual ~iFCOSpecMask() {} + virtual const TSTRING& GetName() const = 0; // return the name of this mask - virtual bool Accept(const iFCO* pFCO) const = 0; + virtual bool Accept(const iFCO* pFCO) const = 0; // returns true if the fco matches the criterion in the SpecMask - static const iFCOSpecMask* GetDefaultMask(); + static const iFCOSpecMask* GetDefaultMask(); // returns the "default mask" that all iFCOSpecs must have. The default // mask matches every FCO and is called "Default". There is no need to // destroy the returned pointer @@ -136,7 +139,7 @@ public: // inline implementation inline const cFCOPropVector& iFCOSpec::GetPropVector(const iFCO* pFCO) const { - return GetPropVector(GetSpecMask(pFCO)); + return GetPropVector(GetSpecMask(pFCO)); } diff --git a/src/fs/fsfactory.cpp b/src/fs/fsfactory.cpp index 297faad..ef6bed5 100644 --- a/src/fs/fsfactory.cpp +++ b/src/fs/fsfactory.cpp @@ -59,6 +59,8 @@ public: { return _T('/'); } + + virtual ~cUnixNameInfo() {} }; diff --git a/src/fs/fsnametranslator.h b/src/fs/fsnametranslator.h index 2fce030..889bfd9 100644 --- a/src/fs/fsnametranslator.h +++ b/src/fs/fsnametranslator.h @@ -58,6 +58,8 @@ public: virtual TSTRING ToStringAPI( const cFCOName& name ) const; virtual TSTRING ToStringDisplay( const cFCOName& name, bool bUnique = false ) const; virtual bool DisplayStringToFCOName( const TSTRING& str, cFCOName& name ) const; + + virtual ~cFSNameTranslator() {} }; #endif //__FSNAMETRANSLATOR_H diff --git a/src/tripwire/mailmessage.h b/src/tripwire/mailmessage.h index d080aaa..302aff0 100644 --- a/src/tripwire/mailmessage.h +++ b/src/tripwire/mailmessage.h @@ -150,8 +150,9 @@ public: class iMimeEncoding { - public: - +public: + virtual ~iMimeEncoding() {} + virtual std::string Encode( const std::string& sIn, @@ -173,7 +174,9 @@ class iMimeEncoding // TODO:BAM -- convert ToBase64 to Encode class cBase64Encoding : public iMimeEncoding { - public: +public: + virtual ~cBase64Encoding() {} + virtual std::string Encode( const std::string& sIn, @@ -191,7 +194,9 @@ class cBase64Encoding : public iMimeEncoding class cQuotedPrintableEncoding : public iMimeEncoding { - public: +public: + virtual ~cQuotedPrintableEncoding() {} + virtual std::string Encode( const std::string& sIn, diff --git a/src/twprint/twprintcmdline.h b/src/twprint/twprintcmdline.h index bbc46ba..95ef256 100644 --- a/src/twprint/twprintcmdline.h +++ b/src/twprint/twprintcmdline.h @@ -121,6 +121,8 @@ public: // Returns a TSTRING that describes specific usage for a derived mode. virtual cTWPrintCmdLine::CmdLineArgs GetModeID() = 0; virtual void SetConfigFile( TSTRING configFilePath ) = 0; + + virtual ~iTWMode() {} }; /////////////////////////////////////////////////////////////////////////////// From 9e5dd61e3944dd0e5b66d368a28a270b67013a5f Mon Sep 17 00:00:00 2001 From: Brian Cox Date: Fri, 15 Apr 2016 12:42:31 -0700 Subject: [PATCH 4/5] Fix various compiler warnings; enable -Wextra warnings except for unused params. --- configure | 4 +-- configure.in | 4 +-- src/core/archive.cpp | 2 +- src/core/debug.h | 50 +++++++++++++++---------------- src/core/errorbucketimpl.cpp | 3 +- src/core/file_unix.cpp | 4 +-- src/core/twlocale.cpp | 8 +++-- src/fco/genrespeclist.cpp | 4 ++- src/fco/signature.cpp | 44 +++++++++++++-------------- src/fs/fsdatasourceiter.cpp | 5 ++-- src/tripwire/pipedmailmessage.cpp | 3 -- src/tw/configfile.cpp | 2 +- src/tw/dbdebug.cpp | 4 +-- src/twadmin/twadmincl.cpp | 2 ++ src/twparser/policyparser.cpp | 4 +-- 15 files changed, 71 insertions(+), 72 deletions(-) diff --git a/configure b/configure index 73eef5b..89b6cec 100755 --- a/configure +++ b/configure @@ -3251,8 +3251,8 @@ ac_config_headers="$ac_config_headers config.h" rm -f src/tripwire/syslog.h 2> /dev/null chmod 755 install-sh 2> /dev/null -CFLAGS=${CFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} -CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} +CFLAGS=${CFLAGS:-"-O -pipe -Wall -Wextra -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} +CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -Wextra -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : diff --git a/configure.in b/configure.in index 4cb8f5f..ebd7a95 100644 --- a/configure.in +++ b/configure.in @@ -17,8 +17,8 @@ chmod 755 install-sh 2> /dev/null dnl ############### dnl Setup defaults dnl ############### -CFLAGS=${CFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} -CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} +CFLAGS=${CFLAGS:-"-O -pipe -Wall -Wextra -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} +CXXFLAGS=${CXXFLAGS:-"-O -pipe -Wall -Wextra -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"} dnl ##################### dnl Configuration options diff --git a/src/core/archive.cpp b/src/core/archive.cpp index 08c7813..3815c0f 100755 --- a/src/core/archive.cpp +++ b/src/core/archive.cpp @@ -237,7 +237,7 @@ int64 cArchive::Copy(cArchive* pFrom, int64 amt) while(amtLeft > 0) { - int64 amtToRead = amtLeft > BUF_SIZE ? BUF_SIZE : amtLeft; + int64 amtToRead = amtLeft > (int64)BUF_SIZE ? (int64)BUF_SIZE : amtLeft; int64 amtRead = pFrom->ReadBlob(buf, static_cast( amtToRead ) ); amtLeft -= amtRead; WriteBlob(buf, static_cast( amtRead ) ); diff --git a/src/core/debug.h b/src/core/debug.h index b38a8da..4891a32 100644 --- a/src/core/debug.h +++ b/src/core/debug.h @@ -190,33 +190,33 @@ inline int cDebug::GetDebugLevel() #else // DEBUG -inline cDebug::cDebug (const char *pLabel) {} +inline cDebug::cDebug (const char *) {} inline cDebug::~cDebug () {} -inline cDebug::cDebug (const cDebug& rhs) {} -inline void cDebug::TraceAlways (const char *format, ...) {} -inline void cDebug::TraceError (const char *format, ...) {} -inline void cDebug::TraceWarning (const char *format, ...) {} -inline void cDebug::TraceDebug (const char *format, ...) {} -inline void cDebug::TraceDetail (const char *format, ...) {} -inline void cDebug::TraceNever (const char *format, ...) {} -inline void cDebug::TraceAlways (const wchar_t *format, ...) {} -inline void cDebug::TraceError (const wchar_t *format, ...) {} -inline void cDebug::TraceWarning (const wchar_t *format, ...) {} -inline void cDebug::TraceDebug (const wchar_t *format, ...) {} -inline void cDebug::TraceDetail (const wchar_t *format, ...) {} -inline void cDebug::TraceNever (const wchar_t *format, ...) {} -inline void cDebug::TraceVaArgs (int iDebugLevel, const char *format, va_list &args) {} -inline void cDebug::TraceVaArgs (int iDebugLevel, const wchar_t *format, va_list &args) {} -inline void cDebug::Trace (int levelNum, const char* format, ...) {} -inline void cDebug::Trace (int levelNum, const wchar_t* format, ...) {} -inline bool cDebug::AddOutTarget (OutTarget target) { return false; } -inline bool cDebug::RemoveOutTarget (OutTarget target) { return false; } -inline bool cDebug::HasOutTarget (OutTarget target) { return false; } -inline bool cDebug::SetOutputFile (const char* filename) { return false; } -inline void cDebug::SetDebugLevel (int level) {} +inline cDebug::cDebug (const cDebug&) {} +inline void cDebug::TraceAlways (const char *, ...) {} +inline void cDebug::TraceError (const char *, ...) {} +inline void cDebug::TraceWarning (const char *, ...) {} +inline void cDebug::TraceDebug (const char *, ...) {} +inline void cDebug::TraceDetail (const char *, ...) {} +inline void cDebug::TraceNever (const char *, ...) {} +inline void cDebug::TraceAlways (const wchar_t *, ...) {} +inline void cDebug::TraceError (const wchar_t *, ...) {} +inline void cDebug::TraceWarning (const wchar_t *, ...) {} +inline void cDebug::TraceDebug (const wchar_t *, ...) {} +inline void cDebug::TraceDetail (const wchar_t *, ...) {} +inline void cDebug::TraceNever (const wchar_t *, ...) {} +inline void cDebug::TraceVaArgs (int, const char *, va_list &) {} +inline void cDebug::TraceVaArgs (int, const wchar_t *, va_list &) {} +inline void cDebug::Trace (int, const char*, ...) {} +inline void cDebug::Trace (int, const wchar_t*, ...) {} +inline bool cDebug::AddOutTarget (OutTarget) { return false; } +inline bool cDebug::RemoveOutTarget (OutTarget) { return false; } +inline bool cDebug::HasOutTarget (OutTarget) { return false; } +inline bool cDebug::SetOutputFile (const char*) { return false; } +inline void cDebug::SetDebugLevel (int) {} inline int cDebug::GetDebugLevel (void) { return 0; } -inline void cDebug::DebugOut ( const char* lpOutputString, ... ) {} -inline void cDebug::DebugOut ( const wchar_t* lpOutputString, ... ) {} +inline void cDebug::DebugOut ( const char*, ... ) {} +inline void cDebug::DebugOut ( const wchar_t*, ... ) {} #endif // DEBUG diff --git a/src/core/errorbucketimpl.cpp b/src/core/errorbucketimpl.cpp index 132b3f1..8f3aaea 100644 --- a/src/core/errorbucketimpl.cpp +++ b/src/core/errorbucketimpl.cpp @@ -56,7 +56,6 @@ void cErrorReporter::PrintErrorMsg(const eError& error, const TSTRING& strExtra) (cDisplayEncoder::Flags) ( cDisplayEncoder::NON_ROUNDTRIP | cDisplayEncoder::ALLOW_WHITESPACE ) ); TSTRING errStr; - int len; // // if the ID is zero, just return. @@ -86,7 +85,7 @@ void cErrorReporter::PrintErrorMsg(const eError& error, const TSTRING& strExtra) errStr = strm.str(); } - len = errStr.length(); // save for later + //int len = errStr.length(); // save for later TCERR << errStr; // "First Part" error string diff --git a/src/core/file_unix.cpp b/src/core/file_unix.cpp index df6969d..1fea9a4 100755 --- a/src/core/file_unix.cpp +++ b/src/core/file_unix.cpp @@ -54,7 +54,7 @@ /////////////////////////////////////////////////////////////////////////////// // util_GetErrnoString -- return the result of strerror(errno) as a tstring /////////////////////////////////////////////////////////////////////////////// -static TSTRING util_GetErrnoString() +/*static TSTRING util_GetErrnoString() { TSTRING ret; char* pErrorStr = strerror(errno); @@ -64,7 +64,7 @@ static TSTRING util_GetErrnoString() ret = pErrorStr; #endif return ret; -} +}*/ /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// diff --git a/src/core/twlocale.cpp b/src/core/twlocale.cpp index 549502f..aacb404 100644 --- a/src/core/twlocale.cpp +++ b/src/core/twlocale.cpp @@ -57,11 +57,13 @@ //========================================================================= // UTIL FUNCTION PROTOTYPES //========================================================================= - static TSTRING& util_FormatTimeC( struct tm* ptm, TSTRING& strBuf ); -static TSTRING& util_FormatTimeCPlusPlus( struct tm* ptm, TSTRING& strBuf ); static TSTRING& util_FormatTime( struct tm* ptm, TSTRING& strBuf ); +#if !USES_CLIB_DATE_FUNCTION +static TSTRING& util_FormatTimeCPlusPlus( struct tm* ptm, TSTRING& strBuf ); +#endif + //========================================================================= // PUBLIC METHOD CODE //========================================================================= @@ -281,6 +283,7 @@ TSTRING& util_FormatTime( struct tm* ptm, TSTRING& strBuf ) } +#if !USES_CLIB_DATE_FUNCTION TSTRING& util_FormatTimeCPlusPlus( struct tm* ptm, TSTRING& strBuf ) { ASSERT( ptm ); @@ -299,6 +302,7 @@ TSTRING& util_FormatTimeCPlusPlus( struct tm* ptm, TSTRING& strBuf ) strBuf = sstr.str(); return strBuf; } +#endif TSTRING& util_FormatTimeC( struct tm* ptm, TSTRING& strBuf ) diff --git a/src/fco/genrespeclist.cpp b/src/fco/genrespeclist.cpp index 82a36ee..17f2b49 100644 --- a/src/fco/genrespeclist.cpp +++ b/src/fco/genrespeclist.cpp @@ -81,10 +81,12 @@ void cGenreSpecListPair::SetSpecList(const cFCOSpecList& speclist) //============================================================================= cGenreSpecListVector::cGenreSpecListVector() + : std::vector() { } -cGenreSpecListVector::cGenreSpecListVector(const cGenreSpecListVector& rhs) +cGenreSpecListVector::cGenreSpecListVector(const cGenreSpecListVector& rhs) + : std::vector() { *this = rhs; } diff --git a/src/fco/signature.cpp b/src/fco/signature.cpp index 9111212..7fc6ee4 100755 --- a/src/fco/signature.cpp +++ b/src/fco/signature.cpp @@ -523,24 +523,22 @@ TSTRING cMD5Signature::AsString() const return AsStringHex(); TSTRING ret; - char buf[24]; - int length; + char buf[24]; ASSERT( sizeof( uint8 ) == sizeof( byte ) ); /* everything breaks otherwise */ - btob64((byte*)md5_digest, buf, SIG_BYTE_SIZE*8); + btob64((byte*)md5_digest, buf, SIG_BYTE_SIZE*8); //converting to base64 representation. - length = strlen(buf); #ifdef _UNICODE //making it TSTRING sensitive - ret.resize(length); - mbstowcs((TCHAR*) ret.data(), buf, length); + int length; + length = strlen(buf); + ret.resize(length); + mbstowcs((TCHAR*) ret.data(), buf, length); #else - ret.append(buf); + ret.append(buf); #endif - return ret; - //return ret; - //ret holds base64 representation of digest. + return ret; } TSTRING cMD5Signature::AsStringHex() const @@ -649,13 +647,13 @@ TSTRING cSHASignature::AsString(void) const TSTRING ret; char* ps_signature; char buf[100]; - int length; ps_signature = btob64((uint8*)sha_digest, buf, SIG_UINT32_SIZE*sizeof(uint32)*8); //converting to base64 representation. - length = strlen(ps_signature); - + #ifdef _UNICODE //making it TSTRING sensitive + int length; + length = strlen(ps_signature); ret.resize(length); mbstowcs((TCHAR*) ret.data(), ps_signature, length); #else @@ -839,23 +837,21 @@ TSTRING cHAVALSignature::AsString() const return AsStringHex(); TSTRING ret; - char buf[24]; - int length; + char buf[24]; - btob64((byte*)mSignature, buf, 128); - //converting to base64 representation. - length = strlen(buf); + btob64((byte*)mSignature, buf, 128); + //converting to base64 representation. #ifdef _UNICODE //making it TSTRING sensitive - ret.resize(length); - mbstowcs((TCHAR*) ret.data(), buf, length); + int length; + length = strlen(buf); + ret.resize(length); + mbstowcs((TCHAR*) ret.data(), buf, length); #else - ret.append(buf); + ret.append(buf); #endif - return ret; - //return ret; - //ret holds base64 representation of digest. + return ret; } TSTRING cHAVALSignature::AsStringHex() const diff --git a/src/fs/fsdatasourceiter.cpp b/src/fs/fsdatasourceiter.cpp index 998299d..9696f9d 100644 --- a/src/fs/fsdatasourceiter.cpp +++ b/src/fs/fsdatasourceiter.cpp @@ -55,11 +55,10 @@ // METHOD CODE //========================================================================= -cFSDataSourceIter::cFSDataSourceIter() +cFSDataSourceIter::cFSDataSourceIter() : cFCODataSourceIterImpl(), mDev(0) { // set the case sensitiveness of the parent... // - mDev = 0; mParentName.SetCaseSensitive( iTWFactory::GetInstance()->GetNameInfo()->IsCaseSensitive() ); } @@ -67,7 +66,7 @@ cFSDataSourceIter::~cFSDataSourceIter() { } -cFSDataSourceIter::cFSDataSourceIter( const cFSDataSourceIter& rhs ) +cFSDataSourceIter::cFSDataSourceIter( const cFSDataSourceIter& rhs ) : cFCODataSourceIterImpl(), mDev(0) { // set the case sensitiveness of the parent... // diff --git a/src/tripwire/pipedmailmessage.cpp b/src/tripwire/pipedmailmessage.cpp index be80c09..bfaeb32 100644 --- a/src/tripwire/pipedmailmessage.cpp +++ b/src/tripwire/pipedmailmessage.cpp @@ -86,8 +86,6 @@ bool cPipedMailMessage::Send() // Get Body and Attachments //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool allOK = true; - // get body std::string sNBody = cStringUtil::TstrToStr( mstrBody ); @@ -96,7 +94,6 @@ bool cPipedMailMessage::Send() if( ! GetAttachmentsAsString( sAttachments ) ) { sAttachments.erase(); - allOK = false; } std::string sSend = sNBody + sAttachments; diff --git a/src/tw/configfile.cpp b/src/tw/configfile.cpp index d9d7670..2b977a6 100644 --- a/src/tw/configfile.cpp +++ b/src/tw/configfile.cpp @@ -75,7 +75,7 @@ static bool PopNextLine( TSTRING& fileIn, TSTRING& sLine, int& nLine ); static bool IsReturnChar( TCHAR tch ); static bool IsComment( const TSTRING& sLine ); -static void GetKeyValuePair( const TSTRING& sLine, TSTRING& sKey, TSTRING& sVal ); // throw( eConfigFile ); +//static void GetKeyValuePair( const TSTRING& sLine, TSTRING& sKey, TSTRING& sVal ); // throw( eConfigFile ); static TSTRING& util_MakeTripwireDateString( TSTRING& strBuf ); //========================================================================= diff --git a/src/tw/dbdebug.cpp b/src/tw/dbdebug.cpp index 869d179..38f1db3 100644 --- a/src/tw/dbdebug.cpp +++ b/src/tw/dbdebug.cpp @@ -67,9 +67,9 @@ // UTILITY METHODS ////////////////////////////////////////////////////////////////////////////////////////////////// // -static void util_PrintFCO(const iFCO* pFCO, iFCOPropDisplayer * pPropDisplayer); +//static void util_PrintFCO(const iFCO* pFCO, iFCOPropDisplayer * pPropDisplayer); static void util_InitBlockArray( cBlockRecordArray& block ); -static void util_MapHierRoot( std::map< std::pair< int, int>, int > dbMap ); +//static void util_MapHierRoot( std::map< std::pair< int, int>, int > dbMap ); ////////////////////////////////////////////////////////////////////////////////////////////////// // Insulated implementation: diff --git a/src/twadmin/twadmincl.cpp b/src/twadmin/twadmincl.cpp index ce11e15..126123b 100644 --- a/src/twadmin/twadmincl.cpp +++ b/src/twadmin/twadmincl.cpp @@ -2688,6 +2688,8 @@ static bool NotifyEncryptionType(cFileHeader::Encoding encoding, iUserNotify::Ve case cFileHeader::ASYM_ENCRYPTION: iUserNotify::GetInstance()->Notify(vl, TSS_GetString(cTWAdmin, twadmin::STR_ENCRYPT_TYPE_ASYM).c_str()); return true; + default: + ASSERT("Unexpeced encryption type"); } iUserNotify::GetInstance()->Notify(vl, TSS_GetString(cTWAdmin, twadmin::STR_ENCRYPT_TYPE_UNK).c_str()); diff --git a/src/twparser/policyparser.cpp b/src/twparser/policyparser.cpp index c1c12e7..bf1b907 100644 --- a/src/twparser/policyparser.cpp +++ b/src/twparser/policyparser.cpp @@ -58,9 +58,9 @@ //========================================================================= static std::string util_ConvertMB( const std::string& sIn ); -static bool util_ReadMBCharAsSBString( std::stringstream& ss, std::string& strCh ); +//static bool util_ReadMBCharAsSBString( std::stringstream& ss, std::string& strCh ); static std::string convert_to_encoded_hex( char ch ); -static std::string util_Output512Chars( const std::string& s ); +//static std::string util_Output512Chars( const std::string& s ); // don't want to pass debug a string over 1024, so play it safe with 512 //========================================================================= From ea361e91fe39dabab570f85fd747d29104a41b6b Mon Sep 17 00:00:00 2001 From: Brian Cox Date: Fri, 15 Apr 2016 17:16:32 -0700 Subject: [PATCH 5/5] Fix warnings around explicitly calling base class constructors in copy constructors --- src/core/fileheader.cpp | 3 ++- src/core/fileheader.h | 2 +- src/fco/fconame.cpp | 9 +++++---- src/fco/fcopropvector.cpp | 4 ++-- src/fco/fcosetimpl.cpp | 4 ++-- src/fco/fcospecimpl.cpp | 2 ++ src/fco/fcospeclist.h | 3 ++- src/fs/fspropset.cpp | 2 ++ src/tw/dbdatasource.cpp | 3 ++- src/tw/headerinfo.h | 0 src/twcrypto/bytequeue.cpp | 5 +++-- 11 files changed, 23 insertions(+), 14 deletions(-) mode change 100644 => 100755 src/core/fileheader.cpp mode change 100644 => 100755 src/core/fileheader.h mode change 100644 => 100755 src/fco/fconame.cpp mode change 100644 => 100755 src/fco/fcopropvector.cpp mode change 100644 => 100755 src/fco/fcosetimpl.cpp mode change 100644 => 100755 src/fco/fcospecimpl.cpp mode change 100644 => 100755 src/fco/fcospeclist.h mode change 100644 => 100755 src/fs/fspropset.cpp mode change 100644 => 100755 src/tw/dbdatasource.cpp mode change 100644 => 100755 src/tw/headerinfo.h mode change 100644 => 100755 src/twcrypto/bytequeue.cpp diff --git a/src/core/fileheader.cpp b/src/core/fileheader.cpp old mode 100644 new mode 100755 index fed64bd..6e971bd --- a/src/core/fileheader.cpp +++ b/src/core/fileheader.cpp @@ -145,7 +145,8 @@ cFileHeader::cFileHeader() } cFileHeader::cFileHeader(const cFileHeader& rhs) -: mID(rhs.mID), +: iSerializable(), + mID(rhs.mID), mVersion(rhs.mVersion), mEncoding(rhs.mEncoding) { diff --git a/src/core/fileheader.h b/src/core/fileheader.h old mode 100644 new mode 100755 index c0404a5..2307815 --- a/src/core/fileheader.h +++ b/src/core/fileheader.h @@ -86,7 +86,7 @@ inline cFileHeaderID::cFileHeaderID(const TCHAR* id) inline cFileHeaderID::cFileHeaderID( const cFileHeaderID& rhs ) : - mIDLen( rhs.mIDLen ) + iSerializable(), mIDLen( rhs.mIDLen ) { memcpy( mID, rhs.mID, MAXBYTES ); } diff --git a/src/fco/fconame.cpp b/src/fco/fconame.cpp old mode 100644 new mode 100755 index 3220c82..fcf36bb --- a/src/fco/fconame.cpp +++ b/src/fco/fconame.cpp @@ -93,7 +93,7 @@ void cFCOName::ClearNameTable() // ctor, dtor /////////////////////////////////////////////////////////////////////////////// cFCOName::cFCOName(iFCONameInfo* pNI) : - mpPathName(0), mDelimiter('/') + iTypedSerializable(), mpPathName(0), mDelimiter('/') { SetNameInfo(pNI); mpPathName = new cFCOName_i; @@ -105,6 +105,7 @@ cFCOName::cFCOName(iFCONameInfo* pNI) : } cFCOName::cFCOName(const cFCOName& rhs) : + iTypedSerializable(), mpPathName(rhs.mpPathName), mDelimiter(rhs.mDelimiter), mbCaseSensitive(rhs.mbCaseSensitive) @@ -117,8 +118,8 @@ cFCOName::cFCOName(const cFCOName& rhs) : #endif } -cFCOName::cFCOName(const TSTRING& rhs, iFCONameInfo* pNI) : - mpPathName(0), mDelimiter('/') +cFCOName::cFCOName(const TSTRING& rhs, iFCONameInfo* pNI) : + iTypedSerializable(), mpPathName(0), mDelimiter('/') { SetNameInfo(pNI); mpPathName = new cFCOName_i; @@ -132,7 +133,7 @@ cFCOName::cFCOName(const TSTRING& rhs, iFCONameInfo* pNI) : } cFCOName::cFCOName(const TCHAR* rhs, iFCONameInfo* pNI) : - mpPathName(0), mDelimiter('/') + iTypedSerializable(), mpPathName(0), mDelimiter('/') { SetNameInfo(pNI); mpPathName = new cFCOName_i; diff --git a/src/fco/fcopropvector.cpp b/src/fco/fcopropvector.cpp old mode 100644 new mode 100755 index 4241c1c..51f656e --- a/src/fco/fcopropvector.cpp +++ b/src/fco/fcopropvector.cpp @@ -45,7 +45,7 @@ int cFCOPropVector::msBitlength(sizeof (uint32) * 8); /////////////////////////////////////////////////////////////////////////////// // Constructor -- Sets mSize. Default = 32. /////////////////////////////////////////////////////////////////////////////// -cFCOPropVector::cFCOPropVector(int size) +cFCOPropVector::cFCOPropVector(int size) : iSerializable() { mSize = 32; mMask = 0; @@ -65,7 +65,7 @@ cFCOPropVector::~cFCOPropVector() /////////////////////////////////////////////////////////////////////////////// // Copy Constructor /////////////////////////////////////////////////////////////////////////////// -cFCOPropVector::cFCOPropVector(const cFCOPropVector &rhs) +cFCOPropVector::cFCOPropVector(const cFCOPropVector &rhs) : iSerializable() { mSize = rhs.mSize; mMask = rhs.mMask; diff --git a/src/fco/fcosetimpl.cpp b/src/fco/fcosetimpl.cpp old mode 100644 new mode 100755 index 50a48dd..06a6c05 --- a/src/fco/fcosetimpl.cpp +++ b/src/fco/fcosetimpl.cpp @@ -63,7 +63,7 @@ inline static const cFCOIterImpl* CreateIterator(const cFCOSetImpl* pSet) /////////////////////////////////////////////////////////////////////////////// // ctor and dtor /////////////////////////////////////////////////////////////////////////////// -cFCOSetImpl::cFCOSetImpl() +cFCOSetImpl::cFCOSetImpl() : iFCOSet() { } @@ -72,7 +72,7 @@ cFCOSetImpl::~cFCOSetImpl() Clear(); } -cFCOSetImpl::cFCOSetImpl(const cFCOSetImpl& rhs) +cFCOSetImpl::cFCOSetImpl(const cFCOSetImpl& rhs) : iFCOSet() { *this = rhs; } diff --git a/src/fco/fcospecimpl.cpp b/src/fco/fcospecimpl.cpp old mode 100644 new mode 100755 index 1a9d8ee..2bc85d2 --- a/src/fco/fcospecimpl.cpp +++ b/src/fco/fcospecimpl.cpp @@ -61,6 +61,7 @@ cFCOSpecImpl::cFCOSpecImpl(const TSTRING& name, void* pSrc, iFCOSpecHelper* pHel } cFCOSpecImpl::cFCOSpecImpl() : + iFCOSpec(), mName(_T("Unnamed_FCOSpecImpl")), mpHelper(0) { @@ -72,6 +73,7 @@ cFCOSpecImpl::cFCOSpecImpl() : } cFCOSpecImpl::cFCOSpecImpl(const cFCOSpecImpl& rhs) : + iFCOSpec(), mpHelper(0) { *this = rhs; diff --git a/src/fco/fcospeclist.h b/src/fco/fcospeclist.h old mode 100644 new mode 100755 index 590a16f..a26fe7f --- a/src/fco/fcospeclist.h +++ b/src/fco/fcospeclist.h @@ -150,7 +150,8 @@ protected: mutable std::list::iterator mIter; }; -inline cFCOSpecList::cFCOSpecList(const cFCOSpecList& rhs) +inline cFCOSpecList::cFCOSpecList(const cFCOSpecList& rhs) + : iTypedSerializable() { *this = rhs; } diff --git a/src/fs/fspropset.cpp b/src/fs/fspropset.cpp old mode 100644 new mode 100755 index 297ce6f..4104706 --- a/src/fs/fspropset.cpp +++ b/src/fs/fspropset.cpp @@ -191,6 +191,7 @@ int cFSPropSet::GetNumFSProps() // ctors. dtor, operator= /////////////////////////////////////////////////////////////////////////////// cFSPropSet::cFSPropSet() : + iFCOPropSet(), mValidProps(cFSPropSet::PROP_NUMITEMS), mUndefinedProps(cFSPropSet::PROP_NUMITEMS) { @@ -203,6 +204,7 @@ cFSPropSet::~cFSPropSet() } cFSPropSet::cFSPropSet(const cFSPropSet& rhs) : + iFCOPropSet(), mValidProps(cFSPropSet::PROP_NUMITEMS) { *this = rhs; diff --git a/src/tw/dbdatasource.cpp b/src/tw/dbdatasource.cpp old mode 100644 new mode 100755 index 753a10a..95eeccb --- a/src/tw/dbdatasource.cpp +++ b/src/tw/dbdatasource.cpp @@ -78,7 +78,8 @@ cDbDataSourceIter::cDbDataSourceIter(cHierDatabase* pDb, int genreNum ) // cDbDataSourceIter /////////////////////////////////////////////////////////////////////////////// cDbDataSourceIter::cDbDataSourceIter( const cDbDataSourceIter& rhs ) -: mDbIter ( rhs.mDbIter ), +: iFCODataSourceIter(), + mDbIter ( rhs.mDbIter ), mFCOCreateFunc ( rhs.mFCOCreateFunc ), mFlags ( rhs.mFlags ), mpErrorBucket ( rhs.mpErrorBucket ) diff --git a/src/tw/headerinfo.h b/src/tw/headerinfo.h old mode 100644 new mode 100755 diff --git a/src/twcrypto/bytequeue.cpp b/src/twcrypto/bytequeue.cpp old mode 100644 new mode 100755 index 0f3213e..eebfe68 --- a/src/twcrypto/bytequeue.cpp +++ b/src/twcrypto/bytequeue.cpp @@ -134,13 +134,14 @@ unsigned int cByteQueueNode::Peek(byte &outByte) const //----------------------------------------------------------------------------- cByteQueue::cByteQueue(int mNodeSize) - : mNodeSize(mNodeSize), + : BufferedTransformation(), + mNodeSize(mNodeSize), mCurrentSize(0) { head = tail = new cByteQueueNode(mNodeSize); } -cByteQueue::cByteQueue(const cByteQueue ©) +cByteQueue::cByteQueue(const cByteQueue ©) : BufferedTransformation() { CopyFrom(copy); }