[devel] mono 1.2.5.2

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Ноя 10 02:56:21 MSK 2007


On Tue, Nov 06, 2007 at 10:44:52PM +0300, Alexey Tourbin wrote:
> Я взялся за сборку mono.  Отчасти это вызвано необходимостью пересборки
> mono с новым rpm-build-mono.  Я также изменю некоторые зависимости, но
> распил пакетов пока всерьез менять не собираюсь.  Результат будет
> представлен на обсуждение.

1.2.5.1-alt1-18-g1278470
git-log 1.2.5.1-alt1..
git-diff 1.2.5.1-alt1..
(приложено для осмотра)
----------- следующая часть -----------
commit 1278470406f3a46880b530a0af57bb750dfb61ec
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Sat Nov 10 02:23:18 2007 +0300

    spec: rearranged *.pc files between subpackages (mono-nuint.pc was packaged twice)

commit 05c54e7b776d3ed9c3800a210d695635d1f69dd0
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Sat Nov 10 01:26:44 2007 +0300

    dllmap.patch: removed libdb2_36.so, fixes ibm-data-db2 unmet dependency

commit 5bbfad6b53a71a94727fce283d930f75b1a2bb7d
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Sat Nov 10 00:11:47 2007 +0300

    spec: mono-mcs requires rpm-build-mono
    
    mcs(1) is mono compiler.  The fact that we compile some
    mono sources must automatically enable support for mono
    dependencies.

commit 868b997393c44b3ccdf5f8c1819f052263a09813
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Sat Nov 10 00:03:05 2007 +0300

    spec: updated interpackage dependencies (removed mono-devel dependency from mono-mcs)
    
    mono-mcs can compile (not-so-) simple programs without any mono-*
    subpackage (just with mono).
    
    Also note that no subpackage should require *-devel package (except
    for *-devel-static).

commit 71f9db9fd7f919f7c1da1041a1a8d4cec18e12a3
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 23:28:34 2007 +0300

    spec: removed manual dependencies; they are wrong and/or outdated

commit 8f88217e2d198ef83ddce5fffdaf72fb4bb651f5
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 23:26:41 2007 +0300

    spec: mono requires /proc

commit 15db2ca4a86a16b766d8cda9b268db76fb569bb2
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 18:46:14 2007 +0300

    fixed dependencies on libgdk-x11-2.0.so.0 libgtk-x11-2.0.so.0

commit 67aca8c2e5ba8e94d6f943458a3a1bc0e39225e4
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 17:05:47 2007 +0300

    fixed dependency on libgdiplus.so.0

commit 73a6186043096db028c00fc218d7204b3098dfdf
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 00:09:38 2007 +0300

    spec: fixed 'rpm -bi --short-circuit' (removed %doc libgc-mono)

commit d6510a006def0fff02707528121ef6fa5008ef19
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 00:04:37 2007 +0300

    spec: split libmono-devel

commit c4df6581d77a740cf42a186e4ea25f6de54b3383
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Fri Nov 9 00:00:22 2007 +0300

    spec: added ldconfig scripts for libmono

commit f990f3182a0f9cdc097c7929c9d139ebce22f055
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Nov 8 23:59:21 2007 +0300

    spec: TODO: use system libgc

commit 0af925f48ec6ca0db2e520b4ce0c5c0fcdc9f01f
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Nov 8 20:07:47 2007 +0300

    disabled valgrind support (it works only on x86)
    
    Dependency on libXt-devel was dropped probably due to autoreconf.

commit 568b92ca3d0c06b0b366f9db672ba385f5e94ea5
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Nov 8 19:47:13 2007 +0300

    spec: buildreq (manually removed gcc-c++ gcc-fortran)

commit 5cbb4a9ea51405dc2701bacf0bd050259c398aa3
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Nov 8 19:04:18 2007 +0300

    spec: pass '--disable-static' flag to configure so that libmono.so.0 is used by default

commit a16383a60ecb9973165f6d3c81e22a2b17066fab
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Nov 8 17:39:38 2007 +0300

    spec: split libmono and monodis packages

commit 9b8413ee0496ae98aa6870275d4e924bb6e4b75a
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Tue Nov 6 22:57:03 2007 +0300

    spec: sync version

commit 1549cd83089d270162384f46561bf89e71f8982f
Author: Alexey Tourbin <at на altlinux.ru>
Date:   Thu Oct 18 02:22:09 2007 +0400

    http://go-mono.com/sources/mono/mono-1.2.5.2.tar.bz2
----------- следующая часть -----------
diff --git a/.gear-rules b/.gear-rules
index a3384cb..4e7c413 100644
--- a/.gear-rules
+++ b/.gear-rules
@@ -1 +1,2 @@
+copy: *.patch
 tar.bz2: mono
diff --git a/mono-1.2.5-alt-dllmap.patch b/mono-1.2.5-alt-dllmap.patch
new file mode 100644
index 0000000..9c2167f
--- /dev/null
+++ b/mono-1.2.5-alt-dllmap.patch
@@ -0,0 +1,20 @@
+--- mono-1.2.5.2/data/config.in-	2007-11-10 01:24:00 +0300
++++ mono-1.2.5.2/data/config.in	2007-11-10 01:25:36 +0300
+@@ -7,14 +7,16 @@
+ 	<dllmap dll="i:odbc32.dll" target="libodbc на libsuffix@" os="!windows"/>
+ 	<dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
+ 	<dllmap dll="oci" target="libclntsh на libsuffix@" os="!windows"/>
+-	<dllmap dll="db2cli" target="libdb2_36 на libsuffix@" os="!windows"/>
+ 	<dllmap dll="MonoPosixHelper" target="libMonoPosixHelper на libsuffix@" os="!windows" />
+ 	<dllmap dll="i:msvcrt" target="@LIBC@" os="!windows"/>
+ 	<dllmap dll="i:msvcrt.dll" target="@LIBC@" os="!windows"/>
+ 	<dllmap dll="sqlite" target="@SQLITE@" os="!windows"/>
+ 	<dllmap dll="sqlite3" target="@SQLITE3@" os="!windows"/>
+ 	<dllmap dll="libX11" target="@X11@" os="!windows" />
++	<dllmap dll="libgdk-x11-2.0.so" target="libgdk-x11-2.0.so.0" os="linux"/>
++	<dllmap dll="libgtk-x11-2.0.so" target="libgtk-x11-2.0.so.0" os="linux"/>
+ 	<dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
++	<dllmap dll="gdiplus.dll" target="libgdiplus.so.0" os="linux"/>
+ 	<dllmap dll="i:kernel32.dll">
+ 		<dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
+ 		<dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
diff --git a/mono-1.2.5-alt-no-valgrind.patch b/mono-1.2.5-alt-no-valgrind.patch
new file mode 100644
index 0000000..c949c90
--- /dev/null
+++ b/mono-1.2.5-alt-no-valgrind.patch
@@ -0,0 +1,14 @@
+--- mono-1.2.5.2/configure.in-	2007-11-08 16:25:22 +0000
++++ mono-1.2.5.2/configure.in	2007-11-08 16:47:44 +0000
+@@ -1837,11 +1837,6 @@ esac
+ 
+ AC_SUBST(libsuffix)
+ 
+-if test "x$TARGET" != "xAMD64"; then
+-   # valgrind headers don't compile under x86-64
+-   AC_CHECK_HEADERS(valgrind/memcheck.h)
+-fi
+-
+ if test "x$TARGET" = "xAMD64" -o "x$TARGET" = "xX86"; then
+ 	if test "x$with_tls" = "x__thread"; then
+ 		#
diff --git a/mono.spec b/mono.spec
index d6f6623..9f0362d 100644
--- a/mono.spec
+++ b/mono.spec
@@ -2,37 +2,40 @@
 # * Implement parts of Mono Debian Policy
 # * split into smaller packages
 # * make *.config files for unsafe assemblies
+# * use system libgc
 # * AOT ?
 
 Name: mono
-Version: 1.2.5.1
+Version: 1.2.5.2
 Release: alt1
 License: LGPL
 Url: http://www.mono-project.com/
-Source0: http://www.go-mono.com/sources/%name/%name-%version.tar.bz2
 Group: Development/Other
 Packager: Mono Maintainers Team <mono на packages.altlinux.org>
 
 Summary: The mono CIL runtime, suitable for running .NET code
 Summary(ru_RU.KOI8-R): Mono - open source ТЕБМЙЪБГЙС РМБФЖПТНЩ .NET
 
-Requires: libxml2,libxslt,libicu,libcairo
+Source: http://www.go-mono.com/sources/%name/%name-%version.tar.bz2
+Patch0: mono-1.2.5-alt-no-valgrind.patch
+Patch1: mono-1.2.5-alt-dllmap.patch
 
 %def_with preview
 
 BuildPreReq: rpm-build-mono
-BuildRequires: gcc-c++ glib2-devel imake libX11-devel libattr-devel libncurses-devel xorg-cf-files zlib-devel
-
-BuildRequires: /proc
-# My own optional buildrequires
-BuildRequires: libicu-devel libgdiplus-devel
-BuildRequires: bison
-BuildRequires: rsync
-BuildRequires: wget
+
+# Automatically added by buildreq on Thu Nov 08 2007
+BuildRequires: glib2-devel imake libX11-devel libattr-devel libncurses-devel xorg-cf-files zlib-devel
+
+Requires: /proc
+BuildPreReq: /proc
+
 Obsoletes: mono-ikvm
 Provides: mono-ikvm = %version-%release
 Provides: mono-core = %version-%release
 
+Requires: libmono = %version-%release
+
 %description
 This package contains the core of the Mono runtime including its
 Virtual Machine, Just-in-time compiler, security tools and libraries
@@ -62,7 +65,6 @@ ZipLib, I18N, Cairo and Mono.* )
 %dir %_monodir/2.0
 %dir %_monodir/gac
 %_libdir/libikvm-native.so
-%_libdir/libmono.so*
 %_libdir/libMonoPosixHelper.so
 %_libdir/libMonoSupportW.so
 %_monodir/*/certmgr.exe*
@@ -118,6 +120,7 @@ ZipLib, I18N, Cairo and Mono.* )
 %_monodir/*/cscompmgd
 %_monodir/*/cscompmgd.dll*
 %_monodir/*/mscorlib.dll*
+%_pkgconfigdir/mono-cairo.pc
 %doc %_man1dir/mono.*
 %doc %_man1dir/mint.*
 %doc %_man1dir/certmgr.*
@@ -130,10 +133,49 @@ ZipLib, I18N, Cairo and Mono.* )
 %doc AUTHORS COPYING.LIB ChangeLog NEWS README
 %exclude %_monodir/*/Mono.Security.Win32*
 
+%package -n libmono
+Summary: libmono.so.0 shared library
+Group: System/Libraries
+Conflicts: %name < %version-%release
+
+%description -n libmono
+This package contains libmono.so.0 shared library.
+
+%files -n libmono
+%_libdir/libmono.so.0*
+
+%package -n libmono-devel
+Summary: Header files for libmono.so.0 shared library
+Group: Development/C
+Requires: libmono = %version-%release
+
+%description -n libmono-devel
+This package contains header files for libmono.so.0 shared library.
+
+%files -n libmono-devel
+%_includedir/mono-1.0
+%_libdir/libmono.so
+%_pkgconfigdir/mono.pc
+
+%package -n monodis
+Summary: CIL image content dumper and disassembler
+Group: Development/Other
+Requires: libmono = %version-%release
+Provides: /usr/bin/monodis
+
+%description -n monodis
+The monodis program is used to dump the contents a CIL image (contained
+in .EXE files that contain extended PE/COFF CIL code).
+
+%files -n monodis
+%_bindir/monodis
+%_man1dir/monodis.1*
+
 %package mcs
 Summary: C# language compiler for Mono
 Group: Development/Other
-Requires: %name-devel = %version-%release
+Requires: %name = %version-%release
+Requires: rpm-build-mono
 Provides: %_bindir/mcs
 Provides: %_bindir/gmcs
 Obsoletes: mcs
@@ -153,7 +195,7 @@ This package contains the C# .NET compiler. This allows you to compile C#
 %package jscript
 Summary: JScript .NET support for Mono
 Group: Development/Other
-Requires: %name-devel = %version-%release
+Requires: %name = %version-%release
 
 %description jscript
 This package contains the JScript .NET compiler and language
@@ -170,7 +212,6 @@ and assemblies.
 Summary: Windows Forms implementation for Mono
 Group: Development/Other
 Requires: %name = %version-%release
-Requires: libgdiplus >= 1.2.3
 Provides: mono-window-forms
 Obsoletes: mono-window-forms
 
@@ -271,7 +312,7 @@ Universal database.
 Summary: Development tools and headers for Mono
 Group: Development/Other
 Requires: %name = %version-%release
-Provides: /usr/bin/monodis
+Requires: monodis = %version-%release
 
 %description devel
 This package includes all Mono library headers and completes the
@@ -297,7 +338,6 @@ other various tools)
 %_bindir/mkbundle
 %_bindir/mkbundle2
 # %%_bindir/monodiet
-%_bindir/monodis
 %_bindir/monograph
 %_bindir/monop
 %_bindir/monop2
@@ -367,14 +407,12 @@ other various tools)
 %_monodir/2.0/xbuild.rsp
 %_monodir/*/monolinker.exe*
 %_monogacdir/Mono.Cecil
-%_includedir/mono-1.0
-%_pkgconfigdir/*.pc
+%_pkgconfigdir/dotnet.pc
 %_datadir/mono-1.0/mono/cil/cil-opcodes.xml
 %doc %_mandir/man*/al.*
 %doc %_mandir/man*/ilasm.*
 %doc %_mandir/man*/genxs.*
 %_mandir/man*/httpcfg.*
-%doc %_mandir/man*/monodis.*
 %doc %_mandir/man*/makecert.*
 %doc %_mandir/man*/monop.*
 %doc %_mandir/man*/cert2spc.*
@@ -393,7 +431,6 @@ other various tools)
 %doc %_man1dir/oldmono*
 %doc %_man1dir/monolinker*
 %doc %_man1dir/resgen*
-%doc libgc-mono 
 
 %package jay
 Summary: Mono's port of Jay to C#
@@ -548,7 +585,6 @@ database.
 Summary: sqlite database connectivity for Mono
 Group: Development/Other
 Requires: %name = %version-%release
-Requires: mono-data
 
 %description data-sqlite
 his package contains the ADO.NET Data provider for the sqlite
@@ -563,6 +599,9 @@ database.
 %package complete
 Summary: This package contains all runtime Mono packages
 Group: Development/Other
+Requires: libmono = %version-%release
+Requires: libmono-devel = %version-%release
+Requires: monodis = %version-%release
 Requires: %name = %version-%release
 Requires: mono-locale-extras = %version-%release
 Requires: mono-data = %version-%release
@@ -589,19 +628,25 @@ tools.
 %files complete
 
 %prep
-%setup  -q -n %name-%version
+%setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
+autoreconf
 %undefine __libtoolize
-%configure %{subst_with preview}
+%configure --disable-static %{subst_with preview}
 %make
 
 %install
 %make_install DESTDIR=%buildroot install
-mv %buildroot%_datadir/libgc-mono .
+rm -rv %buildroot%_datadir/libgc-mono
+
+%post -n libmono -p %post_ldconfig
+%postun -n libmono -p %postun_ldconfig
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post -p %post_ldconfig
+%postun -p %postun_ldconfig
 
 %changelog
 * Tue Oct 09 2007 Alexey Shabalin <shaba на altlinux.ru> 1.2.5.1-alt1
diff --git a/mono/ChangeLog b/mono/ChangeLog
index 6fb8a10..5b1602a 100644
--- a/mono/ChangeLog
+++ b/mono/ChangeLog
@@ -1,3 +1,7 @@
+2007-10-17  Wade Berrier  <wberrier на novell.com>
+
+	* configure.in: version bump -> 1.2.5.2
+
 2007-09-19  Wade Berrier  <wberrier на novell.com>
 
 	* configure.in: version bump -> 1.2.5.1
diff --git a/mono/configure b/mono/configure
index ba5e1be..3759ea8 100755
--- a/mono/configure
+++ b/mono/configure
@@ -2507,7 +2507,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=mono
- VERSION=1.2.5.1
+ VERSION=1.2.5.2
 
 
 cat >>confdefs.h <<_ACEOF
diff --git a/mono/configure.in b/mono/configure.in
index 037a5df..1abf85c 100644
--- a/mono/configure.in
+++ b/mono/configure.in
@@ -6,7 +6,7 @@ AC_CANONICAL_SYSTEM
 m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(mono,1.2.5.1)
+AM_INIT_AUTOMAKE(mono,1.2.5.2)
 AM_MAINTAINER_MODE
 
 API_VER=1.0
diff --git a/mono/mcs/build/common/Consts.cs b/mono/mcs/build/common/Consts.cs
index 4eb525f..9b0a0d3 100644
--- a/mono/mcs/build/common/Consts.cs
+++ b/mono/mcs/build/common/Consts.cs
@@ -46,7 +46,7 @@ internal
 	// Use these assembly version constants to make code more maintainable.
 	//
 
-	public const string MonoVersion = "1.2.5.1";
+	public const string MonoVersion = "1.2.5.2";
 
 #if NET_2_1
 	// Versions of .NET Framework 2.1 (SilverLight)
diff --git a/mono/mcs/class/System.Web/System.Web/ChangeLog b/mono/mcs/class/System.Web/System.Web/ChangeLog
index fc0abe3..24df9bf 100644
--- a/mono/mcs/class/System.Web/System.Web/ChangeLog
+++ b/mono/mcs/class/System.Web/System.Web/ChangeLog
@@ -1,3 +1,17 @@
+2007-10-17  Marek Habersack  <mhabersack на novell.com>
+
+	* StaticFileHandler.cs: fixed an bug with Mono running under
+	Windows operating systems which caused XSP to return source of the
+	requested page if the file name used in the request ended in any
+	number of spaces or dots. The problem lies in the way the Win32
+	subsystem treats such file names - it ignores the trailing
+	characters and allows the calling application to open a file on
+	disk even when its name does not contain the trailing characters
+	used in the open request. Such file names may be supported by the
+	underlying filesystem (e.g. NTFS) but they are not supported by
+	the I/O Win32 subsystem. The security issue is reported in
+	CVE security report CVE-2007-5473. Fixes bug #332401
+	
 2007-07-22  Vladimir Krasnov  <vladimirk на mainsoft.com>
 
 	* HttpServerUtility.cs: fixed Execute, SetCurrentExePath should be 
diff --git a/mono/mcs/class/System.Web/System.Web/StaticFileHandler.cs b/mono/mcs/class/System.Web/System.Web/StaticFileHandler.cs
index 2d90e43..224fab5 100644
--- a/mono/mcs/class/System.Web/System.Web/StaticFileHandler.cs
+++ b/mono/mcs/class/System.Web/System.Web/StaticFileHandler.cs
@@ -31,18 +31,38 @@
 using System;
 using System.Globalization;
 using System.IO;
+using System.Web.Util;
 
 namespace System.Web
 {
 	class StaticFileHandler : IHttpHandler
 	{
+		static bool runningWindows = RunningOnWindows ();
+
+		static bool RunningOnWindows ()
+		{
+			int pid = (int)Environment.OSVersion.Platform;
+			return (pid != 4 && pid != 128);
+		}
+
+		static bool ValidFileName (string fileName)
+		{
+			if (!runningWindows)
+				return true;
+
+			if (fileName == null || fileName.Length == 0)
+				return false;
+
+			return (!StrUtils.EndsWith (fileName, " ") && !StrUtils.EndsWith (fileName, "."));
+		}
+		
 		public void ProcessRequest (HttpContext context)
 		{
 			HttpRequest request = context.Request;
 			HttpResponse response = context.Response;
 			string fileName = request.PhysicalPath;
 			FileInfo fi = new FileInfo (fileName);
-			if (!fi.Exists)
+			if (!fi.Exists || !ValidFileName (fileName))
 				throw new HttpException (404, "File '" + request.FilePath + "' not found.");
 
 			if ((fi.Attributes & FileAttributes.Directory) != 0) {
diff --git a/mono/mcs/class/lib/monolite/System.Xml.dll b/mono/mcs/class/lib/monolite/System.Xml.dll
index a3f3e31..c263576 100755
Binary files a/mono/mcs/class/lib/monolite/System.Xml.dll and b/mono/mcs/class/lib/monolite/System.Xml.dll differ
diff --git a/mono/mcs/class/lib/monolite/System.dll b/mono/mcs/class/lib/monolite/System.dll
index 4a0ab00..38ba558 100755
Binary files a/mono/mcs/class/lib/monolite/System.dll and b/mono/mcs/class/lib/monolite/System.dll differ
diff --git a/mono/mcs/class/lib/monolite/mcs.exe b/mono/mcs/class/lib/monolite/mcs.exe
index c52b52a..d674f47 100755
Binary files a/mono/mcs/class/lib/monolite/mcs.exe and b/mono/mcs/class/lib/monolite/mcs.exe differ
diff --git a/mono/mcs/class/lib/monolite/mscorlib.dll b/mono/mcs/class/lib/monolite/mscorlib.dll
index dc28760..55bca27 100755
Binary files a/mono/mcs/class/lib/monolite/mscorlib.dll and b/mono/mcs/class/lib/monolite/mscorlib.dll differ
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071110/c4c2721c/attachment-0002.bin>


Подробная информация о списке рассылки Devel