diff --git a/src/NetworkExtension/NEEnums.cs b/src/NetworkExtension/NEEnums.cs index 9733207cc3de..e9ba6fd4b92f 100644 --- a/src/NetworkExtension/NEEnums.cs +++ b/src/NetworkExtension/NEEnums.cs @@ -36,7 +36,9 @@ public enum NEVpnIkeAuthenticationMethod : long { [MacCatalyst (13, 1)] [Native ("NEVPNIKEv2EncryptionAlgorithm")] public enum NEVpnIke2EncryptionAlgorithm : long { + [NoTV] DES = 1, + [NoTV] TripleDES = 2, AES128 = 3, AES256 = 4, @@ -52,7 +54,9 @@ public enum NEVpnIke2EncryptionAlgorithm : long { [MacCatalyst (13, 1)] [Native ("NEVPNIKEv2IntegrityAlgorithm")] public enum NEVpnIke2IntegrityAlgorithm : long { + [NoTV] SHA96 = 1, + [NoTV] SHA160 = 2, SHA256 = 3, SHA384 = 4, @@ -73,8 +77,11 @@ public enum NEVpnIke2DeadPeerDetectionRate : long { public enum NEVpnIke2DiffieHellman : long { Invalid = 0, Group0 = Invalid, + [NoTV] Group1 = 1, + [NoTV] Group2 = 2, + [NoTV] Group5 = 5, Group14 = 14, Group15 = 15, @@ -87,6 +94,8 @@ public enum NEVpnIke2DiffieHellman : long { [iOS (13, 0)] [MacCatalyst (13, 1)] Group31 = 31, + [TV (17, 0), NoWatch, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + Group32 = 32, } [MacCatalyst (13, 1)] @@ -104,6 +113,7 @@ public enum NEOnDemandRuleInterfaceType : long { Any = 0, Ethernet = 1, WiFi = 2, + [NoTV] Cellular = 3 } @@ -121,12 +131,16 @@ public enum NEVpnIke2CertificateType : long { ECDSA256 = 2, ECDSA384 = 3, ECDSA521 = 4, + [NoTV] [iOS (13, 0)] [MacCatalyst (13, 1)] Ed25519 = 5, + [TV (17, 0), NoWatch, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + Rsapss = 6, } // in Xcode7 SDK but marked as 8.0 + [NoTV] [MacCatalyst (13, 1)] [ErrorDomain ("NEFilterErrorDomain")] [Native] @@ -225,6 +239,7 @@ public enum NWUdpSessionState : long { Cancelled = 5 } + [NoTV] [MacCatalyst (13, 1)] [Native] public enum NETunnelProviderRoutingMethod : long { @@ -236,6 +251,7 @@ public enum NETunnelProviderRoutingMethod : long { } #if !MONOMAC + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -249,6 +265,7 @@ public enum NEHotspotHelperCommandType : long { Logoff = 6 } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -258,6 +275,7 @@ public enum NEHotspotHelperConfidence : long { High = 2 } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -283,7 +301,7 @@ public enum NEAppPushManagerError : long { InactiveSession = 4, } - [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [NoWatch, Mac (11, 0), iOS (14, 0)] [MacCatalyst (14, 0)] [Native ("NEDNSProtocol")] public enum NEDnsProtocol : long { @@ -303,4 +321,13 @@ public enum NEDnsSettingsManagerError : long { CannotBeRemoved = 4, } + [TV (17, 0), NoWatch, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [Native] + public enum NERelayManagerError : long { + Invalid = 1, + Disabled = 2, + Stale = 3, + CannotBeRemoved = 4, + } + } diff --git a/src/NetworkExtension/NEHotspotConfiguration.cs b/src/NetworkExtension/NEHotspotConfiguration.cs index 88a4648f7e19..54ee6b0ed5d6 100644 --- a/src/NetworkExtension/NEHotspotConfiguration.cs +++ b/src/NetworkExtension/NEHotspotConfiguration.cs @@ -2,7 +2,7 @@ #nullable enable -#if !MONOMAC +#if !MONOMAC && !TVOS using Foundation; diff --git a/src/NetworkExtension/NEHotspotEapSettings.cs b/src/NetworkExtension/NEHotspotEapSettings.cs index 6c3851024031..6eed048d1381 100644 --- a/src/NetworkExtension/NEHotspotEapSettings.cs +++ b/src/NetworkExtension/NEHotspotEapSettings.cs @@ -9,11 +9,13 @@ #nullable enable -#if !MONOMAC +#if !MONOMAC && !TVOS using System; using Foundation; +using ObjCRuntime; namespace NetworkExtension { + public partial class NEHotspotEapSettings { public NEHotspotConfigurationEapType [] SupportedEapTypes { diff --git a/src/NetworkExtension/NEHotspotHelperOptions.cs b/src/NetworkExtension/NEHotspotHelperOptions.cs index 44d5aefd1ca1..d7ed5123b099 100644 --- a/src/NetworkExtension/NEHotspotHelperOptions.cs +++ b/src/NetworkExtension/NEHotspotHelperOptions.cs @@ -1,6 +1,6 @@ #nullable enable -#if !MONOMAC +#if !MONOMAC && !TVOS using Foundation; diff --git a/src/NetworkExtension/NEPacketTunnelFlow.cs b/src/NetworkExtension/NEPacketTunnelFlow.cs index ba6682fe3dff..d5da8ea2c967 100644 --- a/src/NetworkExtension/NEPacketTunnelFlow.cs +++ b/src/NetworkExtension/NEPacketTunnelFlow.cs @@ -13,6 +13,7 @@ namespace NetworkExtension { [SupportedOSPlatform ("ios")] [SupportedOSPlatform ("maccatalyst")] [SupportedOSPlatform ("macos")] + [SupportedOSPlatform ("tvos17.0")] #endif public class NEPacketTunnelFlowReadResult { diff --git a/src/NetworkExtension/NEVpnConnectionStartOptions.cs b/src/NetworkExtension/NEVpnConnectionStartOptions.cs index 5b9030aac67a..33229f48595c 100644 --- a/src/NetworkExtension/NEVpnConnectionStartOptions.cs +++ b/src/NetworkExtension/NEVpnConnectionStartOptions.cs @@ -10,6 +10,7 @@ namespace NetworkExtension { [SupportedOSPlatform ("ios")] [SupportedOSPlatform ("maccatalyst")] [SupportedOSPlatform ("macos")] + [SupportedOSPlatform ("tvos17.0")] #endif public class NEVpnConnectionStartOptions : DictionaryContainer { diff --git a/src/build/generator-frameworks.g.cs b/src/build/generator-frameworks.g.cs index dff20bc11849..f9178307aec1 100644 --- a/src/build/generator-frameworks.g.cs +++ b/src/build/generator-frameworks.g.cs @@ -388,6 +388,7 @@ partial class Frameworks { "MultipeerConnectivity", "NaturalLanguage", "Network", + "NetworkExtension", "OpenGLES", "OSLog", "Photos", diff --git a/src/frameworks.sources b/src/frameworks.sources index 54b90b90d3fb..6b415cadc07a 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -2318,6 +2318,7 @@ TVOS_FRAMEWORKS = \ MobileCoreServices \ ModelIO \ MultipeerConnectivity \ + NetworkExtension \ OpenGLES \ Photos \ PhotosUI \ diff --git a/src/networkextension.cs b/src/networkextension.cs index d41388e9ea09..5e8318a7bb0e 100644 --- a/src/networkextension.cs +++ b/src/networkextension.cs @@ -14,8 +14,11 @@ using NativeHandle = System.IntPtr; #endif -#if MONOMAC +#if MONOMAC || TVOS using NEHotspotHelperOptions = Foundation.NSObject; +#endif + +#if MONOMAC using NEHotspotHelperResult = Foundation.NSObject; using NEHotspotHelperCommandType = Foundation.NSObject; using NEHotspotHelperConfidence = Foundation.NSObject; @@ -27,6 +30,7 @@ namespace NetworkExtension { interface NWInterface { } interface NWParameters { } + [NoTV] [ErrorDomain ("NEDNSProxyErrorDomain")] [MacCatalyst (13, 1)] [Native] @@ -37,6 +41,7 @@ enum NEDnsProxyManagerError : long { CannotBeRemoved = 4, } + [NoTV] [MacCatalyst (13, 1)] [Native] enum NEFilterAction : long { @@ -56,6 +61,7 @@ enum NEVpnIkev2TlsVersion : long { Tls1_2 = 3, } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -66,6 +72,7 @@ enum NEHotspotConfigurationEapType : long { Fast = 43, } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -77,6 +84,7 @@ enum NEHotspotConfigurationTtlsInnerAuthenticationType : long { Eap = 4, } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -86,6 +94,7 @@ enum NEHotspotConfigurationEapTlsVersion : long { Tls1_2 = 2, } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Native] @@ -109,6 +118,7 @@ public enum NEHotspotConfigurationError : long { InvalidSsidPrefix = 15, } + [NoTV] [NoiOS] [NoMacCatalyst] [Native] @@ -117,6 +127,7 @@ enum NEFilterManagerGrade : long { Inspector = 2, } + [NoTV] [iOS (13, 0)] [MacCatalyst (13, 1)] [Native] @@ -126,6 +137,7 @@ enum NETrafficDirection : long { Outbound = 2, } + [NoTV] [NoiOS] [NoMacCatalyst] [Native] @@ -135,6 +147,7 @@ enum NENetworkRuleProtocol : long { Udp = 2, } + [NoTV] [NoiOS] [NoMacCatalyst] [Native] @@ -144,6 +157,7 @@ enum NEFilterPacketProviderVerdict : long { Delay = 2, } + [NoTV] [iOS (13, 0)] [MacCatalyst (13, 1)] [Native] @@ -181,7 +195,7 @@ enum NEHotspotNetworkSecurityType : long { Unknown = 4, } - [NoWatch, NoTV, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] + [NoWatch, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0), TV (17, 0)] [Native] [ErrorDomain ("NEVPNConnectionErrorDomain")] public enum NEVpnConnectionError : long { @@ -207,6 +221,7 @@ public enum NEVpnConnectionError : long { } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] [Abstract] // documented as such and ... @@ -267,6 +282,7 @@ NWInterface NetworkInterface { #endif } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NETunnelProvider))] [DisableDefaultCtor] // no valid handle when `init` is called @@ -291,6 +307,7 @@ interface NEAppProxyProvider { bool HandleNewUdpFlow (NEAppProxyUdpFlow flow, NWEndpoint remoteEndpoint); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NETunnelProviderManager))] [DisableDefaultCtor] // no valid handle when `init` is called @@ -301,6 +318,7 @@ interface NEAppProxyProviderManager { void LoadAllFromPreferences (Action completionHandler); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEAppProxyFlow), Name = "NEAppProxyTCPFlow")] [DisableDefaultCtor] @@ -319,6 +337,7 @@ interface NEAppProxyTcpFlow { delegate void NEDatagramRead (NSData [] datagrams, NWEndpoint [] remoteEndpoints, NSError error); + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEAppProxyFlow), Name = "NEAppProxyUDPFlow")] [DisableDefaultCtor] @@ -335,12 +354,12 @@ interface NEAppProxyUdpFlow { NWEndpoint LocalEndpoint { get; } } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface NEAppRule : NSSecureCoding, NSCopying { [MacCatalyst (13, 1)] - [NoTV] [NoWatch] #if NET [NoMac] @@ -348,11 +367,11 @@ interface NEAppRule : NSSecureCoding, NSCopying { [Export ("initWithSigningIdentifier:")] NativeHandle Constructor (string signingIdentifier); - [NoiOS, NoTV, NoWatch, NoMacCatalyst] + [NoiOS, NoWatch, NoMacCatalyst] [Export ("initWithSigningIdentifier:designatedRequirement:")] NativeHandle Constructor (string signingIdentifier, string designatedRequirement); - [NoiOS, NoTV, NoWatch, MacCatalyst (15, 0)] + [NoiOS, NoWatch, MacCatalyst (15, 0)] [Export ("matchDesignatedRequirement")] string MatchDesignatedRequirement { get; } @@ -366,7 +385,7 @@ interface NEAppRule : NSSecureCoding, NSCopying { [NullAllowed, Export ("matchDomains", ArgumentSemantic.Copy)] string [] MatchDomains { get; set; } - [NoWatch, NoTV, NoiOS, MacCatalyst (15, 0)] + [NoWatch, NoiOS, MacCatalyst (15, 0)] [NullAllowed, Export ("matchTools", ArgumentSemantic.Copy)] NEAppRule [] MatchTools { get; set; } } @@ -393,7 +412,7 @@ interface NEDnsSettings : NSSecureCoding, NSCopying { [Export ("matchDomainsNoSearch")] bool MatchDomainsNoSearch { get; set; } - [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [NoWatch, Mac (11, 0), iOS (14, 0)] [MacCatalyst (14, 0)] [Export ("dnsProtocol")] NEDnsProtocol DnsProtocol { get; } @@ -405,6 +424,7 @@ interface NEDnsSettings : NSSecureCoding, NSCopying { NSString ConfigurationDidChangeNotification { get; } } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterProvider))] @@ -432,6 +452,7 @@ interface NEFilterControlProvider { void NotifyRulesChanged (); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterNewFlowVerdict))] @@ -449,6 +470,7 @@ interface NEFilterControlVerdict : NSSecureCoding, NSCopying { NEFilterControlVerdict UpdateRules (); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterProvider))] [DisableDefaultCtor] // no valid handle when `init` is called @@ -492,6 +514,7 @@ interface NEFilterDataProvider { void UpdateFlow (NEFilterSocketFlow flow, NEFilterDataVerdict verdict, NETrafficDirection direction); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterVerdict))] interface NEFilterDataVerdict : NSSecureCoding, NSCopying { @@ -525,6 +548,7 @@ interface NEFilterDataVerdict : NSSecureCoding, NSCopying { NEFilterDataVerdict PauseVerdict (); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface NEFilterFlow : NSSecureCoding, NSCopying { @@ -563,6 +587,7 @@ interface NEFilterFlow : NSSecureCoding, NSCopying { NSUuid Identifier { get; } } + [NoTV] // according to Xcode7 SDK this was available (in parts) in iOS8 [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -609,6 +634,7 @@ interface NEFilterManager { #endif } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterVerdict))] interface NEFilterNewFlowVerdict : NSSecureCoding, NSCopying { @@ -646,6 +672,7 @@ interface NEFilterNewFlowVerdict : NSSecureCoding, NSCopying { NEFilterDataVerdict PauseVerdict (); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEProvider))] [Abstract] // documented as such @@ -681,6 +708,7 @@ interface NEFilterProvider { NSString RemediationMapRemediationUrls { get; } } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface NEFilterProviderConfiguration : NSSecureCoding, NSCopying { @@ -725,6 +753,7 @@ interface NEFilterProviderConfiguration : NSSecureCoding, NSCopying { string FilterPacketProviderBundleIdentifier { get; set; } } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterVerdict))] @@ -742,6 +771,7 @@ interface NEFilterRemediationVerdict : NSSecureCoding, NSCopying { NEFilterRemediationVerdict NeedRulesVerdict (); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface NEFilterVerdict : NSSecureCoding, NSCopying { @@ -750,6 +780,7 @@ interface NEFilterVerdict : NSSecureCoding, NSCopying { bool ShouldReport { get; set; } } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface NEFlowMetaData : NSCopying, NSSecureCoding { @@ -773,6 +804,7 @@ interface NEFlowMetaData : NSCopying, NSSecureCoding { [MacCatalyst (13, 1)] delegate void NEHotspotHelperHandler (NEHotspotHelperCommand cmd); + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -795,6 +827,7 @@ interface NEHotspotHelper { NEHotspotNetwork [] SupportedNetworkInterfaces { get; } } + [NoTV] [Static] [NoMac] [MacCatalyst (13, 1)] @@ -803,6 +836,7 @@ interface NEHotspotHelperOptionInternal { NSString DisplayName { get; } } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [Category] @@ -812,6 +846,7 @@ interface NSMutableURLRequest_NEHotspotHelper { void BindTo (NEHotspotHelperCommand command); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -835,6 +870,7 @@ interface NEHotspotHelperCommand { NWUdpSession CreateUdpSession (NWEndpoint endpoint); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -849,6 +885,7 @@ interface NEHotspotHelperResponse { void Deliver (); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -1000,6 +1037,7 @@ interface NEProvider { [NullAllowed, Export ("defaultPath")] NWPath DefaultPath { get; } + [NoTV] [Deprecated (PlatformName.iOS, 12, 0)] [Deprecated (PlatformName.MacOSX, 10, 14)] [MacCatalyst (13, 1)] @@ -1104,9 +1142,11 @@ interface NETunnelProvider { [Export ("protocolConfiguration")] NEVpnProtocol ProtocolConfiguration { get; } + [NoTV] [NullAllowed, Export ("appRules")] NEAppRule [] AppRules { get; } + [NoTV] [Export ("routingMethod")] NETunnelProviderRoutingMethod RoutingMethod { get; } @@ -1127,6 +1167,7 @@ interface NETunnelProviderManager { [Export ("forPerAppVPN")] NETunnelProviderManager CreatePerAppVpn (); + [NoTV] [return: NullAllowed] [Export ("copyAppRules")] NEAppRule [] CopyAppRules (); @@ -1137,10 +1178,12 @@ interface NETunnelProviderManager { [Export ("appRules", ArgumentSemantic.Copy)] NEAppRule[] AppRules { get; set; } #else + [NoTV] [Obsolete ("Use 'CopyAppRules' instead, this property will be removed in the future.")] NEAppRule [] AppRules { [Wrap ("CopyAppRules ()!", IsVirtual = true)] get; } #endif + [NoTV] [Export ("routingMethod")] NETunnelProviderRoutingMethod RoutingMethod { get; } @@ -1191,6 +1234,7 @@ interface NEVpnManager { [Export ("localizedDescription")] string LocalizedDescription { get; set; } + [NoTV] [NullAllowed] [Export ("protocol", ArgumentSemantic.Retain)] [Deprecated (PlatformName.iOS, 9, 0, message: "Use 'ProtocolConfiguration' instead.")] @@ -1226,6 +1270,7 @@ interface NEVpnManager { [NoiOS] [NoMacCatalyst] + [NoTV] [Internal] [Export ("setAuthorization:")] void _SetAuthorization (IntPtr auth); @@ -1275,7 +1320,7 @@ interface NEVpnConnection { NSString StatusDidChangeNotification { get; } [Async] - [NoWatch, NoTV, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] + [NoWatch, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] [Export ("fetchLastDisconnectErrorWithCompletionHandler:")] void FetchLastDisconnectError (Action handler); } @@ -1457,7 +1502,7 @@ interface NEVpnProtocolIke2 { [Export ("enableFallback")] bool EnableFallback { get; set; } - [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [NoWatch, Mac (11, 0), iOS (14, 0)] [MacCatalyst (14, 0)] [Export ("mtu")] nuint Mtu { get; set; } @@ -1731,6 +1776,7 @@ interface NWUdpSession { void Cancel (); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterFlow))] @@ -1749,6 +1795,7 @@ interface NEFilterBrowserFlow { NSUrl ParentUrl { get; } } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEFilterFlow))] interface NEFilterSocketFlow { @@ -1794,6 +1841,7 @@ int SocketProtocol { string RemoteHostname { get; } } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] interface NEFilterReport : NSSecureCoding, NSCopying { @@ -1923,15 +1971,18 @@ interface NEPacket : NSCopying, NSSecureCoding { [Export ("protocolFamily")] byte ProtocolFamily { get; } + [NoTV] [NullAllowed, Export ("metadata")] NEFlowMetaData Metadata { get; } + [NoTV] [NoiOS] [MacCatalyst (15, 0)] [Export ("direction")] NETrafficDirection Direction { get; } } + [NoTV] [MacCatalyst (13, 1)] [DisableDefaultCtor] [BaseType (typeof (NSObject), Name = "NEDNSProxyManager")] @@ -1967,6 +2018,7 @@ interface NEDnsProxyManager { bool Enabled { [Bind ("isEnabled")] get; set; } } + [NoTV] [MacCatalyst (13, 1)] [DisableDefaultCtor] [BaseType (typeof (NEProvider), Name = "NEDNSProxyProvider")] @@ -1995,6 +2047,7 @@ interface NEDnsProxyProvider { bool HandleNewUdpFlow (NEAppProxyUdpFlow flow, NWEndpoint remoteEndpoint); } + [NoTV] [MacCatalyst (13, 1)] [BaseType (typeof (NEVpnProtocol), Name = "NEDNSProxyProviderProtocol")] interface NEDnsProxyProviderProtocol { @@ -2006,6 +2059,7 @@ interface NEDnsProxyProviderProtocol { string ProviderBundleIdentifier { get; set; } } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -2030,6 +2084,7 @@ interface NEHotspotHS20Settings : NSCopying, NSSecureCoding { NativeHandle Constructor (string domainName, bool roamingEnabled); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject), Name = "NEHotspotEAPSettings")] @@ -2067,6 +2122,7 @@ interface NEHotspotEapSettings : NSCopying, NSSecureCoding { bool SetTrustedServerCertificates (NSObject [] certificates); } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [DisableDefaultCtor] @@ -2119,6 +2175,7 @@ interface NEHotspotConfiguration : NSCopying, NSSecureCoding { string SsidPrefix { get; } } + [NoTV] [NoMac] [MacCatalyst (13, 1)] [BaseType (typeof (NSObject))] @@ -2143,6 +2200,7 @@ interface NEHotspotConfigurationManager { void GetConfiguredSsids (Action completionHandler); } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NSObject))] @@ -2177,6 +2235,7 @@ interface NENetworkRule : NSSecureCoding, NSCopying { NETrafficDirection MatchDirection { get; } } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NSObject))] @@ -2193,6 +2252,7 @@ interface NEFilterRule : NSSecureCoding, NSCopying { NEFilterAction Action { get; } } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NSObject))] @@ -2209,16 +2269,19 @@ interface NEFilterSettings : NSSecureCoding, NSCopying { NEFilterAction DefaultAction { get; } } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NSObject))] interface NEFilterPacketContext { } + [NoTV] [NoiOS] [NoMacCatalyst] delegate NEFilterPacketProviderVerdict NEFilterPacketHandler (NEFilterPacketContext context, IntPtr @interface, NETrafficDirection directiom, IntPtr packetBytes, nuint packetLength); + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NEFilterProvider))] @@ -2234,6 +2297,7 @@ interface NEFilterPacketProvider { void AllowPacket (NEPacket packet); } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NEVpnManager))] @@ -2246,6 +2310,7 @@ interface NETransparentProxyManager { void LoadAllFromPreferences (Action completionHandler); } + [NoTV] [NoiOS] [NoMacCatalyst] [BaseType (typeof (NETunnelNetworkSettings))] @@ -2258,6 +2323,7 @@ interface NETransparentProxyNetworkSettings { NENetworkRule [] ExcludedNetworkRules { get; set; } } + [NoTV] [NoWatch, NoTV, NoMac, iOS (14, 0)] [MacCatalyst (14, 0)] [BaseType (typeof (NSObject))] @@ -2345,7 +2411,7 @@ interface NEAppPushProvider { void Start (); } - [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [NoWatch, Mac (11, 0), iOS (14, 0)] [MacCatalyst (14, 0)] [BaseType (typeof (NEDnsSettings), Name = "NEDNSOverHTTPSSettings")] interface NEDnsOverHttpsSettings { @@ -2353,13 +2419,13 @@ interface NEDnsOverHttpsSettings { [Export ("serverURL", ArgumentSemantic.Copy)] NSUrl ServerUrl { get; set; } - [NoWatch, NoTV, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] + [NoWatch, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] [Export ("identityReference", ArgumentSemantic.Copy)] [NullAllowed] NSData IdentityReference { get; set; } } - [NoWatch, NoTV, Mac (11, 0), iOS (14, 0)] + [NoWatch, Mac (11, 0), iOS (14, 0)] [MacCatalyst (14, 0)] [BaseType (typeof (NEDnsSettings), Name = "NEDNSOverTLSSettings")] interface NEDnsOverTlsSettings { @@ -2367,7 +2433,7 @@ interface NEDnsOverTlsSettings { [Export ("serverName")] string ServerName { get; set; } - [NoWatch, NoTV, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] + [NoWatch, Mac (13, 0), iOS (16, 0), MacCatalyst (16, 0)] [Export ("identityReference", ArgumentSemantic.Copy)] [NullAllowed] NSData IdentityReference { get; set; } @@ -2467,4 +2533,93 @@ interface NEEthernetTunnelNetworkSettings { string EthernetAddress { get; } } + [TV (17, 0), NoWatch, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [BaseType (typeof (NSObject))] + interface NERelay : NSCopying, NSSecureCoding { + [NullAllowed, Export ("HTTP3RelayURL", ArgumentSemantic.Copy)] + NSUrl Http3RelayUrl { get; set; } + + [NullAllowed, Export ("HTTP2RelayURL", ArgumentSemantic.Copy)] + NSUrl Http2RelayUrl { get; set; } + + [NullAllowed, Export ("dnsOverHTTPSURL", ArgumentSemantic.Copy)] + NSUrl DnsOverHttpsUrl { get; set; } + + [NullAllowed, Export ("syntheticDNSAnswerIPv4Prefix")] + string SyntheticDnsAnswerIPv4Prefix { get; set; } + + [NullAllowed, Export ("syntheticDNSAnswerIPv6Prefix")] + string SyntheticDnsAnswerIPv6Prefix { get; set; } + + [Export ("additionalHTTPHeaderFields", ArgumentSemantic.Copy)] + NSDictionary AdditionalHttpHeaderFields { get; set; } + + [NullAllowed, Export ("rawPublicKeys", ArgumentSemantic.Copy)] + NSData [] RawPublicKeys { get; set; } + + [NullAllowed, Export ("identityData", ArgumentSemantic.Copy)] + NSData IdentityData { get; set; } + + [NullAllowed, Export ("identityDataPassword")] + string IdentityDataPassword { get; set; } + + [Field ("NERelayErrorDomain")] + NSString ErrorDomain { get; } + + [Notification, Field ("NERelayConfigurationDidChangeNotification")] + NSString ConfigurationDidChangeNotification { get; } + } + + [TV (17, 0), NoWatch, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [BaseType (typeof (NSObject))] + interface NERelayManager { + [Static] + [Export ("sharedManager")] + NERelayManager Shared { get; } + + [Export ("loadFromPreferencesWithCompletionHandler:")] + [Async] + void LoadFromPreferences (Action completionHandler); + + [Export ("removeFromPreferencesWithCompletionHandler:")] + [Async] + void RemoveFromPreferences (Action completionHandler); + + [Export ("saveToPreferencesWithCompletionHandler:")] + [Async] + void SaveToPreferences (Action completionHandler); + + [NullAllowed, Export ("localizedDescription")] + string LocalizedDescription { get; set; } + + [Export ("enabled")] + bool Enabled { [Bind ("isEnabled")] get; set; } + + [NullAllowed, Export ("relays", ArgumentSemantic.Strong)] + NERelay [] Relays { get; set; } + + [NullAllowed, Export ("matchDomains", ArgumentSemantic.Copy)] + string [] MatchDomains { get; set; } + + [NullAllowed, Export ("excludedDomains", ArgumentSemantic.Copy)] + string [] ExcludedDomains { get; set; } + + [NullAllowed, Export ("onDemandRules", ArgumentSemantic.Copy)] + NEOnDemandRule [] OnDemandRules { get; set; } + + [Static] + [Export ("loadAllManagersFromPreferencesWithCompletionHandler:")] + [Async] + void LoadAllManagersFromPreferences (Action, NSError> completionHandler); + } + + [NoWatch, NoTV, Mac (14, 0), iOS (17, 0), MacCatalyst (17, 0)] + [BaseType (typeof (NEProvider))] + [DisableDefaultCtor] + interface NEFailureHandlerProvider { + [NoWatch, NoTV, Mac (14, 0), iOS (17, 0)] + [Export ("handleFailure:completionHandler:")] + [Async] + void HandleFailure (NSError error, Action completionHandler); + } } diff --git a/src/rsp/dotnet/tvos-defines-dotnet.rsp b/src/rsp/dotnet/tvos-defines-dotnet.rsp index fde4c9fbbbfb..943fa8b37b90 100644 --- a/src/rsp/dotnet/tvos-defines-dotnet.rsp +++ b/src/rsp/dotnet/tvos-defines-dotnet.rsp @@ -52,6 +52,7 @@ -d:HAS_MULTIPEERCONNECTIVITY -d:HAS_NATURALLANGUAGE -d:HAS_NETWORK +-d:HAS_NETWORKEXTENSION -d:HAS_OPENGLES -d:HAS_OSLOG -d:HAS_PHOTOS diff --git a/src/rsp/tvos-defines.rsp b/src/rsp/tvos-defines.rsp index 9552f520f7cf..bdc403fcae25 100644 --- a/src/rsp/tvos-defines.rsp +++ b/src/rsp/tvos-defines.rsp @@ -53,6 +53,7 @@ -d:HAS_MULTIPEERCONNECTIVITY -d:HAS_NATURALLANGUAGE -d:HAS_NETWORK +-d:HAS_NETWORKEXTENSION -d:HAS_OPENGLES -d:HAS_OSLOG -d:HAS_PHOTOS diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.ignore b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.ignore index 464a6251791c..107e9cbef1f4 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.ignore @@ -1 +1,6 @@ !duplicate-type-name! NWPathStatus enum exists as both NetworkExtension.NWPathStatus and Network.NWPathStatus + +# xcode 15 +# error used to be ignored in common-NetworkExtension.ignore but tvOS platform support was added and since this error does not apply to tvOS, it had to be addressed on a per platform basis +!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. + diff --git a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.todo b/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.todo deleted file mode 100644 index 96e57b5fa84a..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/MacCatalyst-NetworkExtension.todo +++ /dev/null @@ -1,8 +0,0 @@ -!extra-enum-value! Managed value 1 for NEOnDemandRuleInterfaceType.Ethernet is available for the current platform while the value in the native header is not -!missing-enum! NEVPNConnectionError not bound -!missing-field! NEVPNConnectionErrorDomain not bound -!missing-selector! NEDNSOverHTTPSSettings::identityReference not bound -!missing-selector! NEDNSOverHTTPSSettings::setIdentityReference: not bound -!missing-selector! NEDNSOverTLSSettings::identityReference not bound -!missing-selector! NEDNSOverTLSSettings::setIdentityReference: not bound -!missing-selector! NEVPNConnection::fetchLastDisconnectErrorWithCompletionHandler: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/common-NetworkExtension.ignore b/tests/xtro-sharpie/api-annotations-dotnet/common-NetworkExtension.ignore deleted file mode 100644 index 1fe20984e800..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/common-NetworkExtension.ignore +++ /dev/null @@ -1 +0,0 @@ -!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. \ No newline at end of file diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.ignore b/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.ignore index 7f58943a163e..eba3028d0be5 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.ignore @@ -6,3 +6,8 @@ # value got removed in xcode14 !extra-enum-value! Managed value 1 for NEOnDemandRuleInterfaceType.Ethernet is available for the current platform while the value in the native header is not + +# xcode 15 +# error used to be ignored in common-NetworkExtension.ignore but tvOS platform support was added and since this error does not apply to tvOS, it had to be addressed on a per platform basis +!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. + diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.todo deleted file mode 100644 index 2700266afa76..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-NetworkExtension.todo +++ /dev/null @@ -1,44 +0,0 @@ -!missing-enum! NERelayManagerError not bound -!missing-enum-value! NEVpnIke2CertificateType native value NEVPNIKEv2CertificateTypeRSAPSS = 6 not bound -!missing-enum-value! NEVpnIke2DiffieHellman native value NEVPNIKEv2DiffieHellmanGroup32 = 32 not bound -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! NEFailureHandlerProvider::handleFailure:completionHandler: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-type! NEFailureHandlerProvider not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.ignore b/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.ignore index 2075383b3982..228f7dff1514 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.ignore +++ b/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.ignore @@ -6,3 +6,8 @@ # enum got removed from mac Os in xcode 14 !extra-enum-value! Managed value 3 for NEOnDemandRuleInterfaceType.Cellular is available for the current platform while the value in the native header is not + +# xcode 15 +# error used to be ignored in common-NetworkExtension.ignore but tvOS platform support was added and since this error does not apply to tvOS, it had to be addressed on a per platform basis +!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. + diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.todo deleted file mode 100644 index ba674c621f32..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-NetworkExtension.todo +++ /dev/null @@ -1,44 +0,0 @@ -!missing-enum! NERelayManagerError not bound -!missing-enum-value! NEVpnIke2CertificateType native value NEVPNIKEv2CertificateTypeRSAPSS = 6 not bound -!missing-enum-value! NEVpnIke2DiffieHellman native value NEVPNIKEv2DiffieHellmanGroup32 = 32 not bound -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! NEFailureHandlerProvider::handleFailure:completionHandler: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-type! NEFailureHandlerProvider not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.ignore b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.ignore new file mode 100644 index 000000000000..ce6c4ef27f82 --- /dev/null +++ b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.ignore @@ -0,0 +1,8 @@ +## Native code has NWPathStatus in NetworkExtension and nw_path_status_t in Network (with the same elements). +## NetworkExtension.NWPathStatus is the oldest, but NetworkExtension isn't present on all the platforms Network +## is, which means we can't use the same managed enum for both cases (the native enums aren't entirely identical +## either: one is pointer sized while the other is 32-bit always). +!duplicate-type-name! NWPathStatus enum exists as both NetworkExtension.NWPathStatus and Network.NWPathStatus + +!unknown-field! NEAppProxyErrorDomain bound + diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.todo deleted file mode 100644 index 6cbbc23d3bd3..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-NetworkExtension.todo +++ /dev/null @@ -1,379 +0,0 @@ -!missing-enum! NEAppProxyFlowError not bound -!missing-enum! NEDNSProtocol not bound -!missing-enum! NEEvaluateConnectionRuleAction not bound -!missing-enum! NEOnDemandRuleAction not bound -!missing-enum! NEOnDemandRuleInterfaceType not bound -!missing-enum! NEProviderStopReason not bound -!missing-enum! NERelayManagerError not bound -!missing-enum! NETunnelProviderError not bound -!missing-enum! NEVPNConnectionError not bound -!missing-enum! NEVPNError not bound -!missing-enum! NEVPNIKEAuthenticationMethod not bound -!missing-enum! NEVPNIKEv2CertificateType not bound -!missing-enum! NEVPNIKEv2DeadPeerDetectionRate not bound -!missing-enum! NEVPNIKEv2DiffieHellmanGroup not bound -!missing-enum! NEVPNIKEv2EncryptionAlgorithm not bound -!missing-enum! NEVPNIKEv2IntegrityAlgorithm not bound -!missing-enum! NEVPNIKEv2TLSVersion not bound -!missing-enum! NEVPNStatus not bound -!missing-enum! NWTCPConnectionState not bound -!missing-enum! NWUDPSessionState not bound -!missing-enum-native! NWPathStatus -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-field! NETunnelProviderErrorDomain not bound -!missing-field! NEVPNConfigurationChangeNotification not bound -!missing-field! NEVPNConnectionErrorDomain not bound -!missing-field! NEVPNConnectionStartOptionPassword not bound -!missing-field! NEVPNConnectionStartOptionUsername not bound -!missing-field! NEVPNErrorDomain not bound -!missing-field! NEVPNStatusDidChangeNotification not bound -!missing-protocol! NWTCPConnectionAuthenticationDelegate not bound -!missing-selector! +NEIPv4Route::defaultRoute not bound -!missing-selector! +NEIPv6Route::defaultRoute not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! +NETunnelProviderManager::loadAllFromPreferencesWithCompletionHandler: not bound -!missing-selector! +NEVPNManager::sharedManager not bound -!missing-selector! +NWBonjourServiceEndpoint::endpointWithName:type:domain: not bound -!missing-selector! +NWHostEndpoint::endpointWithHostname:port: not bound -!missing-selector! NEDNSOverHTTPSSettings::identityReference not bound -!missing-selector! NEDNSOverHTTPSSettings::serverURL not bound -!missing-selector! NEDNSOverHTTPSSettings::setIdentityReference: not bound -!missing-selector! NEDNSOverHTTPSSettings::setServerURL: not bound -!missing-selector! NEDNSOverTLSSettings::identityReference not bound -!missing-selector! NEDNSOverTLSSettings::serverName not bound -!missing-selector! NEDNSOverTLSSettings::setIdentityReference: not bound -!missing-selector! NEDNSOverTLSSettings::setServerName: not bound -!missing-selector! NEDNSSettings::dnsProtocol not bound -!missing-selector! NEDNSSettings::domainName not bound -!missing-selector! NEDNSSettings::initWithServers: not bound -!missing-selector! NEDNSSettings::matchDomains not bound -!missing-selector! NEDNSSettings::matchDomainsNoSearch not bound -!missing-selector! NEDNSSettings::searchDomains not bound -!missing-selector! NEDNSSettings::servers not bound -!missing-selector! NEDNSSettings::setDomainName: not bound -!missing-selector! NEDNSSettings::setMatchDomains: not bound -!missing-selector! NEDNSSettings::setMatchDomainsNoSearch: not bound -!missing-selector! NEDNSSettings::setSearchDomains: not bound -!missing-selector! NEEvaluateConnectionRule::action not bound -!missing-selector! NEEvaluateConnectionRule::initWithMatchDomains:andAction: not bound -!missing-selector! NEEvaluateConnectionRule::matchDomains not bound -!missing-selector! NEEvaluateConnectionRule::probeURL not bound -!missing-selector! NEEvaluateConnectionRule::setProbeURL: not bound -!missing-selector! NEEvaluateConnectionRule::setUseDNSServers: not bound -!missing-selector! NEEvaluateConnectionRule::useDNSServers not bound -!missing-selector! NEIPv4Route::destinationAddress not bound -!missing-selector! NEIPv4Route::destinationSubnetMask not bound -!missing-selector! NEIPv4Route::gatewayAddress not bound -!missing-selector! NEIPv4Route::initWithDestinationAddress:subnetMask: not bound -!missing-selector! NEIPv4Route::setGatewayAddress: not bound -!missing-selector! NEIPv4Settings::addresses not bound -!missing-selector! NEIPv4Settings::excludedRoutes not bound -!missing-selector! NEIPv4Settings::includedRoutes not bound -!missing-selector! NEIPv4Settings::initWithAddresses:subnetMasks: not bound -!missing-selector! NEIPv4Settings::setExcludedRoutes: not bound -!missing-selector! NEIPv4Settings::setIncludedRoutes: not bound -!missing-selector! NEIPv4Settings::subnetMasks not bound -!missing-selector! NEIPv6Route::destinationAddress not bound -!missing-selector! NEIPv6Route::destinationNetworkPrefixLength not bound -!missing-selector! NEIPv6Route::gatewayAddress not bound -!missing-selector! NEIPv6Route::initWithDestinationAddress:networkPrefixLength: not bound -!missing-selector! NEIPv6Route::setGatewayAddress: not bound -!missing-selector! NEIPv6Settings::addresses not bound -!missing-selector! NEIPv6Settings::excludedRoutes not bound -!missing-selector! NEIPv6Settings::includedRoutes not bound -!missing-selector! NEIPv6Settings::initWithAddresses:networkPrefixLengths: not bound -!missing-selector! NEIPv6Settings::networkPrefixLengths not bound -!missing-selector! NEIPv6Settings::setExcludedRoutes: not bound -!missing-selector! NEIPv6Settings::setIncludedRoutes: not bound -!missing-selector! NEOnDemandRule::action not bound -!missing-selector! NEOnDemandRule::DNSSearchDomainMatch not bound -!missing-selector! NEOnDemandRule::DNSServerAddressMatch not bound -!missing-selector! NEOnDemandRule::interfaceTypeMatch not bound -!missing-selector! NEOnDemandRule::probeURL not bound -!missing-selector! NEOnDemandRule::setDNSSearchDomainMatch: not bound -!missing-selector! NEOnDemandRule::setDNSServerAddressMatch: not bound -!missing-selector! NEOnDemandRule::setInterfaceTypeMatch: not bound -!missing-selector! NEOnDemandRule::setProbeURL: not bound -!missing-selector! NEOnDemandRule::setSSIDMatch: not bound -!missing-selector! NEOnDemandRule::SSIDMatch not bound -!missing-selector! NEOnDemandRuleEvaluateConnection::connectionRules not bound -!missing-selector! NEOnDemandRuleEvaluateConnection::setConnectionRules: not bound -!missing-selector! NEPacket::data not bound -!missing-selector! NEPacket::initWithData:protocolFamily: not bound -!missing-selector! NEPacket::protocolFamily not bound -!missing-selector! NEPacketTunnelFlow::readPacketObjectsWithCompletionHandler: not bound -!missing-selector! NEPacketTunnelFlow::readPacketsWithCompletionHandler: not bound -!missing-selector! NEPacketTunnelFlow::writePacketObjects: not bound -!missing-selector! NEPacketTunnelFlow::writePackets:withProtocols: not bound -!missing-selector! NEPacketTunnelNetworkSettings::IPv4Settings not bound -!missing-selector! NEPacketTunnelNetworkSettings::IPv6Settings not bound -!missing-selector! NEPacketTunnelNetworkSettings::MTU not bound -!missing-selector! NEPacketTunnelNetworkSettings::setIPv4Settings: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setIPv6Settings: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setMTU: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setTunnelOverheadBytes: not bound -!missing-selector! NEPacketTunnelNetworkSettings::tunnelOverheadBytes not bound -!missing-selector! NEPacketTunnelProvider::cancelTunnelWithError: not bound -!missing-selector! NEPacketTunnelProvider::createTCPConnectionThroughTunnelToEndpoint:enableTLS:TLSParameters:delegate: not bound -!missing-selector! NEPacketTunnelProvider::createUDPSessionThroughTunnelToEndpoint:fromEndpoint: not bound -!missing-selector! NEPacketTunnelProvider::packetFlow not bound -!missing-selector! NEPacketTunnelProvider::startTunnelWithOptions:completionHandler: not bound -!missing-selector! NEPacketTunnelProvider::stopTunnelWithReason:completionHandler: not bound -!missing-selector! NEProvider::createTCPConnectionToEndpoint:enableTLS:TLSParameters:delegate: not bound -!missing-selector! NEProvider::createUDPSessionToEndpoint:fromEndpoint: not bound -!missing-selector! NEProvider::defaultPath not bound -!missing-selector! NEProvider::sleepWithCompletionHandler: not bound -!missing-selector! NEProvider::wake not bound -!missing-selector! NEProxyServer::address not bound -!missing-selector! NEProxyServer::authenticationRequired not bound -!missing-selector! NEProxyServer::initWithAddress:port: not bound -!missing-selector! NEProxyServer::password not bound -!missing-selector! NEProxyServer::port not bound -!missing-selector! NEProxyServer::setAuthenticationRequired: not bound -!missing-selector! NEProxyServer::setPassword: not bound -!missing-selector! NEProxyServer::setUsername: not bound -!missing-selector! NEProxyServer::username not bound -!missing-selector! NEProxySettings::autoProxyConfigurationEnabled not bound -!missing-selector! NEProxySettings::exceptionList not bound -!missing-selector! NEProxySettings::excludeSimpleHostnames not bound -!missing-selector! NEProxySettings::HTTPEnabled not bound -!missing-selector! NEProxySettings::HTTPSEnabled not bound -!missing-selector! NEProxySettings::HTTPServer not bound -!missing-selector! NEProxySettings::HTTPSServer not bound -!missing-selector! NEProxySettings::matchDomains not bound -!missing-selector! NEProxySettings::proxyAutoConfigurationJavaScript not bound -!missing-selector! NEProxySettings::proxyAutoConfigurationURL not bound -!missing-selector! NEProxySettings::setAutoProxyConfigurationEnabled: not bound -!missing-selector! NEProxySettings::setExceptionList: not bound -!missing-selector! NEProxySettings::setExcludeSimpleHostnames: not bound -!missing-selector! NEProxySettings::setHTTPEnabled: not bound -!missing-selector! NEProxySettings::setHTTPSEnabled: not bound -!missing-selector! NEProxySettings::setHTTPServer: not bound -!missing-selector! NEProxySettings::setHTTPSServer: not bound -!missing-selector! NEProxySettings::setMatchDomains: not bound -!missing-selector! NEProxySettings::setProxyAutoConfigurationJavaScript: not bound -!missing-selector! NEProxySettings::setProxyAutoConfigurationURL: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-selector! NETunnelNetworkSettings::DNSSettings not bound -!missing-selector! NETunnelNetworkSettings::initWithTunnelRemoteAddress: not bound -!missing-selector! NETunnelNetworkSettings::proxySettings not bound -!missing-selector! NETunnelNetworkSettings::setDNSSettings: not bound -!missing-selector! NETunnelNetworkSettings::setProxySettings: not bound -!missing-selector! NETunnelNetworkSettings::tunnelRemoteAddress not bound -!missing-selector! NETunnelProvider::handleAppMessage:completionHandler: not bound -!missing-selector! NETunnelProvider::protocolConfiguration not bound -!missing-selector! NETunnelProvider::reasserting not bound -!missing-selector! NETunnelProvider::setReasserting: not bound -!missing-selector! NETunnelProvider::setTunnelNetworkSettings:completionHandler: not bound -!missing-selector! NETunnelProviderProtocol::providerBundleIdentifier not bound -!missing-selector! NETunnelProviderProtocol::providerConfiguration not bound -!missing-selector! NETunnelProviderProtocol::setProviderBundleIdentifier: not bound -!missing-selector! NETunnelProviderProtocol::setProviderConfiguration: not bound -!missing-selector! NETunnelProviderSession::sendProviderMessage:returnError:responseHandler: not bound -!missing-selector! NETunnelProviderSession::startTunnelWithOptions:andReturnError: not bound -!missing-selector! NETunnelProviderSession::stopTunnel not bound -!missing-selector! NEVPNConnection::connectedDate not bound -!missing-selector! NEVPNConnection::fetchLastDisconnectErrorWithCompletionHandler: not bound -!missing-selector! NEVPNConnection::manager not bound -!missing-selector! NEVPNConnection::startVPNTunnelAndReturnError: not bound -!missing-selector! NEVPNConnection::startVPNTunnelWithOptions:andReturnError: not bound -!missing-selector! NEVPNConnection::status not bound -!missing-selector! NEVPNConnection::stopVPNTunnel not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::diffieHellmanGroup not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::encryptionAlgorithm not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::integrityAlgorithm not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::lifetimeMinutes not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setDiffieHellmanGroup: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setEncryptionAlgorithm: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setIntegrityAlgorithm: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setLifetimeMinutes: not bound -!missing-selector! NEVPNManager::connection not bound -!missing-selector! NEVPNManager::isEnabled not bound -!missing-selector! NEVPNManager::isOnDemandEnabled not bound -!missing-selector! NEVPNManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::localizedDescription not bound -!missing-selector! NEVPNManager::onDemandRules not bound -!missing-selector! NEVPNManager::protocolConfiguration not bound -!missing-selector! NEVPNManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::setEnabled: not bound -!missing-selector! NEVPNManager::setLocalizedDescription: not bound -!missing-selector! NEVPNManager::setOnDemandEnabled: not bound -!missing-selector! NEVPNManager::setOnDemandRules: not bound -!missing-selector! NEVPNManager::setProtocolConfiguration: not bound -!missing-selector! NEVPNProtocol::disconnectOnSleep not bound -!missing-selector! NEVPNProtocol::enforceRoutes not bound -!missing-selector! NEVPNProtocol::identityData not bound -!missing-selector! NEVPNProtocol::identityDataPassword not bound -!missing-selector! NEVPNProtocol::identityReference not bound -!missing-selector! NEVPNProtocol::passwordReference not bound -!missing-selector! NEVPNProtocol::proxySettings not bound -!missing-selector! NEVPNProtocol::serverAddress not bound -!missing-selector! NEVPNProtocol::setDisconnectOnSleep: not bound -!missing-selector! NEVPNProtocol::setEnforceRoutes: not bound -!missing-selector! NEVPNProtocol::setIdentityData: not bound -!missing-selector! NEVPNProtocol::setIdentityDataPassword: not bound -!missing-selector! NEVPNProtocol::setIdentityReference: not bound -!missing-selector! NEVPNProtocol::setPasswordReference: not bound -!missing-selector! NEVPNProtocol::setProxySettings: not bound -!missing-selector! NEVPNProtocol::setServerAddress: not bound -!missing-selector! NEVPNProtocol::setUsername: not bound -!missing-selector! NEVPNProtocol::username not bound -!missing-selector! NEVPNProtocolIKEv2::certificateType not bound -!missing-selector! NEVPNProtocolIKEv2::childSecurityAssociationParameters not bound -!missing-selector! NEVPNProtocolIKEv2::deadPeerDetectionRate not bound -!missing-selector! NEVPNProtocolIKEv2::disableMOBIKE not bound -!missing-selector! NEVPNProtocolIKEv2::disableRedirect not bound -!missing-selector! NEVPNProtocolIKEv2::enablePFS not bound -!missing-selector! NEVPNProtocolIKEv2::enableRevocationCheck not bound -!missing-selector! NEVPNProtocolIKEv2::IKESecurityAssociationParameters not bound -!missing-selector! NEVPNProtocolIKEv2::maximumTLSVersion not bound -!missing-selector! NEVPNProtocolIKEv2::minimumTLSVersion not bound -!missing-selector! NEVPNProtocolIKEv2::mtu not bound -!missing-selector! NEVPNProtocolIKEv2::serverCertificateCommonName not bound -!missing-selector! NEVPNProtocolIKEv2::serverCertificateIssuerCommonName not bound -!missing-selector! NEVPNProtocolIKEv2::setCertificateType: not bound -!missing-selector! NEVPNProtocolIKEv2::setDeadPeerDetectionRate: not bound -!missing-selector! NEVPNProtocolIKEv2::setDisableMOBIKE: not bound -!missing-selector! NEVPNProtocolIKEv2::setDisableRedirect: not bound -!missing-selector! NEVPNProtocolIKEv2::setEnablePFS: not bound -!missing-selector! NEVPNProtocolIKEv2::setEnableRevocationCheck: not bound -!missing-selector! NEVPNProtocolIKEv2::setMaximumTLSVersion: not bound -!missing-selector! NEVPNProtocolIKEv2::setMinimumTLSVersion: not bound -!missing-selector! NEVPNProtocolIKEv2::setMtu: not bound -!missing-selector! NEVPNProtocolIKEv2::setServerCertificateCommonName: not bound -!missing-selector! NEVPNProtocolIKEv2::setServerCertificateIssuerCommonName: not bound -!missing-selector! NEVPNProtocolIKEv2::setStrictRevocationCheck: not bound -!missing-selector! NEVPNProtocolIKEv2::setUseConfigurationAttributeInternalIPSubnet: not bound -!missing-selector! NEVPNProtocolIKEv2::strictRevocationCheck not bound -!missing-selector! NEVPNProtocolIKEv2::useConfigurationAttributeInternalIPSubnet not bound -!missing-selector! NEVPNProtocolIPSec::authenticationMethod not bound -!missing-selector! NEVPNProtocolIPSec::localIdentifier not bound -!missing-selector! NEVPNProtocolIPSec::remoteIdentifier not bound -!missing-selector! NEVPNProtocolIPSec::setAuthenticationMethod: not bound -!missing-selector! NEVPNProtocolIPSec::setLocalIdentifier: not bound -!missing-selector! NEVPNProtocolIPSec::setRemoteIdentifier: not bound -!missing-selector! NEVPNProtocolIPSec::setSharedSecretReference: not bound -!missing-selector! NEVPNProtocolIPSec::setUseExtendedAuthentication: not bound -!missing-selector! NEVPNProtocolIPSec::sharedSecretReference not bound -!missing-selector! NEVPNProtocolIPSec::useExtendedAuthentication not bound -!missing-selector! NWBonjourServiceEndpoint::domain not bound -!missing-selector! NWBonjourServiceEndpoint::name not bound -!missing-selector! NWBonjourServiceEndpoint::type not bound -!missing-selector! NWHostEndpoint::hostname not bound -!missing-selector! NWHostEndpoint::port not bound -!missing-selector! NWPath::isConstrained not bound -!missing-selector! NWPath::isEqualToPath: not bound -!missing-selector! NWPath::isExpensive not bound -!missing-selector! NWPath::status not bound -!missing-selector! NWTCPConnection::cancel not bound -!missing-selector! NWTCPConnection::connectedPath not bound -!missing-selector! NWTCPConnection::endpoint not bound -!missing-selector! NWTCPConnection::error not bound -!missing-selector! NWTCPConnection::hasBetterPath not bound -!missing-selector! NWTCPConnection::initWithUpgradeForConnection: not bound -!missing-selector! NWTCPConnection::isViable not bound -!missing-selector! NWTCPConnection::localAddress not bound -!missing-selector! NWTCPConnection::readLength:completionHandler: not bound -!missing-selector! NWTCPConnection::readMinimumLength:maximumLength:completionHandler: not bound -!missing-selector! NWTCPConnection::remoteAddress not bound -!missing-selector! NWTCPConnection::state not bound -!missing-selector! NWTCPConnection::txtRecord not bound -!missing-selector! NWTCPConnection::write:completionHandler: not bound -!missing-selector! NWTCPConnection::writeClose not bound -!missing-selector! NWTLSParameters::maximumSSLProtocolVersion not bound -!missing-selector! NWTLSParameters::minimumSSLProtocolVersion not bound -!missing-selector! NWTLSParameters::setMaximumSSLProtocolVersion: not bound -!missing-selector! NWTLSParameters::setMinimumSSLProtocolVersion: not bound -!missing-selector! NWTLSParameters::setSSLCipherSuites: not bound -!missing-selector! NWTLSParameters::setTLSSessionID: not bound -!missing-selector! NWTLSParameters::SSLCipherSuites not bound -!missing-selector! NWTLSParameters::TLSSessionID not bound -!missing-selector! NWUDPSession::cancel not bound -!missing-selector! NWUDPSession::currentPath not bound -!missing-selector! NWUDPSession::endpoint not bound -!missing-selector! NWUDPSession::hasBetterPath not bound -!missing-selector! NWUDPSession::initWithUpgradeForSession: not bound -!missing-selector! NWUDPSession::isViable not bound -!missing-selector! NWUDPSession::maximumDatagramLength not bound -!missing-selector! NWUDPSession::resolvedEndpoint not bound -!missing-selector! NWUDPSession::setReadHandler:maxDatagrams: not bound -!missing-selector! NWUDPSession::state not bound -!missing-selector! NWUDPSession::tryNextResolvedEndpoint not bound -!missing-selector! NWUDPSession::writeDatagram:completionHandler: not bound -!missing-selector! NWUDPSession::writeMultipleDatagrams:completionHandler: not bound -!missing-type! NEDNSOverHTTPSSettings not bound -!missing-type! NEDNSOverTLSSettings not bound -!missing-type! NEDNSSettings not bound -!missing-type! NEEvaluateConnectionRule not bound -!missing-type! NEIPv4Route not bound -!missing-type! NEIPv4Settings not bound -!missing-type! NEIPv6Route not bound -!missing-type! NEIPv6Settings not bound -!missing-type! NEOnDemandRule not bound -!missing-type! NEOnDemandRuleConnect not bound -!missing-type! NEOnDemandRuleDisconnect not bound -!missing-type! NEOnDemandRuleEvaluateConnection not bound -!missing-type! NEOnDemandRuleIgnore not bound -!missing-type! NEPacket not bound -!missing-type! NEPacketTunnelFlow not bound -!missing-type! NEPacketTunnelNetworkSettings not bound -!missing-type! NEPacketTunnelProvider not bound -!missing-type! NEProvider not bound -!missing-type! NEProxyServer not bound -!missing-type! NEProxySettings not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-type! NETunnelNetworkSettings not bound -!missing-type! NETunnelProvider not bound -!missing-type! NETunnelProviderManager not bound -!missing-type! NETunnelProviderProtocol not bound -!missing-type! NETunnelProviderSession not bound -!missing-type! NEVPNConnection not bound -!missing-type! NEVPNIKEv2SecurityAssociationParameters not bound -!missing-type! NEVPNManager not bound -!missing-type! NEVPNProtocol not bound -!missing-type! NEVPNProtocolIKEv2 not bound -!missing-type! NEVPNProtocolIPSec not bound -!missing-type! NWBonjourServiceEndpoint not bound -!missing-type! NWEndpoint not bound -!missing-type! NWHostEndpoint not bound -!missing-type! NWPath not bound -!missing-type! NWTCPConnection not bound -!missing-type! NWTLSParameters not bound -!missing-type! NWUDPSession not bound -!wrong-enum-size! NWPathStatus managed 4 vs native 8 -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/common-NetworkExtension.ignore b/tests/xtro-sharpie/common-NetworkExtension.ignore deleted file mode 100644 index 1fe20984e800..000000000000 --- a/tests/xtro-sharpie/common-NetworkExtension.ignore +++ /dev/null @@ -1 +0,0 @@ -!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. \ No newline at end of file diff --git a/tests/xtro-sharpie/iOS-NetworkExtension.ignore b/tests/xtro-sharpie/iOS-NetworkExtension.ignore index 7f58943a163e..eba3028d0be5 100644 --- a/tests/xtro-sharpie/iOS-NetworkExtension.ignore +++ b/tests/xtro-sharpie/iOS-NetworkExtension.ignore @@ -6,3 +6,8 @@ # value got removed in xcode14 !extra-enum-value! Managed value 1 for NEOnDemandRuleInterfaceType.Ethernet is available for the current platform while the value in the native header is not + +# xcode 15 +# error used to be ignored in common-NetworkExtension.ignore but tvOS platform support was added and since this error does not apply to tvOS, it had to be addressed on a per platform basis +!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. + diff --git a/tests/xtro-sharpie/iOS-NetworkExtension.todo b/tests/xtro-sharpie/iOS-NetworkExtension.todo deleted file mode 100644 index 2700266afa76..000000000000 --- a/tests/xtro-sharpie/iOS-NetworkExtension.todo +++ /dev/null @@ -1,44 +0,0 @@ -!missing-enum! NERelayManagerError not bound -!missing-enum-value! NEVpnIke2CertificateType native value NEVPNIKEv2CertificateTypeRSAPSS = 6 not bound -!missing-enum-value! NEVpnIke2DiffieHellman native value NEVPNIKEv2DiffieHellmanGroup32 = 32 not bound -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! NEFailureHandlerProvider::handleFailure:completionHandler: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-type! NEFailureHandlerProvider not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/macOS-NetworkExtension.ignore b/tests/xtro-sharpie/macOS-NetworkExtension.ignore index 92127e97f580..e9fe41a38e12 100644 --- a/tests/xtro-sharpie/macOS-NetworkExtension.ignore +++ b/tests/xtro-sharpie/macOS-NetworkExtension.ignore @@ -10,3 +10,8 @@ # enum got removed from mac Os in xcode 14 !extra-enum-value! Managed value 3 for NEOnDemandRuleInterfaceType.Cellular is available for the current platform while the value in the native header is not + +# xcode 15 +# error used to be ignored in common-NetworkExtension.ignore but tvOS platform support was added and since this error does not apply to tvOS, it had to be addressed on a per platform basis +!missing-release-attribute-on-return-value! NetworkExtension.NEAppRule[] NetworkExtension.NETunnelProviderManager::CopyAppRules()'s selector's ('copyAppRules') Objective-C method family ('copy') indicates that the native method returns a retained object, and as such a '[return: Release]' attribute is required. + diff --git a/tests/xtro-sharpie/macOS-NetworkExtension.todo b/tests/xtro-sharpie/macOS-NetworkExtension.todo deleted file mode 100644 index ba674c621f32..000000000000 --- a/tests/xtro-sharpie/macOS-NetworkExtension.todo +++ /dev/null @@ -1,44 +0,0 @@ -!missing-enum! NERelayManagerError not bound -!missing-enum-value! NEVpnIke2CertificateType native value NEVPNIKEv2CertificateTypeRSAPSS = 6 not bound -!missing-enum-value! NEVpnIke2DiffieHellman native value NEVPNIKEv2DiffieHellmanGroup32 = 32 not bound -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! NEFailureHandlerProvider::handleFailure:completionHandler: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-type! NEFailureHandlerProvider not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/tvOS-NetworkExtension.ignore b/tests/xtro-sharpie/tvOS-NetworkExtension.ignore new file mode 100644 index 000000000000..ce6c4ef27f82 --- /dev/null +++ b/tests/xtro-sharpie/tvOS-NetworkExtension.ignore @@ -0,0 +1,8 @@ +## Native code has NWPathStatus in NetworkExtension and nw_path_status_t in Network (with the same elements). +## NetworkExtension.NWPathStatus is the oldest, but NetworkExtension isn't present on all the platforms Network +## is, which means we can't use the same managed enum for both cases (the native enums aren't entirely identical +## either: one is pointer sized while the other is 32-bit always). +!duplicate-type-name! NWPathStatus enum exists as both NetworkExtension.NWPathStatus and Network.NWPathStatus + +!unknown-field! NEAppProxyErrorDomain bound + diff --git a/tests/xtro-sharpie/tvOS-NetworkExtension.todo b/tests/xtro-sharpie/tvOS-NetworkExtension.todo deleted file mode 100644 index 6cbbc23d3bd3..000000000000 --- a/tests/xtro-sharpie/tvOS-NetworkExtension.todo +++ /dev/null @@ -1,379 +0,0 @@ -!missing-enum! NEAppProxyFlowError not bound -!missing-enum! NEDNSProtocol not bound -!missing-enum! NEEvaluateConnectionRuleAction not bound -!missing-enum! NEOnDemandRuleAction not bound -!missing-enum! NEOnDemandRuleInterfaceType not bound -!missing-enum! NEProviderStopReason not bound -!missing-enum! NERelayManagerError not bound -!missing-enum! NETunnelProviderError not bound -!missing-enum! NEVPNConnectionError not bound -!missing-enum! NEVPNError not bound -!missing-enum! NEVPNIKEAuthenticationMethod not bound -!missing-enum! NEVPNIKEv2CertificateType not bound -!missing-enum! NEVPNIKEv2DeadPeerDetectionRate not bound -!missing-enum! NEVPNIKEv2DiffieHellmanGroup not bound -!missing-enum! NEVPNIKEv2EncryptionAlgorithm not bound -!missing-enum! NEVPNIKEv2IntegrityAlgorithm not bound -!missing-enum! NEVPNIKEv2TLSVersion not bound -!missing-enum! NEVPNStatus not bound -!missing-enum! NWTCPConnectionState not bound -!missing-enum! NWUDPSessionState not bound -!missing-enum-native! NWPathStatus -!missing-field! NERelayConfigurationDidChangeNotification not bound -!missing-field! NERelayErrorDomain not bound -!missing-field! NETunnelProviderErrorDomain not bound -!missing-field! NEVPNConfigurationChangeNotification not bound -!missing-field! NEVPNConnectionErrorDomain not bound -!missing-field! NEVPNConnectionStartOptionPassword not bound -!missing-field! NEVPNConnectionStartOptionUsername not bound -!missing-field! NEVPNErrorDomain not bound -!missing-field! NEVPNStatusDidChangeNotification not bound -!missing-protocol! NWTCPConnectionAuthenticationDelegate not bound -!missing-selector! +NEIPv4Route::defaultRoute not bound -!missing-selector! +NEIPv6Route::defaultRoute not bound -!missing-selector! +NERelayManager::sharedManager not bound -!missing-selector! +NETunnelProviderManager::loadAllFromPreferencesWithCompletionHandler: not bound -!missing-selector! +NEVPNManager::sharedManager not bound -!missing-selector! +NWBonjourServiceEndpoint::endpointWithName:type:domain: not bound -!missing-selector! +NWHostEndpoint::endpointWithHostname:port: not bound -!missing-selector! NEDNSOverHTTPSSettings::identityReference not bound -!missing-selector! NEDNSOverHTTPSSettings::serverURL not bound -!missing-selector! NEDNSOverHTTPSSettings::setIdentityReference: not bound -!missing-selector! NEDNSOverHTTPSSettings::setServerURL: not bound -!missing-selector! NEDNSOverTLSSettings::identityReference not bound -!missing-selector! NEDNSOverTLSSettings::serverName not bound -!missing-selector! NEDNSOverTLSSettings::setIdentityReference: not bound -!missing-selector! NEDNSOverTLSSettings::setServerName: not bound -!missing-selector! NEDNSSettings::dnsProtocol not bound -!missing-selector! NEDNSSettings::domainName not bound -!missing-selector! NEDNSSettings::initWithServers: not bound -!missing-selector! NEDNSSettings::matchDomains not bound -!missing-selector! NEDNSSettings::matchDomainsNoSearch not bound -!missing-selector! NEDNSSettings::searchDomains not bound -!missing-selector! NEDNSSettings::servers not bound -!missing-selector! NEDNSSettings::setDomainName: not bound -!missing-selector! NEDNSSettings::setMatchDomains: not bound -!missing-selector! NEDNSSettings::setMatchDomainsNoSearch: not bound -!missing-selector! NEDNSSettings::setSearchDomains: not bound -!missing-selector! NEEvaluateConnectionRule::action not bound -!missing-selector! NEEvaluateConnectionRule::initWithMatchDomains:andAction: not bound -!missing-selector! NEEvaluateConnectionRule::matchDomains not bound -!missing-selector! NEEvaluateConnectionRule::probeURL not bound -!missing-selector! NEEvaluateConnectionRule::setProbeURL: not bound -!missing-selector! NEEvaluateConnectionRule::setUseDNSServers: not bound -!missing-selector! NEEvaluateConnectionRule::useDNSServers not bound -!missing-selector! NEIPv4Route::destinationAddress not bound -!missing-selector! NEIPv4Route::destinationSubnetMask not bound -!missing-selector! NEIPv4Route::gatewayAddress not bound -!missing-selector! NEIPv4Route::initWithDestinationAddress:subnetMask: not bound -!missing-selector! NEIPv4Route::setGatewayAddress: not bound -!missing-selector! NEIPv4Settings::addresses not bound -!missing-selector! NEIPv4Settings::excludedRoutes not bound -!missing-selector! NEIPv4Settings::includedRoutes not bound -!missing-selector! NEIPv4Settings::initWithAddresses:subnetMasks: not bound -!missing-selector! NEIPv4Settings::setExcludedRoutes: not bound -!missing-selector! NEIPv4Settings::setIncludedRoutes: not bound -!missing-selector! NEIPv4Settings::subnetMasks not bound -!missing-selector! NEIPv6Route::destinationAddress not bound -!missing-selector! NEIPv6Route::destinationNetworkPrefixLength not bound -!missing-selector! NEIPv6Route::gatewayAddress not bound -!missing-selector! NEIPv6Route::initWithDestinationAddress:networkPrefixLength: not bound -!missing-selector! NEIPv6Route::setGatewayAddress: not bound -!missing-selector! NEIPv6Settings::addresses not bound -!missing-selector! NEIPv6Settings::excludedRoutes not bound -!missing-selector! NEIPv6Settings::includedRoutes not bound -!missing-selector! NEIPv6Settings::initWithAddresses:networkPrefixLengths: not bound -!missing-selector! NEIPv6Settings::networkPrefixLengths not bound -!missing-selector! NEIPv6Settings::setExcludedRoutes: not bound -!missing-selector! NEIPv6Settings::setIncludedRoutes: not bound -!missing-selector! NEOnDemandRule::action not bound -!missing-selector! NEOnDemandRule::DNSSearchDomainMatch not bound -!missing-selector! NEOnDemandRule::DNSServerAddressMatch not bound -!missing-selector! NEOnDemandRule::interfaceTypeMatch not bound -!missing-selector! NEOnDemandRule::probeURL not bound -!missing-selector! NEOnDemandRule::setDNSSearchDomainMatch: not bound -!missing-selector! NEOnDemandRule::setDNSServerAddressMatch: not bound -!missing-selector! NEOnDemandRule::setInterfaceTypeMatch: not bound -!missing-selector! NEOnDemandRule::setProbeURL: not bound -!missing-selector! NEOnDemandRule::setSSIDMatch: not bound -!missing-selector! NEOnDemandRule::SSIDMatch not bound -!missing-selector! NEOnDemandRuleEvaluateConnection::connectionRules not bound -!missing-selector! NEOnDemandRuleEvaluateConnection::setConnectionRules: not bound -!missing-selector! NEPacket::data not bound -!missing-selector! NEPacket::initWithData:protocolFamily: not bound -!missing-selector! NEPacket::protocolFamily not bound -!missing-selector! NEPacketTunnelFlow::readPacketObjectsWithCompletionHandler: not bound -!missing-selector! NEPacketTunnelFlow::readPacketsWithCompletionHandler: not bound -!missing-selector! NEPacketTunnelFlow::writePacketObjects: not bound -!missing-selector! NEPacketTunnelFlow::writePackets:withProtocols: not bound -!missing-selector! NEPacketTunnelNetworkSettings::IPv4Settings not bound -!missing-selector! NEPacketTunnelNetworkSettings::IPv6Settings not bound -!missing-selector! NEPacketTunnelNetworkSettings::MTU not bound -!missing-selector! NEPacketTunnelNetworkSettings::setIPv4Settings: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setIPv6Settings: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setMTU: not bound -!missing-selector! NEPacketTunnelNetworkSettings::setTunnelOverheadBytes: not bound -!missing-selector! NEPacketTunnelNetworkSettings::tunnelOverheadBytes not bound -!missing-selector! NEPacketTunnelProvider::cancelTunnelWithError: not bound -!missing-selector! NEPacketTunnelProvider::createTCPConnectionThroughTunnelToEndpoint:enableTLS:TLSParameters:delegate: not bound -!missing-selector! NEPacketTunnelProvider::createUDPSessionThroughTunnelToEndpoint:fromEndpoint: not bound -!missing-selector! NEPacketTunnelProvider::packetFlow not bound -!missing-selector! NEPacketTunnelProvider::startTunnelWithOptions:completionHandler: not bound -!missing-selector! NEPacketTunnelProvider::stopTunnelWithReason:completionHandler: not bound -!missing-selector! NEProvider::createTCPConnectionToEndpoint:enableTLS:TLSParameters:delegate: not bound -!missing-selector! NEProvider::createUDPSessionToEndpoint:fromEndpoint: not bound -!missing-selector! NEProvider::defaultPath not bound -!missing-selector! NEProvider::sleepWithCompletionHandler: not bound -!missing-selector! NEProvider::wake not bound -!missing-selector! NEProxyServer::address not bound -!missing-selector! NEProxyServer::authenticationRequired not bound -!missing-selector! NEProxyServer::initWithAddress:port: not bound -!missing-selector! NEProxyServer::password not bound -!missing-selector! NEProxyServer::port not bound -!missing-selector! NEProxyServer::setAuthenticationRequired: not bound -!missing-selector! NEProxyServer::setPassword: not bound -!missing-selector! NEProxyServer::setUsername: not bound -!missing-selector! NEProxyServer::username not bound -!missing-selector! NEProxySettings::autoProxyConfigurationEnabled not bound -!missing-selector! NEProxySettings::exceptionList not bound -!missing-selector! NEProxySettings::excludeSimpleHostnames not bound -!missing-selector! NEProxySettings::HTTPEnabled not bound -!missing-selector! NEProxySettings::HTTPSEnabled not bound -!missing-selector! NEProxySettings::HTTPServer not bound -!missing-selector! NEProxySettings::HTTPSServer not bound -!missing-selector! NEProxySettings::matchDomains not bound -!missing-selector! NEProxySettings::proxyAutoConfigurationJavaScript not bound -!missing-selector! NEProxySettings::proxyAutoConfigurationURL not bound -!missing-selector! NEProxySettings::setAutoProxyConfigurationEnabled: not bound -!missing-selector! NEProxySettings::setExceptionList: not bound -!missing-selector! NEProxySettings::setExcludeSimpleHostnames: not bound -!missing-selector! NEProxySettings::setHTTPEnabled: not bound -!missing-selector! NEProxySettings::setHTTPSEnabled: not bound -!missing-selector! NEProxySettings::setHTTPServer: not bound -!missing-selector! NEProxySettings::setHTTPSServer: not bound -!missing-selector! NEProxySettings::setMatchDomains: not bound -!missing-selector! NEProxySettings::setProxyAutoConfigurationJavaScript: not bound -!missing-selector! NEProxySettings::setProxyAutoConfigurationURL: not bound -!missing-selector! NERelay::additionalHTTPHeaderFields not bound -!missing-selector! NERelay::HTTP2RelayURL not bound -!missing-selector! NERelay::HTTP3RelayURL not bound -!missing-selector! NERelay::identityData not bound -!missing-selector! NERelay::identityDataPassword not bound -!missing-selector! NERelay::rawPublicKeys not bound -!missing-selector! NERelay::setAdditionalHTTPHeaderFields: not bound -!missing-selector! NERelay::setHTTP2RelayURL: not bound -!missing-selector! NERelay::setHTTP3RelayURL: not bound -!missing-selector! NERelay::setIdentityData: not bound -!missing-selector! NERelay::setIdentityDataPassword: not bound -!missing-selector! NERelay::setRawPublicKeys: not bound -!missing-selector! NERelayManager::excludedDomains not bound -!missing-selector! NERelayManager::isEnabled not bound -!missing-selector! NERelayManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::localizedDescription not bound -!missing-selector! NERelayManager::matchDomains not bound -!missing-selector! NERelayManager::relays not bound -!missing-selector! NERelayManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NERelayManager::setEnabled: not bound -!missing-selector! NERelayManager::setExcludedDomains: not bound -!missing-selector! NERelayManager::setLocalizedDescription: not bound -!missing-selector! NERelayManager::setMatchDomains: not bound -!missing-selector! NERelayManager::setRelays: not bound -!missing-selector! NETunnelNetworkSettings::DNSSettings not bound -!missing-selector! NETunnelNetworkSettings::initWithTunnelRemoteAddress: not bound -!missing-selector! NETunnelNetworkSettings::proxySettings not bound -!missing-selector! NETunnelNetworkSettings::setDNSSettings: not bound -!missing-selector! NETunnelNetworkSettings::setProxySettings: not bound -!missing-selector! NETunnelNetworkSettings::tunnelRemoteAddress not bound -!missing-selector! NETunnelProvider::handleAppMessage:completionHandler: not bound -!missing-selector! NETunnelProvider::protocolConfiguration not bound -!missing-selector! NETunnelProvider::reasserting not bound -!missing-selector! NETunnelProvider::setReasserting: not bound -!missing-selector! NETunnelProvider::setTunnelNetworkSettings:completionHandler: not bound -!missing-selector! NETunnelProviderProtocol::providerBundleIdentifier not bound -!missing-selector! NETunnelProviderProtocol::providerConfiguration not bound -!missing-selector! NETunnelProviderProtocol::setProviderBundleIdentifier: not bound -!missing-selector! NETunnelProviderProtocol::setProviderConfiguration: not bound -!missing-selector! NETunnelProviderSession::sendProviderMessage:returnError:responseHandler: not bound -!missing-selector! NETunnelProviderSession::startTunnelWithOptions:andReturnError: not bound -!missing-selector! NETunnelProviderSession::stopTunnel not bound -!missing-selector! NEVPNConnection::connectedDate not bound -!missing-selector! NEVPNConnection::fetchLastDisconnectErrorWithCompletionHandler: not bound -!missing-selector! NEVPNConnection::manager not bound -!missing-selector! NEVPNConnection::startVPNTunnelAndReturnError: not bound -!missing-selector! NEVPNConnection::startVPNTunnelWithOptions:andReturnError: not bound -!missing-selector! NEVPNConnection::status not bound -!missing-selector! NEVPNConnection::stopVPNTunnel not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::diffieHellmanGroup not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::encryptionAlgorithm not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::integrityAlgorithm not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::lifetimeMinutes not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setDiffieHellmanGroup: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setEncryptionAlgorithm: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setIntegrityAlgorithm: not bound -!missing-selector! NEVPNIKEv2SecurityAssociationParameters::setLifetimeMinutes: not bound -!missing-selector! NEVPNManager::connection not bound -!missing-selector! NEVPNManager::isEnabled not bound -!missing-selector! NEVPNManager::isOnDemandEnabled not bound -!missing-selector! NEVPNManager::loadFromPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::localizedDescription not bound -!missing-selector! NEVPNManager::onDemandRules not bound -!missing-selector! NEVPNManager::protocolConfiguration not bound -!missing-selector! NEVPNManager::removeFromPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::saveToPreferencesWithCompletionHandler: not bound -!missing-selector! NEVPNManager::setEnabled: not bound -!missing-selector! NEVPNManager::setLocalizedDescription: not bound -!missing-selector! NEVPNManager::setOnDemandEnabled: not bound -!missing-selector! NEVPNManager::setOnDemandRules: not bound -!missing-selector! NEVPNManager::setProtocolConfiguration: not bound -!missing-selector! NEVPNProtocol::disconnectOnSleep not bound -!missing-selector! NEVPNProtocol::enforceRoutes not bound -!missing-selector! NEVPNProtocol::identityData not bound -!missing-selector! NEVPNProtocol::identityDataPassword not bound -!missing-selector! NEVPNProtocol::identityReference not bound -!missing-selector! NEVPNProtocol::passwordReference not bound -!missing-selector! NEVPNProtocol::proxySettings not bound -!missing-selector! NEVPNProtocol::serverAddress not bound -!missing-selector! NEVPNProtocol::setDisconnectOnSleep: not bound -!missing-selector! NEVPNProtocol::setEnforceRoutes: not bound -!missing-selector! NEVPNProtocol::setIdentityData: not bound -!missing-selector! NEVPNProtocol::setIdentityDataPassword: not bound -!missing-selector! NEVPNProtocol::setIdentityReference: not bound -!missing-selector! NEVPNProtocol::setPasswordReference: not bound -!missing-selector! NEVPNProtocol::setProxySettings: not bound -!missing-selector! NEVPNProtocol::setServerAddress: not bound -!missing-selector! NEVPNProtocol::setUsername: not bound -!missing-selector! NEVPNProtocol::username not bound -!missing-selector! NEVPNProtocolIKEv2::certificateType not bound -!missing-selector! NEVPNProtocolIKEv2::childSecurityAssociationParameters not bound -!missing-selector! NEVPNProtocolIKEv2::deadPeerDetectionRate not bound -!missing-selector! NEVPNProtocolIKEv2::disableMOBIKE not bound -!missing-selector! NEVPNProtocolIKEv2::disableRedirect not bound -!missing-selector! NEVPNProtocolIKEv2::enablePFS not bound -!missing-selector! NEVPNProtocolIKEv2::enableRevocationCheck not bound -!missing-selector! NEVPNProtocolIKEv2::IKESecurityAssociationParameters not bound -!missing-selector! NEVPNProtocolIKEv2::maximumTLSVersion not bound -!missing-selector! NEVPNProtocolIKEv2::minimumTLSVersion not bound -!missing-selector! NEVPNProtocolIKEv2::mtu not bound -!missing-selector! NEVPNProtocolIKEv2::serverCertificateCommonName not bound -!missing-selector! NEVPNProtocolIKEv2::serverCertificateIssuerCommonName not bound -!missing-selector! NEVPNProtocolIKEv2::setCertificateType: not bound -!missing-selector! NEVPNProtocolIKEv2::setDeadPeerDetectionRate: not bound -!missing-selector! NEVPNProtocolIKEv2::setDisableMOBIKE: not bound -!missing-selector! NEVPNProtocolIKEv2::setDisableRedirect: not bound -!missing-selector! NEVPNProtocolIKEv2::setEnablePFS: not bound -!missing-selector! NEVPNProtocolIKEv2::setEnableRevocationCheck: not bound -!missing-selector! NEVPNProtocolIKEv2::setMaximumTLSVersion: not bound -!missing-selector! NEVPNProtocolIKEv2::setMinimumTLSVersion: not bound -!missing-selector! NEVPNProtocolIKEv2::setMtu: not bound -!missing-selector! NEVPNProtocolIKEv2::setServerCertificateCommonName: not bound -!missing-selector! NEVPNProtocolIKEv2::setServerCertificateIssuerCommonName: not bound -!missing-selector! NEVPNProtocolIKEv2::setStrictRevocationCheck: not bound -!missing-selector! NEVPNProtocolIKEv2::setUseConfigurationAttributeInternalIPSubnet: not bound -!missing-selector! NEVPNProtocolIKEv2::strictRevocationCheck not bound -!missing-selector! NEVPNProtocolIKEv2::useConfigurationAttributeInternalIPSubnet not bound -!missing-selector! NEVPNProtocolIPSec::authenticationMethod not bound -!missing-selector! NEVPNProtocolIPSec::localIdentifier not bound -!missing-selector! NEVPNProtocolIPSec::remoteIdentifier not bound -!missing-selector! NEVPNProtocolIPSec::setAuthenticationMethod: not bound -!missing-selector! NEVPNProtocolIPSec::setLocalIdentifier: not bound -!missing-selector! NEVPNProtocolIPSec::setRemoteIdentifier: not bound -!missing-selector! NEVPNProtocolIPSec::setSharedSecretReference: not bound -!missing-selector! NEVPNProtocolIPSec::setUseExtendedAuthentication: not bound -!missing-selector! NEVPNProtocolIPSec::sharedSecretReference not bound -!missing-selector! NEVPNProtocolIPSec::useExtendedAuthentication not bound -!missing-selector! NWBonjourServiceEndpoint::domain not bound -!missing-selector! NWBonjourServiceEndpoint::name not bound -!missing-selector! NWBonjourServiceEndpoint::type not bound -!missing-selector! NWHostEndpoint::hostname not bound -!missing-selector! NWHostEndpoint::port not bound -!missing-selector! NWPath::isConstrained not bound -!missing-selector! NWPath::isEqualToPath: not bound -!missing-selector! NWPath::isExpensive not bound -!missing-selector! NWPath::status not bound -!missing-selector! NWTCPConnection::cancel not bound -!missing-selector! NWTCPConnection::connectedPath not bound -!missing-selector! NWTCPConnection::endpoint not bound -!missing-selector! NWTCPConnection::error not bound -!missing-selector! NWTCPConnection::hasBetterPath not bound -!missing-selector! NWTCPConnection::initWithUpgradeForConnection: not bound -!missing-selector! NWTCPConnection::isViable not bound -!missing-selector! NWTCPConnection::localAddress not bound -!missing-selector! NWTCPConnection::readLength:completionHandler: not bound -!missing-selector! NWTCPConnection::readMinimumLength:maximumLength:completionHandler: not bound -!missing-selector! NWTCPConnection::remoteAddress not bound -!missing-selector! NWTCPConnection::state not bound -!missing-selector! NWTCPConnection::txtRecord not bound -!missing-selector! NWTCPConnection::write:completionHandler: not bound -!missing-selector! NWTCPConnection::writeClose not bound -!missing-selector! NWTLSParameters::maximumSSLProtocolVersion not bound -!missing-selector! NWTLSParameters::minimumSSLProtocolVersion not bound -!missing-selector! NWTLSParameters::setMaximumSSLProtocolVersion: not bound -!missing-selector! NWTLSParameters::setMinimumSSLProtocolVersion: not bound -!missing-selector! NWTLSParameters::setSSLCipherSuites: not bound -!missing-selector! NWTLSParameters::setTLSSessionID: not bound -!missing-selector! NWTLSParameters::SSLCipherSuites not bound -!missing-selector! NWTLSParameters::TLSSessionID not bound -!missing-selector! NWUDPSession::cancel not bound -!missing-selector! NWUDPSession::currentPath not bound -!missing-selector! NWUDPSession::endpoint not bound -!missing-selector! NWUDPSession::hasBetterPath not bound -!missing-selector! NWUDPSession::initWithUpgradeForSession: not bound -!missing-selector! NWUDPSession::isViable not bound -!missing-selector! NWUDPSession::maximumDatagramLength not bound -!missing-selector! NWUDPSession::resolvedEndpoint not bound -!missing-selector! NWUDPSession::setReadHandler:maxDatagrams: not bound -!missing-selector! NWUDPSession::state not bound -!missing-selector! NWUDPSession::tryNextResolvedEndpoint not bound -!missing-selector! NWUDPSession::writeDatagram:completionHandler: not bound -!missing-selector! NWUDPSession::writeMultipleDatagrams:completionHandler: not bound -!missing-type! NEDNSOverHTTPSSettings not bound -!missing-type! NEDNSOverTLSSettings not bound -!missing-type! NEDNSSettings not bound -!missing-type! NEEvaluateConnectionRule not bound -!missing-type! NEIPv4Route not bound -!missing-type! NEIPv4Settings not bound -!missing-type! NEIPv6Route not bound -!missing-type! NEIPv6Settings not bound -!missing-type! NEOnDemandRule not bound -!missing-type! NEOnDemandRuleConnect not bound -!missing-type! NEOnDemandRuleDisconnect not bound -!missing-type! NEOnDemandRuleEvaluateConnection not bound -!missing-type! NEOnDemandRuleIgnore not bound -!missing-type! NEPacket not bound -!missing-type! NEPacketTunnelFlow not bound -!missing-type! NEPacketTunnelNetworkSettings not bound -!missing-type! NEPacketTunnelProvider not bound -!missing-type! NEProvider not bound -!missing-type! NEProxyServer not bound -!missing-type! NEProxySettings not bound -!missing-type! NERelay not bound -!missing-type! NERelayManager not bound -!missing-type! NETunnelNetworkSettings not bound -!missing-type! NETunnelProvider not bound -!missing-type! NETunnelProviderManager not bound -!missing-type! NETunnelProviderProtocol not bound -!missing-type! NETunnelProviderSession not bound -!missing-type! NEVPNConnection not bound -!missing-type! NEVPNIKEv2SecurityAssociationParameters not bound -!missing-type! NEVPNManager not bound -!missing-type! NEVPNProtocol not bound -!missing-type! NEVPNProtocolIKEv2 not bound -!missing-type! NEVPNProtocolIPSec not bound -!missing-type! NWBonjourServiceEndpoint not bound -!missing-type! NWEndpoint not bound -!missing-type! NWHostEndpoint not bound -!missing-type! NWPath not bound -!missing-type! NWTCPConnection not bound -!missing-type! NWTLSParameters not bound -!missing-type! NWUDPSession not bound -!wrong-enum-size! NWPathStatus managed 4 vs native 8 -!missing-selector! +NERelayManager::loadAllManagersFromPreferencesWithCompletionHandler: not bound -!missing-selector! NERelay::dnsOverHTTPSURL not bound -!missing-selector! NERelay::setDnsOverHTTPSURL: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv4Prefix: not bound -!missing-selector! NERelay::setSyntheticDNSAnswerIPv6Prefix: not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv4Prefix not bound -!missing-selector! NERelay::syntheticDNSAnswerIPv6Prefix not bound -!missing-selector! NERelayManager::onDemandRules not bound -!missing-selector! NERelayManager::setOnDemandRules: not bound diff --git a/tests/xtro-sharpie/watchOS-NetworkExtension.ignore b/tests/xtro-sharpie/watchOS-NetworkExtension.ignore index af0a4ced08d1..7c8f0e2b0d2a 100644 --- a/tests/xtro-sharpie/watchOS-NetworkExtension.ignore +++ b/tests/xtro-sharpie/watchOS-NetworkExtension.ignore @@ -27,3 +27,4 @@ !missing-type! NWTLSParameters not bound !missing-enum! NEHotspotNetworkSecurityType not bound !missing-selector! NEHotspotNetwork::securityType not bound + diff --git a/tools/common/Frameworks.cs b/tools/common/Frameworks.cs index 4d70adffc46f..21b3a13d811b 100644 --- a/tools/common/Frameworks.cs +++ b/tools/common/Frameworks.cs @@ -645,6 +645,7 @@ public static Frameworks TVOSFrameworks { { "Cinematic", "Cinematic", new Version (17, 0), NotAvailableInSimulator }, { "Symbols", "Symbols", 17, 0 }, + { "NetworkExtension", "NetworkExtension", 17, 0 }, }; } return tvos_frameworks;