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.
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
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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/tw/headerinfo.h b/src/tw/headerinfo.h
old mode 100644
new mode 100755
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/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);
}
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
//=========================================================================
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() {}
};
///////////////////////////////////////////////////////////////////////////////