Zoltan Varga [Sun, 17 Oct 2010 15:33:40 +0000 (17:33 +0200)]
Enable a more specialized version of the MONO_INST_FAULT removal optimization which is safe in the face of llvm optimizations. Flush stdout before dumping llvm methods since LLVM's outs () seems to use a different fd/stream.
Zoltan Varga [Sun, 17 Oct 2010 12:35:28 +0000 (14:35 +0200)]
Implement passing of this as the first argument for ia64 correctly.
Andreia Gaita [Fri, 15 Oct 2010 17:57:36 +0000 (18:57 +0100)]
[Json] Add support for calling external json (de)serialization methods
On Moonlight, ScriptObject types have custom (de)serialization methods that
need to be called whenever a user object includes properties of that type.
This patch creates a TypeMap subclass (ExternalTypeMap) and exposes a method
that can be called from moon's System.Windows.Browser to register custom
serialization and deserialization methods, keyed by type. These are called
whenever a property is found with a type (or base type) that has custom
methods registered.
Andreia Gaita [Fri, 15 Oct 2010 17:54:20 +0000 (18:54 +0100)]
[Json] Fix decimal type serialization
Zoltan Varga [Sat, 16 Oct 2010 18:53:16 +0000 (20:53 +0200)]
Really fix the ia64 build.
Atsushi Eno [Sat, 16 Oct 2010 10:33:26 +0000 (19:33 +0900)]
enable one more test.
Atsushi Eno [Sat, 16 Oct 2010 10:28:28 +0000 (19:28 +0900)]
For empty collection, do not put meaningless Items member and GetObject.
Atsushi Eno [Sat, 16 Oct 2010 10:06:48 +0000 (19:06 +0900)]
Write null value as NullExtension regardless of its member type.
Zoltan Varga [Fri, 15 Oct 2010 22:59:57 +0000 (00:59 +0200)]
Fix a warning.
Zoltan Varga [Fri, 15 Oct 2010 20:22:02 +0000 (22:22 +0200)]
Fix a regression introduced by the assembly name parsing changes.
Zoltan Varga [Fri, 15 Oct 2010 19:27:44 +0000 (21:27 +0200)]
Enable MONO_ARCH_HAVE_TLS_GET on arm platforms that support it.
Marek Safar [Fri, 15 Oct 2010 18:17:42 +0000 (19:17 +0100)]
[646997] Correctly emit platform ILOnly flag
Marek Safar [Fri, 15 Oct 2010 17:14:09 +0000 (18:14 +0100)]
Extension method argument cannot exercise numeric conversion
Marek Safar [Fri, 15 Oct 2010 16:27:59 +0000 (17:27 +0100)]
Add more dynamic conversion restrictions
Zoltan Varga [Fri, 15 Oct 2010 16:21:40 +0000 (18:21 +0200)]
Add support for assembly names with embedded and starting spaces.
Zoltan Varga [Fri, 15 Oct 2010 16:21:07 +0000 (18:21 +0200)]
Add support for assembly names with embedded and starting spaces.
Marek Safar [Fri, 15 Oct 2010 14:19:39 +0000 (15:19 +0100)]
Don't be too verbose when building response files
Marek Safar [Fri, 15 Oct 2010 14:07:08 +0000 (15:07 +0100)]
Clean up few more warnings
Marek Safar [Fri, 15 Oct 2010 11:37:05 +0000 (12:37 +0100)]
Warnings cleanup
Ankit Jain [Fri, 15 Oct 2010 13:19:13 +0000 (18:49 +0530)]
[xbuild] Fix bug #646941. Add explicit System.Core for >=3.5 projects.
For projects targeting TargetFrameworkVersion >= 3.5, automatically
add a reference to System.Core . This can be controlled via two
properties:
$(AddAdditionalExplicitAssemblyReferences) and
$(AdditionalExplicitAssemblyReferences) .
This is used only for projects built with ToolsVersion=4.0 .
Ankit Jain [Fri, 15 Oct 2010 13:18:20 +0000 (18:48 +0530)]
[xbuild] Set default TargetFrameworkVersion=4.0 for ToolsVersion=4.0
Frank Wilhelm [Fri, 15 Oct 2010 10:41:33 +0000 (19:41 +0900)]
Make Validate() less restrictive for contracts with explicit UriTemplate.
Marek Safar [Fri, 15 Oct 2010 10:16:38 +0000 (11:16 +0100)]
More tweaks to dynamic overload resolution
Marek Safar [Thu, 14 Oct 2010 14:07:55 +0000 (15:07 +0100)]
A conditional expression with either dynamic side is always of dynamic type
Marek Safar [Thu, 14 Oct 2010 11:16:59 +0000 (12:16 +0100)]
Don't define same parameter more than once.
Zoltan Varga [Fri, 15 Oct 2010 09:22:25 +0000 (11:22 +0200)]
Fix LLVM backend build with latest LLVM SVN.
Zoltan Varga [Fri, 15 Oct 2010 09:20:54 +0000 (11:20 +0200)]
Fix warnings by defining GNU_SOURCE in eglib's configure.
Atsushi Eno [Fri, 15 Oct 2010 09:05:44 +0000 (18:05 +0900)]
Remove wrong stack push of members.
Atsushi Eno [Fri, 15 Oct 2010 08:50:00 +0000 (17:50 +0900)]
Differentiate Instance property and internal object stack to retrieve properties.
Zoltan Varga [Fri, 15 Oct 2010 08:27:02 +0000 (10:27 +0200)]
Fix ia64 build.
Atsushi Eno [Fri, 15 Oct 2010 07:31:00 +0000 (16:31 +0900)]
Support ArrayExtension Items and GetObject node in XamlObjectReader.
Zoltan Varga [Thu, 14 Oct 2010 22:01:29 +0000 (00:01 +0200)]
Rename find_jit_info_no_ext to simply find_jit_info ().
Zoltan Varga [Thu, 14 Oct 2010 21:44:39 +0000 (23:44 +0200)]
Get rid of the old mono_arch_find_jit_info functions + defines as all platforms support the new API now.
Zoltan Varga [Thu, 14 Oct 2010 21:13:21 +0000 (23:13 +0200)]
Transition s390/mips/ia64 to use mono_arch_find_jit_info_ext.
Rodrigo Kumpera [Thu, 14 Oct 2010 21:24:01 +0000 (18:24 -0300)]
Add tests for protected finally blocks.
Rodrigo Kumpera [Thu, 14 Oct 2010 18:20:32 +0000 (15:20 -0300)]
Implement handle guard support for amd64.
* mini-amd64.c (mono_arch_install_handler_block_guard):
Implement this is the same fashion as of x86.
* tramp-amd64.c (mono_arch_create_handler_block_trampoline):
Same as x86 just taking call conv into account.
* mini-amd64.h: Enable guard support.
Gonzalo Paniagua Javier [Thu, 14 Oct 2010 20:48:02 +0000 (16:48 -0400)]
[ThreadPool] Clear the thread state
Clear the thread state after finishing a work item. We were only
resetting the background state.
Zoltan Varga [Thu, 14 Oct 2010 20:38:12 +0000 (22:38 +0200)]
Transition sparc to use mono_arch_find_jit_info_ext.
Zoltan Varga [Thu, 14 Oct 2010 20:19:08 +0000 (22:19 +0200)]
Fix crashes in the AOT compiler when the loaded LLVM module is used. Fixes #646314.
Zoltan Varga [Thu, 14 Oct 2010 20:03:40 +0000 (22:03 +0200)]
Add -g to eglib cflags.
Geoff Norton [Thu, 14 Oct 2010 20:00:28 +0000 (16:00 -0400)]
Fix windows build
Zoltan Varga [Thu, 14 Oct 2010 19:48:23 +0000 (21:48 +0200)]
Update the IMT thunk creation code on sparc to support net 4.0.
Zoltan Varga [Thu, 14 Oct 2010 19:47:48 +0000 (21:47 +0200)]
Avoid a crash in g_convert () if iconv_open () fails.
Atsushi Eno [Thu, 14 Oct 2010 18:51:28 +0000 (03:51 +0900)]
fixity fix.
Atsushi Eno [Thu, 14 Oct 2010 18:36:40 +0000 (03:36 +0900)]
Fix 2.1 build.
Atsushi Eno [Thu, 14 Oct 2010 17:48:24 +0000 (02:48 +0900)]
Enable SecurityBindingElement.CanBuildChannelListener implementation again with fix.
Geoff Norton [Thu, 14 Oct 2010 16:53:01 +0000 (12:53 -0400)]
[android] pthread_kill cannot be used safely on android
Android's fork() function does not properly update the
pthread_internal_t->threadid variable to point to the tid of the
fork()'d thread, and instead still points to the pid of zygote.
As a result we need to track the android tid's manually since
gettid() is sane, and use an alternate to pthread_kill on android
Additionally, disable sgen support on android until the same
work has been done there
r: kumpera, vargaz
Rodrigo Kumpera [Thu, 14 Oct 2010 16:39:04 +0000 (13:39 -0300)]
Make GTD an open type too.
* class.c (mono_class_is_open_constructed_type): Treat
generic type definition as an open type too. All code that
checks is_open does to make sure the generic instance is
realizable.
Rodrigo Kumpera [Thu, 14 Oct 2010 16:26:14 +0000 (13:26 -0300)]
Fix memory corruption in the cache cast wrappers.
* marshal.c (mono_marshal_get_castclass_with_cache):
Use the right parameter for the cache.
* marshal.c (mono_marshal_get_isinst_with_cache): Use
the right parameter for the cache. In the negative case
store the obj_vtable and not the cache address.
Atsushi Eno [Thu, 14 Oct 2010 16:03:18 +0000 (01:03 +0900)]
The previous changes somehow regressed on olive samples, so give quick fixes.
Atsushi Eno [Thu, 14 Oct 2010 15:41:39 +0000 (00:41 +0900)]
Implement NetTcpBinding.CanBuildChannelFactory/Listener and several related stuff.
SecurityTokenParameters.InitializeSecurityTokenRequirement() needs to become
protected internal, so changed all overrides as well.
Some implementation in WindowsStreamSecurityBindingElement is needed only for
NetTcpBinding implementation.
Had to disable a test in SymmetricSecurityBindingElement that depended on
OneWay support (which is not yet done).
Jb Evain [Thu, 14 Oct 2010 12:00:41 +0000 (14:00 +0200)]
Add pretty print support for null values in JsonObjects
Jb Evain [Thu, 14 Oct 2010 11:58:03 +0000 (13:58 +0200)]
Allow null values in JsonObjects
Atsushi Eno [Thu, 14 Oct 2010 10:40:48 +0000 (19:40 +0900)]
Fill NetTcpBinding security implementation a bit.
Marek Safar [Thu, 14 Oct 2010 09:51:17 +0000 (10:51 +0100)]
More conversion tweaks for dynamic in using statement
Marek Safar [Thu, 14 Oct 2010 09:49:01 +0000 (10:49 +0100)]
[646298] Compile multiple interface event declarators
Marek Safar [Wed, 13 Oct 2010 17:00:49 +0000 (18:00 +0100)]
Use 2 phase dynamic load only for compound operations
Ankit Jain [Thu, 14 Oct 2010 09:15:15 +0000 (14:45 +0530)]
[xbuild] Add ResolveAssemblyReferencesDependsOn .
Add GetFrameworkPaths and PrepareForBuild as dependencies for
the ResolveAssemblyReferences target. This is required when it is
invoked directly from MD.
Patch from Michael Hutchinson (mhutchinson@novell.com).
Atsushi Eno [Thu, 14 Oct 2010 08:47:29 +0000 (17:47 +0900)]
Add SecurityDuplexSessionChannel, and making room for duplex channel, phase 2.
Atsushi Eno [Thu, 14 Oct 2010 07:31:41 +0000 (16:31 +0900)]
Eliminate IReplyChannel dependency in security support and make room for (TCP) duplex channel.
Gonzalo Paniagua Javier [Wed, 13 Oct 2010 21:16:44 +0000 (17:16 -0400)]
Misc. fixes
-Fix validation of display name and email.
-Cache user, host and ToString() values.
-Fix Equals and GetHashCode.
Fixes bug 645871.
Rodrigo Kumpera [Wed, 13 Oct 2010 19:50:14 +0000 (16:50 -0300)]
Open instantiation can have a GTD as parameter.
* verify.c (is_valid_generic_instantiation): If the
generic instantiation is open, GTDs can appear in
mutual types.
Rodrigo Kumpera [Wed, 13 Oct 2010 18:53:38 +0000 (15:53 -0300)]
Generic instances can end up extending a GTD.
* verify.c (mono_verifier_verify_class): The generic instance
over its parent generic arguments will end up extending a GTD.
The check against not extending a GTD is only valid for not
generic instance types.
Sebastien Pouliot [Wed, 13 Oct 2010 16:58:57 +0000 (12:58 -0400)]
Remove outdated MonoTODO
* SocketAsyncEventArgs.cs: Remove TODO on SocketClientAccessPolicy
Protocol property
Marek Safar [Wed, 13 Oct 2010 14:56:20 +0000 (15:56 +0100)]
New test
Marek Safar [Wed, 13 Oct 2010 14:54:09 +0000 (15:54 +0100)]
HasDynamicElement became available use it when building dynamic custom attributes
Marek Safar [Wed, 13 Oct 2010 14:02:38 +0000 (15:02 +0100)]
[645992] When importing dynamic type arguments dynamic custom attribute flag has to be checked
Marek Safar [Wed, 13 Oct 2010 08:07:08 +0000 (09:07 +0100)]
Dynamic type is never better than other types in overload resolution
Jb Evain [Wed, 13 Oct 2010 14:28:01 +0000 (16:28 +0200)]
Add support for hoisted variables in the ET interpreter
This fixes #645765.
Rolf Bjarne Kvinge [Tue, 12 Oct 2010 15:00:30 +0000 (17:00 +0200)]
The System.Net.Sockets.Socket type lives in both System.dll and System.Net.dll for moonlight
Ankit Jain [Tue, 12 Oct 2010 23:24:00 +0000 (04:54 +0530)]
[xbuild] Reset cache of built targets, on a new project build.
All targets that get built are tracked by the engine, to avoid
unnecessary builds of targets. This should be reset on engine.Build,
unless it is explicitly requested *not to* reset it, via BuildFlags.
Ankit Jain [Tue, 12 Oct 2010 23:21:04 +0000 (04:51 +0530)]
[xbuild] Reset ConsoleLogger when a build finishes.
MSBuild hosts like monodevelop, which use the same logger
for multiple builds, get errors/warnings from older builds.
So, reset them whenever the BuildFinished event is raised.
ILogger.Shutdown () is invoked when the host is about to quit,
according to msdn, so can't use that.
Jonathan Pryor [Tue, 12 Oct 2010 21:43:45 +0000 (17:43 -0400)]
Add preliminary HTTPS handling support for Android.
The problem is that Android only exposes Java APIs for ~everything of
consequence, including/especially X509 Certificate validation. Since
we want Mono-based HTTPS support to use the underlying platform
certificates, this requires some amount of Java-using glue. However,
we don't want to pull in a ton of Java glue into System.dll (bleh!),
so we'll instead place the glue into Mono.Android.dll's
Android.Runtime.AndroidEnvironment.TrustEvaluateSsl(), and instead
create a delegate which will invoke TrustEvaluateSsl() when needed.
Gonzalo Paniagua Javier [Tue, 12 Oct 2010 21:28:34 +0000 (17:28 -0400)]
Handle special case when disposing a socket.
When disposing a socket that has more than one asynchronous read/write
pending, one of the callbacks could call DisposeAllOnClose() while
another one is waiting on the lock. Once the lock is acquired,
queue.Count will be 0 and Dequeue would fail.
This if fixed now.
Fixes bug #645675.
Gonzalo Paniagua Javier [Tue, 12 Oct 2010 19:25:04 +0000 (15:25 -0400)]
Updated notes on using get-monolite-latest
Jb Evain [Tue, 12 Oct 2010 17:56:26 +0000 (19:56 +0200)]
Fix parameterless Action case
Marek Safar [Tue, 12 Oct 2010 17:06:11 +0000 (18:06 +0100)]
More fixes for implicit conversions of nullable types with nullable arguments
Jb Evain [Tue, 12 Oct 2010 16:14:59 +0000 (18:14 +0200)]
[Fix] fix the ET interpreter to deal with user defined delegates.
The Expression Tree interpreter was previously limited to
lambda expression for either an Action or a Func delegate.
This fix removes this limitation. Fixes #645770.
Sebastien Pouliot [Tue, 12 Oct 2010 15:37:44 +0000 (11:37 -0400)]
Adjust System.Web.Extensions[_1.0].dll.sources wrt MachineKeySectionUtils.cs move
Sebastien Pouliot [Tue, 12 Oct 2010 14:18:19 +0000 (10:18 -0400)]
A few moves/changes following previous patch review
* Makefile: Compile tests with TEST defined (to include System.Web.Util.
MachineKeySectionUtils unit tests)
* System.Web.dll.sources: Move MachineKeySectionUtils.cs from System.
Web.Configuration_2.0 to System.Web.Util
* System.Web_test.dll.sources: Move MachineKeySectionUtilsTest.cs from
System.Web.Configuration_2.0 to System.Web.Util
* System.Web.Configuration_2.0/MachineKeySection.cs: Adjust using
clauses. Uncomment some code. Fix TripleDES versus 3DES for Validation
under NET_4_0. Remove 'private' on fields/methods.
* System.Web.Handlers/AssemblyResourceLoader.cs: Adjust using clauses
* System.Web.Security/MembershipHelper.cs: Adjust using clauses
* System.Web.Security/RolePrincipal.cs: Adjust using clauses
* System.Web.SessionState_2.0/SessionId.cs: Adjust using clauses
* System.Web.UI/LosFormatter.cs: Adjust using clauses.
* System.Web.Util/MachineKeySectionUtils.cs: Moved from System.Web.
Configuration_2.0. Rename namespace and remove 'internal' on type
declaration
* Test/System.Web.Util/MachineKeySectionUtilsTest.cs: Moved from Test/
System.Web.Configuration/MachineKeySectionTest.cs. Add test case for
TripleDES versus 3DES
Sebastien Pouliot [Fri, 8 Oct 2010 21:02:20 +0000 (17:02 -0400)]
Normalization of cryptographic uses in asp.net
* System.Web.Configuration_2.0/MachineKeyRegistryStorage.cs:
Remove key length check and generic key generation.
* System.Web.Configuration_2.0/MachineKeySection.cs: Add support for 4.0
ValidationAlgorithm and the use of custom algorithms (validation and
decryption). Allow the use of any, valid, key length (based on the
algorithm). Let each algorithm creates its own key (e.g. special needs,
default length...)
* System.Web.Configuration_2.0/MachineKeySectionUtils.cs: Remove key
generation (from random) code and 192bits key length hack (won't work
with custom algorithms). Add support for new (4.0) algorithms, including
custom ones. Provide uniform/shared code to Encrypt/Decrypt, Sign/Verify
and EncryptSign/VerifyDecrypt using MachineKeySection data.
* System.Web.Configuration_2.0/MachineKeyValidation.cs: Add new (4.0)
values.
* System.Web.Configuration_2.0/MachineKeyValidationConverter.cs: Add
support for new (4.0) algorithms.
* System.Web.Handlers/AssemblyResourceLoader.cs: Use the new common
cryptographic code and base64 the encrypted data.
* System.Web.Security/FormsAuthentication.cs: Use the new common
cryptographic code and base64 the signed and/or encrypted data.
* System.Web.Security/MembershipHelper.cs: Use the new common
cryptographic code - this should be 100% compatible with existing data.
* System.Web.Security/RolePrincipal.cs: Use the new common cryptographic
code.
* System.Web.Security/SqliteMembershipProvider.cs: Adapt code for
internal API change.
* System.Web.UI/LosFormatter.cs: Adapt code for internal API change.
Fix some small behaviro changes wrt NET_4_0
* System.Web.UI/ObjectStateFormatter.cs: Use the new common cryptographic
code.
* System.Web.UI/Page.cs: Remove code that is now unneeded (with the new
common cryptogrraphic code).
* System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs: New.
* Test/System.Web.Configuration/MachineKeyValidationConverterTest.cs:
Add more, mostly 4.0, test cases.
* Test/System.Web.Security/FormsAuthenticationTest.cs: Add test case to
ensure HashPasswordForStoringInConfigFile is not case sensitive.
* Test/System.Web.UI/LosFormatterTest.cs: Add some rountrip test cases
with the different ctors
Paolo Molaro [Tue, 12 Oct 2010 15:08:42 +0000 (17:08 +0200)]
Fixed the console sigint deadlock, by queuing execution in the finalizer thread.
* console-io.h, console-null.c, console-unix.c, console-win32.c,
gc.c: instead of executing tons of managed code in signal context,
we wake up the finalizer thread and any complex console-specific
code will be handled there. This can cause a (usually small) delay,
but it's much better than deadlocking.
Paolo Molaro [Tue, 12 Oct 2010 13:53:25 +0000 (15:53 +0200)]
Search for dllimported shared libs in the base directory, not cwd.
* loader.c: we don't search the current directory anymore for shared
libraries referenced in DllImport attributes, as it has a slight
security risk. We search in the same directory where the referencing
image was loaded from, instead. Fixes bug# 641915.
Marek Habersack [Tue, 12 Oct 2010 13:32:37 +0000 (15:32 +0200)]
[asp.net] HiddenFieldPageStatePersister must not attempt to deserialize an empty/null string
Zoltan Varga [Tue, 12 Oct 2010 13:01:39 +0000 (15:01 +0200)]
Load vtable->max_interface_id using LDIND_U2.
Zoltan Varga [Tue, 12 Oct 2010 11:01:22 +0000 (13:01 +0200)]
Move the helper signatures along with their init function to method-to-ir.c.
Marek Safar [Tue, 12 Oct 2010 10:21:50 +0000 (11:21 +0100)]
Keep parsing after invalid contstructor declaration
Marek Safar [Tue, 12 Oct 2010 09:52:45 +0000 (10:52 +0100)]
[645572] Import more type as possible dynamic types.
Marek Safar [Tue, 12 Oct 2010 08:54:50 +0000 (09:54 +0100)]
Do not create a constant null value for runtime types.
Marek Safar [Tue, 12 Oct 2010 08:25:10 +0000 (09:25 +0100)]
Report correct error message for compound lifted binary operations
Marek Safar [Tue, 12 Oct 2010 08:21:15 +0000 (09:21 +0100)]
Fold duplex conversion casts into a expression to emit single convert for expression trees
Rodrigo Kumpera [Tue, 12 Oct 2010 04:22:08 +0000 (01:22 -0300)]
Fail the class if its method overloads are broken.
* class.c (mono_class_setup_vtable): Fail the class if
we fail to load its overloads.
Fixes #562156
Jonathan Pryor [Tue, 12 Oct 2010 02:26:38 +0000 (22:26 -0400)]
Fix IsolatedStorageFile.GetUserStoreForApplication() for MOBILE.
IsolatedStorageFile.GetUserStoreForApplication() would previously throw an
IsolatedStorageException because no ApplicationIdentity was provided by the
AppDomain.
We would like to provide this method in a workable fashion to facilitate code
portability with Windows Phone 7, which exposes only this method for saving
files to stable storage.
Thus, skip the ApplicationIdentity and code identity checks for MOBILE
(MonoDroid, MonoTouch) so that IsolatedStorage Just Works.
Rodrigo Kumpera [Mon, 11 Oct 2010 20:02:54 +0000 (17:02 -0300)]
Add regression test for #562150
Rodrigo Kumpera [Mon, 11 Oct 2010 20:00:59 +0000 (17:00 -0300)]
Check if parent is a valid type.
* verify.c (mono_verifier_verify_class): Don't allow parent to
be a GTD.
Fixes #562150
Rodrigo Kumpera [Mon, 11 Oct 2010 19:19:56 +0000 (16:19 -0300)]
Move IL verifier test to the right folder.
Rodrigo Kumpera [Mon, 11 Oct 2010 19:19:04 +0000 (16:19 -0300)]
Add regression test for #562771
Rodrigo Kumpera [Mon, 11 Oct 2010 19:07:36 +0000 (16:07 -0300)]
Don't allow a GTD to be used as a generic argument.
* verify.c (is_valid_generic_instantiation): A GTD cannot
be used as generic argument. Check for those conditions
even if the argument has no constraints.
Fixes #562771
Rodrigo Kumpera [Mon, 11 Oct 2010 17:12:32 +0000 (14:12 -0300)]
Handle dynamic methods as managed.
* mini-exceptions.c (mono_find_jit_info): Treat
dynamic method wrappers as managed methods.
* DynamicMethodTest.cs: Add test for GetCurrentMethod.
Fixes #640702
Rodrigo Kumpera [Mon, 11 Oct 2010 16:41:22 +0000 (13:41 -0300)]
Add regression test for #644935