diff options
Diffstat (limited to 'Swiften/SASL/WindowsAuthentication.cpp')
| -rw-r--r-- | Swiften/SASL/WindowsAuthentication.cpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/Swiften/SASL/WindowsAuthentication.cpp b/Swiften/SASL/WindowsAuthentication.cpp index b86381b..f951fac 100644 --- a/Swiften/SASL/WindowsAuthentication.cpp +++ b/Swiften/SASL/WindowsAuthentication.cpp | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2015-2016 Isode Limited. | 2 | * Copyright (c) 2015-2019 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| @@ -16,14 +16,14 @@ | |||
| 16 | #define ASSIGN_ERROR(status, errorCode) \ | 16 | #define ASSIGN_ERROR(status, errorCode) \ |
| 17 | { \ | 17 | { \ |
| 18 | errorCode = std::make_shared<boost::system::error_code>(status, boost::system::system_category()); \ | 18 | errorCode = std::make_shared<boost::system::error_code>(status, boost::system::system_category()); \ |
| 19 | SWIFT_LOG(debug) << std::hex << "status: 0x" << status << ": " << errorCode->message() << std::endl; \ | 19 | SWIFT_LOG(debug) << std::hex << "status: 0x" << status << ": " << errorCode->message(); \ |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | #define ASSIGN_SEC_ERROR(status, errorCode) \ | 22 | #define ASSIGN_SEC_ERROR(status, errorCode) \ |
| 23 | { \ | 23 | { \ |
| 24 | if (status == SEC_E_OK) \ | 24 | if (status == SEC_E_OK) \ |
| 25 | { \ | 25 | { \ |
| 26 | SWIFT_LOG(debug) << "success" << std::endl; \ | 26 | SWIFT_LOG(debug) << "success"; \ |
| 27 | } \ | 27 | } \ |
| 28 | else { \ | 28 | else { \ |
| 29 | ASSIGN_ERROR(status, errorCode); \ | 29 | ASSIGN_ERROR(status, errorCode); \ |
| @@ -46,14 +46,14 @@ std::shared_ptr<boost::system::error_code> getUserNameEx(std::string& userName, | |||
| 46 | std::size_t position; | 46 | std::size_t position; |
| 47 | 47 | ||
| 48 | userName = convertWStringToString(std::wstring(vecptr(value), length)); | 48 | userName = convertWStringToString(std::wstring(vecptr(value), length)); |
| 49 | SWIFT_LOG(debug) << "User Name: " << userName << std::endl; | 49 | SWIFT_LOG(debug) << "User Name: " << userName; |
| 50 | 50 | ||
| 51 | position = userName.find("\\"); | 51 | position = userName.find("\\"); |
| 52 | clientName = userName.substr(position + 1); | 52 | clientName = userName.substr(position + 1); |
| 53 | SWIFT_LOG(debug) << "Client name: " << clientName << std::endl; | 53 | SWIFT_LOG(debug) << "Client name: " << clientName; |
| 54 | 54 | ||
| 55 | serverName = userName.substr(0, position); | 55 | serverName = userName.substr(0, position); |
| 56 | SWIFT_LOG(debug) << "Server name: " << serverName << std::endl; | 56 | SWIFT_LOG(debug) << "Server name: " << serverName; |
| 57 | 57 | ||
| 58 | break; | 58 | break; |
| 59 | } | 59 | } |
| @@ -161,7 +161,7 @@ std::shared_ptr<boost::system::error_code> initializeSecurityContext(const boost | |||
| 161 | } | 161 | } |
| 162 | if ((status == SEC_E_OK) || (status == SEC_I_COMPLETE_AND_CONTINUE) || (status == SEC_I_COMPLETE_NEEDED) || (status == SEC_I_CONTINUE_NEEDED)) { | 162 | if ((status == SEC_E_OK) || (status == SEC_I_COMPLETE_AND_CONTINUE) || (status == SEC_I_COMPLETE_NEEDED) || (status == SEC_I_CONTINUE_NEEDED)) { |
| 163 | outputToken = createSafeByteArray (static_cast<unsigned char *>(outputTokenBuffer.pvBuffer), outputTokenBuffer.cbBuffer); | 163 | outputToken = createSafeByteArray (static_cast<unsigned char *>(outputTokenBuffer.pvBuffer), outputTokenBuffer.cbBuffer); |
| 164 | SWIFT_LOG(debug) << "outputToken.size(): " << outputToken.size() << std::endl; | 164 | SWIFT_LOG(debug) << "outputToken.size(): " << outputToken.size(); |
| 165 | freeContextBuffer(outputTokenBuffer.pvBuffer); | 165 | freeContextBuffer(outputTokenBuffer.pvBuffer); |
| 166 | 166 | ||
| 167 | return std::shared_ptr<boost::system::error_code>(); /* success */ | 167 | return std::shared_ptr<boost::system::error_code>(); /* success */ |
| @@ -229,7 +229,7 @@ std::shared_ptr<boost::system::error_code> decryptMessage(const PCtxtHandle cont | |||
| 229 | messageBuffer[1].cbBuffer = 0; | 229 | messageBuffer[1].cbBuffer = 0; |
| 230 | messageBuffer[1].pvBuffer = NULL; | 230 | messageBuffer[1].pvBuffer = NULL; |
| 231 | 231 | ||
| 232 | SWIFT_LOG(debug) << "inputMessage.size(): " << inputMessage.size() << std::endl; | 232 | SWIFT_LOG(debug) << "inputMessage.size(): " << inputMessage.size(); |
| 233 | 233 | ||
| 234 | status = DecryptMessage( | 234 | status = DecryptMessage( |
| 235 | contextHandle, | 235 | contextHandle, |
| @@ -239,13 +239,13 @@ std::shared_ptr<boost::system::error_code> decryptMessage(const PCtxtHandle cont | |||
| 239 | ASSIGN_SEC_ERROR(status, errorCode); | 239 | ASSIGN_SEC_ERROR(status, errorCode); |
| 240 | if (status == SEC_E_OK) { | 240 | if (status == SEC_E_OK) { |
| 241 | if (qualityOfProtection == SECQOP_WRAP_NO_ENCRYPT) { | 241 | if (qualityOfProtection == SECQOP_WRAP_NO_ENCRYPT) { |
| 242 | SWIFT_LOG(debug) << "Message was signed only" << std::endl; | 242 | SWIFT_LOG(debug) << "Message was signed only"; |
| 243 | } | 243 | } |
| 244 | else { | 244 | else { |
| 245 | SWIFT_LOG(debug) << "Message was encrypted" << std::endl; | 245 | SWIFT_LOG(debug) << "Message was encrypted"; |
| 246 | } | 246 | } |
| 247 | 247 | ||
| 248 | SWIFT_LOG(debug) << "messageBuffer[1].cbBuffer: " << messageBuffer[1].cbBuffer << std::endl; | 248 | SWIFT_LOG(debug) << "messageBuffer[1].cbBuffer: " << messageBuffer[1].cbBuffer; |
| 249 | 249 | ||
| 250 | decrypted = createSafeByteArray (static_cast<unsigned char *>(messageBuffer[1].pvBuffer), messageBuffer[1].cbBuffer); | 250 | decrypted = createSafeByteArray (static_cast<unsigned char *>(messageBuffer[1].pvBuffer), messageBuffer[1].cbBuffer); |
| 251 | } | 251 | } |
| @@ -281,9 +281,9 @@ std::shared_ptr<boost::system::error_code> encryptMessage(const PCtxtHandle cont | |||
| 281 | messageBuffer[2].cbBuffer = sizes.cbBlockSize; | 281 | messageBuffer[2].cbBuffer = sizes.cbBlockSize; |
| 282 | messageBuffer[2].pvBuffer = vecptr(blockSize); | 282 | messageBuffer[2].pvBuffer = vecptr(blockSize); |
| 283 | 283 | ||
| 284 | SWIFT_LOG(debug) << "sizes.cbSecurityTrailer: " << sizes.cbSecurityTrailer << std::endl; | 284 | SWIFT_LOG(debug) << "sizes.cbSecurityTrailer: " << sizes.cbSecurityTrailer; |
| 285 | SWIFT_LOG(debug) << "inputMessage.size(): " << inputMessage.size() << std::endl; | 285 | SWIFT_LOG(debug) << "inputMessage.size(): " << inputMessage.size(); |
| 286 | SWIFT_LOG(debug) << "sizes.cbBlockSize: " << sizes.cbBlockSize << std::endl; | 286 | SWIFT_LOG(debug) << "sizes.cbBlockSize: " << sizes.cbBlockSize; |
| 287 | 287 | ||
| 288 | status = EncryptMessage( | 288 | status = EncryptMessage( |
| 289 | contextHandle, | 289 | contextHandle, |
| @@ -294,9 +294,9 @@ std::shared_ptr<boost::system::error_code> encryptMessage(const PCtxtHandle cont | |||
| 294 | if (status == SEC_E_OK) { | 294 | if (status == SEC_E_OK) { |
| 295 | unsigned char* pointer; | 295 | unsigned char* pointer; |
| 296 | 296 | ||
| 297 | SWIFT_LOG(debug) << "messageBuffer[0].cbBuffer: " << messageBuffer[0].cbBuffer << std::endl; | 297 | SWIFT_LOG(debug) << "messageBuffer[0].cbBuffer: " << messageBuffer[0].cbBuffer; |
| 298 | SWIFT_LOG(debug) << "messageBuffer[1].cbBuffer: " << messageBuffer[1].cbBuffer << std::endl; | 298 | SWIFT_LOG(debug) << "messageBuffer[1].cbBuffer: " << messageBuffer[1].cbBuffer; |
| 299 | SWIFT_LOG(debug) << "messageBuffer[2].cbBuffer: " << messageBuffer[2].cbBuffer << std::endl; | 299 | SWIFT_LOG(debug) << "messageBuffer[2].cbBuffer: " << messageBuffer[2].cbBuffer; |
| 300 | 300 | ||
| 301 | output.resize(messageBuffer[0].cbBuffer + messageBuffer[1].cbBuffer + messageBuffer[2].cbBuffer); | 301 | output.resize(messageBuffer[0].cbBuffer + messageBuffer[1].cbBuffer + messageBuffer[2].cbBuffer); |
| 302 | pointer = vecptr(output); | 302 | pointer = vecptr(output); |
Swift