Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-02Refactor code to reduce duplication and number of parenthesis.HEADmainRolf Bjarne Kvinge
2020-10-02Extract common expresion into a variable to simplify code and reduce the ↵Rolf Bjarne Kvinge
number of parenthesis.
2020-10-02Rearrange parenthesis to fix an IndexOutOfRangeException that occured ↵Rolf Bjarne Kvinge
because the 'start > 0' condition didn't cover the entire expression.
2020-10-01Fix skipping null entries in the custom attribute table. Fixes #19.Rolf Bjarne Kvinge
The custom attribute table is sorted, but it may contain null entries, which should be skipped. Teach the BinarySearch algorithm to skip those null entries.
2020-07-15Merge pull request #18 from mono/unmanaged-cconvZoltan Varga
Add support for the unmanaged (0x9) calling convention from .net core.
2020-07-15Add support for the unmanaged (0x9) calling convention from .net core.Zoltan Varga
2020-03-28Merge pull request #16 from vargaz/fix-type-initZoltan Varga
Pass DeclaredOnly to GetConstructorImpl (). This fixes crashes when running ikdasm on modules which have global types/methods.
2020-03-28Pass DeclaredOnly to GetConstructorImpl (). This fixes crashes when running ↵Zoltan Varga
ikdasm on modules which have global types/methods.
2019-10-03[reflect] fix more usage of SHA1Managed for FIPS (#14)Jonathan Peppers
In e9946684, I fixed the usage of `SHA1Managed` that I found from a stack trace while running `mkbundle.exe` on Windows. I found 3 more usages that needed to be fixed.
2019-10-03[reflect] use SHA1.Create() to support FIPS (#13)Jonathan Peppers
Context: https://github.com/xamarin/xamarin-android/pull/3728#issuecomment-537762227 On Windows 10 machines with the [Use FIPS compliant algorithms][0] group policy enabled, `mkbundle` fails with: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\Android\mkbundle.exe --dos2unix=false --nomain --i18n none --bundled-header --mono-api-struct-path "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\Android\\mkbundle-api.h" --style linux -c -o obj\Release\bundles\x86_64\temp.c -oo obj\Release\bundles\x86_64\assemblies.o -z obj\Release\android\assets\UnnamedProject.dll obj\Release\android\assets\shrunk\Java.Interop.dll obj\Release\android\assets\shrunk\Mono.Android.dll obj\Release\android\assets\shrunk\mscorlib.dll obj\Release\android\assets\shrunk\System.Core.dll obj\Release\android\assets\shrunk\System.dll obj\Release\android\assets\shrunk\System.Runtime.Serialization.dll (TaskId:215) Unhandled Exception: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. (TaskId:215) at System.Security.Cryptography.SHA1Managed..ctor() (TaskId:215) at IKVM.Reflection.AssemblyName.ComputePublicKeyToken(Byte[] publicKey) (TaskId:215) at IKVM.Reflection.AssemblyName.get_FullName() (TaskId:215) at IKVM.Reflection.Universe.LoadAssembly(RawModule module) (TaskId:215) at IKVM.Reflection.Universe.LoadFile(String path) (TaskId:215) at MakeBundle.LoadAssemblyFile(String assembly) (TaskId:215) at MakeBundle.LoadAssemblies(List`1 sources) (TaskId:215) at MakeBundle.Main(String[] args) (TaskId:215) On a FIPS-enabled machine, these code examples: var sha1 = new SHA1Managed(); Will throw: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. But these three options work: var sha1 = SHA1.Create(); var sha1 = new SHA1CryptoServiceProvider(); var sha1 = new SHA1Cng(); We should use `SHA1.Create()` which will use the appropriate implementation if FIPS is enabled or not. Since the `PublicKeyToken` of a .NET assembly is a SHA1 value, there is not really another option--we have to make this change for `mkbundle.exe` to work. [0]: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing
2019-08-29Allow cattrs on generic param constraints, recent roslyn versions seems to ↵Zoltan Varga
generate them.
2017-08-18Revert "Make MethodBase.ParameterCount public as we need to use it in ↵Joao Matos
Embeddinator." This reverts commit c1d0dec3cfcf092f9b67a9e58d71acb39833dfb4.
2017-08-18Make MethodBase.ParameterCount public as we need to use it in Embeddinator.Joao Matos
2017-05-23TypeBuilder layout is not set when pack and size are not setMarek Safar
2017-03-22Make assembly default resolver public so we can fallback to it when using ↵Joao Matos
custom resolvers.
2017-02-22Handle types without a name (invalid, but created by some obfuscator).Marek Safar
2016-10-12Update list of known FX assembliesMarek Safar
2016-10-06Merge pull request #11 from knocte/fix-build-with-mono4.2.1Marek Safar
Fix MSBuild build with xbuild 12.0 engine (mono 4.2.1)
2016-10-06Fix MSBuild build with xbuild 12.0 engine (mono 4.2.1)Andres G. Aragoneses
If anyone tried to build IKVM.Reflection with the xbuild 12.0 engine that comes with mono 4.2.1 [1] (quite widespread given that it's the version bundled with Ubuntu 16.04.x LTS), the build would not work. This change similar to this recent commit in MonoAddins: https://github.com/mono/mono-addins/commit/a3efa4ca9f56fab3aae32060b3b56d3585505966 [1] $ mono --version Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen
2016-06-09Fixes FX assemblies unification with different build and revision versions.Marek Safar
This happens for PCL assemblies like System.Runtime which already exists in versions 4.0.0.0, 4.0.10.0, 4.0.20.0
2016-06-01Fixes a warningMarek Safar
2016-06-01Add mcs required DisableDefaultAssembliesLookup optionMarek Safar
2016-04-06Add preliminary support for reading portable pdb files.Zoltan Varga
2016-02-27Remove the parts of IKVM that we do not useMiguel de Icaza
2015-08-27Use uint for file position to support >2GB files. Note that PE spec says ↵jfrijters
that 2GB is the maximum valid size.
2015-08-27Don't report IPv4 addresses on interfaces that aren't up. This matches JDK ↵jfrijters
behavior.
2015-08-27Use "wlan" prefix for wireless network interface names.jfrijters
2015-08-26Implemented atomic file move (on Windows).jfrijters
2015-08-26Fix for #303. Don't crash when trying to get interfaces from type from ↵jfrijters
missing assembly reference.
2015-07-07Skip custom modifiers in MethodSpec.jfrijters
2015-07-02Improved -removeassertions ikvmc optimization to remove more code (esp. ↵jfrijters
allow otherwise empty <clinit> methods to be optimized away).
2015-06-30Unforked sun/awt/SunToolkit.java.jfrijters
2015-06-30Improved IsSideEffectFreeStaticInitializerOrNoop() to handle needless ↵jfrijters
zero/null initialization of static fields. Removed bogus handling of incorrect return statements.
2015-06-30Reduced the number of differences between upstream and our version of ↵jfrijters
java/lang/System.java.
2015-06-29Cleaned up static initializer optimization to use ↵jfrijters
FieldWrapper.IsSerialVersionUID.
2015-06-29Added FieldWrapper.IsSerialVersionUID property to properly (and ↵jfrijters
consistently) detect serialVersionUID fields.
2015-06-29Emit warning if property getter/setter is missing.jfrijters
2015-06-29Use new "native" method field binding support to avoid reflection.jfrijters
2015-06-29Added MethodWrapper.IsClassInitializer and use it and IsConstructor instead ↵jfrijters
of name comparisons.
2015-06-29RNGCryptoServiceProvider should be disposed on .NET 4.jfrijters
2015-06-29Minor clean up of UAC detection.jfrijters
2015-06-26Use (cheaper) InterlockedCompareAndSet "native" method instead of ↵jfrijters
AtomicReferenceFieldUpdater.
2015-06-26Unforked java/net/SocketInputStream.java and java/net/SocketOutputStream.java.jfrijters
2015-06-26Unforked java/io/FileInputStream.java, java/io/FileOutputStream.java and ↵jfrijters
java/io/RandomAccessFile.java.
2015-06-26Added support for automatically passing in fields to "native" methods.jfrijters
2015-06-26Moved unused field removal optimization to a later stage in the compilation. ↵jfrijters
Also made the check more strict to only remove final fields and not remove fields that have annotations.
2015-06-25Extract Windows version from kernel32.dll to avoid version lie.jfrijters
2015-06-25Moved ClassSerializationProxy into its own source file.jfrijters
2015-06-25No need to explicitly capture thread reference in Cleanup object, as it's an ↵jfrijters
inner class.
2015-06-25Updated reference to OpenJDK 8u45.jfrijters