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 @@
+
+
+
+-
+
+
+
+
+
+
++
++
+
++
+
+
+
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
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 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
+
+ * configure.in: version bump -> 1.2.5.2
+
2007-09-19 Wade Berrier
* 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
+
+ * 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
* 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