--- src/core/stringutil.h.sopwith	Sun Feb  4 00:38:27 2001
+++ src/core/stringutil.h	Fri Feb  1 01:11:59 2002
@@ -64,7 +64,7 @@
     Convert( std::string& lhs, const std::string& rhs )
     {
       lhs = rhs;
-      return lhs.c_str();
+      return std::string::const_iterator(lhs.c_str());
     }
 
   /// Specialize Everything Else
--- src/core/charutil.cpp.sopwith	Sat Oct 28 15:22:55 2000
+++ src/core/charutil.cpp	Fri Feb  1 01:11:59 2002
@@ -105,7 +105,7 @@
     }
 
     first = cur;
-    last = tss::strinc( cur );
+    last = TSTRING::const_iterator(tss::strinc( cur.base() ));
     return true;
 }
 
--- src/core/displayencoder.cpp.sopwith	Fri Oct 27 21:15:20 2000
+++ src/core/displayencoder.cpp	Fri Feb  1 01:11:59 2002
@@ -828,7 +828,8 @@
             ach[0] = ch;
             for( sack_type::const_iterator atE = m_encodings.begin(); atE != m_encodings.end(); atE++ )
             {
-                if( (*atE)->NeedsEncoding( &ach[0], &ach[1] ) )
+                if( (*atE)->NeedsEncoding( std::string::const_iterator(&ach[0]),
+					   std::string::const_iterator(&ach[1]) ) )
                 {
                     if( fFailedATest )
                         return false; // each char can only fail one test
--- src/core/displayutil.cpp.sopwith	Sat Oct 28 15:22:55 2000
+++ src/core/displayutil.cpp	Fri Feb  1 01:11:59 2002
@@ -45,7 +45,7 @@
     TOSTRINGSTREAM sstr;
     TSTRING strT;
     bool fFirstLine = true;
-    for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = tss::strinc( i ) )
+    for( TSTRING::const_iterator i = str.begin(); i != str.end(); i = TSTRING::const_iterator(tss::strinc( i.base() )) )
     {
         // return found -- add line to output string
         if( _T('\n') == *i )
@@ -74,7 +74,7 @@
         else
         {
             // add char to string   
-            strT.append( i, (TSTRING::const_iterator)tss::strinc( i ) );
+            strT.append( i, TSTRING::const_iterator(tss::strinc( i.base() )) );
         }
     }    
                 
--- src/cryptlib/misc.h.sopwith	Fri Oct 27 20:26:21 2000
+++ src/cryptlib/misc.h	Fri Feb  1 01:11:59 2002
@@ -150,7 +150,7 @@
 	operator T *()
 		{return ptr;}
 
-#if !defined(_MSC_VER) && !defined(_KCC)
+#if !defined(_MSC_VER) && !defined(_KCC) && 0
     T *operator +(unsigned int offset)
 		{return ptr+offset;}
 	const T *operator +(unsigned int offset) const
--- src/cryptlib/i686-pc-linux.mak.sopwith	Fri Feb  1 01:12:57 2002
+++ src/cryptlib/i686-pc-linux.mak	Fri Feb  1 01:13:12 2002
@@ -71,12 +71,12 @@
 # Recusively call make defining the appropriate $(D_FLAGS) var
 
 debug:
-	gmake -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
-#	gmake -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
+	$(MAKE) -f $(MAKEFILE) cryptlib_d.a "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
+#	$(MAKE) -f $(MAKEFILE) cryptest_d "D_FLAGS=$(DEBUG_FLAGS)" "LDFLAGS=DEBUG_LDFLAGS"
 
 release: 
-	gmake -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
-#	gmake -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
+	$(MAKE) -f $(MAKEFILE) cryptlib.a "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
+#	$(MAKE) -f $(MAKEFILE) cryptest "D_FLAGS=$(NDEBUG_FLAGS)" "LDFLAGS=NDEBUG_LDFLAGS"
 
  
 ###############################################################################
--- src/db/hierdatabase.cpp.sopwith	Sun Feb 25 00:41:13 2001
+++ src/db/hierdatabase.cpp	Fri Feb  1 01:11:59 2002
@@ -255,7 +255,8 @@
 	}
 	else
 	{
-		int offset	= rhs.mIter - rhs.mEntries.begin();
+	        int offset;
+		offset = -(rhs.mEntries.begin() - rhs.mIter);
 		mIter		= mEntries.begin() + offset;
 	}
 
--- src/fco/fconame.cpp.sopwith	Fri Oct 27 20:25:41 2000
+++ src/fco/fconame.cpp	Fri Feb  1 01:11:59 2002
@@ -269,7 +269,7 @@
 	
     mpPathName->ClearList();
 	
-	TSTRING::const_iterator at  = ( pszin + 0 );
+	TSTRING::const_iterator at  = TSTRING::const_iterator( pszin + 0 );
     TSTRING::const_iterator end = at;
     while ( *end ) ++end;               // NOTE: Find end
 
@@ -277,9 +277,9 @@
 	while ( at < end )
 	{
 		while ( !(*at == mDelimiter) && at < end )
-            at = tss::strinc( at );
+            at = TSTRING::const_iterator(tss::strinc( at.base() ));
 
-        if ( at == beg && tss::strinc(at) >= end && at != pszin )
+        if ( at == beg && TSTRING::const_iterator(tss::strinc(at.base())) >= end && at.base() != pszin )
             break;
 
 		cFCONameTblNode* pNode = 
@@ -287,7 +287,7 @@
 
         mpPathName->mNames.push_back( pNode );
 		
-        beg = ( at = tss::strinc( at ) );
+        beg = ( at = TSTRING::const_iterator(tss::strinc( at.base() )) );
 	}
 }
 
--- src/siggen/siggenmain.cpp.sopwith	Fri Oct 27 20:26:25 2000
+++ src/siggen/siggenmain.cpp	Fri Feb  1 01:11:59 2002
@@ -118,11 +118,7 @@
         // set unexpected and terminate handlers
         // Note: we do this before Init() in case it attempts to call these handlers
         // TODO: move this into the Init() routine
-#if IS_GCC
-            #define EXCEPTION_NAMESPACE 
-        #else
-            #define EXCEPTION_NAMESPACE std::
-        #endif
+#define EXCEPTION_NAMESPACE std::
         EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler);
         EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler);
 
--- src/tripwire/mailmessage.cpp.sopwith	Fri Feb  1 01:11:59 2002
+++ src/tripwire/mailmessage.cpp	Fri Feb  1 01:11:59 2002
@@ -509,9 +509,9 @@
     std::string::size_type stringSize = 0;
     std::string::const_iterator at;
     std::string::difference_type charSize;
-    for( at = sIn.begin(), charSize = ( tss::strinc( at ) - at );
+    for( at = sIn.begin(), charSize = ( std::string::const_iterator(tss::strinc( at.base() )) - at );
          at != sIn.end();
-         at += charSize, charSize = ( tss::strinc( at ) - at ) )
+         at += charSize, charSize = ( std::string::const_iterator(tss::strinc( at.base() )) - at ) )
     {
         ASSERT( charSize > 0 );
 
--- src/tripwire/tripwiremain.cpp.sopwith	Sat Feb 24 14:02:12 2001
+++ src/tripwire/tripwiremain.cpp	Fri Feb  1 01:11:59 2002
@@ -122,11 +122,7 @@
         // set unexpected and terminate handlers
         // Note: we do this before Init() in case it attempts to call these handlers
         // TODO: move this into the Init() routine
-#if IS_GCC
-            #define EXCEPTION_NAMESPACE 
-        #else
-            #define EXCEPTION_NAMESPACE std::
-        #endif
+#define EXCEPTION_NAMESPACE std::
         EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler);
         EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler);
 
--- src/twadmin/twadminmain.cpp.sopwith	Fri Oct 27 20:26:22 2000
+++ src/twadmin/twadminmain.cpp	Fri Feb  1 01:11:59 2002
@@ -86,11 +86,7 @@
         // set unexpected and terminate handlers
         // Note: we do this before Init() in case it attempts to call these handlers
         // TODO: move this into the Init() routine
-#if IS_GCC
-            #define EXCEPTION_NAMESPACE 
-        #else
-            #define EXCEPTION_NAMESPACE std::
-        #endif
+#define EXCEPTION_NAMESPACE std::
         EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler);
         EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler);
 
--- src/twparser/policyparser.cpp.sopwith	Sat Feb 24 14:02:12 2001
+++ src/twparser/policyparser.cpp	Fri Feb  1 01:11:59 2002
@@ -228,7 +228,7 @@
          // at gets incremented when used....
        )
     {
-        int nBytes = ::mblen( (char*)at, MB_CUR_MAX );
+        int nBytes = ::mblen( at.base(), MB_CUR_MAX );
         if ( nBytes == -1 )
         {
             d.TraceDebug( "Unrecognized Character: %c\n", *at );
--- src/twprint/twprintmain.cpp.sopwith	Fri Oct 27 20:26:19 2000
+++ src/twprint/twprintmain.cpp	Fri Feb  1 01:11:59 2002
@@ -98,8 +98,8 @@
 #if IS_GCC
           #define EXCEPTION_NAMESPACE 
         #else
-          #define EXCEPTION_NAMESPACE std::
         #endif
+#define EXCEPTION_NAMESPACE std::
 	  EXCEPTION_NAMESPACE set_terminate(tw_terminate_handler);
 	  EXCEPTION_NAMESPACE set_unexpected(tw_unexpected_handler);
 
--- src/Makefile.sopwith	Sat Mar  3 23:03:52 2001
+++ src/Makefile	Fri Feb  1 01:11:59 2002
@@ -93,7 +93,7 @@
 # file to Makefile.linux_intel or something similar.
 
 MAKEFILE = Makefile
-GMAKE = gmake
+GMAKE = $(MAKE)
 
 #-----------------------------------------------------------------------------
 # STLPORT
@@ -145,7 +145,7 @@
 
 # It's handy for clean, .PHONY, etc. to have one big list
 #
-targets  = $(debugbinaries) $(debuglibraries) $(releasebinaries) $(releaselibraries) STLport_d STLport_r
+targets  = $(debugbinaries) $(debuglibraries) $(releasebinaries) $(releaselibraries) 
 
 
 # Let make know these aren't real file names...
--- src/make_include/i686-pc-linux.inc.sopwith	Fri Oct 27 20:26:25 2000
+++ src/make_include/i686-pc-linux.inc	Fri Feb  1 01:11:59 2002
@@ -19,11 +19,11 @@
 # General variable definitions
 #
 
-GMAKE = /usr/bin/gmake
+GMAKE = $(MAKE)
 CC = g++
 CXX = $(CC)
 AR = ar
-SYSDEF=-D_REDHAT -D_IX86 -D_GCC
+SYSDEF=-D_REDHAT -D_IX86 -D_GCC $(RPM_OPT_FLAGS)
 STLPORT=../STLport-4.0
 
 #
@@ -33,7 +33,7 @@
 CXXFLAGS_R = -I.. -I$(STLPORT)/stlport -ftemplate-depth-32
 DEFINES_R = -DNDEBUG $(SYSDEF)
 LINKFLAGS_R = -static
-LIBRARYFLAGS_R = -L../../lib/$(SYSPRE)_r -lm -lstlport_gcc
+LIBRARYFLAGS_R = -L../../lib/$(SYSPRE)_r -lm
 ARFLAGS_R = crv
 
 #
--- src/tw/twutil.cpp.orig	Fri Oct 27 20:25:38 2000
+++ src/tw/twutil.cpp	Tue Sep 24 23:24:54 2002
@@ -672,7 +672,7 @@
         throw eSerializerInputStreamFmt(_T(""), filename, eSerializer::TY_FILE);
     }
 
-    d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID());
+    d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetEncoding());
 
     // check for a mismatched header
     if (fileHeader.GetID() != cConfigFile::GetFileHeaderID())
@@ -775,7 +775,7 @@
         throw eSerializerInputStreamFmt(_T(""), filename.c_str(), eSerializer::TY_FILE);
     }
 
-    d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetID());
+    d.TraceDebug("Found a file header of type %d.\n", fileHeader.GetEncoding());
 
     // check for a mismatched header
     if (fileHeader.GetID() != cConfigFile::GetFileHeaderID())
--- src/tripwire/mailmessage.cpp.orig	Thu Jul  5 05:16:34 2001
+++ src/tripwire/mailmessage.cpp	Thu Jul  5 05:16:47 2001
@@ -241,7 +241,7 @@
 	time_t current_time = time(NULL);
 	tm = localtime ( &current_time );
 	
-	const TCHAR* szFormat = _T("%a %d %b %Y %H:%M:%S %z");
+	const TCHAR* szFormat = _T("%a, %d %b %Y %H:%M:%S %z");
 	
 	size_t numChars = _tcsftime( szDate, countof( szDate ), szFormat, tm );
 	
--- src/core/stdcore.h.dist	2003-01-28 14:10:57.000000000 +0100
+++ src/core/stdcore.h	2003-01-29 21:31:59.000000000 +0100
@@ -46,6 +46,9 @@
 #include "platform.h"
 
 //--Where the configuration file is to be found
+#if 1
+#define CONFIG_FILE_ROOT    "@l_prefix@/etc/tripwire"
+#else
 #if IS_BSD
 # define CONFIG_FILE_ROOT	"/usr/local/etc/tripwire"
 #elif defined(USE_FHS)
@@ -53,6 +56,7 @@
 #else
 # undef CONFIG_FILE_ROOT	// Nowhere, just try current directoy
 #endif
+#endif
 
 //--Disable some level 4 warnings
 
--- src/core/platform.h.dist	2003-01-28 15:39:55.000000000 +0100
+++ src/core/platform.h	2003-01-28 15:42:30.000000000 +0100
@@ -128,10 +128,18 @@
 #elif defined(_SOLARIS)
     #define OS                  OS_SOLARIS
     #if defined(_IX86)
-        #define COMP            COMP_SUNPRO
+        #if defined(_GCC)
+            #define COMP            COMP_GCC
+        #else
+            #define COMP            COMP_SUNPRO
+        #endif
         #define ARCH            ARCH_IX86
     #else
-        #define COMP            COMP_KAI_SUNPRO
+        #if defined(_GCC)
+            #define COMP            COMP_GCC
+        #else
+            #define COMP            COMP_KAI_SUNPRO
+        #endif
         #define ARCH            ARCH_SPARC
     #endif
 
--- src/core/debug.h.dist	2003-05-16 13:01:43.000000000 +0200
+++ src/core/debug.h	2003-05-16 13:01:53.000000000 +0200
@@ -43,7 +43,7 @@
 
 
 #include <iostream>
-#include <varargs.h>
+#include <stdarg.h>
 #include "types.h"
 
 //
--- src/tw/twstrings.cpp.dist	2003-01-28 15:58:00.000000000 +0100
+++ src/tw/twstrings.cpp	2003-01-28 15:59:22.000000000 +0100
@@ -258,6 +258,9 @@
 #elif IS_BSD
 		TSS_StringEntry( tw::STR_VERSION,       TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE  ),
 		TSS_StringEntry( tw::STR_VERSION_LONG,  TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for BSD\n\n") TSS_COPYRIGHT_NOTICE_LONG  ),
+#elif IS_SOLARIS
+		TSS_StringEntry( tw::STR_VERSION,       TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for SOLARIS\n\n") TSS_COPYRIGHT_NOTICE  ),
+		TSS_StringEntry( tw::STR_VERSION_LONG,  TSS_PRODUCT_NAME BUILD_NUM UNICODE_STR DEBUG_STR _T(" for SOLARIS\n\n") TSS_COPYRIGHT_NOTICE_LONG  ),
 #else
 #	error Who the hell am I?
 #endif
--- src/twparser/yylex.cpp.dist	2003-05-16 13:04:35.000000000 +0200
+++ src/twparser/yylex.cpp	2003-05-16 13:05:03.000000000 +0200
@@ -31,17 +31,6 @@
 //
 #include "stdtwparser.h"
 
-#if defined(__OpenBSD__)        /* OpenBSD's varargs seems wacky */
-# undef va_start
-# ifdef __GNUC__
-#  define va_start(ap, last) \
-        ((ap) = (va_list)__builtin_next_arg(last))
-# else
-#  define va_start(ap, last) \
-        ((ap) = (va_list)&(last) + __va_size(last))
-# endif
-#endif /* __OpenBSD__ */
-
 /* ..\. -a -o yylex.cpp -D yylex.h -P ..\..\mkslexyacc\etc\yylex.cpp -LC tokens.l */
 #define INITIAL 0
 #define globals 2
