Граф коммитов

6351 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 6c07ef4081 [Security] Don't pass pointers to 0-length memory to SecKeyRawVerify.
It seems the API will still read at least one byte (at least with Xcode 11
beta 1), which ends up crashing.

Fixes this crash:

    =================================================================
    	Native stacktrace:
    =================================================================
    	0x1029995e5 - /Users/builder/Library/Developer/CoreSimulator/Devices/F5307DF2-F41A-499F-8C7E-B9B7CF85059C/data/Containers/Bundle/Application/8BDCE2E8-1E99-4182-A33C-C69E9734D7EB/monotouchtest.app/monotouchtest : mono_dump_native_crash_info
    	0x10298d6b5 - /Users/builder/Library/Developer/CoreSimulator/Devices/F5307DF2-F41A-499F-8C7E-B9B7CF85059C/data/Containers/Bundle/Application/8BDCE2E8-1E99-4182-A33C-C69E9734D7EB/monotouchtest.app/monotouchtest : mono_handle_native_crash
    	0x1029a02a5 - /Users/builder/Library/Developer/CoreSimulator/Devices/F5307DF2-F41A-499F-8C7E-B9B7CF85059C/data/Containers/Bundle/Application/8BDCE2E8-1E99-4182-A33C-C69E9734D7EB/monotouchtest.app/monotouchtest : mono_sigsegv_signal_handler
    	0x10cab2b5d - /usr/lib/system/libsystem_platform.dylib : _sigtramp
    	0x10 - Unknown
    	0x10c5f6159 - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libcorecrypto.dylib : ccec_verify_internal
    	0x10c5bdd21 - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/libcorecrypto.dylib : ccec_verify
    	0x1032f93aa - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : SecECPublicKeyCopyOperationResult
    	0x103305303 - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : SecKeyRunAlgorithmAndCopyResult
    	0x1033057ee - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : SecKeyVerifySignature
    	0x103305762 - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : __SecKeyRawVerify_block_invoke
    	0x10330509c - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : SecKeyPerformLegacyOperation
    	0x103305732 - /Applications/Xcode11-beta1.app/Contents/Developer/Platforms/AppleTVOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/Security.framework/Security : SecKeyRawVerify
    	0x13ceef07e - Unknown

    =================================================================
    	Managed Stacktrace:
    =================================================================
    	  at <unknown> <0xffffffff>
    	  at Security.SecKey:SecKeyRawVerify <0x000cd>
    	  at Security.SecKey:RawVerify <0x0018a>
    	  at MonoTouchFixtures.Security.KeyTest:SignVerifyECSHA1 <0x0048a>
2019-06-14 20:01:59 +02:00
Rolf Bjarne Kvinge 801b11c60b [runtime] Implement a different fix for #6258. Fixes #6302.
It turns out 'object_getClass' and '[obj class]' does not return exactly the
same. It seems this would have gone unnoticed (the difference would not be
important), except that it made us run into yet another Objective-C runtime
bug...

So return to the previous behavior (call 'object_getClass'), and instead call
'[obj class]' as well just before to make sure the Class instance we get back
from 'object_getClass' is initialized properly.

Now you may wonder why the return value from '[obj class]' has an effect on
the different return value from 'object_getClass', and the answer is that I
have no idea whatsoever. It works, and that makes me happy.

Fixes https://github.com/xamarin/xamarin-macios/issues/6302.
2019-06-14 19:59:02 +02:00
Rolf Bjarne Kvinge ab8817d000
Merge pull request #6294 from rolfbjarne/xcode11-watchsimulator
Fix building and launching watchOS apps. Fixes #6252.
2019-06-14 16:42:13 +02:00
Rolf Bjarne Kvinge 70844a81df
[runtime] Use '[obj class]' instead of 'object_getClass' to work around an Objective-C runtime bug. Fixes #6258 and #6255. (#6293)
Xcode 11 introduces a bug in the Objective-C runtime that makes the runtime
surface uninitialized Class instances. Using these instances may lead to
crashes. Work around this issue by using a different API to get Class
instances for Objective-C objects, hoping that we won't see uninitialized
Class instances.

Ref: https://trello.com/c/2g7qtnGO/143-fb6153904-classcopyprotocollist-crashes-in-ios-13

Fixes https://github.com/xamarin/xamarin-macios/issues/6258.
Fixes https://github.com/xamarin/xamarin-macios/issues/6255.
2019-06-14 16:33:03 +02:00
Rolf Bjarne Kvinge 6e469327fc
Fix simulator provisioning. (#6295)
* We must bump the min simulator versions, since Apple has bumped what they offer.
* Re-enable simulator provisioning.
* Minor output fix to siminstaller to make the output easier to understand.
2019-06-14 16:21:21 +02:00
Rolf Bjarne Kvinge 534197c7c5 Bump maccore and macios-binaries to get mlaunch capable of launching apps in watchOS 6 simulators.
New commits in xamarin/macios-binaries:

* xamarin/macios-binaries@c477304 Bump mlaunch to xamarin/maccore@f26319899f (#22)

Diff: 2cea84c2d4..c4773043c5

New commits in xamarin/maccore:

* xamarin/maccore@f26319899f [Xamarin.Hosting] Implement installing watchOS simulator apps with Xcode 11. (#1736)

Diff: 54d98e168c..f26319899f
2019-06-14 02:23:14 +02:00
Rolf Bjarne Kvinge ee98996b6b [SceneKit] Apple removed [SCNSceneRenderer context] in watchOS 6.0. 2019-06-14 02:17:43 +02:00
Rolf Bjarne Kvinge 62043318d7 [runtime] Assume we're in the US if the OS doesn't know.
This fixes a crash when running tests in the watchOS 6.0 simulator.
2019-06-14 02:17:37 +02:00
Rolf Bjarne Kvinge 9b32d682b6 [mtouch] Fix building watch extensions with the watchOS 6.0 SDK.
The watchOS 6.0 SDK renames/moves a few symbols, so some magic is required to
make things work on both watchOS 6.0 and earlier versions.
2019-06-14 02:17:36 +02:00
Sebastien Pouliot 00ba38035f
[devicecheck] Update for xcode 11 beta 1 (#6286)
Added support for macOS 10.15 and for iOS simulator (>= 13)
2019-06-13 20:09:34 -04:00
Sebastien Pouliot c641234fd1
[xcode11] Bump VS4M minimum to 8.0.0 and mono to 6.0.0.286 (#6284)
That should be a good/better mix to run XM classic tests and fix some
other build failures

Close backport of https://github.com/xamarin/xamarin-macios/pull/6238 from master
2019-06-13 19:19:51 -04:00
Sebastien Pouliot 77399cb238
[watchconnectivity] Update for xcode 11 beta 1 (#6283)
Add new API for CompanionApp (watchOS only)
2019-06-13 16:44:54 -04:00
Sebastien Pouliot e586a06501
[replaykit] Update for xcode 11 beta 1 (#6282)
Added new enum value

Also removed availability attributes from other values - since they are
not helpful for error codes (e.g. you don't want warnings for them, nor
do you want to add version checks around them)
2019-06-13 13:50:58 -04:00
Sebastien Pouliot 1b02f0f616
[tests] Fix monotouch-test for "iOS Unified 32-bits - simulator" | "Release (all optimizations)" (#6281)
Photos.framework headers are broken in Xcode 11 beta 1 [1]. Optimizations
fails since the static registrar skip over the type [2]

```
	[FAIL] PHLivePhotoEditingContextTest.Linker : ObjCRuntime.RuntimeException : Can't register the class Photos.PHContentEditingInput when the dynamic registrar has been linked away.
		  at ObjCRuntime.Class.GetClassHandle (System.Type , System.Boolean , System.Boolean& ) [0x000de] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at ObjCRuntime.Class.GetClassHandle (System.Type ) [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at ObjCRuntime.Class.GetHandle (System.Type ) [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Foundation.NSObject.AllocIfNeeded () [0x00019] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Foundation.NSObject..ctor (Foundation.NSObjectFlag ) [0x00006] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Photos.PHContentEditingInput..ctor () [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at MonoTouchFixtures.Photos.PHLivePhotoEditingContextTest.Linker () [0x00001] in <6e792af97a28410a80fa790ecfb26b9c>:0
		  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
		  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object , System.Reflection.BindingFlags , System.Reflection.Binder , System.Object[] , System.Globalization.CultureInfo ) [0x0006a] in <3440dfbcd957471aabeed02fbc939d2a>:0
PHLivePhotoEditingContextTest : 2 ms
```

references
[1] https://github.com/xamarin/xamarin-macios/issues/6212
[2] 60a5392d35
2019-06-13 13:15:28 -04:00
Sebastien Pouliot bff8ab7931
Merge pull request #6204 from mandel-macaque/xcode11-build-mono
[xcode11] Fix build and bump versions for Xcode 11.0 beta 1
2019-06-13 09:35:29 -04:00
Sebastien Pouliot d071568030 Merge branch 'xcode11' into mandel-macaque-xcode11-build-mono 2019-06-12 21:29:03 -04:00
Sebastien Pouliot dec78af591
[foundation] Fix NSCopying.Copy - the biggest offender of not releasing its return value (#6271)
Manual backport of https://github.com/xamarin/xamarin-macios/pull/6230

and part of https://github.com/xamarin/xamarin-macios/pull/6171 to get PR green
2019-06-12 16:02:04 -07:00
Sebastien Pouliot 2b7601ef8d [xtro] Create .todo files for new Xcode11 beta 1 API (so they won't be reported as error anymore) 2019-06-12 15:42:22 -04:00
Sebastien Pouliot 71f9341c59 [tests][link all] Workaround issue with UIPasteboard.General.Images
ref: https://github.com/xamarin/xamarin-macios/issues/6254
2019-06-12 13:57:51 -04:00
Sebastien Pouliot 31014b0367 [uikit] Allow `null` in `CanOpenURL` Fixes #6256
This is not documented to accept `nil` and from sharpie / headers

```csharp
	// -(BOOL)canOpenURL:(NSURL * _Nonnull)url __attribute__((availability(ios, introduced=3.0)));
	[iOS (3,0)]
	[Export ("canOpenURL:")]
	bool CanOpenURL (NSUrl url);
```

so it looks like we allowed this (it's a rather old API) based on it's
behavior (and well before nullability annotations were available)

Now since the API

* returns a `bool` value **and** `false` is better than an exception;
* was an [old bug fix](https://bugzilla.xamarin.com/show_bug.cgi?id=865);

I added a `[PreSnippet]` so our behavior does not change on newer OS

references:
* https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc
* https://github.com/xamarin/xamarin-macios/issues/6256
2019-06-12 13:40:36 -04:00
Sebastien Pouliot afe96ef09b Merge branch 'xcode11' into mandel-macaque-xcode11-build-mono 2019-06-12 10:49:59 -04:00
Sebastien Pouliot 824ae5cc14 Bump MIN_SHARPIE_VERSION so the newest version is used (fix xtro build) 2019-06-12 10:49:28 -04:00
Rolf Bjarne Kvinge d3c60e516b
[xharness] Backport a few changes to get HE0038 reporting. (#6272)
* [xharness] Show links to previous test runs in html report in server mode. (#6031)

* [xharness] Change url for server mode.

* [xharness] Show links to previous test runs in html report in server mode.

This makes it much easier to see what failed in a previous test run.

* [XHarness] Show when we have a watch HE0038 error. (#6060)

To simplify the life of the monitorer, if we get a crash with a HE0038
we will propagate the result to the html and will provide a link to the
issue so that it is easy to report it.

* [xharness] Look for HE0038 anywhere in a log file. (#6175)

Most log files now have timestamps, which means that looking for 'HE00380' at
the start of each line won't work anymore.

Fixes an issue where the HE0038 issue isn't detected properly.
2019-06-12 16:47:15 +02:00
Sebastien Pouliot 6a852fdcc2
Merge pull request #6209 from spouliot/xcode11-backport-xtro
[tests] Backport xtro changes to xcode11
2019-06-12 06:35:34 -07:00
Sebastien Pouliot 87ed9ebfd4
[xtro] Exclude some frameworks that cause issues with sharpie on macOS 10.15 (#6207)
Also merge new `MPSNDArray` into its parent `MetalPerformanceShaders`
and use a `SortedSet` to avoid ending up with both `PdfKit` and `PDFKit`
2019-06-12 06:31:59 -07:00
Rolf Bjarne Kvinge 68e8155053 [CoreImage] Fix typo. 2019-06-12 09:00:20 +02:00
Sebastien Pouliot 34096129e3 [tests][xtro] Update ignore files (largely Apple fixes in the SDK headers) 2019-06-12 01:13:15 -04:00
Sebastien Pouliot fb72e516e8 Merge branch 'xcode11' into xcode11-backport-xtro 2019-06-12 00:49:18 -04:00
Sebastien Pouliot e826d1d8a6 Merge xcode11 head 2019-06-12 00:44:31 -04:00
Sebastien Pouliot a71703a624 [tests][intro] Fix new failures using Xcode11 - some (protocols) might be changes in the public API 2019-06-12 00:27:40 -04:00
Sebastien Pouliot dd142561a1 [tests] Add support to check for Xcode 11.0 and macOS 10.15 from tests/attributes 2019-06-12 00:26:23 -04:00
Sebastien Pouliot b7cf2d3695 [tests][intro] Fix an alternative glyph name that works on iOS 13 2019-06-12 00:25:32 -04:00
Sebastien Pouliot eb33ed7a95 [generator] Forward more [return: Release] attributes to generated code.
Manual backport of https://github.com/xamarin/xamarin-macios/pull/6171
2019-06-12 00:24:20 -04:00
Sebastien Pouliot 5206d3d4ba [coreimage] Add new filters
They are not part of the API diff (nor inside headers).

Needed since introspection tests will detect them and fail.
2019-06-12 00:22:47 -04:00
Sebastien Pouliot d89397821f [foundation] Fix intro failure for NSNetService init 2019-06-12 00:21:19 -04:00
Sebastien Pouliot d2ec61a568 Bump sharpie to a version that understand the new platforms (uikitformac, driverkit) and other fixes needed for xtro 2019-06-12 00:20:22 -04:00
Sebastien Pouliot 1558efaec2
Merge pull request #6264 from spouliot/xcode11-d16-2-20190611
Merge d16-2 into xcode11
2019-06-12 00:13:01 -04:00
Sebastien Pouliot bbe237cc0f [xcode11][xibuild] Handle "incorrectly" cased msbuild property names
Fixes mono/mono#14765

Manual backport of https://github.com/xamarin/xamarin-macios/pull/6202
2019-06-11 14:51:02 -04:00
Sebastien Pouliot dbf598e8e7 Switch maccore to xcode11 branch 2019-06-11 13:29:53 -04:00
Sebastien Pouliot bf44459d8a Merge branch 'd16-2' into xcode11-d16-2-20190611 2019-06-11 13:23:04 -04:00
Rolf Bjarne Kvinge 4fd77fd2dc
Merge pull request #6190 from monojenkins/backport-pr-6164-to-xcode11
[xcode11] [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
2019-06-11 11:50:28 +02:00
Rolf Bjarne Kvinge 55ad1411fa
Bump maccore and macios-binaries to get fix for #6216. (#6231)
maccore diff: ff1d19c3e4..43d082327c

New commits in xamarin/maccore:

* xamarin/maccore@12ecfd8249 [mlaunch] Use [SimDevice registerNotificationHandlerOnQueue:handler:] instead of [SimDevice registerNotificationHandler:]. Fixes xamarin/xamarin-macios#6216. (#1722)

macios-binaries diff: 62a239f3f8..12ecfd8249

Fixes https://github.com/xamarin/xamarin-macios/issues/6216.
2019-06-10 22:25:52 -07:00
monojenkins 9b9e57b80d [monotouch-test] Ignore MessageHandlerTest.RejectSslCertificatesServicePointManager on macOS 10.10. (#6219)
This works around (but doesn't fix) https://github.com/xamarin/maccore/issues/1645.
2019-06-07 14:25:26 -07:00
Manuel de la Pena 2f1cc7bb80
Bump mono to 2019-02 latests head. (#6215)
Bump mono for the preview with the latests mono commits.

* c6edaa62f9 Bump CoreFX to pickup the fix for #14214.
* 0349bbe0bc [2019-02] Fix build on macOS 10.15 Catalina + xcode 11
*  240aa5b900 [2019-02] Bump CoreFX
* 6159e0f2bf Bump msbuild to track mono-2019-02
* a90018bed8 [2019-02] Remapping should affect GAC search paths considered by the loader
* 3d9513efd4 [tests] Exclude more nunit categories on ios/mac
* 7147d87a0d [msbuild] Bump to track mono-2019-02 HEAD
* 0e215970ec [2019-02] Bump roslyn to 3.1.0 
* fa0663d333 [2019-02] [arm64] Correct exception filter stack frame size 
*  [sdks] Exclude unecessary ios libs from sdks archive 43e0f5a967
* 8ff6a12f51 [MacSDK] Properly handle PATHs with spaces during package post-install

Complete diff: e113ce925b...c6edaa62f9
2019-06-07 08:16:10 +02:00
Rolf Bjarne Kvinge 67e497abe8 [mtouch] Don't link with WatchKit, it's been removed. 2019-06-05 16:51:33 -07:00
Rolf Bjarne Kvinge 2e295036db [xtro] 'raw' files might not exist. (#6191)
If we just fixed all the entries in the corresponding '*.ignore' file, there
won't be a '*.raw' file.
2019-06-05 09:57:49 -07:00
Rolf Bjarne Kvinge 309da40ee4 [xtro] Implement support for auto-sanitizing the .ignore files by defining an environment variable. (#6158)
Going through each failure one-by-one after fixing something that fixed many
entries is annoying, so automate the process.
2019-06-05 09:57:42 -07:00
Rolf Bjarne Kvinge 27c534607e Bump maccore and macios-binaries to get updated mlaunch.
New commits in xamarin/macios-binaries:

* xamarin/macios-binaries@2cea84c Bump mlaunch to xamarin/maccore@2508ba1931

Diff: ff1d19c3e4..2cea84c2d4

xamarin/maccore:

Diff: 62a239f3f8..2508ba1931
2019-06-05 04:39:29 -07:00
Rolf Bjarne Kvinge 60a5392d35 [mmp/mtouch] Workaround broken frameworks in Xcode 11 beta 1.
* The Photos headers are broken when building in C++ mode.
* The PhotosUI headers include the Photos header, so those don't work either.
* The WatchKit framework just isn't there at all.
2019-06-04 13:45:33 -07:00
Rolf Bjarne Kvinge 6eb47e7136 [UserNotifications] Fix macOS availability for a type. 2019-06-04 13:45:33 -07:00