From d1a4487503b5e220019b26cece6e2b44eec5c95b Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Wed, 22 Jun 2016 17:59:26 +0200 Subject: [PATCH] BLOB encryption temporary disabled, as RSA can not encrypt data this long --- lib/EAPBase/include/Module.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/lib/EAPBase/include/Module.h b/lib/EAPBase/include/Module.h index f99f074..24f3159 100644 --- a/lib/EAPBase/include/Module.h +++ b/lib/EAPBase/include/Module.h @@ -475,6 +475,7 @@ namespace eap _In_ DWORD dwDataInSize, _Out_ EAP_ERROR **ppEapError) { +#if 0 // Prepare cryptographics provider. winstd::crypt_prov cp; if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) { @@ -490,6 +491,13 @@ namespace eap const unsigned char *cursor = data.data(); eapserial::unpack(cursor, record); assert(cursor - data.data() <= (ptrdiff_t)data.size()); +#else + UNREFERENCED_PARAMETER(ppEapError); + + const unsigned char *cursor = pDataIn; + eapserial::unpack(cursor, record); + assert(cursor - pDataIn <= (ptrdiff_t)dwDataInSize); +#endif return true; } @@ -514,6 +522,7 @@ namespace eap _Out_ DWORD *pdwDataOutSize, _Out_ EAP_ERROR **ppEapError) { +#if 0 // Allocate BLOB. std::vector > data; data.resize(eapserial::get_pk_size(record)); @@ -545,6 +554,22 @@ namespace eap return false; } memcpy(*ppDataOut, data_enc.data(), *pdwDataOutSize); +#else + // Allocate BLOB. + assert(ppDataOut); + assert(pdwDataOutSize); + *pdwDataOutSize = (DWORD)eapserial::get_pk_size(record); + *ppDataOut = alloc_memory(*pdwDataOutSize); + if (!*ppDataOut) { + log_error(*ppEapError = g_peer.make_error(ERROR_OUTOFMEMORY, tstring_printf(_T(__FUNCTION__) _T(" Error allocating memory for BLOB (%uB)."), *pdwDataOutSize).c_str())); + return false; + } + + // Pack to BLOB. + unsigned char *cursor = *ppDataOut; + eapserial::pack(cursor, record); + assert(cursor - *ppDataOut <= (ptrdiff_t)*pdwDataOutSize); +#endif return true; }