rpms/openoffice.org/FC-4 disable-java-applets.diff, NONE, 1.1 sax+source+expatwrap+xml2utf.cxx.diff, NONE, 1.1 openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch, 1.2, 1.3 openoffice.org.spec, 1.241, 1.242 sources, 1.91, 1.92

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Jun 26 14:44:12 UTC 2006


Author: caolanm

Update of /cvs/dist/rpms/openoffice.org/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv7685

Modified Files:
	openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch 
	openoffice.org.spec sources 
Added Files:
	disable-java-applets.diff 
	sax+source+expatwrap+xml2utf.cxx.diff 
Log Message:
port to FC-4

disable-java-applets.diff:
 data/org/openoffice/Office/Common.xcu   |    7 +++++++
 schema/org/openoffice/Office/Common.xcs |    1 -
 2 files changed, 7 insertions(+), 1 deletion(-)

--- NEW FILE disable-java-applets.diff ---
--- openoffice.org.orig/officecfg/registry/data/org/openoffice/Office/Common.xcu	2004-05-09 11:22:21.000000000 -0400
+++ openoffice.org/officecfg/registry/data/org/openoffice/Office/Common.xcu	2006-06-26 09:09:33.000000000 -0400
@@ -35,6 +35,13 @@
  ************************************************************************ -->
 <!DOCTYPE oor:component-data SYSTEM "../../../../component-update.dtd">
 <oor:component-data oor:name="Common" oor:package="org.openoffice.Office" xmlns:oor="http://openoffice.org/2001/registry" xmlns:install="http://openoffice.org/2004/installation" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <node oor:name="Java">
+   <node oor:name="Applet">
+    <prop oor:name="Enable" oor:type="xs:boolean">
+     <value>false</value>
+    </prop>
+   </node>
+  </node>
   <node oor:name="View">
     <node oor:name="Dialog">
       <prop oor:name="MiddleMouseButton">
--- openoffice.org.orig/officecfg/registry/schema/org/openoffice/Office/Common.xcs	2004-04-27 12:35:22.000000000 -0400
+++ openoffice.org/officecfg/registry/schema/org/openoffice/Office/Common.xcs	2006-06-26 09:07:52.000000000 -0400
@@ -7070,7 +7070,6 @@
 						<label xml:lang="af">Words with two initial capital letters - Add automatically</label>
 						<label xml:lang="zu">Words with two initial capital letters - Add automatically</label>
 					</info>
-					<value>true</value>
 				</prop>
 				<prop oor:name="CapitalAtStartSentence" oor:type="xs:boolean">
 					<!-- OldPath: AutoCorrect/Options/All -->

sax+source+expatwrap+xml2utf.cxx.diff:
 xml2utf.cxx |   37 +++++++++++++++++++------------------
 1 files changed, 19 insertions(+), 18 deletions(-)

--- NEW FILE sax+source+expatwrap+xml2utf.cxx.diff ---
diff -urN -x CVS -x unxlngi6.pro sax/source/expatwrap/xml2utf.cxx sax/source/expatwrap/xml2utf.cxx
--- openoffice.org.orig/sax/source/expatwrap/xml2utf.cxx	2005-09-08 14:05:22.000000000 +0200
+++ openoffice.org/sax/source/expatwrap/xml2utf.cxx	2006-06-22 11:04:22.000000000 +0200
@@ -78,24 +78,26 @@
 				// ensure that enough data is available to parse encoding
 				if( seqStart.getLength() )
 				{
-					seq.realloc( seqStart.getLength() + seq.getLength() );
-					memcpy( (sal_Int8*)seq.getConstArray() + seqStart.getLength() ,
-							seq.getConstArray() ,
-							seq.getLength() );
-					memcpy( (sal_Int8*)seq.getConstArray() ,
-							seqStart.getConstArray(),
-							seqStart.getLength() );
+				  // prefix with what we had so far.
+				  sal_Int32 nLength = seq.getLength();
+				  seq.realloc( seqStart.getLength() + nLength );
+
+				  memmove (seq.getArray() + seqStart.getLength(),
+					   seq.getConstArray(),
+					   nLength);
+				  memcpy  (seq.getArray(),
+					   seqStart.getConstArray(),
+					   seqStart.getLength());
 				}
 
 				// autodetection with the first bytes
 				if( ! isEncodingRecognizable( seq ) )
 				{
-					seqStart.realloc( seqStart.getLength() + seq.getLength() );
-					memcpy( (sal_Int8*)seqStart.getConstArray() + seqStart.getLength(),
-							seq.getConstArray(),
-							seq.getLength());
-					// read more !
-					continue;
+				  // remember what we have so far.
+				  seqStart = seq;
+
+				  // read more !
+				  continue;
 				}
 				if( scanForEncoding( seq ) || m_sEncoding.getLength() ) {
 					// initialize decoding
@@ -291,7 +293,7 @@
 
 		// simply add the byte order mark !
 		seq.realloc( seq.getLength() + 2 );
-		memmove( &( seq.getArray()[2] ) , seq.getArray() , seq.getLength() );
+		memmove( &( seq.getArray()[2] ) , seq.getArray() , seq.getLength() - 2 );
 		((sal_uInt8*)seq.getArray())[0] = 0xFE;
 		((sal_uInt8*)seq.getArray())[1] = 0xFF;
 
@@ -302,7 +304,7 @@
 		// The byte order mark is simply added
 
 		seq.realloc( seq.getLength() + 2 );
-		memmove( &( seq.getArray()[2] ) , seq.getArray() , seq.getLength() );
+		memmove( &( seq.getArray()[2] ) , seq.getArray() , seq.getLength() - 2 );
 		((sal_uInt8*)seq.getArray())[0] = 0xFF;
 		((sal_uInt8*)seq.getArray())[1] = 0xFE;
 
@@ -511,9 +513,7 @@
 		// In general when surrogates are used, they should be rarely
 		// cut off between two convert()-calls. So this code is used
 		// rarely and the extra copy is acceptable.
-		nSourceSize += m_seqSource.getLength();
-
-		puTempMem = new sal_Unicode[ nSourceSize ];
+		puTempMem = new sal_Unicode[ nSourceSize + m_seqSource.getLength()];
 		memcpy( puTempMem ,
 				m_seqSource.getConstArray() ,
 				m_seqSource.getLength() * sizeof( sal_Unicode ) );
@@ -522,6 +522,7 @@
 			puSource ,
 			nSourceSize*sizeof( sal_Unicode ) );
 		puSource = puTempMem;
+		nSourceSize += m_seqSource.getLength();
 
 		m_seqSource = Sequence< sal_Unicode > ();
 	}

openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch:
 inc/objsh.hxx                    |    0 
 sfx2/inc/objsh.hxx               |    1 
 sfx2/source/doc/objmisc.cxx      |   97 +++++++++++++++++++++------------------
 sfx2/source/doc/sfxbasemodel.cxx |    6 ++
 sfx2/source/inc/objshimp.hxx     |    4 +
 source/doc/objmisc.cxx           |    0 
 source/doc/sfxbasemodel.cxx      |    0 
 source/inc/objshimp.hxx          |    0 
 8 files changed, 63 insertions(+), 45 deletions(-)

Index: openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-4/openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch	9 Jun 2006 12:15:11 -0000	1.2
+++ openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch	26 Jun 2006 14:44:09 -0000	1.3
@@ -1,23 +1,49 @@
-Index: objmisc.cxx
+Index: inc/objsh.hxx
+===================================================================
+RCS file: /cvs/framework/sfx2/inc/objsh.hxx,v
+retrieving revision 1.65
+diff -u -p -r1.65 objsh.hxx
+--- openoffice.org.orig/sfx2/inc/objsh.hxx	2 May 2006 16:01:46 -0000	1.65
++++ openoffice.org/sfx2/inc/objsh.hxx	15 Jun 2006 12:12:47 -0000
+@@ -714,6 +714,7 @@ public:
+ 					const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
+ 
+ 	SAL_DLLPRIVATE void InitOwnModel_Impl();
++	SAL_DLLPRIVATE void BreakMacroSign_Impl( sal_Bool bBreakMacroSing );
+ 	SAL_DLLPRIVATE void CheckMacrosOnLoading_Impl();
+ 
+ 	SAL_DLLPRIVATE static SEQUENCE< OUSTRING > GetEventNames_Impl();
+Index: source/doc/objmisc.cxx
 ===================================================================
 RCS file: /cvs/framework/sfx2/source/doc/objmisc.cxx,v
 retrieving revision 1.78
 diff -u -p -r1.78 objmisc.cxx
 --- openoffice.org.orig/sfx2/source/doc/objmisc.cxx	2 May 2006 16:43:29 -0000	1.78
-+++ openoffice.org/sfx2/source/doc/objmisc.cxx	9 Jun 2006 08:38:15 -0000
-@@ -1054,37 +1054,23 @@
++++ openoffice.org/sfx2/source/doc/objmisc.cxx	15 Jun 2006 12:15:02 -0000
+@@ -1039,6 +1039,12 @@
+ }
+ 
+ //-------------------------------------------------------------------------
++void SfxObjectShell::BreakMacroSign_Impl( sal_Bool bBreakMacroSign )
++{
++	pImp->m_bMacroSignBroken = bBreakMacroSign;
++}
++
++//-------------------------------------------------------------------------
+ void SfxObjectShell::CheckMacrosOnLoading_Impl()
+ {
+ 	const SfxFilter* pFilter = pMedium->GetFilter();
+@@ -1053,35 +1059,24 @@
  		pImp->bMacroDisabled = sal_True;
  		pImp->nMacroMode = MacroExecMode::NEVER_EXECUTE;
  	}
 -	else if ( bHasStorage && ( !pFilter || !( pFilter->GetFilterFlags() & SFX_FILTER_STARONEFILTER ) ) )
-+	else
- 	{
+-	{
 -		uno::Reference< embed::XStorage > xStorage = pMedium->GetStorage();
 -		if ( xStorage.is() )
 -		{
 -			BOOL bHasMacros = StorageHasMacros( xStorage );
-+		sal_Bool bHasMacros = sal_False;
- 
+-
 -			if ( bHasMacros )
 -			{
 -				AdjustMacroMode( String() ); // if macros are disabled the message will be shown here
@@ -33,30 +59,47 @@
 -				// if macros will be added by the user later, the security check is obsolete
 -				pImp->nMacroMode = MacroExecMode::ALWAYS_EXECUTE_NO_WARN;
 -			}
-+		if ( bHasStorage && ( !pFilter || !( pFilter->GetFilterFlags() & SFX_FILTER_STARONEFILTER ) ) )
-+		{
-+			uno::Reference< embed::XStorage > xStorage = pMedium->GetStorage();
-+			if ( xStorage.is() )
-+				bHasMacros = StorageHasMacros( xStorage );
-+			else
-+				SetError( ERRCODE_IO_GENERAL );
- 		}
+-		}
 -		else
 -			SetError( ERRCODE_IO_GENERAL );
 -	}
--	else
--	{
+ 	else
+ 	{
 -		if ( HasMacrosLib_Impl() )
-+		if ( !bHasMacros )
-+			bHasMacros = HasMacrosLib_Impl();
-+
-+		if ( bHasMacros )
++		uno::Reference< embed::XStorage > xStorage = pMedium->GetStorage();
++                sal_Bool bHasMacros = sal_False;
++ 
++                if ( bHasStorage && ( !pFilter || !( pFilter->GetFilterFlags() & SFX_FILTER_STARONEFILTER ) ) )
++                {
++                        uno::Reference< embed::XStorage > xStorage = pMedium->GetStorage();
++                        if ( xStorage.is() )
++                                bHasMacros = StorageHasMacros( xStorage );
++                        else
++                                SetError( ERRCODE_IO_GENERAL );
++		}
++ 
++                if ( !bHasMacros )
++                        bHasMacros = HasMacrosLib_Impl();
++ 
++                if ( bHasMacros )
  		{
--			// no signing in alien formats!
+ 			// no signing in alien formats!
  			AdjustMacroMode( String() ); // if macros are disabled the message will be shown here
- 			if ( SvtSecurityOptions().GetMacroSecurityLevel() >= 2
- 			  && MacroExecMode::NEVER_EXECUTE == pImp->nMacroMode )
-@@ -2245,23 +2231,30 @@
+@@ -1968,6 +1963,13 @@
+ 	    	::com::sun::star::uno::Sequence< security::DocumentSignatureInformation > aScriptingSignatureInformations;
+             uno::Reference < embed::XStorage > xStore = GetMedium()->GetLastCommitReadStorage_Impl();
+ 	    	sal_uInt16 nSignatureState = GetScriptingSignatureState();
++
++            if ( nSignatureState != SIGNATURESTATE_NOSIGNATURES && pImp->m_bMacroSignBroken )
++			{
++				// if there is a macro signature it must be handled as broken
++	    		nSignatureState = SIGNATURESTATE_SIGNATURES_BROKEN;
++			}
++			
+ 	    	if ( nSignatureState == SIGNATURESTATE_SIGNATURES_BROKEN )
+ 	    	{
+ 				if ( pImp->nMacroMode != MacroExecMode::FROM_LIST_AND_SIGNED_NO_WARN )
+@@ -2244,23 +2246,30 @@
          if ( bHasMacros )
          {
              // a library container exists; check if it's empty
@@ -104,3 +147,48 @@
      }
      catch( uno::Exception& )
      {
+Index: source/inc/objshimp.hxx
+===================================================================
+RCS file: /cvs/framework/sfx2/source/inc/objshimp.hxx,v
+retrieving revision 1.29
+diff -u -r1.29 objshimp.hxx
+--- openoffice.org.orig/sfx2/source/inc/objshimp.hxx	11 Nov 2005 12:24:06 -0000	1.29
++++ openoffice.org/sfx2/source/inc/objshimp.hxx	26 Jun 2006 14:37:46 -0000
+@@ -112,7 +112,8 @@
+                         bInitialized:1,
+                         bSignatureErrorIsShown:1,
+                         bModelInitialized:1, // whether the related model is initialized
+-                        bPreserveVersions:1;
++                        bPreserveVersions:1,
++						m_bMacroSignBroken:1; // whether the macro signature was explicitly broken
+ 
+ 	String              aNewName;  // Der Name, unter dem das Doc gespeichert
+ 								   // werden soll
+@@ -219,6 +220,7 @@
+         bLoadingWindows( sal_False ),
+         bPreserveVersions( sal_True ),
+         bHidden( sal_False )
++                , m_bMacroSignBroken( sal_False )
+ 		, nStyleFilter( 0 )
+         , nMacroMode( -1 )
+ 		, bDisposing( sal_False )
+Index: source/doc/sfxbasemodel.cxx
+===================================================================
+RCS file: /cvs/framework/sfx2/source/doc/sfxbasemodel.cxx,v
+retrieving revision 1.110
+diff -u -p -r1.110 sfxbasemodel.cxx
+--- openoffice.org.orig/sfx2/source/doc/sfxbasemodel.cxx	2 May 2006 16:45:09 -0000	1.110
++++ openoffice.org/sfx2/source/doc/sfxbasemodel.cxx	15 Jun 2006 12:15:21 -0000
+@@ -1182,6 +1182,12 @@ sal_Bool SAL_CALL SfxBaseModel::attachRe
+                     m_pData->m_pObjectShell->SetVisArea( aTmpRect );
+                 }
+ 			}
++			else if ( rArgs[nInd].Name.equalsAscii( "BreakMacroSignature" ) )
++			{
++				sal_Bool bBreakMacroSign = sal_False;
++				rArgs[nInd].Value >>= bBreakMacroSign;
++				m_pData->m_pObjectShell->BreakMacroSign_Impl( bBreakMacroSign );
++			}
+ 			else if ( !rArgs[nInd].Name.equalsAscii( "Stream" ) && !rArgs[nInd].Name.equalsAscii( "InputStream" ) )
+ 			{
+ 				// TODO/LATER: all the parameters that are accepted by ItemSet of the DocShell must be ignored here


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-4/openoffice.org.spec,v
retrieving revision 1.241
retrieving revision 1.242
diff -u -r1.241 -r1.242
--- openoffice.org.spec	9 Jun 2006 11:12:02 -0000	1.241
+++ openoffice.org.spec	26 Jun 2006 14:44:09 -0000	1.242
@@ -1,6 +1,6 @@
 %define oootag OOA680
 %define ooomilestone 1
-%define rh_rpm_release 6
+%define rh_rpm_release 7
 
 %define build_fc5 0
 %define build_fc4 1
@@ -136,7 +136,6 @@
 Source7:	GSI_ga.sdf
 Source8:	gcj-sed.sh
 Source9:	evolocal.odb
-Source10:	DisableJavaApplets.xcu
 BuildRequires: 	tcsh, perl, sed, zip, bzip2, unzip, tar, findutils
 BuildRequires: 	autoconf, make >= 3.79.1, ant, flex, bison, perl-Compress-Zlib
 BuildRequires: 	gcc >= 3.4.3, gcc-c++ >= 3.4.3, binutils, perl-Archive-Zip
@@ -218,6 +217,8 @@
 Patch51: openoffice.org-2.0.1-ooo59997.sw.defaultbullets.patch
 Patch52: openoffice.org-2.0.1-ooo19976.framework.nofocussteal.patch
 Patch53: openoffice.org-2.0.3.oooXXXXX.safety.sfx2.patch
+Patch54: disable-java-applets.diff
+Patch55: sax+source+expatwrap+xml2utf.cxx.diff
 
 %define instdir %{_libdir}/openoffice.org2.0
 
@@ -889,6 +890,8 @@
 %patch51 -p1 -b .ooo59997.sw.defaultbullets.patch
 %patch52 -p1 -b .ooo19976.framework.nofocussteal.patch
 %patch53 -p1 -b .oooXXXXX.safety.sfx2.patch
+%patch54 -p1 -b .disable-java-applets.diff
+%patch55 -p1 -b .sax
 
 %if %{includingexternals}
 #start ludicrous workaround
@@ -1059,7 +1062,6 @@
 %install
 #add our custom configuration options
 $RPM_BUILD_ROOT/%{instdir}/program/configimport -e file://$RPM_BUILD_ROOT/%{instdir}/share/registry %{SOURCE5}
-$RPM_BUILD_ROOT/%{instdir}/program/configimport -e file://$RPM_BUILD_ROOT/%{instdir}/share/registry %{SOURCE10}
 
 # rh#163147# convert non AMT to AMT fonts
 sed -i -e "s/Thorndale/Thorndale AMT/g" $RPM_BUILD_ROOT/%{instdir}/share/registry/data/org/openoffice/VCL.xcu
@@ -3348,6 +3350,11 @@
 %{instdir}/share/registry/modules/org/openoffice/Office/Scripting/Scripting-python.xcu
 
 %changelog
+* Fri Jun 09 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.1.1-7
+- CVE-2006-2198 macro security
+- CVE-2006-2199 java applets
+- CVE-2006-3117 corrupt file format
+
 * Fri Jun 09 2006 Caolan McNamara <caolanm at redhat.com> - 1:2.0.1.1-6
 - security errata
 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/openoffice.org/FC-4/sources,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- sources	9 Jun 2006 11:10:31 -0000	1.91
+++ sources	26 Jun 2006 14:44:09 -0000	1.92
@@ -8,4 +8,3 @@
 79d2ce6b3bf7e0b5d88f601838b791f7  OOA680_m1.tar.bz2
 16cb79cb018c6311e9797e85bd2461b2  evolocal.odb
 33abf0fa04f7ec90b49ba4a8072713b6  GSI_ga.sdf
-baaf6187c060cc0525acbe4c07748025  DisableJavaApplets.xcu




More information about the fedora-cvs-commits mailing list