diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-11-07 10:41:22 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-11-07 10:41:22 (GMT) |
commit | 52c716c657cf4f5b0a5767f59dc7ddb04261f534 (patch) | |
tree | 37d62ff65227746c184fbb0eac011d0577f199d7 /Swiften/Session | |
parent | bec14a3e051a97f543175a8bdcc2c1c6fd18ce77 (diff) | |
download | swift-52c716c657cf4f5b0a5767f59dc7ddb04261f534.zip swift-52c716c657cf4f5b0a5767f59dc7ddb04261f534.tar.bz2 |
Refactored TLS handling.
TLSLayer is now independent of TLS implementation. The implementation-specifics are now in TLSContext and TLSContextFactory.
Diffstat (limited to 'Swiften/Session')
-rw-r--r-- | Swiften/Session/BasicSessionStream.cpp | 8 | ||||
-rw-r--r-- | Swiften/Session/BasicSessionStream.h | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Swiften/Session/BasicSessionStream.cpp b/Swiften/Session/BasicSessionStream.cpp index e2c2ebe..a4b1c84 100644 --- a/Swiften/Session/BasicSessionStream.cpp +++ b/Swiften/Session/BasicSessionStream.cpp @@ -14,11 +14,11 @@ #include "Swiften/StreamStack/WhitespacePingLayer.h" #include "Swiften/StreamStack/CompressionLayer.h" #include "Swiften/StreamStack/TLSLayer.h" -#include "Swiften/StreamStack/TLSLayerFactory.h" +#include "Swiften/TLS/TLSContextFactory.h" namespace Swift { -BasicSessionStream::BasicSessionStream(StreamType streamType, boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, TLSLayerFactory* tlsLayerFactory, TimerFactory* timerFactory) : available(false), connection(connection), payloadParserFactories(payloadParserFactories), payloadSerializers(payloadSerializers), tlsLayerFactory(tlsLayerFactory), timerFactory(timerFactory), streamType(streamType) { +BasicSessionStream::BasicSessionStream(StreamType streamType, boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, TLSContextFactory* tlsContextFactory, TimerFactory* timerFactory) : available(false), connection(connection), payloadParserFactories(payloadParserFactories), payloadSerializers(payloadSerializers), tlsContextFactory(tlsContextFactory), timerFactory(timerFactory), streamType(streamType) { } void BasicSessionStream::initialize() { @@ -64,12 +64,12 @@ bool BasicSessionStream::isAvailable() { } bool BasicSessionStream::supportsTLSEncryption() { - return tlsLayerFactory && tlsLayerFactory->canCreate(); + return tlsContextFactory && tlsContextFactory->canCreate(); } void BasicSessionStream::addTLSEncryption() { assert(available); - tlsLayer = tlsLayerFactory->createTLSLayer(); + tlsLayer = boost::shared_ptr<TLSLayer>(new TLSLayer(tlsContextFactory)); if (hasTLSCertificate() && !tlsLayer->setClientCertificate(getTLSCertificate())) { onError(boost::shared_ptr<Error>(new Error(Error::InvalidTLSCertificateError))); } diff --git a/Swiften/Session/BasicSessionStream.h b/Swiften/Session/BasicSessionStream.h index bea9406..22620be 100644 --- a/Swiften/Session/BasicSessionStream.h +++ b/Swiften/Session/BasicSessionStream.h @@ -14,7 +14,7 @@ #include "Swiften/Elements/StreamType.h" namespace Swift { - class TLSLayerFactory; + class TLSContextFactory; class TLSLayer; class TimerFactory; class WhitespacePingLayer; @@ -34,7 +34,7 @@ namespace Swift { boost::shared_ptr<Connection> connection, PayloadParserFactoryCollection* payloadParserFactories, PayloadSerializerCollection* payloadSerializers, - TLSLayerFactory* tlsLayerFactory, + TLSContextFactory* tlsContextFactory, TimerFactory* whitespacePingLayerFactory ); ~BasicSessionStream(); @@ -72,7 +72,7 @@ namespace Swift { boost::shared_ptr<Connection> connection; PayloadParserFactoryCollection* payloadParserFactories; PayloadSerializerCollection* payloadSerializers; - TLSLayerFactory* tlsLayerFactory; + TLSContextFactory* tlsContextFactory; TimerFactory* timerFactory; StreamType streamType; boost::shared_ptr<XMPPLayer> xmppLayer; |