SSLSetALPNProtocols missing
Originator: | ePirat07 | ||
Number: | rdar://34790589 | Date Originated: | |
Status: | Duplicate | Resolved: | |
Product: | Security Framework | Product Version: | macOS 10.13 |
Classification: | Bug | Reproducible: | Always |
Summary: As documented, SSLSetALPNProtocols should be available since macOS 10.13 (High Sierra). This is not the case, the Security Framework is missing the function even though the header contains it. Steps to Reproduce: Compile + link the attached program. Expected Results: The program should compile and link fine on macOS 10.13. Actual Results: Linking fails due to the missing symbol in the Security framework: Undefined symbols for architecture x86_64: "_SSLSetALPNProtocols", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 Version/Build: macOS High Sierra 10.13.1 Beta (17B25c) Notes: Dumping the Security framework symbols with nm clearly shows it is missing. (The other ALPN functions are private API) $ nm /System/Library/Frameworks/Security.framework/Versions/Current/Security | grep ALPN 000000000022c8b5 T _SSLGetALPNData 000000000022c880 T _SSLSetALPNData 000000000022c84b T _SSLSetALPNFunc Duplicate of 33907676 Example program code: #include <CoreFoundation/CoreFoundation.h> #include <Security/Security.h> int main(int argc, const char * argv[]) { CFMutableArrayRef alpnValues = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks); SSLSetALPNProtocols((SSLContextRef)0x001, alpnValues); CFRelease(alpnValues); return 0; }
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!