Skip to content

Security macOS xcode16.4 b1

Rolf Bjarne Kvinge edited this page May 7, 2025 · 2 revisions

#Security.framework https://github.com/dotnet/macios/pull/22754

diff -ruN /Applications/Xcode_16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecProtocolMetadata.h /Applications/Xcode_16.4.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecProtocolMetadata.h --- /Applications/Xcode_16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecProtocolMetadata.h	2025-03-08 05:12:36 +++ /Applications/Xcode_16.4.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecProtocolMetadata.h	2025-04-21 06:54:21 @@ -74,11 +74,27 @@ * * @return A NULL-terminated string carrying the negotiated protocol. */ -API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) +API_DEPRECATED_WITH_REPLACEMENT("sec_protocol_metadata_copy_negotiated_protocol", macos(10.14, 15.5), ios(12.0, 18.5), watchos(5.0, 11.5), tvos(12.0, 18.5)) const char * _Nullable sec_protocol_metadata_get_negotiated_protocol(sec_protocol_metadata_t metadata); /*! + * @function sec_protocol_metadata_copy_negotiated_protocol + * + * @abstract + * Copy the application protocol negotiated, e.g., via the TLS ALPN extension. + * The caller is expected to `free` the output string when no longer needed. + * + * @param metadata + * A `sec_protocol_metadata_t` instance. + * + * @return A NULL-terminated string carrying the negotiated protocol. + */ +API_AVAILABLE(macos(15.5), ios(18.5), watchos(11.5), tvos(18.5)) +const char * __nullable +sec_protocol_metadata_copy_negotiated_protocol(sec_protocol_metadata_t metadata); + +/*! * @function sec_protocol_metadata_copy_peer_public_key * * @abstract @@ -282,9 +298,28 @@ * @return Returns A NULL-terminated string carrying the server name, or NULL * if none was provided. */ -API_AVAILABLE(macos(10.14), ios(12.0), watchos(5.0), tvos(12.0)) +API_DEPRECATED_WITH_REPLACEMENT("sec_protocol_metadata_copy_server_name", macos(10.14, 15.5), ios(12.0, 18.5), watchos(5.0, 11.5), tvos(12.0, 18.5)) const char * _Nullable sec_protocol_metadata_get_server_name(sec_protocol_metadata_t metadata); + +/*! + * @function sec_protocol_metadata_copy_server_name + * + * @abstract + * Obtain a copy of the server name offered by a client or server during + * connection establishmet. This is the value commonly carried + * in the TLS SNI extesion. The caller is expected to `free` the output + * string when it is no longer needed. + * + * @param metadata + * A `sec_protocol_metadata_t` instance. + * + * @return Returns A NULL-terminated string carrying the server name, or NULL + * if none was provided. + */ +API_AVAILABLE(macos(15.5), ios(18.5), watchos(11.5), tvos(18.5)) +const char * __nullable +sec_protocol_metadata_copy_server_name(sec_protocol_metadata_t metadata); /*! * @function sec_protocol_metadata_peers_are_equal 
Clone this wiki locally