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

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. Removed reimplementation of std::hash for boost::uuids::uuid
3. Removed << operator overload for crypto::secret_key
4. Removed instances in code where private view key was dumped to the log in plaintext

Release version of #9450, containing C++14 modified assertions
This commit is contained in:
jeffro256 2024-08-23 12:15:17 -05:00
parent b089f9ee69
commit 65568d3a88
No known key found for this signature in database
GPG key ID: 6F79797A6E392442
20 changed files with 80 additions and 69 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<T>() && alignof(T) == 1, "type might have padding");
return std::memcmp(std::addressof(lhs), std::addressof(rhs), sizeof(T)) == 0;
}