Apply the prepared GUI security port on the current public gui branch. The complete Git tree equals candidate 9e9bb026d3d33a29a1607a1bce449e2583b1223f, built during private preparation, and includes the public v0.11.5.0 source.
The MINGW+DEPENDS branch hardcoded ICU_LIBRARIES assuming depends provides static ICU + libiconv (true for monero's own depends). Feather/wowlet depends builds boost --without-icu and ships no ICU, so nothing references ICU symbols and the hardcoded -licu*/-liconv broke the static mingw link of wallet_api. Probe for icuuc; link ICU only if present.
-DBOOST_ASIO_HAS_STD_STRING_VIEW=1 fixes:
/monero/contrib/depends/x86_64-unknown-freebsd/native/usr/include/c++/v1/experimental/string_view:18:3:
warning: "<experimental/string_view> has been removed. Use <string_view> instead." [-W#warnings]
/monero/contrib/depends/x86_64-unknown-freebsd/include/boost/asio/detail/string_view.hpp:32:12
: error: no member named 'experimental' in namespace 'std'
using std::experimental::basic_string_view;
~~~~~^
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
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)`
- Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens
- `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance)
- New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification)
- When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then)
- When mining is running, PoW checks now also use dataset for faster verification