Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk