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