summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2015-10-23 14:31:09 (GMT)
committerSwift Review <review@swift.im>2015-10-30 17:37:59 (GMT)
commit4a6950af0f324091553f7ab7271de45721b8667f (patch)
treeed595c54d3d7e3047ed0a5f452ce95dfc188051a /Swiften/Network/TLSConnection.h
parent7f321edd9ada1f531b1fbc3325ef61449218f40c (diff)
downloadswift-4a6950af0f324091553f7ab7271de45721b8667f.zip
swift-4a6950af0f324091553f7ab7271de45721b8667f.tar.bz2
Add support for OS X Secure Transport TLS backend
Added integration tests for certificate validation and revocation behavior checking. Test-Information: Tested client login over TLS against Prosody and M-Link. Verified client certificate authentication works against M-Link. Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
Diffstat (limited to 'Swiften/Network/TLSConnection.h')
-rw-r--r--Swiften/Network/TLSConnection.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/Swiften/Network/TLSConnection.h b/Swiften/Network/TLSConnection.h
index 96525ad..a037eb1 100644
--- a/Swiften/Network/TLSConnection.h
+++ b/Swiften/Network/TLSConnection.h
@@ -1,49 +1,51 @@
/*
* Copyright (c) 2011-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
#pragma once
-#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
-#include <Swiften/Base/boost_bsignals.h>
+#include <boost/shared_ptr.hpp>
#include <Swiften/Base/API.h>
#include <Swiften/Base/SafeByteArray.h>
+#include <Swiften/Base/boost_bsignals.h>
#include <Swiften/Network/Connection.h>
#include <Swiften/TLS/TLSOptions.h>
-
namespace Swift {
class HostAddressPort;
class TLSContextFactory;
class TLSContext;
class SWIFTEN_API TLSConnection : public Connection {
public:
TLSConnection(Connection::ref connection, TLSContextFactory* tlsFactory, const TLSOptions&);
virtual ~TLSConnection();
virtual void listen() {assert(false);}
virtual void connect(const HostAddressPort& address);
virtual void disconnect();
virtual void write(const SafeByteArray& data);
virtual HostAddressPort getLocalAddress() const;
+ TLSContext* getTLSContext() const;
+
private:
void handleRawConnectFinished(bool error);
void handleRawDisconnected(const boost::optional<Error>& error);
void handleRawDataRead(boost::shared_ptr<SafeByteArray> data);
void handleRawDataWritten();
void handleTLSConnectFinished(bool error);
void handleTLSDataForNetwork(const SafeByteArray& data);
void handleTLSDataForApplication(const SafeByteArray& data);
+
private:
TLSContext* context;
Connection::ref connection;
};
}