From ae77aed7e85e827f6ee7f3133dbc55ed86a43077 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 9 Aug 2021 21:30:14 -0400 Subject: [PATCH 1/8] [Security] Add Xcode 13 beta 4 support. (#12365) --- src/Security/Authorization.cs | 41 +++- src/Security/Certificate.cs | 180 ++++++++++++++ src/Security/Trust.cs | 68 ++++++ .../xtro-sharpie/MacCatalyst-Security.ignore | 221 +++++++++++++++++ tests/xtro-sharpie/MacCatalyst-Security.todo | 222 ------------------ tests/xtro-sharpie/iOS-Security.todo | 7 - tests/xtro-sharpie/macOS-Security.todo | 1 - tests/xtro-sharpie/tvOS-Security.todo | 7 - tests/xtro-sharpie/watchOS-Security.todo | 7 - 9 files changed, 509 insertions(+), 245 deletions(-) delete mode 100644 tests/xtro-sharpie/MacCatalyst-Security.todo delete mode 100644 tests/xtro-sharpie/iOS-Security.todo delete mode 100644 tests/xtro-sharpie/macOS-Security.todo delete mode 100644 tests/xtro-sharpie/tvOS-Security.todo delete mode 100644 tests/xtro-sharpie/watchOS-Security.todo diff --git a/src/Security/Authorization.cs b/src/Security/Authorization.cs index 502135f6ef55..a4a16b5b1338 100644 --- a/src/Security/Authorization.cs +++ b/src/Security/Authorization.cs @@ -25,14 +25,23 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -#if MONOMAC +#if MONOMAC || __MACCATALYST__ using ObjCRuntime; using Foundation; using System; using System.Runtime.InteropServices; +#if NET +using System.Runtime.Versioning; +#endif namespace Security { + +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif // Untyped enum in ObjC public enum AuthorizationStatus { Success = 0, @@ -52,6 +61,11 @@ public enum AuthorizationStatus { BadAddress = -60033, } +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif // typedef UInt32 AuthorizationFlags; [Flags] public enum AuthorizationFlags : int { @@ -68,18 +82,33 @@ public enum AuthorizationFlags : int { // For ease of use, we let the user pass the AuthorizationParameters, and we // create the structure for them with the proper data // +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif public class AuthorizationParameters { public string PathToSystemPrivilegeTool; public string Prompt; public string IconPath; } +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif public class AuthorizationEnvironment { public string Username; public string Password; public bool AddToSharedCredentialPool; } +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif [StructLayout (LayoutKind.Sequential)] struct AuthorizationItem { public IntPtr /* AuthorizationString = const char * */ name; @@ -88,11 +117,21 @@ struct AuthorizationItem { public int /* UInt32 */ flags; // zero } +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif unsafe struct AuthorizationItemSet { public int /* UInt32 */ count; public AuthorizationItem * /* AuthorizationItem* */ ptrToAuthorization; } +#if NET + [SupportedOSPlatform ("maccatalyst15.0")] +#else + [MacCatalyst (15,0)] +#endif public unsafe class Authorization : INativeObject, IDisposable { IntPtr handle; diff --git a/src/Security/Certificate.cs b/src/Security/Certificate.cs index 9fea8d1cfcd5..38cdac7447ba 100644 --- a/src/Security/Certificate.cs +++ b/src/Security/Certificate.cs @@ -30,6 +30,8 @@ #if !NET #define NATIVE_APPLE_CERTIFICATE +#else +using System.Runtime.Versioning; #endif using System; @@ -551,11 +553,53 @@ public SecKey (IntPtr handle, bool owns) [DllImport (Constants.SecurityLibrary, EntryPoint="SecKeyGetTypeID")] public extern static nint GetTypeID (); +#if !NET + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'SecKeyCreateRandomKey' instead.")] + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'SecKeyCreateRandomKey' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'SecKeyCreateRandomKey' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'SecKeyCreateRandomKey' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'SecKeyCreateRandomKey' instead.")] +#else + [UnsupportedOSPlatform ("macos12.0")] + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'SecKeyCreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'SecKeyCreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'SecKeyCreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif MONOMAC + [Obsolete ("Starting with macos12.0 use 'SecKeyCreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeyGeneratePair (IntPtr dictHandle, out IntPtr pubKey, out IntPtr privKey); // TODO: pull all the TypeRefs needed for the NSDictionary +#if !NET + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use 'CreateRandomKey' instead.")] + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'CreateRandomKey' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'CreateRandomKey' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'CreateRandomKey' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'CreateRandomKey' instead.")] +#else + [UnsupportedOSPlatform ("macos12.0")] + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'CreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'CreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'CreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif MONOMAC + [Obsolete ("Starting with macos12.0 use 'CreateRandomKey' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public static SecStatusCode GenerateKeyPair (NSDictionary parameters, out SecKey publicKey, out SecKey privateKey) { if (parameters == null) @@ -625,9 +669,43 @@ public int BlockSize { } } +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'SecKeyCreateSignature' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'SecKeyCreateSignature' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'SecKeyCreateSignature' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'SecKeyCreateSignature' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'SecKeyCreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'SecKeyCreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'SecKeyCreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeyRawSign (IntPtr handle, SecPadding padding, IntPtr dataToSign, nint dataToSignLen, IntPtr sig, ref nint sigLen); +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'CreateSignature' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'CreateSignature' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'CreateSignature' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'CreateSignature' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'CreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'CreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'CreateSignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public SecStatusCode RawSign (SecPadding padding, IntPtr dataToSign, int dataToSignLen, out byte [] result) { if (handle == IntPtr.Zero) @@ -661,9 +739,43 @@ unsafe SecStatusCode _RawSign (SecPadding padding, IntPtr dataToSign, int dataTo return status; } +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'SecKeyVerifySignature' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'SecKeyVerifySignature' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'SecKeyVerifySignature' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'SecKeyVerifySignature' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'SecKeyVerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'SecKeyVerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'SecKeyVerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeyRawVerify (IntPtr handle, SecPadding padding, IntPtr signedData, nint signedLen, IntPtr sign, nint signLen); +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'VerifySignature' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'VerifySignature' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'VerifySignature' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'VerifySignature' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'VerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'VerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'VerifySignature' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public unsafe SecStatusCode RawVerify (SecPadding padding, IntPtr signedData, int signedDataLen, IntPtr signature, int signatureLen) { if (handle == IntPtr.Zero) @@ -694,9 +806,43 @@ public SecStatusCode RawVerify (SecPadding padding, byte [] signedData, byte [] } } +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'SecKeyCreateEncryptedData' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'SecKeyCreateEncryptedData' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'SecKeyCreateEncryptedData' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'SecKeyCreateEncryptedData' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'SecKeyCreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'SecKeyCreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'SecKeyCreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeyEncrypt (IntPtr handle, SecPadding padding, IntPtr plainText, nint plainTextLen, IntPtr cipherText, ref nint cipherTextLengh); +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'CreateEncryptedData' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'CreateEncryptedData' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'CreateEncryptedData' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'CreateEncryptedData' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'CreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'CreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'CreateEncryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public unsafe SecStatusCode Encrypt (SecPadding padding, IntPtr plainText, nint plainTextLen, IntPtr cipherText, ref nint cipherTextLen) { if (handle == IntPtr.Zero) @@ -729,9 +875,43 @@ public SecStatusCode Encrypt (SecPadding padding, byte [] plainText, out byte [] return Encrypt (padding, plainText, cipherText); } +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'SecKeyCreateDecryptedData' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'SecKeyCreateDecryptedData' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'SecKeyCreateDecryptedData' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'SecKeyCreateDecryptedData' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'SecKeyCreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'SecKeyCreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'SecKeyCreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static SecStatusCode SecKeyDecrypt (IntPtr handle, SecPadding padding, IntPtr cipherTextLen, nint cipherLen, IntPtr plainText, ref nint plainTextLen); +#if !NET + [Deprecated (PlatformName.iOS, 15, 0, message: "Use 'CreateDecryptedData' instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use 'CreateDecryptedData' instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use 'CreateDecryptedData' instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use 'CreateDecryptedData' instead.")] +#else + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'CreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 use 'CreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 use 'CreateDecryptedData' instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public unsafe SecStatusCode Decrypt (SecPadding padding, IntPtr cipherText, nint cipherTextLen, IntPtr plainText, ref nint plainTextLen) { if (handle == IntPtr.Zero) diff --git a/src/Security/Trust.cs b/src/Security/Trust.cs index 6af47914f1b4..fc255962c819 100644 --- a/src/Security/Trust.cs +++ b/src/Security/Trust.cs @@ -34,6 +34,9 @@ using ObjCRuntime; using CoreFoundation; using Foundation; +#if NET +using System.Runtime.Versioning; +#endif namespace Security { public partial class SecTrust : INativeObject, IDisposable { @@ -159,9 +162,52 @@ public int Count { } } +#if !NET + [Deprecated (PlatformName.MacOSX, 12, 0)] + [Deprecated (PlatformName.iOS, 15, 0)] + [Deprecated (PlatformName.MacCatalyst, 15, 0)] + [Deprecated (PlatformName.WatchOS, 8, 0)] + [Deprecated (PlatformName.TvOS, 15, 0)] +#else + [UnsupportedOSPlatform ("macos12.0")] + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 API removed, please do not use.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 API removed, please do not use.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 API removed, please do not use.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif MONOMAC + [Obsolete ("Starting with macos12.0 API removed, please do not use.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif [DllImport (Constants.SecurityLibrary)] extern static IntPtr /* SecCertificateRef */ SecTrustGetCertificateAtIndex (IntPtr /* SecTrustRef */ trust, nint /* CFIndex */ ix); + +#if !NET + [Deprecated (PlatformName.MacOSX, 12, 0, message: "Use the 'GetCertificateChain' method instead.")] + [Deprecated (PlatformName.iOS, 15, 0, message: "Use the 'GetCertificateChain' method instead.")] + [Deprecated (PlatformName.MacCatalyst, 15, 0, message: "Use the 'GetCertificateChain' method instead.")] + [Deprecated (PlatformName.WatchOS, 8, 0, message: "Use the 'GetCertificateChain' method instead.")] + [Deprecated (PlatformName.TvOS, 15, 0, message: "Use the 'GetCertificateChain' method instead.")] +#else + [UnsupportedOSPlatform ("macos12.0")] + [UnsupportedOSPlatform ("ios15.0")] + [UnsupportedOSPlatform ("tvos15.0")] + [UnsupportedOSPlatform ("maccatalyst15.0")] +#if __MACCATALYST__ + [Obsolete ("Starting with maccatalyst15.0 use 'GetCertificateChain' method instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif IOS + [Obsolete ("Starting with ios15.0 please use 'GetCertificateChain' method instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif TVOS + [Obsolete ("Starting with tvos15.0 please use 'GetCertificateChain' method instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#elif MONOMAC + [Obsolete ("Starting with macos12.0 please use 'GetCertificateChain' method instead.", DiagnosticId = "BI1234", UrlFormat = "https://github.com/xamarin/xamarin-macios/wiki/Obsolete")] +#endif +#endif public SecCertificate this [nint index] { get { if (handle == IntPtr.Zero) @@ -173,6 +219,28 @@ public SecCertificate this [nint index] { } } +#if NET + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("tvos15.0")] + [SupportedOSPlatform ("maccatalyst15.0")] + [SupportedOSPlatform ("macos12.0")] +#else + [Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] +#endif + [DllImport (Constants.SecurityLibrary)] + static extern /* CFArrayRef */ IntPtr SecTrustCopyCertificateChain (/* SecTrustRef */ IntPtr trust); + +#if NET + [SupportedOSPlatform ("ios15.0")] + [SupportedOSPlatform ("tvos15.0")] + [SupportedOSPlatform ("maccatalyst15.0")] + [SupportedOSPlatform ("macos12.0")] +#else + [Watch (8,0), TV (15,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] +#endif + public SecCertificate[] GetCertificateChain () + => NSArray.ArrayFromHandle (SecTrustCopyCertificateChain (handle)); + [Deprecated (PlatformName.iOS, 14,0)] [Deprecated (PlatformName.MacOSX, 11,0)] [Deprecated (PlatformName.TvOS, 14,0)] diff --git a/tests/xtro-sharpie/MacCatalyst-Security.ignore b/tests/xtro-sharpie/MacCatalyst-Security.ignore index 10b023aa350d..a36a0adefad8 100644 --- a/tests/xtro-sharpie/MacCatalyst-Security.ignore +++ b/tests/xtro-sharpie/MacCatalyst-Security.ignore @@ -1,2 +1,223 @@ # deprecated !missing-pinvoke! SecCertificateCopyPublicKey is not bound + +# follow the macOS pattern that ignores all of the following ones +!missing-enum! AuthorizationContextFlags not bound +!missing-enum! AuthorizationResult not bound +!missing-enum! SecCSDigestAlgorithm not bound +!missing-enum! SecCSFlags not bound +!missing-enum! SecCodeSignatureFlags not bound +!missing-enum! SecCodeStatus not bound +!missing-enum! SecRequirementType not bound +!missing-enum! SessionAttributeBits not bound +!missing-enum! SessionCreationFlags not bound +!missing-enum! _SecureDownloadTrustCallbackResult not bound +!missing-field! kSecAsn1AnyTemplate not bound +!missing-field! kSecAsn1BMPStringTemplate not bound +!missing-field! kSecAsn1BitStringTemplate not bound +!missing-field! kSecAsn1BooleanTemplate not bound +!missing-field! kSecAsn1EnumeratedTemplate not bound +!missing-field! kSecAsn1GeneralizedTimeTemplate not bound +!missing-field! kSecAsn1IA5StringTemplate not bound +!missing-field! kSecAsn1IntegerTemplate not bound +!missing-field! kSecAsn1NullTemplate not bound +!missing-field! kSecAsn1ObjectIDTemplate not bound +!missing-field! kSecAsn1OctetStringTemplate not bound +!missing-field! kSecAsn1PointerToAnyTemplate not bound +!missing-field! kSecAsn1PointerToBMPStringTemplate not bound +!missing-field! kSecAsn1PointerToBitStringTemplate not bound +!missing-field! kSecAsn1PointerToBooleanTemplate not bound +!missing-field! kSecAsn1PointerToEnumeratedTemplate not bound +!missing-field! kSecAsn1PointerToGeneralizedTimeTemplate not bound +!missing-field! kSecAsn1PointerToIA5StringTemplate not bound +!missing-field! kSecAsn1PointerToIntegerTemplate not bound +!missing-field! kSecAsn1PointerToNullTemplate not bound +!missing-field! kSecAsn1PointerToObjectIDTemplate not bound +!missing-field! kSecAsn1PointerToOctetStringTemplate not bound +!missing-field! kSecAsn1PointerToPrintableStringTemplate not bound +!missing-field! kSecAsn1PointerToT61StringTemplate not bound +!missing-field! kSecAsn1PointerToTeletexStringTemplate not bound +!missing-field! kSecAsn1PointerToUTCTimeTemplate not bound +!missing-field! kSecAsn1PointerToUTF8StringTemplate not bound +!missing-field! kSecAsn1PointerToUniversalStringTemplate not bound +!missing-field! kSecAsn1PointerToVisibleStringTemplate not bound +!missing-field! kSecAsn1PrintableStringTemplate not bound +!missing-field! kSecAsn1SequenceOfAnyTemplate not bound +!missing-field! kSecAsn1SequenceOfBMPStringTemplate not bound +!missing-field! kSecAsn1SequenceOfBitStringTemplate not bound +!missing-field! kSecAsn1SequenceOfBooleanTemplate not bound +!missing-field! kSecAsn1SequenceOfEnumeratedTemplate not bound +!missing-field! kSecAsn1SequenceOfGeneralizedTimeTemplate not bound +!missing-field! kSecAsn1SequenceOfIA5StringTemplate not bound +!missing-field! kSecAsn1SequenceOfIntegerTemplate not bound +!missing-field! kSecAsn1SequenceOfNullTemplate not bound +!missing-field! kSecAsn1SequenceOfObjectIDTemplate not bound +!missing-field! kSecAsn1SequenceOfOctetStringTemplate not bound +!missing-field! kSecAsn1SequenceOfPrintableStringTemplate not bound +!missing-field! kSecAsn1SequenceOfT61StringTemplate not bound +!missing-field! kSecAsn1SequenceOfTeletexStringTemplate not bound +!missing-field! kSecAsn1SequenceOfUTCTimeTemplate not bound +!missing-field! kSecAsn1SequenceOfUTF8StringTemplate not bound +!missing-field! kSecAsn1SequenceOfUniversalStringTemplate not bound +!missing-field! kSecAsn1SequenceOfVisibleStringTemplate not bound +!missing-field! kSecAsn1SetOfAnyTemplate not bound +!missing-field! kSecAsn1SetOfBMPStringTemplate not bound +!missing-field! kSecAsn1SetOfBitStringTemplate not bound +!missing-field! kSecAsn1SetOfBooleanTemplate not bound +!missing-field! kSecAsn1SetOfEnumeratedTemplate not bound +!missing-field! kSecAsn1SetOfGeneralizedTimeTemplate not bound +!missing-field! kSecAsn1SetOfIA5StringTemplate not bound +!missing-field! kSecAsn1SetOfIntegerTemplate not bound +!missing-field! kSecAsn1SetOfNullTemplate not bound +!missing-field! kSecAsn1SetOfObjectIDTemplate not bound +!missing-field! kSecAsn1SetOfOctetStringTemplate not bound +!missing-field! kSecAsn1SetOfPrintableStringTemplate not bound +!missing-field! kSecAsn1SetOfT61StringTemplate not bound +!missing-field! kSecAsn1SetOfTeletexStringTemplate not bound +!missing-field! kSecAsn1SetOfUTCTimeTemplate not bound +!missing-field! kSecAsn1SetOfUTF8StringTemplate not bound +!missing-field! kSecAsn1SetOfUniversalStringTemplate not bound +!missing-field! kSecAsn1SetOfVisibleStringTemplate not bound +!missing-field! kSecAsn1SkipTemplate not bound +!missing-field! kSecAsn1T61StringTemplate not bound +!missing-field! kSecAsn1TeletexStringTemplate not bound +!missing-field! kSecAsn1UTCTimeTemplate not bound +!missing-field! kSecAsn1UTF8StringTemplate not bound +!missing-field! kSecAsn1UniversalStringTemplate not bound +!missing-field! kSecAsn1UnsignedIntegerTemplate not bound +!missing-field! kSecAsn1VisibleStringTemplate not bound +!missing-field! kSecAttrAccess not bound +!missing-field! kSecAttrKeyType3DES not bound +!missing-field! kSecAttrKeyTypeAES not bound +!missing-field! kSecAttrKeyTypeCAST not bound +!missing-field! kSecAttrKeyTypeDES not bound +!missing-field! kSecAttrKeyTypeDSA not bound +!missing-field! kSecAttrKeyTypeECDSA not bound +!missing-field! kSecAttrKeyTypeRC2 not bound +!missing-field! kSecAttrKeyTypeRC4 not bound +!missing-field! kSecAttrPRF not bound +!missing-field! kSecAttrPRFHmacAlgSHA1 not bound +!missing-field! kSecAttrPRFHmacAlgSHA224 not bound +!missing-field! kSecAttrPRFHmacAlgSHA256 not bound +!missing-field! kSecAttrPRFHmacAlgSHA384 not bound +!missing-field! kSecAttrPRFHmacAlgSHA512 not bound +!missing-field! kSecAttrRounds not bound +!missing-field! kSecAttrSalt not bound +!missing-field! kSecCFErrorArchitecture not bound +!missing-field! kSecCFErrorGuestAttributes not bound +!missing-field! kSecCFErrorInfoPlist not bound +!missing-field! kSecCFErrorPath not bound +!missing-field! kSecCFErrorPattern not bound +!missing-field! kSecCFErrorRequirementSyntax not bound +!missing-field! kSecCFErrorResourceAdded not bound +!missing-field! kSecCFErrorResourceAltered not bound +!missing-field! kSecCFErrorResourceMissing not bound +!missing-field! kSecCFErrorResourceSeal not bound +!missing-field! kSecCFErrorResourceSideband not bound +!missing-field! kSecCodeAttributeArchitecture not bound +!missing-field! kSecCodeAttributeBundleVersion not bound +!missing-field! kSecCodeAttributeSubarchitecture not bound +!missing-field! kSecCodeAttributeUniversalFileOffset not bound +!missing-field! kSecCodeInfoCMS not bound +!missing-field! kSecCodeInfoCdHashes not bound +!missing-field! kSecCodeInfoCertificates not bound +!missing-field! kSecCodeInfoChangedFiles not bound +!missing-field! kSecCodeInfoDesignatedRequirement not bound +!missing-field! kSecCodeInfoDigestAlgorithm not bound +!missing-field! kSecCodeInfoDigestAlgorithms not bound +!missing-field! kSecCodeInfoEntitlements not bound +!missing-field! kSecCodeInfoEntitlementsDict not bound +!missing-field! kSecCodeInfoFlags not bound +!missing-field! kSecCodeInfoFormat not bound +!missing-field! kSecCodeInfoIdentifier not bound +!missing-field! kSecCodeInfoImplicitDesignatedRequirement not bound +!missing-field! kSecCodeInfoMainExecutable not bound +!missing-field! kSecCodeInfoPList not bound +!missing-field! kSecCodeInfoPlatformIdentifier not bound +!missing-field! kSecCodeInfoRequirementData not bound +!missing-field! kSecCodeInfoRequirements not bound +!missing-field! kSecCodeInfoRuntimeVersion not bound +!missing-field! kSecCodeInfoSource not bound +!missing-field! kSecCodeInfoStatus not bound +!missing-field! kSecCodeInfoTeamIdentifier not bound +!missing-field! kSecCodeInfoTime not bound +!missing-field! kSecCodeInfoTimestamp not bound +!missing-field! kSecCodeInfoTrust not bound +!missing-field! kSecCodeInfoUnique not bound +!missing-field! kSecGuestAttributeArchitecture not bound +!missing-field! kSecGuestAttributeAudit not bound +!missing-field! kSecGuestAttributeCanonical not bound +!missing-field! kSecGuestAttributeDynamicCode not bound +!missing-field! kSecGuestAttributeDynamicCodeInfoPlist not bound +!missing-field! kSecGuestAttributeHash not bound +!missing-field! kSecGuestAttributeMachPort not bound +!missing-field! kSecGuestAttributePid not bound +!missing-field! kSecGuestAttributeSubarchitecture not bound +!missing-field! kSecImportExportAccess not bound +!missing-field! kSecImportExportKeychain not bound +!missing-field! kSecMatchDiacriticInsensitive not bound +!missing-field! kSecMatchSubjectEndsWith not bound +!missing-field! kSecMatchSubjectStartsWith not bound +!missing-field! kSecMatchSubjectWholeString not bound +!missing-field! kSecMatchWidthInsensitive not bound +!missing-field! kSecPolicyApplePKINITClient not bound +!missing-field! kSecPolicyApplePKINITServer not bound +!missing-field! kSecUseKeychain not bound +!missing-pinvoke! AuthorizationCopyInfo is not bound +!missing-pinvoke! AuthorizationCopyPrivilegedReference is not bound +!missing-pinvoke! AuthorizationCopyRights is not bound +!missing-pinvoke! AuthorizationCopyRightsAsync is not bound +!missing-pinvoke! AuthorizationCreateFromExternalForm is not bound +!missing-pinvoke! AuthorizationFreeItemSet is not bound +!missing-pinvoke! AuthorizationMakeExternalForm is not bound +!missing-pinvoke! AuthorizationPluginCreate is not bound +!missing-pinvoke! SecAsn1AllocCopy is not bound +!missing-pinvoke! SecAsn1AllocCopyItem is not bound +!missing-pinvoke! SecAsn1AllocItem is not bound +!missing-pinvoke! SecAsn1CoderCreate is not bound +!missing-pinvoke! SecAsn1CoderRelease is not bound +!missing-pinvoke! SecAsn1Decode is not bound +!missing-pinvoke! SecAsn1DecodeData is not bound +!missing-pinvoke! SecAsn1EncodeItem is not bound +!missing-pinvoke! SecAsn1Malloc is not bound +!missing-pinvoke! SecAsn1OidCompare is not bound +!missing-pinvoke! SecCodeCheckValidity is not bound +!missing-pinvoke! SecCodeCheckValidityWithErrors is not bound +!missing-pinvoke! SecCodeCopyDesignatedRequirement is not bound +!missing-pinvoke! SecCodeCopyHost is not bound +!missing-pinvoke! SecCodeCopyPath is not bound +!missing-pinvoke! SecCodeCopySelf is not bound +!missing-pinvoke! SecCodeCopySigningInformation is not bound +!missing-pinvoke! SecCodeCopyStaticCode is not bound +!missing-pinvoke! SecCodeGetTypeID is not bound +!missing-pinvoke! SecCodeMapMemory is not bound +!missing-pinvoke! SecRequirementCopyData is not bound +!missing-pinvoke! SecRequirementCopyString is not bound +!missing-pinvoke! SecRequirementCreateWithData is not bound +!missing-pinvoke! SecRequirementCreateWithString is not bound +!missing-pinvoke! SecRequirementCreateWithStringAndErrors is not bound +!missing-pinvoke! SecRequirementGetTypeID is not bound +!missing-pinvoke! SecStaticCodeCheckValidity is not bound +!missing-pinvoke! SecStaticCodeCheckValidityWithErrors is not bound +!missing-pinvoke! SecStaticCodeCreateWithPath is not bound +!missing-pinvoke! SecStaticCodeCreateWithPathAndAttributes is not bound +!missing-pinvoke! SecStaticCodeGetTypeID is not bound +!missing-pinvoke! SecureDownloadCopyCreationDate is not bound +!missing-pinvoke! SecureDownloadCopyName is not bound +!missing-pinvoke! SecureDownloadCopyTicketLocation is not bound +!missing-pinvoke! SecureDownloadCopyURLs is not bound +!missing-pinvoke! SecureDownloadCreateWithTicket is not bound +!missing-pinvoke! SecureDownloadFinished is not bound +!missing-pinvoke! SecureDownloadGetDownloadSize is not bound +!missing-pinvoke! SecureDownloadRelease is not bound +!missing-pinvoke! SecureDownloadUpdateWithData is not bound +!missing-pinvoke! SessionCreate is not bound +!missing-pinvoke! SessionGetInfo is not bound + +# Only shown MacCatalyst and there is not public documentation about them. + +!missing-pinvoke! sec_protocol_options_get_enable_encrypted_client_hello is not bound +!missing-pinvoke! sec_protocol_options_get_quic_use_legacy_codepoint is not bound +!missing-pinvoke! sec_protocol_options_set_enable_encrypted_client_hello is not bound +!missing-pinvoke! sec_protocol_options_set_peer_authentication_optional is not bound +!missing-pinvoke! sec_protocol_options_set_quic_use_legacy_codepoint is not bound diff --git a/tests/xtro-sharpie/MacCatalyst-Security.todo b/tests/xtro-sharpie/MacCatalyst-Security.todo deleted file mode 100644 index ad25ba2ee480..000000000000 --- a/tests/xtro-sharpie/MacCatalyst-Security.todo +++ /dev/null @@ -1,222 +0,0 @@ -!missing-enum! _SecureDownloadTrustCallbackResult not bound -!missing-enum! AuthorizationContextFlags not bound -!missing-enum! AuthorizationFlags not bound -!missing-enum! AuthorizationResult not bound -!missing-enum! SecCodeSignatureFlags not bound -!missing-enum! SecCodeStatus not bound -!missing-enum! SecCSDigestAlgorithm not bound -!missing-enum! SecCSFlags not bound -!missing-enum! SecRequirementType not bound -!missing-enum! SessionAttributeBits not bound -!missing-enum! SessionCreationFlags not bound -!missing-field! kSecAsn1AnyTemplate not bound -!missing-field! kSecAsn1BitStringTemplate not bound -!missing-field! kSecAsn1BMPStringTemplate not bound -!missing-field! kSecAsn1BooleanTemplate not bound -!missing-field! kSecAsn1EnumeratedTemplate not bound -!missing-field! kSecAsn1GeneralizedTimeTemplate not bound -!missing-field! kSecAsn1IA5StringTemplate not bound -!missing-field! kSecAsn1IntegerTemplate not bound -!missing-field! kSecAsn1NullTemplate not bound -!missing-field! kSecAsn1ObjectIDTemplate not bound -!missing-field! kSecAsn1OctetStringTemplate not bound -!missing-field! kSecAsn1PointerToAnyTemplate not bound -!missing-field! kSecAsn1PointerToBitStringTemplate not bound -!missing-field! kSecAsn1PointerToBMPStringTemplate not bound -!missing-field! kSecAsn1PointerToBooleanTemplate not bound -!missing-field! kSecAsn1PointerToEnumeratedTemplate not bound -!missing-field! kSecAsn1PointerToGeneralizedTimeTemplate not bound -!missing-field! kSecAsn1PointerToIA5StringTemplate not bound -!missing-field! kSecAsn1PointerToIntegerTemplate not bound -!missing-field! kSecAsn1PointerToNullTemplate not bound -!missing-field! kSecAsn1PointerToObjectIDTemplate not bound -!missing-field! kSecAsn1PointerToOctetStringTemplate not bound -!missing-field! kSecAsn1PointerToPrintableStringTemplate not bound -!missing-field! kSecAsn1PointerToT61StringTemplate not bound -!missing-field! kSecAsn1PointerToTeletexStringTemplate not bound -!missing-field! kSecAsn1PointerToUniversalStringTemplate not bound -!missing-field! kSecAsn1PointerToUTCTimeTemplate not bound -!missing-field! kSecAsn1PointerToUTF8StringTemplate not bound -!missing-field! kSecAsn1PointerToVisibleStringTemplate not bound -!missing-field! kSecAsn1PrintableStringTemplate not bound -!missing-field! kSecAsn1SequenceOfAnyTemplate not bound -!missing-field! kSecAsn1SequenceOfBitStringTemplate not bound -!missing-field! kSecAsn1SequenceOfBMPStringTemplate not bound -!missing-field! kSecAsn1SequenceOfBooleanTemplate not bound -!missing-field! kSecAsn1SequenceOfEnumeratedTemplate not bound -!missing-field! kSecAsn1SequenceOfGeneralizedTimeTemplate not bound -!missing-field! kSecAsn1SequenceOfIA5StringTemplate not bound -!missing-field! kSecAsn1SequenceOfIntegerTemplate not bound -!missing-field! kSecAsn1SequenceOfNullTemplate not bound -!missing-field! kSecAsn1SequenceOfObjectIDTemplate not bound -!missing-field! kSecAsn1SequenceOfOctetStringTemplate not bound -!missing-field! kSecAsn1SequenceOfPrintableStringTemplate not bound -!missing-field! kSecAsn1SequenceOfT61StringTemplate not bound -!missing-field! kSecAsn1SequenceOfTeletexStringTemplate not bound -!missing-field! kSecAsn1SequenceOfUniversalStringTemplate not bound -!missing-field! kSecAsn1SequenceOfUTCTimeTemplate not bound -!missing-field! kSecAsn1SequenceOfUTF8StringTemplate not bound -!missing-field! kSecAsn1SequenceOfVisibleStringTemplate not bound -!missing-field! kSecAsn1SetOfAnyTemplate not bound -!missing-field! kSecAsn1SetOfBitStringTemplate not bound -!missing-field! kSecAsn1SetOfBMPStringTemplate not bound -!missing-field! kSecAsn1SetOfBooleanTemplate not bound -!missing-field! kSecAsn1SetOfEnumeratedTemplate not bound -!missing-field! kSecAsn1SetOfGeneralizedTimeTemplate not bound -!missing-field! kSecAsn1SetOfIA5StringTemplate not bound -!missing-field! kSecAsn1SetOfIntegerTemplate not bound -!missing-field! kSecAsn1SetOfNullTemplate not bound -!missing-field! kSecAsn1SetOfObjectIDTemplate not bound -!missing-field! kSecAsn1SetOfOctetStringTemplate not bound -!missing-field! kSecAsn1SetOfPrintableStringTemplate not bound -!missing-field! kSecAsn1SetOfT61StringTemplate not bound -!missing-field! kSecAsn1SetOfTeletexStringTemplate not bound -!missing-field! kSecAsn1SetOfUniversalStringTemplate not bound -!missing-field! kSecAsn1SetOfUTCTimeTemplate not bound -!missing-field! kSecAsn1SetOfUTF8StringTemplate not bound -!missing-field! kSecAsn1SetOfVisibleStringTemplate not bound -!missing-field! kSecAsn1SkipTemplate not bound -!missing-field! kSecAsn1T61StringTemplate not bound -!missing-field! kSecAsn1TeletexStringTemplate not bound -!missing-field! kSecAsn1UniversalStringTemplate not bound -!missing-field! kSecAsn1UnsignedIntegerTemplate not bound -!missing-field! kSecAsn1UTCTimeTemplate not bound -!missing-field! kSecAsn1UTF8StringTemplate not bound -!missing-field! kSecAsn1VisibleStringTemplate not bound -!missing-field! kSecAttrAccess not bound -!missing-field! kSecAttrKeyType3DES not bound -!missing-field! kSecAttrKeyTypeAES not bound -!missing-field! kSecAttrKeyTypeCAST not bound -!missing-field! kSecAttrKeyTypeDES not bound -!missing-field! kSecAttrKeyTypeDSA not bound -!missing-field! kSecAttrKeyTypeECDSA not bound -!missing-field! kSecAttrKeyTypeRC2 not bound -!missing-field! kSecAttrKeyTypeRC4 not bound -!missing-field! kSecAttrPRF not bound -!missing-field! kSecAttrPRFHmacAlgSHA1 not bound -!missing-field! kSecAttrPRFHmacAlgSHA224 not bound -!missing-field! kSecAttrPRFHmacAlgSHA256 not bound -!missing-field! kSecAttrPRFHmacAlgSHA384 not bound -!missing-field! kSecAttrPRFHmacAlgSHA512 not bound -!missing-field! kSecAttrRounds not bound -!missing-field! kSecAttrSalt not bound -!missing-field! kSecCFErrorArchitecture not bound -!missing-field! kSecCFErrorGuestAttributes not bound -!missing-field! kSecCFErrorInfoPlist not bound -!missing-field! kSecCFErrorPath not bound -!missing-field! kSecCFErrorPattern not bound -!missing-field! kSecCFErrorRequirementSyntax not bound -!missing-field! kSecCFErrorResourceAdded not bound -!missing-field! kSecCFErrorResourceAltered not bound -!missing-field! kSecCFErrorResourceMissing not bound -!missing-field! kSecCFErrorResourceSeal not bound -!missing-field! kSecCFErrorResourceSideband not bound -!missing-field! kSecCodeAttributeArchitecture not bound -!missing-field! kSecCodeAttributeBundleVersion not bound -!missing-field! kSecCodeAttributeSubarchitecture not bound -!missing-field! kSecCodeAttributeUniversalFileOffset not bound -!missing-field! kSecCodeInfoCdHashes not bound -!missing-field! kSecCodeInfoCertificates not bound -!missing-field! kSecCodeInfoChangedFiles not bound -!missing-field! kSecCodeInfoCMS not bound -!missing-field! kSecCodeInfoDesignatedRequirement not bound -!missing-field! kSecCodeInfoDigestAlgorithm not bound -!missing-field! kSecCodeInfoDigestAlgorithms not bound -!missing-field! kSecCodeInfoEntitlements not bound -!missing-field! kSecCodeInfoEntitlementsDict not bound -!missing-field! kSecCodeInfoFlags not bound -!missing-field! kSecCodeInfoFormat not bound -!missing-field! kSecCodeInfoIdentifier not bound -!missing-field! kSecCodeInfoImplicitDesignatedRequirement not bound -!missing-field! kSecCodeInfoMainExecutable not bound -!missing-field! kSecCodeInfoPlatformIdentifier not bound -!missing-field! kSecCodeInfoPList not bound -!missing-field! kSecCodeInfoRequirementData not bound -!missing-field! kSecCodeInfoRequirements not bound -!missing-field! kSecCodeInfoRuntimeVersion not bound -!missing-field! kSecCodeInfoSource not bound -!missing-field! kSecCodeInfoStatus not bound -!missing-field! kSecCodeInfoTeamIdentifier not bound -!missing-field! kSecCodeInfoTime not bound -!missing-field! kSecCodeInfoTimestamp not bound -!missing-field! kSecCodeInfoTrust not bound -!missing-field! kSecCodeInfoUnique not bound -!missing-field! kSecGuestAttributeArchitecture not bound -!missing-field! kSecGuestAttributeAudit not bound -!missing-field! kSecGuestAttributeCanonical not bound -!missing-field! kSecGuestAttributeDynamicCode not bound -!missing-field! kSecGuestAttributeDynamicCodeInfoPlist not bound -!missing-field! kSecGuestAttributeHash not bound -!missing-field! kSecGuestAttributeMachPort not bound -!missing-field! kSecGuestAttributePid not bound -!missing-field! kSecGuestAttributeSubarchitecture not bound -!missing-field! kSecImportExportAccess not bound -!missing-field! kSecImportExportKeychain not bound -!missing-field! kSecMatchDiacriticInsensitive not bound -!missing-field! kSecMatchSubjectEndsWith not bound -!missing-field! kSecMatchSubjectStartsWith not bound -!missing-field! kSecMatchSubjectWholeString not bound -!missing-field! kSecMatchWidthInsensitive not bound -!missing-field! kSecPolicyApplePKINITClient not bound -!missing-field! kSecPolicyApplePKINITServer not bound -!missing-field! kSecUseKeychain not bound -!missing-pinvoke! AuthorizationCopyInfo is not bound -!missing-pinvoke! AuthorizationCopyPrivilegedReference is not bound -!missing-pinvoke! AuthorizationCopyRights is not bound -!missing-pinvoke! AuthorizationCopyRightsAsync is not bound -!missing-pinvoke! AuthorizationCreate is not bound -!missing-pinvoke! AuthorizationCreateFromExternalForm is not bound -!missing-pinvoke! AuthorizationExecuteWithPrivileges is not bound -!missing-pinvoke! AuthorizationFree is not bound -!missing-pinvoke! AuthorizationFreeItemSet is not bound -!missing-pinvoke! AuthorizationMakeExternalForm is not bound -!missing-pinvoke! AuthorizationPluginCreate is not bound -!missing-pinvoke! sec_protocol_options_set_peer_authentication_optional is not bound -!missing-pinvoke! SecAsn1AllocCopy is not bound -!missing-pinvoke! SecAsn1AllocCopyItem is not bound -!missing-pinvoke! SecAsn1AllocItem is not bound -!missing-pinvoke! SecAsn1CoderCreate is not bound -!missing-pinvoke! SecAsn1CoderRelease is not bound -!missing-pinvoke! SecAsn1Decode is not bound -!missing-pinvoke! SecAsn1DecodeData is not bound -!missing-pinvoke! SecAsn1EncodeItem is not bound -!missing-pinvoke! SecAsn1Malloc is not bound -!missing-pinvoke! SecAsn1OidCompare is not bound -!missing-pinvoke! SecCodeCheckValidity is not bound -!missing-pinvoke! SecCodeCheckValidityWithErrors is not bound -!missing-pinvoke! SecCodeCopyDesignatedRequirement is not bound -!missing-pinvoke! SecCodeCopyHost is not bound -!missing-pinvoke! SecCodeCopyPath is not bound -!missing-pinvoke! SecCodeCopySelf is not bound -!missing-pinvoke! SecCodeCopySigningInformation is not bound -!missing-pinvoke! SecCodeCopyStaticCode is not bound -!missing-pinvoke! SecCodeGetTypeID is not bound -!missing-pinvoke! SecCodeMapMemory is not bound -!missing-pinvoke! SecRequirementCopyData is not bound -!missing-pinvoke! SecRequirementCopyString is not bound -!missing-pinvoke! SecRequirementCreateWithData is not bound -!missing-pinvoke! SecRequirementCreateWithString is not bound -!missing-pinvoke! SecRequirementCreateWithStringAndErrors is not bound -!missing-pinvoke! SecRequirementGetTypeID is not bound -!missing-pinvoke! SecStaticCodeCheckValidity is not bound -!missing-pinvoke! SecStaticCodeCheckValidityWithErrors is not bound -!missing-pinvoke! SecStaticCodeCreateWithPath is not bound -!missing-pinvoke! SecStaticCodeCreateWithPathAndAttributes is not bound -!missing-pinvoke! SecStaticCodeGetTypeID is not bound -!missing-pinvoke! SecureDownloadCopyCreationDate is not bound -!missing-pinvoke! SecureDownloadCopyName is not bound -!missing-pinvoke! SecureDownloadCopyTicketLocation is not bound -!missing-pinvoke! SecureDownloadCopyURLs is not bound -!missing-pinvoke! SecureDownloadCreateWithTicket is not bound -!missing-pinvoke! SecureDownloadFinished is not bound -!missing-pinvoke! SecureDownloadGetDownloadSize is not bound -!missing-pinvoke! SecureDownloadRelease is not bound -!missing-pinvoke! SecureDownloadUpdateWithData is not bound -!missing-pinvoke! SessionCreate is not bound -!missing-pinvoke! SessionGetInfo is not bound -!missing-pinvoke! sec_protocol_options_get_enable_encrypted_client_hello is not bound -!missing-pinvoke! sec_protocol_options_set_enable_encrypted_client_hello is not bound -## appended from unclassified file -!missing-pinvoke! sec_protocol_options_get_quic_use_legacy_codepoint is not bound -!missing-pinvoke! sec_protocol_options_set_quic_use_legacy_codepoint is not bound -!missing-pinvoke! SecTrustCopyCertificateChain is not bound diff --git a/tests/xtro-sharpie/iOS-Security.todo b/tests/xtro-sharpie/iOS-Security.todo deleted file mode 100644 index e4fa6f23e56c..000000000000 --- a/tests/xtro-sharpie/iOS-Security.todo +++ /dev/null @@ -1,7 +0,0 @@ -!deprecated-attribute-missing! SecKeyDecrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyEncrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyGeneratePair missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawSign missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawVerify missing a [Deprecated] attribute -!deprecated-attribute-missing! SecTrustGetCertificateAtIndex missing a [Deprecated] attribute -!missing-pinvoke! SecTrustCopyCertificateChain is not bound diff --git a/tests/xtro-sharpie/macOS-Security.todo b/tests/xtro-sharpie/macOS-Security.todo deleted file mode 100644 index 93110ca2edca..000000000000 --- a/tests/xtro-sharpie/macOS-Security.todo +++ /dev/null @@ -1 +0,0 @@ -!missing-pinvoke! SecTrustCopyCertificateChain is not bound diff --git a/tests/xtro-sharpie/tvOS-Security.todo b/tests/xtro-sharpie/tvOS-Security.todo deleted file mode 100644 index e4fa6f23e56c..000000000000 --- a/tests/xtro-sharpie/tvOS-Security.todo +++ /dev/null @@ -1,7 +0,0 @@ -!deprecated-attribute-missing! SecKeyDecrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyEncrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyGeneratePair missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawSign missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawVerify missing a [Deprecated] attribute -!deprecated-attribute-missing! SecTrustGetCertificateAtIndex missing a [Deprecated] attribute -!missing-pinvoke! SecTrustCopyCertificateChain is not bound diff --git a/tests/xtro-sharpie/watchOS-Security.todo b/tests/xtro-sharpie/watchOS-Security.todo deleted file mode 100644 index e4fa6f23e56c..000000000000 --- a/tests/xtro-sharpie/watchOS-Security.todo +++ /dev/null @@ -1,7 +0,0 @@ -!deprecated-attribute-missing! SecKeyDecrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyEncrypt missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyGeneratePair missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawSign missing a [Deprecated] attribute -!deprecated-attribute-missing! SecKeyRawVerify missing a [Deprecated] attribute -!deprecated-attribute-missing! SecTrustGetCertificateAtIndex missing a [Deprecated] attribute -!missing-pinvoke! SecTrustCopyCertificateChain is not bound From 7dc6c9cffddf6c3c99fb4054d672b94314ed5093 Mon Sep 17 00:00:00 2001 From: VS MobileTools Engineering Service 2 Date: Mon, 9 Aug 2021 20:23:55 -0700 Subject: [PATCH 2/8] Localized file check-in by OneLocBuild Task (#12380) --- tools/mtouch/TranslatedAssemblies/Errors.cs.resx | 2 +- tools/mtouch/TranslatedAssemblies/Errors.ko.resx | 2 +- tools/mtouch/TranslatedAssemblies/Errors.pl.resx | 2 +- tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx | 2 +- tools/mtouch/TranslatedAssemblies/Errors.ru.resx | 2 +- tools/mtouch/TranslatedAssemblies/Errors.tr.resx | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/mtouch/TranslatedAssemblies/Errors.cs.resx b/tools/mtouch/TranslatedAssemblies/Errors.cs.resx index 6cbec6e5eab4..a821a28f713b 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.cs.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.cs.resx @@ -1727,6 +1727,6 @@ Neplatné kódování typu pro parametr - Unable to create an instance of the type {0}. + Nelze vytvořit instanci typu {0}. \ No newline at end of file diff --git a/tools/mtouch/TranslatedAssemblies/Errors.ko.resx b/tools/mtouch/TranslatedAssemblies/Errors.ko.resx index 1fb5d5091cb7..064f544ce683 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.ko.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.ko.resx @@ -1727,6 +1727,6 @@ 매개 변수에 대한 형식 인코딩이 잘못되었습니다. - Unable to create an instance of the type {0}. + {0} 형식의 인스턴스를 만들 수 없습니다. \ No newline at end of file diff --git a/tools/mtouch/TranslatedAssemblies/Errors.pl.resx b/tools/mtouch/TranslatedAssemblies/Errors.pl.resx index 6f1feac86ee0..31972d40dac0 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.pl.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.pl.resx @@ -1727,6 +1727,6 @@ Nieprawidłowe kodowanie typu dla parametru. - Unable to create an instance of the type {0}. + Nie można utworzyć wystąpienia typu {0}. \ No newline at end of file diff --git a/tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx b/tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx index 49136caff80a..be3b9e20bc13 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.pt-BR.resx @@ -1727,6 +1727,6 @@ Codificação de tipo inválida para o parâmetro. - Unable to create an instance of the type {0}. + Não foi possível criar uma instância do tipo {0}. \ No newline at end of file diff --git a/tools/mtouch/TranslatedAssemblies/Errors.ru.resx b/tools/mtouch/TranslatedAssemblies/Errors.ru.resx index 290d54f3087f..ab8e8d849b42 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.ru.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.ru.resx @@ -1727,6 +1727,6 @@ Недопустимое кодирование типа для параметра. - Unable to create an instance of the type {0}. + Невозможно создать экземпляр типа {0}. \ No newline at end of file diff --git a/tools/mtouch/TranslatedAssemblies/Errors.tr.resx b/tools/mtouch/TranslatedAssemblies/Errors.tr.resx index 2254f488271c..9fba48eff3b5 100644 --- a/tools/mtouch/TranslatedAssemblies/Errors.tr.resx +++ b/tools/mtouch/TranslatedAssemblies/Errors.tr.resx @@ -1727,6 +1727,6 @@ Parametrenin tür kodlaması geçersiz. - Unable to create an instance of the type {0}. + {0} türünde örnek oluşturulamıyor. \ No newline at end of file From 15ace257ab03286277f321774c4a12690f671bfa Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 10 Aug 2021 07:39:00 +0200 Subject: [PATCH 3/8] [msbuild] Delete any Mono crash dump files in the root app bundle before codesigning. Fixes #12320. (#12332) This is what happens: 1. Mono will write crash dumps in the current directory: https://github.com/dotnet/runtime/blob/57bfe474518ab5b7cfe6bf7424a79ce3af9d6657/src/mono/mono/utils/mono-state.c#L302-L322 2. The current directory is by default the root of the app bundle. 3. If there are any files in the root of the app bundle for macOS or Mac Catalyst, 'codesign' will fail ("unsealed contents present in the bundle root"). This leads to the following sequence of events: 1. App developer builds & runs a Mac Catalyst app. 2. The app crashes for some reason. 3. Mono creates a crash dump (in the root directory of the app bundle). 4. The app developer changes something in the project and tries again. 5. The build fails, because 'codesign' fails. Avoid this by deleting any crash dump files from the root of the app bundle before signing the app. --- .../Tasks/GetFileSystemEntriesTaskBase.cs | 42 +++++++++++++++++++ .../Tasks/GetFileSystemEntries.cs | 23 ++++++++++ msbuild/Xamarin.Shared/Xamarin.Shared.targets | 1 + .../Xamarin.iOS.Common.targets | 17 ++++++++ tests/dotnet/UnitTests/ProjectTest.cs | 24 +++++++++++ tests/dotnet/UnitTests/TestBaseClass.cs | 20 +++++++++ 6 files changed, 127 insertions(+) create mode 100644 msbuild/Xamarin.MacDev.Tasks.Core/Tasks/GetFileSystemEntriesTaskBase.cs create mode 100644 msbuild/Xamarin.MacDev.Tasks/Tasks/GetFileSystemEntries.cs diff --git a/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/GetFileSystemEntriesTaskBase.cs b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/GetFileSystemEntriesTaskBase.cs new file mode 100644 index 000000000000..3cb84c0284ed --- /dev/null +++ b/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/GetFileSystemEntriesTaskBase.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace Xamarin.MacDev.Tasks +{ + public abstract class GetFileSystemEntriesTaskBase : XamarinTask + { + #region Inputs + + [Required] + public string DirectoryPath { get; set; } + + [Required] + public string Pattern { get; set; } + + [Required] + public bool Recursive { get; set; } + #endregion + + #region Outputs + + [Output] + public ITaskItem[] Entries { get; set; } + + #endregion + + public override bool Execute () + { + var searchOption = Recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly; + var entriesFullPath = Directory.GetFileSystemEntries (DirectoryPath, Pattern, searchOption); + + Entries = entriesFullPath.Select (v => new TaskItem (v)).ToArray (); + + return !Log.HasLoggedErrors; + } + } +} diff --git a/msbuild/Xamarin.MacDev.Tasks/Tasks/GetFileSystemEntries.cs b/msbuild/Xamarin.MacDev.Tasks/Tasks/GetFileSystemEntries.cs new file mode 100644 index 000000000000..02646e06bdad --- /dev/null +++ b/msbuild/Xamarin.MacDev.Tasks/Tasks/GetFileSystemEntries.cs @@ -0,0 +1,23 @@ +using Microsoft.Build.Framework; +using Xamarin.Messaging.Build.Client; + +namespace Xamarin.MacDev.Tasks +{ + public class GetFileSystemEntries : GetFileSystemEntriesTaskBase, ICancelableTask + { + public override bool Execute () + { + if (ShouldExecuteRemotely ()) + return new TaskRunner (SessionId, BuildEngine4).RunAsync (this).Result; + + return base.Execute (); + } + + public void Cancel () + { + if (ShouldExecuteRemotely ()) + BuildConnection.CancelAsync (SessionId, BuildEngine4).Wait (); + } + } +} + diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index cabcceca00ef..20c1f05f6e8d 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -111,6 +111,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. + diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index e696034a34d5..f212dddf3645 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -778,6 +778,23 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. <_CodesignDisableTimestamp Condition="'$(_SdkIsSimulator)' == 'true' Or '$(_BundlerDebug)' == 'true'">True + + + + + + + (verbosity); + SetRuntimeIdentifiers (properties, runtimeIdentifiers); + + // Build + DotNet.AssertBuild (project_path, properties); + + // Simulate a crash dump + var crashDump = Path.Combine (appPath, "mono_crash.mem.123456.something.blob"); + File.WriteAllText (crashDump, "A crash dump"); + + // Build again + DotNet.AssertBuild (project_path, properties); + } + [Test] [TestCase (ApplePlatform.MacOSX, "osx-x64")] [TestCase (ApplePlatform.MacOSX, "osx-arm64")] diff --git a/tests/dotnet/UnitTests/TestBaseClass.cs b/tests/dotnet/UnitTests/TestBaseClass.cs index 51c9cb963e99..60d97c0d58ef 100644 --- a/tests/dotnet/UnitTests/TestBaseClass.cs +++ b/tests/dotnet/UnitTests/TestBaseClass.cs @@ -11,6 +11,7 @@ using Xamarin.Utils; using Xamarin.Tests; using Xamarin.MacDev; +using Xamarin.Utils; namespace Xamarin.Tests { [TestFixture] @@ -20,6 +21,25 @@ public abstract class TestBaseClass { { "MonoBundlingExtraArgs", "-v" }, }; + protected void SetRuntimeIdentifiers (Dictionary properties, string runtimeIdentifiers) + { + var multiRid = runtimeIdentifiers.IndexOf (';') >= 0 ? "RuntimeIdentifiers" : "RuntimeIdentifier"; + properties [multiRid] = runtimeIdentifiers; + } + + protected string GetProjectPath (string project, string runtimeIdentifiers, ApplePlatform platform, out string appPath, string subdir = null) + { + return GetProjectPath (project, null, runtimeIdentifiers, platform, out appPath); + } + + protected string GetProjectPath (string project, string subdir, string runtimeIdentifiers, ApplePlatform platform, out string appPath) + { + var rv = GetProjectPath (project, subdir, platform); + var appPathRuntimeIdentifier = runtimeIdentifiers.IndexOf (';') >= 0 ? "" : runtimeIdentifiers; + appPath = Path.Combine (Path.GetDirectoryName (rv), "bin", "Debug", platform.ToFramework (), appPathRuntimeIdentifier, project + ".app"); + return rv; + } + protected string GetProjectPath (string project, string subdir = null, ApplePlatform? platform = null) { var project_dir = Path.Combine (Configuration.SourceRoot, "tests", "dotnet", project); From 7b286adb47f1fbf8f849b6c4a91241d4a49db381 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 10 Aug 2021 07:40:00 +0200 Subject: [PATCH 4/8] [tests] Add a .NET version of framework-test to our test list. (#12373) --- .../dotnet/MacCatalyst/Makefile | 1 + .../bindings-framework-test.csproj | 13 ++++ .../dotnet/iOS/Makefile | 1 + .../dotnet/iOS/bindings-framework-test.csproj | 13 ++++ .../dotnet/macOS/Makefile | 1 + .../macOS/bindings-framework-test.csproj | 13 ++++ .../dotnet/shared.csproj | 62 +++++++++++++++++++ .../bindings-framework-test/dotnet/shared.mk | 22 +++++++ .../dotnet/tvOS/Makefile | 1 + .../tvOS/bindings-framework-test.csproj | 13 ++++ tests/common/shared-dotnet.csproj | 6 ++ .../dotnet/MacCatalyst/Info.plist | 14 +++++ .../dotnet/MacCatalyst/Makefile | 1 + .../dotnet/MacCatalyst/framework-test.csproj | 13 ++++ tests/framework-test/dotnet/Makefile | 8 +++ tests/framework-test/dotnet/iOS/Info.plist | 14 +++++ tests/framework-test/dotnet/iOS/Makefile | 1 + .../dotnet/iOS/framework-test.csproj | 13 ++++ tests/framework-test/dotnet/macOS/Info.plist | 14 +++++ tests/framework-test/dotnet/macOS/Makefile | 1 + .../dotnet/macOS/framework-test.csproj | 13 ++++ tests/framework-test/dotnet/shared.csproj | 43 +++++++++++++ tests/framework-test/dotnet/shared.mk | 29 +++++++++ tests/framework-test/dotnet/tvOS/Info.plist | 14 +++++ tests/framework-test/dotnet/tvOS/Makefile | 1 + .../dotnet/tvOS/framework-test.csproj | 13 ++++ tests/xharness/Harness.cs | 22 +++++++ tests/xharness/TestProject.cs | 3 +- 28 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 tests/bindings-framework-test/dotnet/MacCatalyst/Makefile create mode 100644 tests/bindings-framework-test/dotnet/MacCatalyst/bindings-framework-test.csproj create mode 100644 tests/bindings-framework-test/dotnet/iOS/Makefile create mode 100644 tests/bindings-framework-test/dotnet/iOS/bindings-framework-test.csproj create mode 100644 tests/bindings-framework-test/dotnet/macOS/Makefile create mode 100644 tests/bindings-framework-test/dotnet/macOS/bindings-framework-test.csproj create mode 100644 tests/bindings-framework-test/dotnet/shared.csproj create mode 100644 tests/bindings-framework-test/dotnet/shared.mk create mode 100644 tests/bindings-framework-test/dotnet/tvOS/Makefile create mode 100644 tests/bindings-framework-test/dotnet/tvOS/bindings-framework-test.csproj create mode 100644 tests/framework-test/dotnet/MacCatalyst/Info.plist create mode 100644 tests/framework-test/dotnet/MacCatalyst/Makefile create mode 100644 tests/framework-test/dotnet/MacCatalyst/framework-test.csproj create mode 100644 tests/framework-test/dotnet/Makefile create mode 100644 tests/framework-test/dotnet/iOS/Info.plist create mode 100644 tests/framework-test/dotnet/iOS/Makefile create mode 100644 tests/framework-test/dotnet/iOS/framework-test.csproj create mode 100644 tests/framework-test/dotnet/macOS/Info.plist create mode 100644 tests/framework-test/dotnet/macOS/Makefile create mode 100644 tests/framework-test/dotnet/macOS/framework-test.csproj create mode 100644 tests/framework-test/dotnet/shared.csproj create mode 100644 tests/framework-test/dotnet/shared.mk create mode 100644 tests/framework-test/dotnet/tvOS/Info.plist create mode 100644 tests/framework-test/dotnet/tvOS/Makefile create mode 100644 tests/framework-test/dotnet/tvOS/framework-test.csproj diff --git a/tests/bindings-framework-test/dotnet/MacCatalyst/Makefile b/tests/bindings-framework-test/dotnet/MacCatalyst/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/MacCatalyst/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/bindings-framework-test/dotnet/MacCatalyst/bindings-framework-test.csproj b/tests/bindings-framework-test/dotnet/MacCatalyst/bindings-framework-test.csproj new file mode 100644 index 000000000000..f35666216397 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/MacCatalyst/bindings-framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-maccatalyst + + + + + + + + + diff --git a/tests/bindings-framework-test/dotnet/iOS/Makefile b/tests/bindings-framework-test/dotnet/iOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/iOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/bindings-framework-test/dotnet/iOS/bindings-framework-test.csproj b/tests/bindings-framework-test/dotnet/iOS/bindings-framework-test.csproj new file mode 100644 index 000000000000..07d0bfb4fb49 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/iOS/bindings-framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-ios + + + + + + + + + diff --git a/tests/bindings-framework-test/dotnet/macOS/Makefile b/tests/bindings-framework-test/dotnet/macOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/macOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/bindings-framework-test/dotnet/macOS/bindings-framework-test.csproj b/tests/bindings-framework-test/dotnet/macOS/bindings-framework-test.csproj new file mode 100644 index 000000000000..f1a8342a1577 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/macOS/bindings-framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-macos + + + + + + + + + diff --git a/tests/bindings-framework-test/dotnet/shared.csproj b/tests/bindings-framework-test/dotnet/shared.csproj new file mode 100644 index 000000000000..1660b62579aa --- /dev/null +++ b/tests/bindings-framework-test/dotnet/shared.csproj @@ -0,0 +1,62 @@ + + + + Library + true + $(DefineConstants);NET + $(DefineConstants);NET;FRAMEWORK_TEST + latest + bindingstest + True + ..\..\..\..\product.snk + True + bindings-framework-test + + $([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)\..\..\..')) + $(RootTestsDirectory)\test-libraries + $(RootTestsDirectory)\bindings-framework-test + + + true + + $(DefineConstants);DEBUG + + + + + + + + + + libframework.m + + + libframework.h + + + + + + + + Framework + False + CoreLocation ModelIO + + + Framework + False + CoreLocation ModelIO + + + Framework + False + CoreLocation ModelIO + + + + + + + diff --git a/tests/bindings-framework-test/dotnet/shared.mk b/tests/bindings-framework-test/dotnet/shared.mk new file mode 100644 index 000000000000..97d95a62af34 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/shared.mk @@ -0,0 +1,22 @@ +TOP=../../../.. +include $(TOP)/Make.config +include $(TOP)/mk/colors.mk + +prepare: + $(Q) $(MAKE) -C $(TOP)/tests/dotnet copy-dotnet-config + +reload: + $(Q) rm -Rf $(TOP)/tests/dotnet/packages + $(Q) $(MAKE) -C $(TOP) -j8 all + $(Q) $(MAKE) -C $(TOP) -j8 install + $(Q) git clean -xfdq + +reload-and-build: + $(Q) $(MAKE) reload + $(Q) $(MAKE) build + +build: prepare + $(Q) $(DOTNET6) build /bl *.csproj $(MSBUILD_VERBOSITY) $(BUILD_ARGUMENTS) + +diag: prepare + $(Q) $(DOTNET6) build /v:diag msbuild.binlog diff --git a/tests/bindings-framework-test/dotnet/tvOS/Makefile b/tests/bindings-framework-test/dotnet/tvOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/tvOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/bindings-framework-test/dotnet/tvOS/bindings-framework-test.csproj b/tests/bindings-framework-test/dotnet/tvOS/bindings-framework-test.csproj new file mode 100644 index 000000000000..c34d0b9628f2 --- /dev/null +++ b/tests/bindings-framework-test/dotnet/tvOS/bindings-framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-tvos + + + + + + + + + diff --git a/tests/common/shared-dotnet.csproj b/tests/common/shared-dotnet.csproj index 837cc47da625..98db86e232f1 100644 --- a/tests/common/shared-dotnet.csproj +++ b/tests/common/shared-dotnet.csproj @@ -1,9 +1,12 @@ + + xamarinios10;$(AssetTargetFallback) + ios-fat @@ -13,6 +16,7 @@ $(DefineConstants);XAMCORE_3_0 xamarintvos10;$(AssetTargetFallback) + tvos-fat @@ -21,11 +25,13 @@ $(DefineConstants);MONOMAC + macos-fat xamarinios10;$(AssetTargetFallback) + maccatalyst-fat diff --git a/tests/framework-test/dotnet/MacCatalyst/Info.plist b/tests/framework-test/dotnet/MacCatalyst/Info.plist new file mode 100644 index 000000000000..57d3d37216c7 --- /dev/null +++ b/tests/framework-test/dotnet/MacCatalyst/Info.plist @@ -0,0 +1,14 @@ + + + + + CFBundleDisplayName + framework-test + CFBundleIdentifier + com.xamarin.framework-test + CFBundleName + framework-test + LSMinimumSystemVersion + 10.15 + + diff --git a/tests/framework-test/dotnet/MacCatalyst/Makefile b/tests/framework-test/dotnet/MacCatalyst/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/framework-test/dotnet/MacCatalyst/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/framework-test/dotnet/MacCatalyst/framework-test.csproj b/tests/framework-test/dotnet/MacCatalyst/framework-test.csproj new file mode 100644 index 000000000000..f35666216397 --- /dev/null +++ b/tests/framework-test/dotnet/MacCatalyst/framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-maccatalyst + + + + + + + + + diff --git a/tests/framework-test/dotnet/Makefile b/tests/framework-test/dotnet/Makefile new file mode 100644 index 000000000000..c07acf79f160 --- /dev/null +++ b/tests/framework-test/dotnet/Makefile @@ -0,0 +1,8 @@ +TOP=../../.. +include $(TOP)/Make.config + +build-all: + for platform in $(DOTNET_PLATFORMS); do \ + echo "Building in $$platform"; \ + $(MAKE) -C "$$platform" build; \ + done diff --git a/tests/framework-test/dotnet/iOS/Info.plist b/tests/framework-test/dotnet/iOS/Info.plist new file mode 100644 index 000000000000..868defadfb88 --- /dev/null +++ b/tests/framework-test/dotnet/iOS/Info.plist @@ -0,0 +1,14 @@ + + + + + CFBundleDisplayName + framework-test + CFBundleIdentifier + com.xamarin.framework-test + CFBundleName + framework-test + MinimumOSVersion + 10.0 + + diff --git a/tests/framework-test/dotnet/iOS/Makefile b/tests/framework-test/dotnet/iOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/framework-test/dotnet/iOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/framework-test/dotnet/iOS/framework-test.csproj b/tests/framework-test/dotnet/iOS/framework-test.csproj new file mode 100644 index 000000000000..07d0bfb4fb49 --- /dev/null +++ b/tests/framework-test/dotnet/iOS/framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-ios + + + + + + + + + diff --git a/tests/framework-test/dotnet/macOS/Info.plist b/tests/framework-test/dotnet/macOS/Info.plist new file mode 100644 index 000000000000..e33e4dc33280 --- /dev/null +++ b/tests/framework-test/dotnet/macOS/Info.plist @@ -0,0 +1,14 @@ + + + + + CFBundleDisplayName + framework-test + CFBundleIdentifier + com.xamarin.framework-test + CFBundleName + framework-test + LSMinimumSystemVersion + 10.14 + + diff --git a/tests/framework-test/dotnet/macOS/Makefile b/tests/framework-test/dotnet/macOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/framework-test/dotnet/macOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/framework-test/dotnet/macOS/framework-test.csproj b/tests/framework-test/dotnet/macOS/framework-test.csproj new file mode 100644 index 000000000000..f1a8342a1577 --- /dev/null +++ b/tests/framework-test/dotnet/macOS/framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-macos + + + + + + + + + diff --git a/tests/framework-test/dotnet/shared.csproj b/tests/framework-test/dotnet/shared.csproj new file mode 100644 index 000000000000..48943019ff5c --- /dev/null +++ b/tests/framework-test/dotnet/shared.csproj @@ -0,0 +1,43 @@ + + + + Exe + $(DefineConstants);NET + latest + frameworktest + + $([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)\..\..\..')) + $(RootTestsDirectory)\test-libraries + $(RootTestsDirectory)\framework-test + + + true + + $(DefineConstants);DEBUG + + + + + + + + + + + + + + + + Resources\Default-568h%402x.png + + + + + + + + + + + diff --git a/tests/framework-test/dotnet/shared.mk b/tests/framework-test/dotnet/shared.mk new file mode 100644 index 000000000000..bc7ccd259626 --- /dev/null +++ b/tests/framework-test/dotnet/shared.mk @@ -0,0 +1,29 @@ +TOP=../../../.. +include $(TOP)/Make.config +include $(TOP)/mk/colors.mk + +prepare: + $(Q) $(MAKE) -C $(TOP)/tests/dotnet copy-dotnet-config + +reload: + $(Q) rm -Rf $(TOP)/tests/dotnet/packages + $(Q) $(MAKE) -C $(TOP) -j8 all + $(Q) $(MAKE) -C $(TOP) -j8 install + $(Q) git clean -xfdq + +reload-and-build: + $(Q) $(MAKE) reload + $(Q) $(MAKE) build + +reload-and-run: + $(Q) $(MAKE) reload + $(Q) $(MAKE) run + +build: prepare + $(Q) $(DOTNET6) build /bl *.csproj $(MSBUILD_VERBOSITY) $(BUILD_ARGUMENTS) + +run: prepare + $(Q) $(DOTNET6) build /bl *.csproj $(MSBUILD_VERBOSITY) $(BUILD_ARGUMENTS) -t:Run + +diag: prepare + $(Q) $(DOTNET6) build /v:diag msbuild.binlog diff --git a/tests/framework-test/dotnet/tvOS/Info.plist b/tests/framework-test/dotnet/tvOS/Info.plist new file mode 100644 index 000000000000..868defadfb88 --- /dev/null +++ b/tests/framework-test/dotnet/tvOS/Info.plist @@ -0,0 +1,14 @@ + + + + + CFBundleDisplayName + framework-test + CFBundleIdentifier + com.xamarin.framework-test + CFBundleName + framework-test + MinimumOSVersion + 10.0 + + diff --git a/tests/framework-test/dotnet/tvOS/Makefile b/tests/framework-test/dotnet/tvOS/Makefile new file mode 100644 index 000000000000..110d078f4577 --- /dev/null +++ b/tests/framework-test/dotnet/tvOS/Makefile @@ -0,0 +1 @@ +include ../shared.mk diff --git a/tests/framework-test/dotnet/tvOS/framework-test.csproj b/tests/framework-test/dotnet/tvOS/framework-test.csproj new file mode 100644 index 000000000000..c34d0b9628f2 --- /dev/null +++ b/tests/framework-test/dotnet/tvOS/framework-test.csproj @@ -0,0 +1,13 @@ + + + + net6.0-tvos + + + + + + + + + diff --git a/tests/xharness/Harness.cs b/tests/xharness/Harness.cs index 67f5a7744d20..39543ac56354 100644 --- a/tests/xharness/Harness.cs +++ b/tests/xharness/Harness.cs @@ -375,6 +375,24 @@ int AutoConfigureMac (bool generate_projects) TestPlatform = TestPlatform.MacCatalyst, }); + MacTestProjects.Add (new MacTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "framework-test", "dotnet", "macOS", "framework-test.csproj"))) { + Name = "framework-test", + IsDotNetProject = true, + TargetFrameworkFlavors = MacFlavors.DotNet, + Platform = "AnyCPU", + Ignore = true, // TODO: these tests fail currently !ENABLE_DOTNET, + TestPlatform = TestPlatform.Mac, + }); + + MacTestProjects.Add (new MacTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "framework-test", "dotnet", "MacCatalyst", "framework-test.csproj"))) { + Name = "framework-test", + IsDotNetProject = true, + TargetFrameworkFlavors = MacFlavors.MacCatalyst, + Platform = "AnyCPU", + Ignore = true, // TODO: these tests fail currently !ENABLE_DOTNET, + TestPlatform = TestPlatform.MacCatalyst, + }); + var monoImportTestFactory = new BCLTestImportTargetFactory (this); MacTestProjects.AddRange (monoImportTestFactory.GetMacBclTargets ()); @@ -504,6 +522,10 @@ void AutoConfigureIOS () IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "fsharp", "dotnet", "iOS", "fsharp.fsproj"))) { Name = "fsharp", IsDotNetProject = true, SkipiOSVariation = false, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, SkipMacCatalystVariation = true, TestPlatform = TestPlatform.iOS_Unified, }); IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "fsharp", "dotnet", "tvOS", "fsharp.fsproj"))) { Name = "fsharp", IsDotNetProject = true, SkipiOSVariation = true, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, GenerateVariations = false, TestPlatform = TestPlatform.tvOS, }); + // framework-test + IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "framework-test", "dotnet", "iOS", "framework-test.csproj"))) { Name = "framework-test", IsDotNetProject = true, SkipiOSVariation = false, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, SkipMacCatalystVariation = true, TestPlatform = TestPlatform.iOS_Unified, Ignore = true /* This test currently fails */, }); + IOSTestProjects.Add (new iOSTestProject (Path.GetFullPath (Path.Combine (RootDirectory, "framework-test", "dotnet", "tvOS", "framework-test.csproj"))) { Name = "framework-test", IsDotNetProject = true, SkipiOSVariation = true, SkiptvOSVariation = true, SkipwatchOSVariation = true, SkipTodayExtensionVariation = true, SkipDeviceVariations = false, SkipiOS32Variation = true, GenerateVariations = false, TestPlatform = TestPlatform.tvOS, Ignore = true /* This test currently fails */, }); + foreach (var flavor in new MonoNativeFlavor [] { MonoNativeFlavor.Compat, MonoNativeFlavor.Unified }) { var monoNativeInfo = new MonoNativeInfo (DevicePlatform.iOS, flavor, RootDirectory, Log); var iosTestProject = new iOSTestProject (monoNativeInfo.ProjectPath) { diff --git a/tests/xharness/TestProject.cs b/tests/xharness/TestProject.cs index b7e4e3e7ad7a..17d874eb2cad 100644 --- a/tests/xharness/TestProject.cs +++ b/tests/xharness/TestProject.cs @@ -112,7 +112,7 @@ async Task CreateCopyAsync (ILog log, IProcessManager processManager, ITestTask continue; if (TestPlatform == TestPlatform.None) - throw new InvalidOperationException ($"The project ?{original_path}' did not set the TestPlatform property."); + throw new InvalidOperationException ($"The project '{original_path}' did not set the TestPlatform property."); var sharedProjectPath = System.IO.Path.Combine (System.IO.Path.GetDirectoryName (original_path), project); // Check for variables that won't work correctly if the shared code is moved to a different file @@ -232,6 +232,7 @@ async Task CreateCopyAsync (ILog log, IProcessManager processManager, ITestTask var prPath = pr.Replace ('\\', '/'); if (!allProjectReferences.TryGetValue (prPath, out var tp)) { tp = new TestProject (pr.Replace ('\\', '/')); + tp.TestPlatform = TestPlatform; await tp.CreateCopyAsync (log, processManager, test, rootDirectory, allProjectReferences); allProjectReferences.Add (prPath, tp); } From 92737042677014762021e3679af0713952345397 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 10 Aug 2021 13:40:25 +0200 Subject: [PATCH 5/8] [xtro] Ignore Obsoleted enums in EnumCheck. (#12390) Treat [Obsoleted] enums as [Obsolete] enums: ignore them. This makes it possible to remove a few ignored entries. --- tests/xtro-sharpie/AttributeHelpers.cs | 13 ++++++++++++ tests/xtro-sharpie/EnumCheck.cs | 20 +++++++++++++++++-- tests/xtro-sharpie/iOS-CoreTelephony.ignore | 2 -- tests/xtro-sharpie/iOS-iAd.ignore | 5 ----- tests/xtro-sharpie/macOS-Intents.todo | 6 ------ tests/xtro-sharpie/macOS-QTKit.ignore | 6 ------ .../xtro-sharpie/macOS-SafariServices.ignore | 3 --- 7 files changed, 31 insertions(+), 24 deletions(-) delete mode 100644 tests/xtro-sharpie/iOS-iAd.ignore delete mode 100644 tests/xtro-sharpie/macOS-QTKit.ignore diff --git a/tests/xtro-sharpie/AttributeHelpers.cs b/tests/xtro-sharpie/AttributeHelpers.cs index 64f1d9fd85b2..bc6130e5899e 100644 --- a/tests/xtro-sharpie/AttributeHelpers.cs +++ b/tests/xtro-sharpie/AttributeHelpers.cs @@ -104,6 +104,19 @@ public static bool HasAnyDeprecationForCurrentPlatform (ICustomAttributeProvider return false; } + public static bool HasAnyObsoleted (ICustomAttributeProvider item) + { + if (Skip (item)) + return false; + + foreach (var attribute in item.CustomAttributes) { + if (AttributeHelpers.HasObsoleted (attribute, Helpers.Platform)) + return true; + } + + return false; + } + static Platforms[] GetRelatedPlatforms () { // TV and Watch also implictly accept iOS diff --git a/tests/xtro-sharpie/EnumCheck.cs b/tests/xtro-sharpie/EnumCheck.cs index cb1d0155cf73..07c95bb3bf5c 100644 --- a/tests/xtro-sharpie/EnumCheck.cs +++ b/tests/xtro-sharpie/EnumCheck.cs @@ -10,6 +10,7 @@ namespace Extrospection { class EnumCheck : BaseVisitor { Dictionary enums = new Dictionary (StringComparer.InvariantCultureIgnoreCase); + Dictionary obsoleted_enums = new Dictionary (); Dictionary managed_signed_values = new Dictionary (); Dictionary managed_unsigned_values = new Dictionary (); Dictionary native_signed_values = new Dictionary (); @@ -21,11 +22,19 @@ public override void VisitManagedType (TypeDefinition type) if (!type.IsEnum || type.IsNested) return; + var name = type.Name; + // exclude obsolete enums, presumably we already know there's something wrong with them if they've been obsoleted. - if (type.IsObsolete ()) + if (type.IsObsolete ()) { + obsoleted_enums [name] = type; return; + } + + if (AttributeHelpers.HasAnyObsoleted (type)) { + obsoleted_enums [name] = type; + return; + } - var name = type.Name; // e.g. WatchKit.WKErrorCode and WebKit.WKErrorCode :-( if (!enums.TryGetValue (name, out var td)) enums.Add (name, type); @@ -62,6 +71,11 @@ public override void VisitEnumDecl (EnumDecl decl, VisitKind visitKind) return; var mname = Helpers.GetManagedName (name); + + // If our enum is obsoleted, then don't process it. + if (obsoleted_enums.ContainsKey (mname)) + return; + if (!enums.TryGetValue (mname, out var type)) { Log.On (framework).Add ($"!missing-enum! {name} not bound"); return; @@ -296,6 +310,8 @@ public override void End () // e.g. a typo in the name foreach (var extra in enums) { var t = extra.Value; + if (obsoleted_enums.ContainsKey (t.Name)) + continue; if (!IsNative (t)) continue; var framework = Helpers.GetFramework (t); diff --git a/tests/xtro-sharpie/iOS-CoreTelephony.ignore b/tests/xtro-sharpie/iOS-CoreTelephony.ignore index ffe0a5002246..70625b1d9c79 100644 --- a/tests/xtro-sharpie/iOS-CoreTelephony.ignore +++ b/tests/xtro-sharpie/iOS-CoreTelephony.ignore @@ -13,8 +13,6 @@ !unknown-field! CTRadioAccessTechnologyNR bound !unknown-field! CTRadioAccessTechnologyNRNSA bound !unknown-field! CTServiceRadioAccessTechnologyDidChangeNotification bound -!unknown-native-enum! CTCellularDataRestrictedState bound -!unknown-native-enum! CTCellularPlanProvisioningAddPlanResult bound !unknown-protocol! CTSubscriberDelegate bound !unknown-protocol! CTTelephonyNetworkInfoDelegate bound !unknown-type! CTCall bound diff --git a/tests/xtro-sharpie/iOS-iAd.ignore b/tests/xtro-sharpie/iOS-iAd.ignore deleted file mode 100644 index 8ce265491efd..000000000000 --- a/tests/xtro-sharpie/iOS-iAd.ignore +++ /dev/null @@ -1,5 +0,0 @@ -## removed in Xcode 13 beta 1 -## enums kept for binary compatibility -!unknown-native-enum! ADAdType bound -!unknown-native-enum! ADError bound -!unknown-native-enum! ADInterstitialPresentationPolicy bound diff --git a/tests/xtro-sharpie/macOS-Intents.todo b/tests/xtro-sharpie/macOS-Intents.todo index e89f2735468b..20471b7ce8dd 100644 --- a/tests/xtro-sharpie/macOS-Intents.todo +++ b/tests/xtro-sharpie/macOS-Intents.todo @@ -1,13 +1,7 @@ ## appended from unclassified file !missing-enum! INCallAudioRoute not bound -!missing-enum! INCallCapability not bound -!missing-enum! INCallCapabilityOptions not bound -!missing-enum! INCallDestinationType not bound -!missing-enum! INCallRecordTypeOptions not bound !missing-enum! INFocusStatusAuthorizationStatus not bound !missing-enum! INOutgoingMessageType not bound -!missing-enum! INSendMessageIntentResponseCode not bound -!missing-enum! INSendMessageRecipientUnsupportedReason not bound !missing-enum! INShareFocusStatusIntentResponseCode not bound !missing-enum! INStartCallCallRecordToCallBackUnsupportedReason not bound !missing-protocol! INShareFocusStatusIntentHandling not bound diff --git a/tests/xtro-sharpie/macOS-QTKit.ignore b/tests/xtro-sharpie/macOS-QTKit.ignore deleted file mode 100644 index 3a0bec1364f5..000000000000 --- a/tests/xtro-sharpie/macOS-QTKit.ignore +++ /dev/null @@ -1,6 +0,0 @@ -## QTKit headers were removed - but our API still exists for binary compatibility (and the linker can remove them) - -!unknown-native-enum! QTCaptureDestination bound -!unknown-native-enum! QTCaptureDeviceControlsSpeed bound -!unknown-native-enum! QTCaptureDevicePlaybackMode bound -!unknown-native-enum! QTError bound diff --git a/tests/xtro-sharpie/macOS-SafariServices.ignore b/tests/xtro-sharpie/macOS-SafariServices.ignore index 18a1cdbc6534..ca2b8aa6fb78 100644 --- a/tests/xtro-sharpie/macOS-SafariServices.ignore +++ b/tests/xtro-sharpie/macOS-SafariServices.ignore @@ -4,6 +4,3 @@ !missing-selector! SFSafariExtensionState::isEnabled not bound !missing-type! SFSafariExtensionManager not bound !missing-type! SFSafariExtensionState not bound - -## it's present but it's unused and the [Obsolete] attribute skips it (so it's reported) -!missing-enum! SFSafariServicesVersion not bound From c5573db36064f3c30fd1de63fc5f0fb1c7db5cc0 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 10 Aug 2021 10:15:34 -0400 Subject: [PATCH 6/8] [OpenGL] Add support for xcode 13 beta4. (#12394) --- ...ES].todo => MacCatalyst-OpenGL[ES].ignore} | 415 +++++++++--------- 1 file changed, 209 insertions(+), 206 deletions(-) rename tests/xtro-sharpie/{MacCatalyst-OpenGL[ES].todo => MacCatalyst-OpenGL[ES].ignore} (99%) diff --git a/tests/xtro-sharpie/MacCatalyst-OpenGL[ES].todo b/tests/xtro-sharpie/MacCatalyst-OpenGL[ES].ignore similarity index 99% rename from tests/xtro-sharpie/MacCatalyst-OpenGL[ES].todo rename to tests/xtro-sharpie/MacCatalyst-OpenGL[ES].ignore index a62be21954a0..d6032bc7aba2 100644 --- a/tests/xtro-sharpie/MacCatalyst-OpenGL[ES].todo +++ b/tests/xtro-sharpie/MacCatalyst-OpenGL[ES].ignore @@ -1,32 +1,56 @@ +# ignored in macOS !missing-enum! _CGLContextEnable not bound !missing-enum! _CGLContextParameter not bound !missing-enum! _CGLError not bound -!missing-enum! _CGLGlobalOption not bound !missing-enum! _CGLGPURestartStatus not bound +!missing-enum! _CGLGlobalOption not bound !missing-enum! _CGLOpenGLProfile not bound !missing-enum! _CGLPixelFormatAttribute not bound !missing-enum! _CGLRendererProperty not bound +!missing-pinvoke! CGLClearDrawable is not bound +!missing-pinvoke! CGLCopyContext is not bound +!missing-pinvoke! CGLCreateContext is not bound +!missing-pinvoke! CGLCreatePBuffer is not bound +!missing-pinvoke! CGLDescribePBuffer is not bound +!missing-pinvoke! CGLDescribePixelFormat is not bound +!missing-pinvoke! CGLDescribeRenderer is not bound +!missing-pinvoke! CGLDestroyContext is not bound +!missing-pinvoke! CGLDestroyPBuffer is not bound +!missing-pinvoke! CGLDestroyPixelFormat is not bound +!missing-pinvoke! CGLDestroyRendererInfo is not bound +!missing-pinvoke! CGLDisable is not bound +!missing-pinvoke! CGLEnable is not bound +!missing-pinvoke! CGLErrorString is not bound +!missing-pinvoke! CGLFlushDrawable is not bound +!missing-pinvoke! CGLGetContextRetainCount is not bound +!missing-pinvoke! CGLGetDeviceFromGLRenderer is not bound +!missing-pinvoke! CGLGetGlobalOption is not bound +!missing-pinvoke! CGLGetOffScreen is not bound +!missing-pinvoke! CGLGetOption is not bound +!missing-pinvoke! CGLGetPBuffer is not bound +!missing-pinvoke! CGLGetPBufferRetainCount is not bound +!missing-pinvoke! CGLGetParameter is not bound +!missing-pinvoke! CGLGetPixelFormat is not bound +!missing-pinvoke! CGLGetPixelFormatRetainCount is not bound +!missing-pinvoke! CGLGetShareGroup is not bound +!missing-pinvoke! CGLGetVersion is not bound +!missing-pinvoke! CGLGetVirtualScreen is not bound +!missing-pinvoke! CGLIsEnabled is not bound +!missing-pinvoke! CGLQueryRendererInfo is not bound +!missing-pinvoke! CGLReleasePBuffer is not bound +!missing-pinvoke! CGLRetainPBuffer is not bound +!missing-pinvoke! CGLSetFullScreen is not bound +!missing-pinvoke! CGLSetFullScreenOnDisplay is not bound +!missing-pinvoke! CGLSetGlobalOption is not bound +!missing-pinvoke! CGLSetOffScreen is not bound +!missing-pinvoke! CGLSetOption is not bound +!missing-pinvoke! CGLSetPBuffer is not bound +!missing-pinvoke! CGLSetParameter is not bound +!missing-pinvoke! CGLSetVirtualScreen is not bound +!missing-pinvoke! CGLTexImageIOSurface2D is not bound +!missing-pinvoke! CGLTexImagePBuffer is not bound +!missing-pinvoke! CGLUpdateContext is not bound !missing-pinvoke! alBufferData is not bound -!missing-pinvoke! alcCaptureCloseDevice is not bound -!missing-pinvoke! alcCaptureOpenDevice is not bound -!missing-pinvoke! alcCaptureSamples is not bound -!missing-pinvoke! alcCaptureStart is not bound -!missing-pinvoke! alcCaptureStop is not bound -!missing-pinvoke! alcCloseDevice is not bound -!missing-pinvoke! alcCreateContext is not bound -!missing-pinvoke! alcDestroyContext is not bound -!missing-pinvoke! alcGetContextsDevice is not bound -!missing-pinvoke! alcGetCurrentContext is not bound -!missing-pinvoke! alcGetEnumValue is not bound -!missing-pinvoke! alcGetError is not bound -!missing-pinvoke! alcGetIntegerv is not bound -!missing-pinvoke! alcGetProcAddress is not bound -!missing-pinvoke! alcGetString is not bound -!missing-pinvoke! alcIsExtensionPresent is not bound -!missing-pinvoke! alcMakeContextCurrent is not bound -!missing-pinvoke! alcOpenDevice is not bound -!missing-pinvoke! alcProcessContext is not bound -!missing-pinvoke! alcSuspendContext is not bound !missing-pinvoke! alDeleteBuffers is not bound !missing-pinvoke! alDeleteSources is not bound !missing-pinvoke! alDisable is not bound @@ -58,8 +82,6 @@ !missing-pinvoke! alListenerfv is not bound !missing-pinvoke! alSource3f is not bound !missing-pinvoke! alSource3i is not bound -!missing-pinvoke! alSourcef is not bound -!missing-pinvoke! alSourcei is not bound !missing-pinvoke! alSourcePause is not bound !missing-pinvoke! alSourcePausev is not bound !missing-pinvoke! alSourcePlay is not bound @@ -70,59 +92,29 @@ !missing-pinvoke! alSourceStop is not bound !missing-pinvoke! alSourceStopv is not bound !missing-pinvoke! alSourceUnqueueBuffers is not bound +!missing-pinvoke! alSourcef is not bound +!missing-pinvoke! alSourcei is not bound !missing-pinvoke! alSpeedOfSound is not bound -!missing-pinvoke! CGLChoosePixelFormat is not bound -!missing-pinvoke! CGLClearDrawable is not bound -!missing-pinvoke! CGLCopyContext is not bound -!missing-pinvoke! CGLCreateContext is not bound -!missing-pinvoke! CGLCreatePBuffer is not bound -!missing-pinvoke! CGLDescribePBuffer is not bound -!missing-pinvoke! CGLDescribePixelFormat is not bound -!missing-pinvoke! CGLDescribeRenderer is not bound -!missing-pinvoke! CGLDestroyContext is not bound -!missing-pinvoke! CGLDestroyPBuffer is not bound -!missing-pinvoke! CGLDestroyPixelFormat is not bound -!missing-pinvoke! CGLDestroyRendererInfo is not bound -!missing-pinvoke! CGLDisable is not bound -!missing-pinvoke! CGLEnable is not bound -!missing-pinvoke! CGLErrorString is not bound -!missing-pinvoke! CGLFlushDrawable is not bound -!missing-pinvoke! CGLGetContextRetainCount is not bound -!missing-pinvoke! CGLGetCurrentContext is not bound -!missing-pinvoke! CGLGetDeviceFromGLRenderer is not bound -!missing-pinvoke! CGLGetGlobalOption is not bound -!missing-pinvoke! CGLGetOffScreen is not bound -!missing-pinvoke! CGLGetOption is not bound -!missing-pinvoke! CGLGetParameter is not bound -!missing-pinvoke! CGLGetPBuffer is not bound -!missing-pinvoke! CGLGetPBufferRetainCount is not bound -!missing-pinvoke! CGLGetPixelFormat is not bound -!missing-pinvoke! CGLGetPixelFormatRetainCount is not bound -!missing-pinvoke! CGLGetShareGroup is not bound -!missing-pinvoke! CGLGetVersion is not bound -!missing-pinvoke! CGLGetVirtualScreen is not bound -!missing-pinvoke! CGLIsEnabled is not bound -!missing-pinvoke! CGLLockContext is not bound -!missing-pinvoke! CGLQueryRendererInfo is not bound -!missing-pinvoke! CGLReleaseContext is not bound -!missing-pinvoke! CGLReleasePBuffer is not bound -!missing-pinvoke! CGLReleasePixelFormat is not bound -!missing-pinvoke! CGLRetainContext is not bound -!missing-pinvoke! CGLRetainPBuffer is not bound -!missing-pinvoke! CGLRetainPixelFormat is not bound -!missing-pinvoke! CGLSetCurrentContext is not bound -!missing-pinvoke! CGLSetFullScreen is not bound -!missing-pinvoke! CGLSetFullScreenOnDisplay is not bound -!missing-pinvoke! CGLSetGlobalOption is not bound -!missing-pinvoke! CGLSetOffScreen is not bound -!missing-pinvoke! CGLSetOption is not bound -!missing-pinvoke! CGLSetParameter is not bound -!missing-pinvoke! CGLSetPBuffer is not bound -!missing-pinvoke! CGLSetVirtualScreen is not bound -!missing-pinvoke! CGLTexImageIOSurface2D is not bound -!missing-pinvoke! CGLTexImagePBuffer is not bound -!missing-pinvoke! CGLUnlockContext is not bound -!missing-pinvoke! CGLUpdateContext is not bound +!missing-pinvoke! alcCaptureCloseDevice is not bound +!missing-pinvoke! alcCaptureOpenDevice is not bound +!missing-pinvoke! alcCaptureSamples is not bound +!missing-pinvoke! alcCaptureStart is not bound +!missing-pinvoke! alcCaptureStop is not bound +!missing-pinvoke! alcCloseDevice is not bound +!missing-pinvoke! alcCreateContext is not bound +!missing-pinvoke! alcDestroyContext is not bound +!missing-pinvoke! alcGetContextsDevice is not bound +!missing-pinvoke! alcGetCurrentContext is not bound +!missing-pinvoke! alcGetEnumValue is not bound +!missing-pinvoke! alcGetError is not bound +!missing-pinvoke! alcGetIntegerv is not bound +!missing-pinvoke! alcGetProcAddress is not bound +!missing-pinvoke! alcGetString is not bound +!missing-pinvoke! alcIsExtensionPresent is not bound +!missing-pinvoke! alcMakeContextCurrent is not bound +!missing-pinvoke! alcOpenDevice is not bound +!missing-pinvoke! alcProcessContext is not bound +!missing-pinvoke! alcSuspendContext is not bound !missing-pinvoke! glAccum is not bound !missing-pinvoke! glActiveShaderProgram is not bound !missing-pinvoke! glActiveStencilFaceEXT is not bound @@ -160,17 +152,17 @@ !missing-pinvoke! glBitmap is not bound !missing-pinvoke! glBlendColorEXT is not bound !missing-pinvoke! glBlendEquationEXT is not bound -!missing-pinvoke! glBlendEquationi is not bound -!missing-pinvoke! glBlendEquationiARB is not bound !missing-pinvoke! glBlendEquationSeparateATI is not bound !missing-pinvoke! glBlendEquationSeparateEXT is not bound !missing-pinvoke! glBlendEquationSeparatei is not bound !missing-pinvoke! glBlendEquationSeparateiARB is not bound -!missing-pinvoke! glBlendFunci is not bound -!missing-pinvoke! glBlendFunciARB is not bound +!missing-pinvoke! glBlendEquationi is not bound +!missing-pinvoke! glBlendEquationiARB is not bound !missing-pinvoke! glBlendFuncSeparateEXT is not bound !missing-pinvoke! glBlendFuncSeparatei is not bound !missing-pinvoke! glBlendFuncSeparateiARB is not bound +!missing-pinvoke! glBlendFunci is not bound +!missing-pinvoke! glBlendFunciARB is not bound !missing-pinvoke! glBlitFramebuffer is not bound !missing-pinvoke! glBlitFramebufferEXT is not bound !missing-pinvoke! glBufferDataARB is not bound @@ -226,8 +218,8 @@ !missing-pinvoke! glColor4uiv is not bound !missing-pinvoke! glColor4us is not bound !missing-pinvoke! glColor4usv is not bound -!missing-pinvoke! glColorMaski is not bound !missing-pinvoke! glColorMaskIndexedEXT is not bound +!missing-pinvoke! glColorMaski is not bound !missing-pinvoke! glColorMaterial is not bound !missing-pinvoke! glColorPointer is not bound !missing-pinvoke! glColorSubTable is not bound @@ -286,10 +278,10 @@ !missing-pinvoke! glDepthRangeIndexed is not bound !missing-pinvoke! glDetachObjectARB is not bound !missing-pinvoke! glDisableClientState is not bound -!missing-pinvoke! glDisablei is not bound !missing-pinvoke! glDisableIndexedEXT is not bound !missing-pinvoke! glDisableVertexAttribAPPLE is not bound !missing-pinvoke! glDisableVertexAttribArrayARB is not bound +!missing-pinvoke! glDisablei is not bound !missing-pinvoke! glDrawArraysIndirect is not bound !missing-pinvoke! glDrawArraysInstanced is not bound !missing-pinvoke! glDrawArraysInstancedARB is not bound @@ -314,10 +306,10 @@ !missing-pinvoke! glEdgeFlagv is not bound !missing-pinvoke! glElementPointerAPPLE is not bound !missing-pinvoke! glEnableClientState is not bound -!missing-pinvoke! glEnablei is not bound !missing-pinvoke! glEnableIndexedEXT is not bound !missing-pinvoke! glEnableVertexAttribAPPLE is not bound !missing-pinvoke! glEnableVertexAttribArrayARB is not bound +!missing-pinvoke! glEnablei is not bound !missing-pinvoke! glEnd is not bound !missing-pinvoke! glEndConditionalRender is not bound !missing-pinvoke! glEndConditionalRenderNV is not bound @@ -348,6 +340,8 @@ !missing-pinvoke! glFlushMappedBufferRangeAPPLE is not bound !missing-pinvoke! glFlushRenderAPPLE is not bound !missing-pinvoke! glFlushVertexArrayRangeAPPLE is not bound +!missing-pinvoke! glFogCoordPointer is not bound +!missing-pinvoke! glFogCoordPointerEXT is not bound !missing-pinvoke! glFogCoordd is not bound !missing-pinvoke! glFogCoorddEXT is not bound !missing-pinvoke! glFogCoorddv is not bound @@ -356,8 +350,6 @@ !missing-pinvoke! glFogCoordfEXT is not bound !missing-pinvoke! glFogCoordfv is not bound !missing-pinvoke! glFogCoordfvEXT is not bound -!missing-pinvoke! glFogCoordPointer is not bound -!missing-pinvoke! glFogCoordPointerEXT is not bound !missing-pinvoke! glFogf is not bound !missing-pinvoke! glFogfv is not bound !missing-pinvoke! glFogi is not bound @@ -375,7 +367,6 @@ !missing-pinvoke! glFramebufferTextureLayerEXT is not bound !missing-pinvoke! glFrustum is not bound !missing-pinvoke! glGenBuffersARB is not bound -!missing-pinvoke! glGenerateMipmapEXT is not bound !missing-pinvoke! glGenFencesAPPLE is not bound !missing-pinvoke! glGenFramebuffersEXT is not bound !missing-pinvoke! glGenLists is not bound @@ -388,19 +379,20 @@ !missing-pinvoke! glGenTransformFeedbacks is not bound !missing-pinvoke! glGenVertexArrays is not bound !missing-pinvoke! glGenVertexArraysAPPLE is not bound +!missing-pinvoke! glGenerateMipmapEXT is not bound !missing-pinvoke! glGetActiveAttribARB is not bound !missing-pinvoke! glGetActiveSubroutineName is not bound -!missing-pinvoke! glGetActiveSubroutineUniformiv is not bound !missing-pinvoke! glGetActiveSubroutineUniformName is not bound +!missing-pinvoke! glGetActiveSubroutineUniformiv is not bound !missing-pinvoke! glGetActiveUniformARB is not bound -!missing-pinvoke! glGetActiveUniformBlockiv is not bound !missing-pinvoke! glGetActiveUniformBlockName is not bound +!missing-pinvoke! glGetActiveUniformBlockiv is not bound !missing-pinvoke! glGetActiveUniformName is not bound !missing-pinvoke! glGetActiveUniformsiv is not bound !missing-pinvoke! glGetAttachedObjectsARB is not bound !missing-pinvoke! glGetAttribLocationARB is not bound -!missing-pinvoke! glGetBooleani_v is not bound !missing-pinvoke! glGetBooleanIndexedvEXT is not bound +!missing-pinvoke! glGetBooleani_v is not bound !missing-pinvoke! glGetBufferParameteri64v is not bound !missing-pinvoke! glGetBufferParameterivARB is not bound !missing-pinvoke! glGetBufferPointerv is not bound @@ -430,8 +422,8 @@ !missing-pinvoke! glGetInfoLogARB is not bound !missing-pinvoke! glGetInteger64i_v is not bound !missing-pinvoke! glGetInteger64v is not bound -!missing-pinvoke! glGetIntegeri_v is not bound !missing-pinvoke! glGetIntegerIndexedvEXT is not bound +!missing-pinvoke! glGetIntegeri_v is not bound !missing-pinvoke! glGetInternalformativ is not bound !missing-pinvoke! glGetLightfv is not bound !missing-pinvoke! glGetLightiv is not bound @@ -457,16 +449,14 @@ !missing-pinvoke! glGetProgramBinary is not bound !missing-pinvoke! glGetProgramEnvParameterdvARB is not bound !missing-pinvoke! glGetProgramEnvParameterfvARB is not bound -!missing-pinvoke! glGetProgramivARB is not bound !missing-pinvoke! glGetProgramLocalParameterdvARB is not bound !missing-pinvoke! glGetProgramLocalParameterfvARB is not bound !missing-pinvoke! glGetProgramPipelineInfoLog is not bound !missing-pinvoke! glGetProgramPipelineiv is not bound !missing-pinvoke! glGetProgramStageiv is not bound !missing-pinvoke! glGetProgramStringARB is not bound +!missing-pinvoke! glGetProgramivARB is not bound !missing-pinvoke! glGetQueryIndexediv is not bound -!missing-pinvoke! glGetQueryiv is not bound -!missing-pinvoke! glGetQueryivARB is not bound !missing-pinvoke! glGetQueryObjecti64v is not bound !missing-pinvoke! glGetQueryObjecti64vEXT is not bound !missing-pinvoke! glGetQueryObjectiv is not bound @@ -475,10 +465,12 @@ !missing-pinvoke! glGetQueryObjectui64vEXT is not bound !missing-pinvoke! glGetQueryObjectuiv is not bound !missing-pinvoke! glGetQueryObjectuivARB is not bound +!missing-pinvoke! glGetQueryiv is not bound +!missing-pinvoke! glGetQueryivARB is not bound !missing-pinvoke! glGetRenderbufferParameterivEXT is not bound -!missing-pinvoke! glGetSamplerParameterfv is not bound !missing-pinvoke! glGetSamplerParameterIiv is not bound !missing-pinvoke! glGetSamplerParameterIuiv is not bound +!missing-pinvoke! glGetSamplerParameterfv is not bound !missing-pinvoke! glGetSamplerParameteriv is not bound !missing-pinvoke! glGetSeparableFilter is not bound !missing-pinvoke! glGetShaderSourceARB is not bound @@ -503,34 +495,34 @@ !missing-pinvoke! glGetTransformFeedbackVaryingEXT is not bound !missing-pinvoke! glGetUniformBlockIndex is not bound !missing-pinvoke! glGetUniformBufferSizeEXT is not bound -!missing-pinvoke! glGetUniformdv is not bound -!missing-pinvoke! glGetUniformfvARB is not bound !missing-pinvoke! glGetUniformIndices is not bound -!missing-pinvoke! glGetUniformivARB is not bound !missing-pinvoke! glGetUniformLocationARB is not bound !missing-pinvoke! glGetUniformOffsetEXT is not bound !missing-pinvoke! glGetUniformSubroutineuiv is not bound +!missing-pinvoke! glGetUniformdv is not bound +!missing-pinvoke! glGetUniformfvARB is not bound +!missing-pinvoke! glGetUniformivARB is not bound !missing-pinvoke! glGetUniformuiv is not bound !missing-pinvoke! glGetUniformuivEXT is not bound -!missing-pinvoke! glGetVertexAttribdv is not bound -!missing-pinvoke! glGetVertexAttribdvARB is not bound -!missing-pinvoke! glGetVertexAttribfvARB is not bound !missing-pinvoke! glGetVertexAttribIiv is not bound !missing-pinvoke! glGetVertexAttribIivEXT is not bound !missing-pinvoke! glGetVertexAttribIuiv is not bound !missing-pinvoke! glGetVertexAttribIuivEXT is not bound -!missing-pinvoke! glGetVertexAttribivARB is not bound !missing-pinvoke! glGetVertexAttribLdv is not bound !missing-pinvoke! glGetVertexAttribPointervARB is not bound +!missing-pinvoke! glGetVertexAttribdv is not bound +!missing-pinvoke! glGetVertexAttribdvARB is not bound +!missing-pinvoke! glGetVertexAttribfvARB is not bound +!missing-pinvoke! glGetVertexAttribivARB is not bound !missing-pinvoke! glHistogram is not bound +!missing-pinvoke! glIndexMask is not bound +!missing-pinvoke! glIndexPointer is not bound !missing-pinvoke! glIndexd is not bound !missing-pinvoke! glIndexdv is not bound !missing-pinvoke! glIndexf is not bound !missing-pinvoke! glIndexfv is not bound !missing-pinvoke! glIndexi is not bound !missing-pinvoke! glIndexiv is not bound -!missing-pinvoke! glIndexMask is not bound -!missing-pinvoke! glIndexPointer is not bound !missing-pinvoke! glIndexs is not bound !missing-pinvoke! glIndexsv is not bound !missing-pinvoke! glIndexub is not bound @@ -538,8 +530,8 @@ !missing-pinvoke! glInitNames is not bound !missing-pinvoke! glInterleavedArrays is not bound !missing-pinvoke! glIsBufferARB is not bound -!missing-pinvoke! glIsEnabledi is not bound !missing-pinvoke! glIsEnabledIndexedEXT is not bound +!missing-pinvoke! glIsEnabledi is not bound !missing-pinvoke! glIsFenceAPPLE is not bound !missing-pinvoke! glIsFramebufferEXT is not bound !missing-pinvoke! glIsList is not bound @@ -555,14 +547,14 @@ !missing-pinvoke! glIsVertexArray is not bound !missing-pinvoke! glIsVertexArrayAPPLE is not bound !missing-pinvoke! glIsVertexAttribEnabledAPPLE is not bound -!missing-pinvoke! glLightf is not bound -!missing-pinvoke! glLightfv is not bound -!missing-pinvoke! glLighti is not bound -!missing-pinvoke! glLightiv is not bound !missing-pinvoke! glLightModelf is not bound !missing-pinvoke! glLightModelfv is not bound !missing-pinvoke! glLightModeli is not bound !missing-pinvoke! glLightModeliv is not bound +!missing-pinvoke! glLightf is not bound +!missing-pinvoke! glLightfv is not bound +!missing-pinvoke! glLighti is not bound +!missing-pinvoke! glLightiv is not bound !missing-pinvoke! glLineStipple is not bound !missing-pinvoke! glLinkProgramARB is not bound !missing-pinvoke! glListBase is not bound @@ -595,9 +587,15 @@ !missing-pinvoke! glMateriali is not bound !missing-pinvoke! glMaterialiv is not bound !missing-pinvoke! glMatrixMode is not bound -!missing-pinvoke! glMinmax is not bound !missing-pinvoke! glMinSampleShading is not bound !missing-pinvoke! glMinSampleShadingARB is not bound +!missing-pinvoke! glMinmax is not bound +!missing-pinvoke! glMultMatrixd is not bound +!missing-pinvoke! glMultMatrixf is not bound +!missing-pinvoke! glMultTransposeMatrixd is not bound +!missing-pinvoke! glMultTransposeMatrixdARB is not bound +!missing-pinvoke! glMultTransposeMatrixf is not bound +!missing-pinvoke! glMultTransposeMatrixfARB is not bound !missing-pinvoke! glMultiDrawArrays is not bound !missing-pinvoke! glMultiDrawArraysEXT is not bound !missing-pinvoke! glMultiDrawElementArrayAPPLE is not bound @@ -669,12 +667,6 @@ !missing-pinvoke! glMultiTexCoord4sARB is not bound !missing-pinvoke! glMultiTexCoord4sv is not bound !missing-pinvoke! glMultiTexCoord4svARB is not bound -!missing-pinvoke! glMultMatrixd is not bound -!missing-pinvoke! glMultMatrixf is not bound -!missing-pinvoke! glMultTransposeMatrixd is not bound -!missing-pinvoke! glMultTransposeMatrixdARB is not bound -!missing-pinvoke! glMultTransposeMatrixf is not bound -!missing-pinvoke! glMultTransposeMatrixfARB is not bound !missing-pinvoke! glNamedStringARB is not bound !missing-pinvoke! glNewList is not bound !missing-pinvoke! glNormal3b is not bound @@ -823,10 +815,10 @@ !missing-pinvoke! glRectiv is not bound !missing-pinvoke! glRects is not bound !missing-pinvoke! glRectsv is not bound +!missing-pinvoke! glRenderMode is not bound !missing-pinvoke! glRenderbufferStorageEXT is not bound !missing-pinvoke! glRenderbufferStorageMultisample is not bound !missing-pinvoke! glRenderbufferStorageMultisampleEXT is not bound -!missing-pinvoke! glRenderMode is not bound !missing-pinvoke! glResetHistogram is not bound !missing-pinvoke! glResetMinmax is not bound !missing-pinvoke! glResumeTransformFeedback is not bound @@ -834,11 +826,11 @@ !missing-pinvoke! glRotatef is not bound !missing-pinvoke! glSampleCoverageARB is not bound !missing-pinvoke! glSampleMaski is not bound +!missing-pinvoke! glSamplerParameterIiv is not bound +!missing-pinvoke! glSamplerParameterIuiv is not bound !missing-pinvoke! glSamplerParameterf is not bound !missing-pinvoke! glSamplerParameterfv is not bound !missing-pinvoke! glSamplerParameteri is not bound -!missing-pinvoke! glSamplerParameterIiv is not bound -!missing-pinvoke! glSamplerParameterIuiv is not bound !missing-pinvoke! glSamplerParameteriv is not bound !missing-pinvoke! glScaled is not bound !missing-pinvoke! glScalef is not bound @@ -952,48 +944,6 @@ !missing-pinvoke! glTransformFeedbackVaryingsEXT is not bound !missing-pinvoke! glTranslated is not bound !missing-pinvoke! glTranslatef is not bound -!missing-pinvoke! gluBeginCurve is not bound -!missing-pinvoke! gluBeginPolygon is not bound -!missing-pinvoke! gluBeginSurface is not bound -!missing-pinvoke! gluBeginTrim is not bound -!missing-pinvoke! gluBuild1DMipmapLevels is not bound -!missing-pinvoke! gluBuild1DMipmapLevelsCTX is not bound -!missing-pinvoke! gluBuild1DMipmaps is not bound -!missing-pinvoke! gluBuild1DMipmapsCTX is not bound -!missing-pinvoke! gluBuild2DMipmapLevels is not bound -!missing-pinvoke! gluBuild2DMipmapLevelsCTX is not bound -!missing-pinvoke! gluBuild2DMipmaps is not bound -!missing-pinvoke! gluBuild2DMipmapsCTX is not bound -!missing-pinvoke! gluBuild3DMipmapLevels is not bound -!missing-pinvoke! gluBuild3DMipmapLevelsCTX is not bound -!missing-pinvoke! gluBuild3DMipmaps is not bound -!missing-pinvoke! gluBuild3DMipmapsCTX is not bound -!missing-pinvoke! gluCheckExtension is not bound -!missing-pinvoke! gluCylinder is not bound -!missing-pinvoke! gluCylinderCTX is not bound -!missing-pinvoke! gluDeleteNurbsRenderer is not bound -!missing-pinvoke! gluDeleteQuadric is not bound -!missing-pinvoke! gluDeleteTess is not bound -!missing-pinvoke! gluDisk is not bound -!missing-pinvoke! gluDiskCTX is not bound -!missing-pinvoke! gluEndCurve is not bound -!missing-pinvoke! gluEndPolygon is not bound -!missing-pinvoke! gluEndSurface is not bound -!missing-pinvoke! gluEndTrim is not bound -!missing-pinvoke! gluErrorString is not bound -!missing-pinvoke! gluGetNurbsProperty is not bound -!missing-pinvoke! gluGetString is not bound -!missing-pinvoke! gluGetTessProperty is not bound -!missing-pinvoke! gluLoadSamplingMatrices is not bound -!missing-pinvoke! gluLookAt is not bound -!missing-pinvoke! gluLookAtCTX is not bound -!missing-pinvoke! gluNewNurbsRenderer is not bound -!missing-pinvoke! gluNewNurbsRendererCTX is not bound -!missing-pinvoke! gluNewQuadric is not bound -!missing-pinvoke! gluNewQuadricCTX is not bound -!missing-pinvoke! gluNewTess is not bound -!missing-pinvoke! gluNewTessCTX is not bound -!missing-pinvoke! gluNextContour is not bound !missing-pinvoke! glUniform1d is not bound !missing-pinvoke! glUniform1dv is not bound !missing-pinvoke! glUniform1fARB is not bound @@ -1057,43 +1007,8 @@ !missing-pinvoke! glUniformSubroutinesuiv is not bound !missing-pinvoke! glUnmapBuffer is not bound !missing-pinvoke! glUnmapBufferARB is not bound -!missing-pinvoke! gluNurbsCallback is not bound -!missing-pinvoke! gluNurbsCallbackData is not bound -!missing-pinvoke! gluNurbsCallbackDataEXT is not bound -!missing-pinvoke! gluNurbsCurve is not bound -!missing-pinvoke! gluNurbsProperty is not bound -!missing-pinvoke! gluNurbsSurface is not bound -!missing-pinvoke! gluOrtho2D is not bound -!missing-pinvoke! gluOrtho2DCTX is not bound -!missing-pinvoke! gluPartialDisk is not bound -!missing-pinvoke! gluPartialDiskCTX is not bound -!missing-pinvoke! gluPerspective is not bound -!missing-pinvoke! gluPerspectiveCTX is not bound -!missing-pinvoke! gluPickMatrix is not bound -!missing-pinvoke! gluPickMatrixCTX is not bound -!missing-pinvoke! gluProject is not bound -!missing-pinvoke! gluPwlCurve is not bound -!missing-pinvoke! gluQuadricCallback is not bound -!missing-pinvoke! gluQuadricDrawStyle is not bound -!missing-pinvoke! gluQuadricNormals is not bound -!missing-pinvoke! gluQuadricOrientation is not bound -!missing-pinvoke! gluQuadricTexture is not bound -!missing-pinvoke! gluScaleImage is not bound -!missing-pinvoke! gluScaleImageCTX is not bound !missing-pinvoke! glUseProgramObjectARB is not bound !missing-pinvoke! glUseProgramStages is not bound -!missing-pinvoke! gluSphere is not bound -!missing-pinvoke! gluSphereCTX is not bound -!missing-pinvoke! gluTessBeginContour is not bound -!missing-pinvoke! gluTessBeginPolygon is not bound -!missing-pinvoke! gluTessCallback is not bound -!missing-pinvoke! gluTessEndContour is not bound -!missing-pinvoke! gluTessEndPolygon is not bound -!missing-pinvoke! gluTessNormal is not bound -!missing-pinvoke! gluTessProperty is not bound -!missing-pinvoke! gluTessVertex is not bound -!missing-pinvoke! gluUnProject is not bound -!missing-pinvoke! gluUnProject4 is not bound !missing-pinvoke! glValidateProgramARB is not bound !missing-pinvoke! glValidateProgramPipeline is not bound !missing-pinvoke! glVertex2d is not bound @@ -1152,16 +1067,6 @@ !missing-pinvoke! glVertexAttrib3sARB is not bound !missing-pinvoke! glVertexAttrib3sv is not bound !missing-pinvoke! glVertexAttrib3svARB is not bound -!missing-pinvoke! glVertexAttrib4bv is not bound -!missing-pinvoke! glVertexAttrib4bvARB is not bound -!missing-pinvoke! glVertexAttrib4d is not bound -!missing-pinvoke! glVertexAttrib4dARB is not bound -!missing-pinvoke! glVertexAttrib4dv is not bound -!missing-pinvoke! glVertexAttrib4dvARB is not bound -!missing-pinvoke! glVertexAttrib4fARB is not bound -!missing-pinvoke! glVertexAttrib4fvARB is not bound -!missing-pinvoke! glVertexAttrib4iv is not bound -!missing-pinvoke! glVertexAttrib4ivARB is not bound !missing-pinvoke! glVertexAttrib4Nbv is not bound !missing-pinvoke! glVertexAttrib4NbvARB is not bound !missing-pinvoke! glVertexAttrib4Niv is not bound @@ -1176,6 +1081,16 @@ !missing-pinvoke! glVertexAttrib4NuivARB is not bound !missing-pinvoke! glVertexAttrib4Nusv is not bound !missing-pinvoke! glVertexAttrib4NusvARB is not bound +!missing-pinvoke! glVertexAttrib4bv is not bound +!missing-pinvoke! glVertexAttrib4bvARB is not bound +!missing-pinvoke! glVertexAttrib4d is not bound +!missing-pinvoke! glVertexAttrib4dARB is not bound +!missing-pinvoke! glVertexAttrib4dv is not bound +!missing-pinvoke! glVertexAttrib4dvARB is not bound +!missing-pinvoke! glVertexAttrib4fARB is not bound +!missing-pinvoke! glVertexAttrib4fvARB is not bound +!missing-pinvoke! glVertexAttrib4iv is not bound +!missing-pinvoke! glVertexAttrib4ivARB is not bound !missing-pinvoke! glVertexAttrib4s is not bound !missing-pinvoke! glVertexAttrib4sARB is not bound !missing-pinvoke! glVertexAttrib4sv is not bound @@ -1249,17 +1164,17 @@ !missing-pinvoke! glVertexAttribP4uiv is not bound !missing-pinvoke! glVertexAttribPointerARB is not bound !missing-pinvoke! glVertexBlendARB is not bound -!missing-pinvoke! glVertexPointer is not bound !missing-pinvoke! glVertexPointSizefAPPLE is not bound +!missing-pinvoke! glVertexPointer is not bound !missing-pinvoke! glViewportArrayv is not bound !missing-pinvoke! glViewportIndexedf is not bound !missing-pinvoke! glViewportIndexedfv is not bound !missing-pinvoke! glWaitSync is not bound +!missing-pinvoke! glWeightPointerARB is not bound !missing-pinvoke! glWeightbvARB is not bound !missing-pinvoke! glWeightdvARB is not bound !missing-pinvoke! glWeightfvARB is not bound !missing-pinvoke! glWeightivARB is not bound -!missing-pinvoke! glWeightPointerARB is not bound !missing-pinvoke! glWeightsvARB is not bound !missing-pinvoke! glWeightubvARB is not bound !missing-pinvoke! glWeightuivARB is not bound @@ -1296,3 +1211,91 @@ !missing-pinvoke! glWindowPos3sARB is not bound !missing-pinvoke! glWindowPos3sv is not bound !missing-pinvoke! glWindowPos3svARB is not bound +!missing-pinvoke! gluBeginCurve is not bound +!missing-pinvoke! gluBeginPolygon is not bound +!missing-pinvoke! gluBeginSurface is not bound +!missing-pinvoke! gluBeginTrim is not bound +!missing-pinvoke! gluBuild1DMipmapLevels is not bound +!missing-pinvoke! gluBuild1DMipmapLevelsCTX is not bound +!missing-pinvoke! gluBuild1DMipmaps is not bound +!missing-pinvoke! gluBuild1DMipmapsCTX is not bound +!missing-pinvoke! gluBuild2DMipmapLevels is not bound +!missing-pinvoke! gluBuild2DMipmapLevelsCTX is not bound +!missing-pinvoke! gluBuild2DMipmaps is not bound +!missing-pinvoke! gluBuild2DMipmapsCTX is not bound +!missing-pinvoke! gluBuild3DMipmapLevels is not bound +!missing-pinvoke! gluBuild3DMipmapLevelsCTX is not bound +!missing-pinvoke! gluBuild3DMipmaps is not bound +!missing-pinvoke! gluBuild3DMipmapsCTX is not bound +!missing-pinvoke! gluCheckExtension is not bound +!missing-pinvoke! gluCylinder is not bound +!missing-pinvoke! gluCylinderCTX is not bound +!missing-pinvoke! gluDeleteNurbsRenderer is not bound +!missing-pinvoke! gluDeleteQuadric is not bound +!missing-pinvoke! gluDeleteTess is not bound +!missing-pinvoke! gluDisk is not bound +!missing-pinvoke! gluDiskCTX is not bound +!missing-pinvoke! gluEndCurve is not bound +!missing-pinvoke! gluEndPolygon is not bound +!missing-pinvoke! gluEndSurface is not bound +!missing-pinvoke! gluEndTrim is not bound +!missing-pinvoke! gluErrorString is not bound +!missing-pinvoke! gluGetNurbsProperty is not bound +!missing-pinvoke! gluGetString is not bound +!missing-pinvoke! gluGetTessProperty is not bound +!missing-pinvoke! gluLoadSamplingMatrices is not bound +!missing-pinvoke! gluLookAt is not bound +!missing-pinvoke! gluLookAtCTX is not bound +!missing-pinvoke! gluNewNurbsRenderer is not bound +!missing-pinvoke! gluNewNurbsRendererCTX is not bound +!missing-pinvoke! gluNewQuadric is not bound +!missing-pinvoke! gluNewQuadricCTX is not bound +!missing-pinvoke! gluNewTess is not bound +!missing-pinvoke! gluNewTessCTX is not bound +!missing-pinvoke! gluNextContour is not bound +!missing-pinvoke! gluNurbsCallback is not bound +!missing-pinvoke! gluNurbsCallbackData is not bound +!missing-pinvoke! gluNurbsCallbackDataEXT is not bound +!missing-pinvoke! gluNurbsCurve is not bound +!missing-pinvoke! gluNurbsProperty is not bound +!missing-pinvoke! gluNurbsSurface is not bound +!missing-pinvoke! gluOrtho2D is not bound +!missing-pinvoke! gluOrtho2DCTX is not bound +!missing-pinvoke! gluPartialDisk is not bound +!missing-pinvoke! gluPartialDiskCTX is not bound +!missing-pinvoke! gluPerspective is not bound +!missing-pinvoke! gluPerspectiveCTX is not bound +!missing-pinvoke! gluPickMatrix is not bound +!missing-pinvoke! gluPickMatrixCTX is not bound +!missing-pinvoke! gluProject is not bound +!missing-pinvoke! gluPwlCurve is not bound +!missing-pinvoke! gluQuadricCallback is not bound +!missing-pinvoke! gluQuadricDrawStyle is not bound +!missing-pinvoke! gluQuadricNormals is not bound +!missing-pinvoke! gluQuadricOrientation is not bound +!missing-pinvoke! gluQuadricTexture is not bound +!missing-pinvoke! gluScaleImage is not bound +!missing-pinvoke! gluScaleImageCTX is not bound +!missing-pinvoke! gluSphere is not bound +!missing-pinvoke! gluSphereCTX is not bound +!missing-pinvoke! gluTessBeginContour is not bound +!missing-pinvoke! gluTessBeginPolygon is not bound +!missing-pinvoke! gluTessCallback is not bound +!missing-pinvoke! gluTessEndContour is not bound +!missing-pinvoke! gluTessEndPolygon is not bound +!missing-pinvoke! gluTessNormal is not bound +!missing-pinvoke! gluTessProperty is not bound +!missing-pinvoke! gluTessVertex is not bound +!missing-pinvoke! gluUnProject is not bound +!missing-pinvoke! gluUnProject4 is not bound + +# deprecated for metal, so we are not adding them in catalyst +!missing-pinvoke! CGLChoosePixelFormat is not bound +!missing-pinvoke! CGLGetCurrentContext is not bound +!missing-pinvoke! CGLLockContext is not bound +!missing-pinvoke! CGLReleaseContext is not bound +!missing-pinvoke! CGLReleasePixelFormat is not bound +!missing-pinvoke! CGLRetainContext is not bound +!missing-pinvoke! CGLRetainPixelFormat is not bound +!missing-pinvoke! CGLSetCurrentContext is not bound +!missing-pinvoke! CGLUnlockContext is not bound From 687b3b9d08b73e73686a7323cebef2112a9cd230 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 10 Aug 2021 10:16:05 -0400 Subject: [PATCH 7/8] [SystemConfiguration] Add support for xcode13 beta4. (#12393) --- ...=> MacCatalyst-SystemConfiguration.ignore} | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) rename tests/xtro-sharpie/{MacCatalyst-SystemConfiguration.todo => MacCatalyst-SystemConfiguration.ignore} (99%) diff --git a/tests/xtro-sharpie/MacCatalyst-SystemConfiguration.todo b/tests/xtro-sharpie/MacCatalyst-SystemConfiguration.ignore similarity index 99% rename from tests/xtro-sharpie/MacCatalyst-SystemConfiguration.todo rename to tests/xtro-sharpie/MacCatalyst-SystemConfiguration.ignore index 011b10011889..ac7fabdfe759 100644 --- a/tests/xtro-sharpie/MacCatalyst-SystemConfiguration.todo +++ b/tests/xtro-sharpie/MacCatalyst-SystemConfiguration.ignore @@ -1,3 +1,4 @@ +# ignored in macOS too !missing-field! kSCBondStatusDeviceAggregationStatus not bound !missing-field! kSCBondStatusDeviceCollecting not bound !missing-field! kSCBondStatusDeviceDistributing not bound @@ -27,16 +28,16 @@ !missing-field! kSCEntNetDNS not bound !missing-field! kSCEntNetEthernet not bound !missing-field! kSCEntNetFireWire not bound -!missing-field! kSCEntNetInterface not bound !missing-field! kSCEntNetIPSec not bound !missing-field! kSCEntNetIPv4 not bound !missing-field! kSCEntNetIPv6 not bound +!missing-field! kSCEntNetInterface not bound !missing-field! kSCEntNetL2TP not bound !missing-field! kSCEntNetLink not bound !missing-field! kSCEntNetModem not bound !missing-field! kSCEntNetPPP not bound -!missing-field! kSCEntNetPPPoE not bound !missing-field! kSCEntNetPPPSerial not bound +!missing-field! kSCEntNetPPPoE not bound !missing-field! kSCEntNetPPTP not bound !missing-field! kSCEntNetProxies not bound !missing-field! kSCEntNetSMB not bound @@ -87,15 +88,9 @@ !missing-field! kSCPropNetDNSSortList not bound !missing-field! kSCPropNetDNSSupplementalMatchDomains not bound !missing-field! kSCPropNetDNSSupplementalMatchOrders not bound +!missing-field! kSCPropNetEthernetMTU not bound !missing-field! kSCPropNetEthernetMediaOptions not bound !missing-field! kSCPropNetEthernetMediaSubType not bound -!missing-field! kSCPropNetEthernetMTU not bound -!missing-field! kSCPropNetInterfaceDeviceName not bound -!missing-field! kSCPropNetInterfaceHardware not bound -!missing-field! kSCPropNetInterfaces not bound -!missing-field! kSCPropNetInterfaceSubType not bound -!missing-field! kSCPropNetInterfaceSupportsModemOnHold not bound -!missing-field! kSCPropNetInterfaceType not bound !missing-field! kSCPropNetIPSecAuthenticationMethod not bound !missing-field! kSCPropNetIPSecConnectTime not bound !missing-field! kSCPropNetIPSecLocalCertificate not bound @@ -112,8 +107,8 @@ !missing-field! kSCPropNetIPv4Addresses not bound !missing-field! kSCPropNetIPv4BroadcastAddresses not bound !missing-field! kSCPropNetIPv4ConfigMethod not bound -!missing-field! kSCPropNetIPv4DestAddresses not bound !missing-field! kSCPropNetIPv4DHCPClientID not bound +!missing-field! kSCPropNetIPv4DestAddresses not bound !missing-field! kSCPropNetIPv4Router not bound !missing-field! kSCPropNetIPv4SubnetMasks not bound !missing-field! kSCPropNetIPv6Addresses not bound @@ -122,6 +117,12 @@ !missing-field! kSCPropNetIPv6Flags not bound !missing-field! kSCPropNetIPv6PrefixLength not bound !missing-field! kSCPropNetIPv6Router not bound +!missing-field! kSCPropNetInterfaceDeviceName not bound +!missing-field! kSCPropNetInterfaceHardware not bound +!missing-field! kSCPropNetInterfaceSubType not bound +!missing-field! kSCPropNetInterfaceSupportsModemOnHold not bound +!missing-field! kSCPropNetInterfaceType not bound +!missing-field! kSCPropNetInterfaces not bound !missing-field! kSCPropNetL2TPIPSecSharedSecret not bound !missing-field! kSCPropNetL2TPIPSecSharedSecretEncryption not bound !missing-field! kSCPropNetL2TPTransport not bound @@ -129,9 +130,9 @@ !missing-field! kSCPropNetLinkDetaching not bound !missing-field! kSCPropNetLocalHostName not bound !missing-field! kSCPropNetModemAccessPointName not bound +!missing-field! kSCPropNetModemConnectSpeed not bound !missing-field! kSCPropNetModemConnectionPersonality not bound !missing-field! kSCPropNetModemConnectionScript not bound -!missing-field! kSCPropNetModemConnectSpeed not bound !missing-field! kSCPropNetModemDataCompression not bound !missing-field! kSCPropNetModemDeviceContextID not bound !missing-field! kSCPropNetModemDeviceModel not bound @@ -176,11 +177,10 @@ !missing-field! kSCPropNetPPPDisconnectOnLogout not bound !missing-field! kSCPropNetPPPDisconnectOnSleep not bound !missing-field! kSCPropNetPPPDisconnectTime not bound -!missing-field! kSCPropNetPPPIdleReminder not bound -!missing-field! kSCPropNetPPPIdleReminderTimer not bound !missing-field! kSCPropNetPPPIPCPCompressionVJ not bound !missing-field! kSCPropNetPPPIPCPUsePeerDNS not bound -!missing-field! kSCPropNetPPPLastCause not bound +!missing-field! kSCPropNetPPPIdleReminder not bound +!missing-field! kSCPropNetPPPIdleReminderTimer not bound !missing-field! kSCPropNetPPPLCPCompressionACField not bound !missing-field! kSCPropNetPPPLCPCompressionPField not bound !missing-field! kSCPropNetPPPLCPEchoEnabled not bound @@ -190,6 +190,7 @@ !missing-field! kSCPropNetPPPLCPMTU not bound !missing-field! kSCPropNetPPPLCPReceiveACCM not bound !missing-field! kSCPropNetPPPLCPTransmitACCM not bound +!missing-field! kSCPropNetPPPLastCause not bound !missing-field! kSCPropNetPPPLogfile not bound !missing-field! kSCPropNetPPPOverridePrimary not bound !missing-field! kSCPropNetPPPPlugins not bound @@ -223,12 +224,12 @@ !missing-field! kSCPropNetProxiesSOCKSEnable not bound !missing-field! kSCPropNetProxiesSOCKSPort not bound !missing-field! kSCPropNetProxiesSOCKSProxy not bound -!missing-field! kSCPropNetServiceOrder not bound !missing-field! kSCPropNetSMBNetBIOSName not bound !missing-field! kSCPropNetSMBNetBIOSNodeType not bound !missing-field! kSCPropNetSMBNetBIOSScope not bound !missing-field! kSCPropNetSMBWINSAddresses not bound !missing-field! kSCPropNetSMBWorkgroup not bound +!missing-field! kSCPropNetServiceOrder not bound !missing-field! kSCPropSystemComputerName not bound !missing-field! kSCPropSystemComputerNameEncoding not bound !missing-field! kSCPropUserDefinedName not bound @@ -244,15 +245,6 @@ !missing-field! kSCValNetAirPortJoinModeRanked not bound !missing-field! kSCValNetAirPortJoinModeRecent not bound !missing-field! kSCValNetAirPortJoinModeStrongest not bound -!missing-field! kSCValNetInterfaceSubTypeL2TP not bound -!missing-field! kSCValNetInterfaceSubTypePPPoE not bound -!missing-field! kSCValNetInterfaceSubTypePPPSerial not bound -!missing-field! kSCValNetInterfaceSubTypePPTP not bound -!missing-field! kSCValNetInterfaceType6to4 not bound -!missing-field! kSCValNetInterfaceTypeEthernet not bound -!missing-field! kSCValNetInterfaceTypeFireWire not bound -!missing-field! kSCValNetInterfaceTypeIPSec not bound -!missing-field! kSCValNetInterfaceTypePPP not bound !missing-field! kSCValNetIPSecAuthenticationMethodCertificate not bound !missing-field! kSCValNetIPSecAuthenticationMethodHybrid not bound !missing-field! kSCValNetIPSecAuthenticationMethodSharedSecret not bound @@ -272,6 +264,15 @@ !missing-field! kSCValNetIPv6ConfigMethodLinkLocal not bound !missing-field! kSCValNetIPv6ConfigMethodManual not bound !missing-field! kSCValNetIPv6ConfigMethodRouterAdvertisement not bound +!missing-field! kSCValNetInterfaceSubTypeL2TP not bound +!missing-field! kSCValNetInterfaceSubTypePPPSerial not bound +!missing-field! kSCValNetInterfaceSubTypePPPoE not bound +!missing-field! kSCValNetInterfaceSubTypePPTP not bound +!missing-field! kSCValNetInterfaceType6to4 not bound +!missing-field! kSCValNetInterfaceTypeEthernet not bound +!missing-field! kSCValNetInterfaceTypeFireWire not bound +!missing-field! kSCValNetInterfaceTypeIPSec not bound +!missing-field! kSCValNetInterfaceTypePPP not bound !missing-field! kSCValNetL2TPIPSecSharedSecretEncryptionKeychain not bound !missing-field! kSCValNetL2TPTransportIP not bound !missing-field! kSCValNetL2TPTransportIPSec not bound @@ -357,10 +358,10 @@ !missing-pinvoke! SCNetworkConnectionStop is not bound !missing-pinvoke! SCNetworkConnectionUnscheduleFromRunLoop is not bound !missing-pinvoke! SCNetworkInterfaceCopyAll is not bound +!missing-pinvoke! SCNetworkInterfaceCopyMTU is not bound !missing-pinvoke! SCNetworkInterfaceCopyMediaOptions is not bound !missing-pinvoke! SCNetworkInterfaceCopyMediaSubTypeOptions is not bound !missing-pinvoke! SCNetworkInterfaceCopyMediaSubTypes is not bound -!missing-pinvoke! SCNetworkInterfaceCopyMTU is not bound !missing-pinvoke! SCNetworkInterfaceCreateWithInterface is not bound !missing-pinvoke! SCNetworkInterfaceForceConfigurationRefresh is not bound !missing-pinvoke! SCNetworkInterfaceGetBSDName is not bound @@ -376,8 +377,8 @@ !missing-pinvoke! SCNetworkInterfaceRefreshConfiguration is not bound !missing-pinvoke! SCNetworkInterfaceSetConfiguration is not bound !missing-pinvoke! SCNetworkInterfaceSetExtendedConfiguration is not bound -!missing-pinvoke! SCNetworkInterfaceSetMediaOptions is not bound !missing-pinvoke! SCNetworkInterfaceSetMTU is not bound +!missing-pinvoke! SCNetworkInterfaceSetMediaOptions is not bound !missing-pinvoke! SCNetworkProtocolGetConfiguration is not bound !missing-pinvoke! SCNetworkProtocolGetEnabled is not bound !missing-pinvoke! SCNetworkProtocolGetProtocolType is not bound From 300fc28360287c472444b7fa8f42fe7f265b38dc Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Tue, 10 Aug 2021 10:39:08 -0400 Subject: [PATCH 8/8] [msbuild] Set `UseSecureTimestamp` inside `_CodesignFrameworks` too (#12387) That's needed for Xamarin.Mac and was _lost_ when the task was merged between XI and XM. Fixes https://github.com/xamarin/xamarin-macios/issues/11784 --- msbuild/Xamarin.Shared/Xamarin.Shared.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/msbuild/Xamarin.Shared/Xamarin.Shared.targets b/msbuild/Xamarin.Shared/Xamarin.Shared.targets index 20c1f05f6e8d..4b7171099f37 100644 --- a/msbuild/Xamarin.Shared/Xamarin.Shared.targets +++ b/msbuild/Xamarin.Shared/Xamarin.Shared.targets @@ -1170,6 +1170,7 @@ Copyright (C) 2018 Microsoft. All rights reserved. Resources="@(_Frameworks)" SigningKey="$(_FrameworkCodeSigningKey)" ExtraArgs="$(CodesignExtraArgs)" + UseSecureTimestamp="$(UseHardenedRuntime)" >