$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2006-12-19 23:00:35
Hi George,
On Mon, 18 Dec 2006 17:50:03 -0500, "George M. Garner Jr."
<gmgarner_at_[hidden]> said:
> Actually, SSL is almost trivial on Windows, particularly when you
> compare it with the OpenSSL implementation. See e.g.,
> http://www.codeproject.com/internet/sslsocket.asp. Doing SSL within
> the context of IOCompletion ports is a bit more complicated, which
> this sample doesn't deal with. But presumable you have already
> cracked that nut with your OpenSSL implementation.
The openssl support was contributed, but I take your point. However this
would be a good opportunity to rework the async support so that it
supports stuff like custom memory allocation etc (the current one
doesn't).
> Actually, to answer my own question, it looks like I would need to
> parameterize the service_impl_type in the context_service class:
[...]
I suggest doing an initial implementation that doesn't need to modify
asio itself, and so simply provide new implementations of the
ssl::basic_context's Service template parameter and the ssl::stream's
Service template parameter. E.g.:
class schannel_context_service { ... };
class schannel_stream_service { ... };
typedef ssl::basic_context<schannel_context_service>
my_ssl_context;
typedef ssl::stream<ip::tcp::socket, schannel_stream_service>
my_ssl_socket;
Once that's working we can look at merging it in as the default
implementation on Windows.
> Is 0.3.7 still the current release?
It would be much better to work against what's in CVS, if you can.
Cheers,
Chris