Submitted By: Tushar Teredesai <tushar@linuxfromscratch.org>
Date: 2003-10-07
Initial Package Version: 2.3.1-2
Origin: Mandrake CVS
Description: This patch contains gcc-3.3.x and glibc-2.3.x related fixes from
the Mandrake Cooker RPM. It also includes a fix to use mkstemp instead of the
depracated mktemp function.

In addition, it also includes following fixes I made:
  * Remove STLport includes and libs so that tripwire will use gcc-stl support.
  * Add -w to the compile flags to avoid numerous warnings generated.
  * Add variables OPT_FLAGS for optimization flags and STRIP_FLAGS to pass
    options to the linker.
  * Added BLFS patch to configure paths as per standard LFS installation.

diff -aur tripwire-2.3.1-2.orig/install/install.cfg tripwire-2.3.1-2/install/install.cfg
--- tripwire-2.3.1-2.orig/install/install.cfg	2000-10-27 19:26:25.000000000 -0500
+++ tripwire-2.3.1-2/install/install.cfg	2003-10-07 22:09:07.000000000 -0500
@@ -30,13 +30,13 @@
 TWPOLICY="/etc/tripwire"
 
 # Tripwire manual pages are stored in TWMAN.
-TWMAN="/usr/man"
+TWMAN="/usr/share/man"
 
 # Tripwire database files are stored in TWDB.
 TWDB="/var/lib/tripwire"
 
 # Tripwire documents directory
-TWDOCS="/usr/doc/tripwire"
+TWDOCS="/usr/share/doc/tripwire"
 
 # The Tripwire site key files are stored in TWSITEKEYDIR.
 TWSITEKEYDIR="${TWPOLICY}"
@@ -48,7 +48,7 @@
 TWREPORT="${TWDB}/report"
 
 # This sets the default text editor for Tripwire.
-TWEDITOR="/bin/vi"
+TWEDITOR="/usr/bin/vi"
 
 # TWLATEPROMTING controls the point when tripwire asks for a password.
 TWLATEPROMPTING=false
@@ -85,7 +85,7 @@
 #####################################
 
 TWMAILMETHOD=SENDMAIL
-TWMAILPROGRAM="/usr/lib/sendmail -oi -t"
+TWMAILPROGRAM="/usr/sbin/sendmail -oi -t"
 
 #####################################
 # SMTP options
diff -aur tripwire-2.3.1-2.orig/src/Makefile tripwire-2.3.1-2/src/Makefile
--- tripwire-2.3.1-2.orig/src/Makefile	2001-03-03 22:03:52.000000000 -0600
+++ tripwire-2.3.1-2/src/Makefile	2003-10-07 19:54:33.000000000 -0500
@@ -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...
@@ -179,7 +179,7 @@
 #	/usr/bin/make -C twprint -f twprint.mak release "BUILDTYPE=r" "SYSPRE=i686-pc-linux"
 #
 
-$(releasebinaries) test_r: STLport_r $(releaselibraries)
+$(releasebinaries) test_r: $(releaselibraries)
 	$(GMAKE) -C $(subst _r,,$@) -f $(subst _r,.mak,$@) release "SYSPRE=$(SYSPRE)"
 
 
@@ -191,7 +191,7 @@
 #	/usr/bin/make -C twprint -f twprint.mak debug "SYSPRE=i686-pc-linux"
 #
 
-$(debugbinaries) test_d: STLport_d $(debuglibraries)
+$(debugbinaries) test_d: $(debuglibraries)
 	$(GMAKE) -C $(subst _d,,$@) -f $(subst _d,.mak,$@) debug "SYSPRE=$(SYSPRE)"
 
 
@@ -239,8 +239,8 @@
 # crypto++ makes an executable, cryptest or cryptest_d
 # Therefore it links (to STLport), so we have to add a dependency:
 
-cryptlib_r: STLport_r
-cryptlib_d: STLport_d
+cryptlib_r: 
+cryptlib_d: 
 
 
 #####################################################################
diff -aur tripwire-2.3.1-2.orig/src/core/archive.cpp tripwire-2.3.1-2/src/core/archive.cpp
--- tripwire-2.3.1-2.orig/src/core/archive.cpp	2001-02-24 13:02:12.000000000 -0600
+++ tripwire-2.3.1-2/src/core/archive.cpp	2003-10-07 19:48:28.000000000 -0500
@@ -45,7 +45,7 @@
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <iostream.h>
+#include <iostream>
 #include "file.h"
 #include "stringutil.h"
 
diff -aur tripwire-2.3.1-2.orig/src/core/charutil.cpp tripwire-2.3.1-2/src/core/charutil.cpp
--- tripwire-2.3.1-2.orig/src/core/charutil.cpp	2000-10-28 14:22:55.000000000 -0500
+++ tripwire-2.3.1-2/src/core/charutil.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -105,7 +105,7 @@
     }
 
     first = cur;
-    last = tss::strinc( cur );
+    last = TSTRING::const_iterator(tss::strinc( cur.base() ));
     return true;
 }
 
diff -aur tripwire-2.3.1-2.orig/src/core/debug.h tripwire-2.3.1-2/src/core/debug.h
--- tripwire-2.3.1-2.orig/src/core/debug.h	2000-10-27 20:15:19.000000000 -0500
+++ tripwire-2.3.1-2/src/core/debug.h	2003-10-07 19:45:35.000000000 -0500
@@ -43,7 +43,7 @@
 
 
 #include <iostream>
-#include <varargs.h>
+#include <stdarg.h>
 #include "types.h"
 
 //
diff -aur tripwire-2.3.1-2.orig/src/core/displayencoder.cpp tripwire-2.3.1-2/src/core/displayencoder.cpp
--- tripwire-2.3.1-2.orig/src/core/displayencoder.cpp	2000-10-27 20:15:20.000000000 -0500
+++ tripwire-2.3.1-2/src/core/displayencoder.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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
diff -aur tripwire-2.3.1-2.orig/src/core/displayutil.cpp tripwire-2.3.1-2/src/core/displayutil.cpp
--- tripwire-2.3.1-2.orig/src/core/displayutil.cpp	2000-10-28 14:22:55.000000000 -0500
+++ tripwire-2.3.1-2/src/core/displayutil.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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() )) );
         }
     }    
                 
diff -aur tripwire-2.3.1-2.orig/src/core/platform.h tripwire-2.3.1-2/src/core/platform.h
--- tripwire-2.3.1-2.orig/src/core/platform.h	2001-02-24 13:02:12.000000000 -0600
+++ tripwire-2.3.1-2/src/core/platform.h	2003-10-07 19:44:26.000000000 -0500
@@ -291,6 +291,7 @@
 //       where <tw-exe-dir> is the directory the tripwire executable is located in.
 //=============================================================================
 #define USES_FHS 				IS_LINUX
+#define USE_FHS 				IS_LINUX
 
 //=============================================================================
 // Miscellaneous
diff -aur tripwire-2.3.1-2.orig/src/core/resources.h tripwire-2.3.1-2/src/core/resources.h
--- tripwire-2.3.1-2.orig/src/core/resources.h	2000-10-28 14:22:55.000000000 -0500
+++ tripwire-2.3.1-2/src/core/resources.h	2003-10-07 19:48:28.000000000 -0500
@@ -98,7 +98,7 @@
         typedef Value&              ValueRef;
         typedef const Value&        ConstValueRef;
         
-        typedef Table::value_type   Pair;           
+        typedef typename Table::value_type   Pair;           
 
         
 
diff -aur tripwire-2.3.1-2.orig/src/core/stringutil.h tripwire-2.3.1-2/src/core/stringutil.h
--- tripwire-2.3.1-2.orig/src/core/stringutil.h	2001-02-03 23:38:27.000000000 -0600
+++ tripwire-2.3.1-2/src/core/stringutil.h	2003-10-07 19:48:28.000000000 -0500
@@ -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
@@ -169,7 +169,7 @@
             //- - - - - - - - - - - - - - - - - - - - - - - - - -
             // required typedef ( to be a container it must have this... )
             //- - - - - - - - - - - - - - - - - - - - - - - - - -
-           typedef _ParentT::value_type    value_type;
+           typedef typename _ParentT::value_type    value_type;
 
             //- - - - - - - - - - - - - - - - - - - - - - - - - -
             // required constructors and assignment operators...
diff -aur tripwire-2.3.1-2.orig/src/core/unix/unixfsservices.cpp tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp
--- tripwire-2.3.1-2.orig/src/core/unix/unixfsservices.cpp	2001-02-24 13:02:12.000000000 -0600
+++ tripwire-2.3.1-2/src/core/unix/unixfsservices.cpp	2003-10-07 19:49:04.000000000 -0500
@@ -243,6 +243,7 @@
 {
     char* pchTempFileName;
     char szTemplate[MAXPATHLEN];
+    int fd;
 
 #ifdef _UNICODE
     // convert template from wide character to multi-byte string
@@ -253,13 +254,12 @@
     strcpy( szTemplate, strName.c_str() );
 #endif
 
-    // create temp filename
-    pchTempFileName = mktemp( szTemplate );
-
-    //check to see if mktemp failed
-    if ( pchTempFileName == NULL || strlen(pchTempFileName) == 0) {
-      throw eFSServicesGeneric( strName );
-    }
+    // create temp filename and check to see if mkstemp failed
+    if ((fd = mkstemp( szTemplate )) == -1)
+	throw eFSServicesGeneric( strName );
+    else
+	close(fd);
+    pchTempFileName = szTemplate;
 
     // change name so that it has the XXXXXX part filled in
 #ifdef _UNICODE
diff -aur tripwire-2.3.1-2.orig/src/cryptlib/i686-pc-linux.mak tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak
--- tripwire-2.3.1-2.orig/src/cryptlib/i686-pc-linux.mak	2000-10-27 19:26:21.000000000 -0500
+++ tripwire-2.3.1-2/src/cryptlib/i686-pc-linux.mak	2003-10-07 20:33:16.000000000 -0500
@@ -36,8 +36,8 @@
 # Set platform to one of the above definitions
 PLATFORM = $(LINUX_X86)
  
-DEBUG_FLAGS = -g -D_DEBUG
-NDEBUG_FLAGS = -DNDEBUG
+DEBUG_FLAGS = -w -g -D_DEBUG
+NDEBUG_FLAGS = -w -DNDEBUG
 OFLAGS =  
 MAKE_FLAGS = -M
 
@@ -52,9 +52,9 @@
 # The crypto++ web page says that 3.2 builds properly with gcc 2.95.2 (without any STL help), so
 # linking with STLport here is probably unnecessary.  We haven't tested it though, so
 # we'll leave it the way it is for now.
-CXXFLAGS = $(PLATFORM) $(D_FLAGS) -w -I../STLport-4.0/stlport
-DEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_d -lstlport_gcc
-NDEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_r -lstlport_gcc
+CXXFLAGS = $(PLATFORM) $(D_FLAGS) -w $(OPT_FLAGS)
+DEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_d
+NDEBUG_LDFLAGS = -L../../lib/$(SYSPRE)_r
 
 # ----------------- END OF CONFIGURABLE DEFINES --------------------
 # ------------------------------------------------------------------
@@ -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"
 
  
 ###############################################################################
@@ -135,4 +135,4 @@
 endif
 endif
 
-# Do not Delete
\ No newline at end of file
+# Do not Delete
diff -aur tripwire-2.3.1-2.orig/src/cryptlib/misc.h tripwire-2.3.1-2/src/cryptlib/misc.h
--- tripwire-2.3.1-2.orig/src/cryptlib/misc.h	2000-10-27 19:26:21.000000000 -0500
+++ tripwire-2.3.1-2/src/cryptlib/misc.h	2003-10-07 19:47:09.000000000 -0500
@@ -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
diff -aur tripwire-2.3.1-2.orig/src/db/hierdatabase.cpp tripwire-2.3.1-2/src/db/hierdatabase.cpp
--- tripwire-2.3.1-2.orig/src/db/hierdatabase.cpp	2001-02-24 23:41:13.000000000 -0600
+++ tripwire-2.3.1-2/src/db/hierdatabase.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -255,7 +255,8 @@
 	}
 	else
 	{
-		int offset	= rhs.mIter - rhs.mEntries.begin();
+	        int offset;
+		offset = -(rhs.mEntries.begin() - rhs.mIter);
 		mIter		= mEntries.begin() + offset;
 	}
 
diff -aur tripwire-2.3.1-2.orig/src/fco/fconame.cpp tripwire-2.3.1-2/src/fco/fconame.cpp
--- tripwire-2.3.1-2.orig/src/fco/fconame.cpp	2000-10-27 19:25:41.000000000 -0500
+++ tripwire-2.3.1-2/src/fco/fconame.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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() )) );
 	}
 }
 
diff -aur tripwire-2.3.1-2.orig/src/make_include/i686-pc-linux.inc tripwire-2.3.1-2/src/make_include/i686-pc-linux.inc
--- tripwire-2.3.1-2.orig/src/make_include/i686-pc-linux.inc	2000-10-27 19:26:25.000000000 -0500
+++ tripwire-2.3.1-2/src/make_include/i686-pc-linux.inc	2003-10-07 20:52:47.000000000 -0500
@@ -19,28 +19,28 @@
 # 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 $(OPT_FLAGS)
 STLPORT=../STLport-4.0
 
 #
 # release flags
 #
 
-CXXFLAGS_R = -I.. -I$(STLPORT)/stlport -ftemplate-depth-32
+CXXFLAGS_R = -I.. -ftemplate-depth-32 -w
 DEFINES_R = -DNDEBUG $(SYSDEF)
-LINKFLAGS_R = -static
-LIBRARYFLAGS_R = -L../../lib/$(SYSPRE)_r -lm -lstlport_gcc
+LINKFLAGS_R = -static $(STRIP_FLAGS)
+LIBRARYFLAGS_R = -L../../lib/$(SYSPRE)_r -lm
 ARFLAGS_R = crv
 
 #
 # debug flags
 #
 
-CXXFLAGS_D = -I.. -I$(STLPORT)/stlport -g -ftemplate-depth-32
+CXXFLAGS_D = -I.. -g -ftemplate-depth-32 -w
 DEFINES_D = -D_DEBUG -D_DEBUG_DB $(SYSDEF)
 LINKFLAGS_D = -static
 LIBRARYFLAGS_D = -L../../lib/$(SYSPRE)_d -lm -lstlport_gcc
@@ -50,4 +50,4 @@
 # depend flags
 #
 
-DEPEND_FLAGS = -M -w -I.. -I$(STLPORT)/stlport -DNDEBUG $(SYSDEF)
+DEPEND_FLAGS = -M -I.. -DNDEBUG $(SYSDEF)
diff -aur tripwire-2.3.1-2.orig/src/siggen/siggenmain.cpp tripwire-2.3.1-2/src/siggen/siggenmain.cpp
--- tripwire-2.3.1-2.orig/src/siggen/siggenmain.cpp	2000-10-27 19:26:25.000000000 -0500
+++ tripwire-2.3.1-2/src/siggen/siggenmain.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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);
 
diff -aur tripwire-2.3.1-2.orig/src/tripwire/mailmessage.cpp tripwire-2.3.1-2/src/tripwire/mailmessage.cpp
--- tripwire-2.3.1-2.orig/src/tripwire/mailmessage.cpp	2000-10-27 19:26:18.000000000 -0500
+++ tripwire-2.3.1-2/src/tripwire/mailmessage.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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 );
 
diff -aur tripwire-2.3.1-2.orig/src/tripwire/tripwiremain.cpp tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp
--- tripwire-2.3.1-2.orig/src/tripwire/tripwiremain.cpp	2001-02-24 13:02:12.000000000 -0600
+++ tripwire-2.3.1-2/src/tripwire/tripwiremain.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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);
 
diff -aur tripwire-2.3.1-2.orig/src/tw/twutil.cpp tripwire-2.3.1-2/src/tw/twutil.cpp
--- tripwire-2.3.1-2.orig/src/tw/twutil.cpp	2000-10-27 19:25:38.000000000 -0500
+++ tripwire-2.3.1-2/src/tw/twutil.cpp	2003-10-07 19:48:28.000000000 -0500
@@ -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.GetID());
 
     // 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.GetID());
 
     // check for a mismatched header
     if (fileHeader.GetID() != cConfigFile::GetFileHeaderID())
diff -aur tripwire-2.3.1-2.orig/src/twadmin/twadminmain.cpp tripwire-2.3.1-2/src/twadmin/twadminmain.cpp
--- tripwire-2.3.1-2.orig/src/twadmin/twadminmain.cpp	2000-10-27 19:26:22.000000000 -0500
+++ tripwire-2.3.1-2/src/twadmin/twadminmain.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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);
 
diff -aur tripwire-2.3.1-2.orig/src/twparser/policyparser.cpp tripwire-2.3.1-2/src/twparser/policyparser.cpp
--- tripwire-2.3.1-2.orig/src/twparser/policyparser.cpp	2001-02-24 13:02:12.000000000 -0600
+++ tripwire-2.3.1-2/src/twparser/policyparser.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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 );
diff -aur tripwire-2.3.1-2.orig/src/twprint/twprintmain.cpp tripwire-2.3.1-2/src/twprint/twprintmain.cpp
--- tripwire-2.3.1-2.orig/src/twprint/twprintmain.cpp	2000-10-27 19:26:19.000000000 -0500
+++ tripwire-2.3.1-2/src/twprint/twprintmain.cpp	2003-10-07 19:47:09.000000000 -0500
@@ -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);
 
