RFC: Adding Mac support to secur32/schannel.c

Ken Thomases ken at codeweavers.com
Thu Jan 27 18:16:29 CST 2011


I'm planning to add an alternative implementation of schannel (SSL/TLS) support for the Mac.  The current implementation is based on GnuTLS.  That library is not typically found on Mac OS X.  Although packagers can build it and ship it and its dependencies with Wine for Mac OS X, I think it's better (especially for security-related functionality) to use the system-provided library.

I'm attaching a patch.  It is _not_ intended as a proposed commit.  It's just a proof-of-concept that shows the direction that I'm going.

I plan to introduce a new internal interface (the schan_imp_* stuff in my patch) and incrementally refactor the code to hide uses of GnuTLS behind that interface.  Then, I'm thinking of breaking the GnuTLS implementation out into a separate module, schannel_gnutls.c.  Then, I'd add a second implementation module, schannel_mac.c, based on the Mac Secure Transport API (as shown in the patch).  Each of the two modules would be made "empty" by preprocessor conditionals, as appropriate.

I'd appreciate a review of this general plan.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: schannel_mac.patch
Type: application/octet-stream
Size: 65344 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110127/403fb2c5/attachment-0001.obj>

More information about the wine-devel mailing list