summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2016-04-01 17:23:49 (GMT)
committerTobias Markmann <tm@ayena.de>2016-04-04 08:28:23 (GMT)
commit741c45b74d5f634622eb5f757c49323274fb8937 (patch)
treeb9cfa6c2fe2e79e03cc8cb7c1ca1e9cf45aa5328 /Swiften/TLS/Schannel
parenteddd92ed76ae68cb1e202602fd3ebd11b69191a2 (diff)
downloadswift-741c45b74d5f634622eb5f757c49323274fb8937.zip
swift-741c45b74d5f634622eb5f757c49323274fb8937.tar.bz2
Modernize code to use C++11 shared_ptr instead of Boost's
This change was done by applying the following 'gsed' replacement calls to all source files: 's/\#include <boost\/shared_ptr\.hpp>/\#include <memory>/g' 's/\#include <boost\/enable_shared_from_this\.hpp>/\#include <memory>/g' 's/\#include <boost\/smart_ptr\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/weak_ptr\.hpp>/\#include <memory>/g' 's/boost::make_shared/std::make_shared/g' 's/boost::dynamic_pointer_cast/std::dynamic_pointer_cast/g' 's/boost::shared_ptr/std::shared_ptr/g' 's/boost::weak_ptr/std::weak_ptr/g' 's/boost::enable_shared_from_this/std::enable_shared_from_this/g' The remaining issues have been fixed manually. Test-Information: Code builds on OS X 10.11.4 and unit tests pass. Change-Id: Ia7ae34eab869fb9ad6387a1348426b71ae4acd5f
Diffstat (limited to 'Swiften/TLS/Schannel')
-rw-r--r--Swiften/TLS/Schannel/SchannelCertificate.cpp12
-rw-r--r--Swiften/TLS/Schannel/SchannelCertificate.h4
-rw-r--r--Swiften/TLS/Schannel/SchannelContext.cpp32
-rw-r--r--Swiften/TLS/Schannel/SchannelContext.h10
-rw-r--r--Swiften/TLS/Schannel/SchannelUtil.h14
5 files changed, 42 insertions, 30 deletions
diff --git a/Swiften/TLS/Schannel/SchannelCertificate.cpp b/Swiften/TLS/Schannel/SchannelCertificate.cpp
index 68dd0cf..23c2479 100644
--- a/Swiften/TLS/Schannel/SchannelCertificate.cpp
+++ b/Swiften/TLS/Schannel/SchannelCertificate.cpp
@@ -4,6 +4,12 @@
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
+/*
+ * Copyright (c) 2016 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
+ */
+
#include "Swiften/TLS/Schannel/SchannelCertificate.h"
#include "Swiften/Base/ByteArray.h"
@@ -160,9 +166,9 @@ void SchannelCertificate::parse()
// int subjectAltNameLoc = X509_get_ext_by_NID(cert.get(), NID_subject_alt_name, -1);
// if(subjectAltNameLoc != -1) {
// X509_EXTENSION* extension = X509_get_ext(cert.get(), subjectAltNameLoc);
- // boost::shared_ptr<GENERAL_NAMES> generalNames(reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(extension)), GENERAL_NAMES_free);
- // boost::shared_ptr<ASN1_OBJECT> xmppAddrObject(OBJ_txt2obj(ID_ON_XMPPADDR_OID, 1), ASN1_OBJECT_free);
- // boost::shared_ptr<ASN1_OBJECT> dnsSRVObject(OBJ_txt2obj(ID_ON_DNSSRV_OID, 1), ASN1_OBJECT_free);
+ // std::shared_ptr<GENERAL_NAMES> generalNames(reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(extension)), GENERAL_NAMES_free);
+ // std::shared_ptr<ASN1_OBJECT> xmppAddrObject(OBJ_txt2obj(ID_ON_XMPPADDR_OID, 1), ASN1_OBJECT_free);
+ // std::shared_ptr<ASN1_OBJECT> dnsSRVObject(OBJ_txt2obj(ID_ON_DNSSRV_OID, 1), ASN1_OBJECT_free);
// for (int i = 0; i < sk_GENERAL_NAME_num(generalNames.get()); ++i) {
// GENERAL_NAME* generalName = sk_GENERAL_NAME_value(generalNames.get(), i);
// if (generalName->type == GEN_OTHERNAME) {
diff --git a/Swiften/TLS/Schannel/SchannelCertificate.h b/Swiften/TLS/Schannel/SchannelCertificate.h
index 814f344..d3bd66c 100644
--- a/Swiften/TLS/Schannel/SchannelCertificate.h
+++ b/Swiften/TLS/Schannel/SchannelCertificate.h
@@ -12,7 +12,7 @@
#pragma once
-#include <boost/shared_ptr.hpp>
+#include <memory>
#include <Swiften/Base/String.h>
#include <Swiften/TLS/Certificate.h>
@@ -23,7 +23,7 @@ namespace Swift
class SchannelCertificate : public Certificate
{
public:
- typedef boost::shared_ptr<SchannelCertificate> ref;
+ typedef std::shared_ptr<SchannelCertificate> ref;
public:
SchannelCertificate(const ScopedCertContext& certCtxt);
diff --git a/Swiften/TLS/Schannel/SchannelContext.cpp b/Swiften/TLS/Schannel/SchannelContext.cpp
index 7b67f4c..5799157 100644
--- a/Swiften/TLS/Schannel/SchannelContext.cpp
+++ b/Swiften/TLS/Schannel/SchannelContext.cpp
@@ -61,14 +61,14 @@ void SchannelContext::connect() {
if (myCertStore_ == NULL) {
myCertStore_ = CertOpenSystemStore(0, certStoreName_.c_str());
if (!myCertStore_) {
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
}
pCertContext = findCertificateInStore( myCertStore_, certName_ );
if (pCertContext == NULL) {
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
}
@@ -115,7 +115,7 @@ void SchannelContext::connect() {
if (status != SEC_E_OK) {
// We failed to obtain the credentials handle
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
@@ -158,7 +158,7 @@ void SchannelContext::connect() {
if (status != SEC_E_OK && status != SEC_I_CONTINUE_NEEDED) {
// We failed to initialize the security context
handleCertError(status);
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
@@ -181,7 +181,7 @@ void SchannelContext::connect() {
//------------------------------------------------------------------------
SECURITY_STATUS SchannelContext::validateServerCertificate() {
- SchannelCertificate::ref pServerCert = boost::dynamic_pointer_cast<SchannelCertificate>( getPeerCertificate() );
+ SchannelCertificate::ref pServerCert = std::dynamic_pointer_cast<SchannelCertificate>( getPeerCertificate() );
if (!pServerCert) {
return SEC_E_WRONG_PRINCIPAL;
}
@@ -359,7 +359,7 @@ void SchannelContext::continueHandshake(const SafeByteArray& data) {
else {
// We failed to initialize the security context
handleCertError(status);
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
}
@@ -459,7 +459,7 @@ void SchannelContext::handleDataFromNetwork(const SafeByteArray& data) {
//------------------------------------------------------------------------
-void SchannelContext::indicateError(boost::shared_ptr<TLSError> error) {
+void SchannelContext::indicateError(std::shared_ptr<TLSError> error) {
state_ = Error;
receivedData_.clear();
onError(error);
@@ -505,15 +505,15 @@ void SchannelContext::decryptAndProcessData(const SafeByteArray& data) {
}
else if (status == SEC_I_RENEGOTIATE) {
// TODO: Handle renegotiation scenarios
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
break;
}
else if (status == SEC_I_CONTEXT_EXPIRED) {
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
break;
}
else if (status != SEC_E_OK) {
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
break;
}
@@ -596,7 +596,7 @@ void SchannelContext::encryptAndSendData(const SafeByteArray& data) {
SECURITY_STATUS status = EncryptMessage(contextHandle_, 0, &outBufferDesc, 0);
if (status != SEC_E_OK) {
- indicateError(boost::make_shared<TLSError>(TLSError::UnknownError));
+ indicateError(std::make_shared<TLSError>(TLSError::UnknownError));
return;
}
@@ -609,7 +609,7 @@ void SchannelContext::encryptAndSendData(const SafeByteArray& data) {
//------------------------------------------------------------------------
bool SchannelContext::setClientCertificate(CertificateWithKey::ref certificate) {
- boost::shared_ptr<CAPICertificate> capiCertificate = boost::dynamic_pointer_cast<CAPICertificate>(certificate);
+ std::shared_ptr<CAPICertificate> capiCertificate = std::dynamic_pointer_cast<CAPICertificate>(certificate);
if (!capiCertificate || capiCertificate->isNull()) {
return false;
}
@@ -631,7 +631,7 @@ bool SchannelContext::setClientCertificate(CertificateWithKey::ref certificate)
//------------------------------------------------------------------------
void SchannelContext::handleCertificateCardRemoved() {
if (disconnectOnCardRemoval_) {
- indicateError(boost::make_shared<TLSError>(TLSError::CertificateCardRemoved));
+ indicateError(std::make_shared<TLSError>(TLSError::CertificateCardRemoved));
}
}
@@ -647,7 +647,7 @@ std::vector<Certificate::ref> SchannelContext::getPeerCertificateChain() const {
if (status != SEC_E_OK) {
return certificateChain;
}
- certificateChain.push_back(boost::make_shared<SchannelCertificate>(pServerCert));
+ certificateChain.push_back(std::make_shared<SchannelCertificate>(pServerCert));
pCurrentCert = pServerCert;
while(pCurrentCert.GetPointer()) {
@@ -656,7 +656,7 @@ std::vector<Certificate::ref> SchannelContext::getPeerCertificateChain() const {
if (!(*pIssuerCert.GetPointer())) {
break;
}
- certificateChain.push_back(boost::make_shared<SchannelCertificate>(pIssuerCert));
+ certificateChain.push_back(std::make_shared<SchannelCertificate>(pIssuerCert));
pCurrentCert = pIssuerCert;
pIssuerCert = NULL;
@@ -667,7 +667,7 @@ std::vector<Certificate::ref> SchannelContext::getPeerCertificateChain() const {
//------------------------------------------------------------------------
CertificateVerificationError::ref SchannelContext::getPeerCertificateVerificationError() const {
- return verificationError_ ? boost::make_shared<CertificateVerificationError>(*verificationError_) : CertificateVerificationError::ref();
+ return verificationError_ ? std::make_shared<CertificateVerificationError>(*verificationError_) : CertificateVerificationError::ref();
}
//------------------------------------------------------------------------
diff --git a/Swiften/TLS/Schannel/SchannelContext.h b/Swiften/TLS/Schannel/SchannelContext.h
index 2c6a3ff..4cb086e 100644
--- a/Swiften/TLS/Schannel/SchannelContext.h
+++ b/Swiften/TLS/Schannel/SchannelContext.h
@@ -5,7 +5,7 @@
*/
/*
- * Copyright (c) 2012-2015 Isode Limited.
+ * Copyright (c) 2012-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -34,7 +34,7 @@ namespace Swift
class SchannelContext : public TLSContext, boost::noncopyable
{
public:
- typedef boost::shared_ptr<SchannelContext> sp_t;
+ typedef std::shared_ptr<SchannelContext> sp_t;
public:
SchannelContext(bool tls1_0Workaround);
@@ -62,9 +62,9 @@ namespace Swift
private:
void determineStreamSizes();
void continueHandshake(const SafeByteArray& data);
- void indicateError(boost::shared_ptr<TLSError> error);
+ void indicateError(std::shared_ptr<TLSError> error);
//FIXME: Remove
- void indicateError() {indicateError(boost::make_shared<TLSError>());}
+ void indicateError() {indicateError(std::make_shared<TLSError>());}
void handleCertError(SECURITY_STATUS status) ;
void sendDataOnNetwork(const void* pData, size_t dataSize);
@@ -104,7 +104,7 @@ namespace Swift
std::string certName_;
////Not needed, most likely
std::string smartCardReader_; //Can be empty string for non SmartCard certificates
- boost::shared_ptr<CAPICertificate> userCertificate_;
+ std::shared_ptr<CAPICertificate> userCertificate_;
bool checkCertificateRevocation_;
bool tls1_0Workaround_;
bool disconnectOnCardRemoval_;
diff --git a/Swiften/TLS/Schannel/SchannelUtil.h b/Swiften/TLS/Schannel/SchannelUtil.h
index 194ec35..ec71d9d 100644
--- a/Swiften/TLS/Schannel/SchannelUtil.h
+++ b/Swiften/TLS/Schannel/SchannelUtil.h
@@ -4,6 +4,12 @@
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
+/*
+ * Copyright (c) 2016 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
+ */
+
#pragma once
#define SECURITY_WIN32
@@ -92,7 +98,7 @@ namespace Swift
}
private:
- boost::shared_ptr<HandleContext> m_pHandle;
+ std::shared_ptr<HandleContext> m_pHandle;
};
//------------------------------------------------------------------------
@@ -168,7 +174,7 @@ namespace Swift
}
private:
- boost::shared_ptr<HandleContext> m_pHandle;
+ std::shared_ptr<HandleContext> m_pHandle;
};
//------------------------------------------------------------------------
@@ -303,7 +309,7 @@ namespace Swift
}
private:
- boost::shared_ptr<HandleContext> m_pHandle;
+ std::shared_ptr<HandleContext> m_pHandle;
};
//------------------------------------------------------------------------
@@ -420,6 +426,6 @@ namespace Swift
}
private:
- boost::shared_ptr<HandleContext> m_pHandle;
+ std::shared_ptr<HandleContext> m_pHandle;
};
}