build: fix build with Boost 1.85 and remove instances of viewkey logging

1. Use `std::is_standard_layout` and `std::is_trivially_copyable` instead of `std::is_pod` for KV byte-wise serialization, which fixes compile issue for Boost UUIDs
2. Use `std::has_unique_object_representations` instead of `alignof(T) == 1` for epee byte spans and epee hex functions
3. Removed reimplementation of `std::hash` for `boost::uuids::uuid
4. Removed `<<` operator overload for `crypto::secret_key`
5. Removed instances in code where private view key was dumped to the log in plaintext
This commit is contained in:
jeffro256
2024-08-23 12:15:17 -05:00
parent a1dc85c537
commit ed955bf751
20 changed files with 65 additions and 60 deletions

View File

@@ -109,7 +109,7 @@ namespace
template<typename T>
bool compare(const T& lhs, const T& rhs) noexcept
{
static_assert(!epee::has_padding<T>(), "type might have padding");
static_assert(std::is_standard_layout_v<T> && alignof(T) == 1, "type might have padding");
return std::memcmp(std::addressof(lhs), std::addressof(rhs), sizeof(T)) == 0;
}