pack() => operator <<, unpack() => operator >>, get_pk_size() => pksizeof()

This commit is contained in:
2016-07-21 09:20:09 +02:00
parent 51428d290f
commit 627b20aabc
14 changed files with 779 additions and 792 deletions

View File

@@ -45,33 +45,30 @@ namespace eap
class config_providers;
}
namespace eapserial
{
///
/// Packs a configuration
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Configuration to pack
///
inline void pack(_Inout_ cursor_out &cursor, _In_ const eap::config &val);
///
/// Packs a configuration
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Configuration to pack
///
inline void operator<<(_Inout_ eap::cursor_out &cursor, _In_ const eap::config &val);
///
/// Returns packed size of a configuration
///
/// \param[in] val Configuration to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const eap::config &val);
///
/// Returns packed size of a configuration
///
/// \param[in] val Configuration to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t pksizeof(const eap::config &val);
///
/// Unpacks a configuration
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Configuration to unpack to
///
inline void unpack(_Inout_ cursor_in &cursor, _Out_ eap::config &val);
}
///
/// Unpacks a configuration
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Configuration to unpack to
///
inline void operator>>(_Inout_ eap::cursor_in &cursor, _Out_ eap::config &val);
#pragma once
@@ -181,7 +178,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void pack(_Inout_ eapserial::cursor_out &cursor) const;
virtual void operator<<(_Inout_ cursor_out &cursor) const;
///
/// Returns packed size of a configuration
@@ -195,7 +192,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void unpack(_Inout_ eapserial::cursor_in &cursor);
virtual void operator>>(_Inout_ cursor_in &cursor);
/// @}
@@ -288,7 +285,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void pack(_Inout_ eapserial::cursor_out &cursor) const;
virtual void operator<<(_Inout_ cursor_out &cursor) const;
///
/// Returns packed size of a configuration
@@ -302,7 +299,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void unpack(_Inout_ eapserial::cursor_in &cursor);
virtual void operator>>(_Inout_ cursor_in &cursor);
/// @}
@@ -412,7 +409,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void pack(_Inout_ eapserial::cursor_out &cursor) const;
virtual void operator<<(_Inout_ cursor_out &cursor) const;
///
/// Returns packed size of a configuration
@@ -426,7 +423,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void unpack(_Inout_ eapserial::cursor_in &cursor);
virtual void operator>>(_Inout_ cursor_in &cursor);
/// @}
@@ -531,7 +528,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void pack(_Inout_ eapserial::cursor_out &cursor) const;
virtual void operator<<(_Inout_ cursor_out &cursor) const;
///
/// Returns packed size of a configuration
@@ -545,7 +542,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void unpack(_Inout_ eapserial::cursor_in &cursor);
virtual void operator>>(_Inout_ cursor_in &cursor);
/// @}
@@ -555,22 +552,19 @@ namespace eap
}
namespace eapserial
inline void operator<<(_Inout_ eap::cursor_out &cursor, _In_ const eap::config &val)
{
inline void pack(_Inout_ cursor_out &cursor, _In_ const eap::config &val)
{
val.pack(cursor);
}
inline size_t get_pk_size(const eap::config &val)
{
return val.get_pk_size();
}
inline void unpack(_Inout_ cursor_in &cursor, _Out_ eap::config &val)
{
val.unpack(cursor);
}
val.operator<<(cursor);
}
inline size_t pksizeof(const eap::config &val)
{
return val.get_pk_size();
}
inline void operator>>(_Inout_ eap::cursor_in &cursor, _Out_ eap::config &val)
{
val.operator>>(cursor);
}

View File

@@ -293,7 +293,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void pack(_Inout_ eapserial::cursor_out &cursor) const;
virtual void operator<<(_Inout_ cursor_out &cursor) const;
///
/// Returns packed size of a configuration
@@ -307,7 +307,7 @@ namespace eap
///
/// \param[inout] cursor Memory cursor
///
virtual void unpack(_Inout_ eapserial::cursor_in &cursor);
virtual void operator>>(_Inout_ cursor_in &cursor);
/// @}

File diff suppressed because it is too large Load Diff

View File

@@ -561,13 +561,13 @@ namespace eap
if (!decrypt_md5(cp, pDataIn, dwDataInSize, data, ppEapError))
return false;
eapserial::cursor_in cursor = { data.data(), data.data() + data.size() };
eapserial::unpack(cursor, record);
cursor_in cursor = { data.data(), data.data() + data.size() };
cursor >> record;
#else
UNREFERENCED_PARAMETER(ppEapError);
eapserial::cursor_in cursor = { pDataIn, pDataIn + dwDataInSize };
eapserial::unpack(cursor, record);
cursor_in cursor = { pDataIn, pDataIn + dwDataInSize };
cursor >> record;
#endif
return true;
@@ -596,11 +596,11 @@ namespace eap
#if EAP_ENCRYPT_BLOBS
// Allocate BLOB.
std::vector<unsigned char, winstd::sanitizing_allocator<unsigned char> > data;
data.resize(eapserial::get_pk_size(record));
data.resize(pksizeof(record));
// Pack to BLOB.
eapserial::cursor_out cursor = { data.data(), data.data() + data.size() };
eapserial::pack(cursor, record);
cursor_out cursor = { data.data(), data.data() + data.size() };
cursor << record;
data.resize(cursor.ptr - &data.front());
// Prepare cryptographics provider.
@@ -629,7 +629,7 @@ namespace eap
// Allocate BLOB.
assert(ppDataOut);
assert(pdwDataOutSize);
*pdwDataOutSize = (DWORD)eapserial::get_pk_size(record);
*pdwDataOutSize = (DWORD)pksizeof(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()));
@@ -637,8 +637,8 @@ namespace eap
}
// Pack to BLOB.
eapserial::cursor_out cursor = { *ppDataOut, *ppDataOut + *pdwDataOutSize };
eapserial::pack(cursor, record);
cursor_out cursor = { *ppDataOut, *ppDataOut + *pdwDataOutSize };
cursor << record;
*pdwDataOutSize = cursor.ptr - *ppDataOut;
#endif