[mono] Update ignored assemblies list to include System.Reflection.DispatchProxy
authorMarek Safar <marek.safar@gmail.com>
Mon, 30 Jan 2017 15:59:37 +0000 (16:59 +0100)
committerMarek Safar <marek.safar@gmail.com>
Mon, 30 Jan 2017 16:47:29 +0000 (17:47 +0100)
mono/metadata/image.c
tools/nuget-hash-extractor/download.sh
tools/nuget-hash-extractor/nuget-hash-extractor.cs

index 84204ec073ba277e07f8d97f470945f943786297..86ae4a2a00c68fdc5305a70409a5b92ff1d6dc40 100644 (file)
@@ -1097,6 +1097,7 @@ typedef enum {
        SYS_IO_COMPRESSION = 2, //System.IO.Compression
        SYS_NET_HTTP = 3, //System.Net.Http
        SYS_TEXT_ENC_CODEPAGES = 4, //System.Text.Encoding.CodePages
+       SYS_REF_DISP_PROXY = 5, //System.Reflection.DispatchProxy
 } IgnoredAssemblyNames;
 
 typedef struct {
@@ -1110,7 +1111,8 @@ const char *ignored_assemblies_names[] = {
        "System.Globalization.Extensions.dll",
        "System.IO.Compression.dll",
        "System.Net.Http.dll",
-       "System.Text.Encoding.CodePages.dll"
+       "System.Text.Encoding.CodePages.dll",
+       "System.Reflection.DispatchProxy.dll",
 };
 
 #define IGNORED_ASSEMBLY(HASH, NAME, GUID, VER_STR)    { .hash = HASH, .assembly_name = NAME, .guid = GUID }
@@ -1119,13 +1121,14 @@ static const IgnoredAssembly ignored_assemblies [] = {
        IGNORED_ASSEMBLY (0x1136045D, SYS_GLOBALIZATION_EXT, "475DBF02-9F68-44F1-8FB5-C9F69F1BD2B1", "4.0.0 net46"),
        IGNORED_ASSEMBLY (0x358C9723, SYS_GLOBALIZATION_EXT, "5FCD54F0-4B97-4259-875D-30E481F02EA2", "4.0.1 net46"),
        IGNORED_ASSEMBLY (0x450A096A, SYS_GLOBALIZATION_EXT, "E9FCFF5B-4DE1-4BDC-9CE8-08C640FC78CC", "4.3.0 net46"),
-       IGNORED_ASSEMBLY (0x7A39EA2D, SYS_IO_COMPRESSION, "C665DC9B-D9E5-4D00-98ED-E4F812F23545", "4.0.0 netcore50"),
        IGNORED_ASSEMBLY (0x1CBD59A2, SYS_IO_COMPRESSION, "44FCA06C-A510-4B3E-BDBF-D08D697EF65A", "4.1.0 net46"),
        IGNORED_ASSEMBLY (0x5E393C29, SYS_IO_COMPRESSION, "3A58A219-266B-47C3-8BE8-4E4F394147AB", "4.3.0 net46"),
-       IGNORED_ASSEMBLY (0x726C7CC1, SYS_NET_HTTP, "7C0B577F-A4FD-47F1-ADF5-EE65B5A04BB5", "4.0.0 netcore50"),
        IGNORED_ASSEMBLY (0x27726A90, SYS_NET_HTTP, "269B562C-CC15-4736-B1B1-68D4A43CAA98", "4.1.0 net46"),
        IGNORED_ASSEMBLY (0x10CADA75, SYS_NET_HTTP, "EA2EC6DC-51DD-479C-BFC2-E713FB9E7E47", "4.1.1 net46"),
        IGNORED_ASSEMBLY (0x8437178B, SYS_NET_HTTP, "C0E04D9C-70CF-48A6-A179-FBFD8CE69FD0", "4.3.0 net46"),
+       IGNORED_ASSEMBLY (0x4A15555E, SYS_REF_DISP_PROXY, "E40AFEB4-CABE-4124-8412-B46AB79C92FD", "4.0.0 net46"),
+       IGNORED_ASSEMBLY (0xD20D9783, SYS_REF_DISP_PROXY, "2A69F0AD-B86B-40F2-8E4C-5B671E47479F", "4.0.1 netstandard1.3"),
+       IGNORED_ASSEMBLY (0xA33A7E68, SYS_REF_DISP_PROXY, "D4E8D2DB-BD65-4168-99EA-D2C1BDEBF9CC", "4.3.0 netstandard1.3"),
        IGNORED_ASSEMBLY (0x46A4A1C5, SYS_RT_INTEROP_RUNTIME_INFO, "F13660F8-9D0D-419F-BA4E-315693DD26EA", "4.0.0 net45"),
        IGNORED_ASSEMBLY (0xD07383BB, SYS_RT_INTEROP_RUNTIME_INFO, "DD91439F-3167-478E-BD2C-BF9C036A1395", "4.3.0 net45"),
        IGNORED_ASSEMBLY (0x911D9EC3, SYS_TEXT_ENC_CODEPAGES, "C142254F-DEB5-46A7-AE43-6F10320D1D1F", "4.0.1 net46"),
index 978ce8980bda28dfc949bf7e828fd2f660423629..7ebd03996bd06a1b7b104e6391cadaad96274028 100755 (executable)
@@ -25,3 +25,9 @@ wget https://www.nuget.org/api/v2/package/System.Text.Encoding.CodePages/4.3.0 -
 wget https://www.nuget.org/api/v2/package/System.Text.Encoding.CodePages/4.0.1 -O nugets/system.text.encoding.codepages.4.0.1.nupkg
 wget https://www.nuget.org/api/v2/package/System.Text.Encoding.CodePages/4.0.0 -O nugets/system.text.encoding.codepages.4.0.0.nupkg
 
+#System.Reflection.DispatchProxy
+wget https://www.nuget.org/api/v2/package/System.Reflection.DispatchProxy/4.3.0 -O nugets/system.reflection.dispatchproxy.4.3.0.nupkg
+wget https://www.nuget.org/api/v2/package/System.Reflection.DispatchProxy/4.0.1 -O nugets/system.reflection.dispatchproxy.4.0.1.nupkg
+wget https://www.nuget.org/api/v2/package/System.Reflection.DispatchProxy/4.0.0 -O nugets/system.reflection.dispatchproxy.4.0.0.nupkg
+
+#System.Security.Cryptography.OpenSsl when .net 4.6.2 + 1 is out
\ No newline at end of file
index 310abd2714a90ac23d50c3df53bbcc4ecdb36420..b1fd6cf401de330583fd0de919574e9beccba118 100644 (file)
@@ -21,7 +21,15 @@ class Driver {
                var l = XElement.Load (new StreamReader (nuspec.Open ()));
                var version = (from el in l.Descendants() where el.Name.LocalName == "version" select el.Value).FirstOrDefault ();
 
-               foreach (var et in from e in zip.Entries where (e.FullName.StartsWith ("lib/net4") || e.FullName.StartsWith ("lib/netcore")) && e.Name.EndsWith (".dll") select e) {
+               //
+               // Logic copied from https://github.com/NuGet/NuGet.Client/blob/4cccb13833ad29d6a0bcff055460d964f1b49cfe/src/NuGet.Core/NuGet.Frameworks/DefaultFrameworkMappings.cs#L385
+               //
+               var entries = from e in zip.Entries where e.FullName.StartsWith ("lib/net4") && e.Name.EndsWith (".dll") select e;
+               if (!entries.Any ()) {
+                       entries = from e in zip.Entries where e.FullName.StartsWith ("lib/netstandard1") && e.Name.EndsWith (".dll") select e;
+               }
+
+               foreach (var et in entries) {
                        LoadAndDump (et, version);
                }
        }
@@ -63,6 +71,7 @@ class DoParse : MarshalByRefObject {
                case "System.IO.Compression.dll": return "SYS_IO_COMPRESSION";
                case "System.Net.Http.dll": return "SYS_NET_HTTP";
                case "System.Text.Encoding.CodePages.dll": return "SYS_TEXT_ENC_CODEPAGES";
+               case "System.Reflection.DispatchProxy.dll": return "SYS_REF_DISP_PROXY";
                default: throw new Exception ($"No idea what to do with {name}");
                }
        }