summaryrefslogtreecommitdiff
path: root/patches/monero/0001-polyseed.patch
AgeCommit message (Collapse)Author
2024-12-04cleanup patches (and other stuff) (#79)cyan
* cleanup patches * fix polyseed patch * Fix iOS builds * fix polyseed dependencies * fix polyseed patch for macOS * update ledger patch * update wownero patches and version * update checksums * wip" * update gitmodules * update boost build script * update build_single.sh * vix verbosey_copy * fix __clear_cache bug on wownero * update randomwow * migrate build system * fix cross compilation issues * some more build issue * update polyseed * cleanup cmakelists * fix toolchain.cmake.in * add ssp * another attempt at building windows on CI * fix package name * migrate mirror to my own hosting * change download mirror priority (fallback first) * link ssp in monero module as well by using CMAKE_{C,CXX}_FLAGS * fix android builds * update polyseed source * 13 -> trixie * fix package name conflicts, update runner to sid * update boost to 1_84_0, disable patch that's no longer needed * switch to ubuntu:24.04 * add POLYSEED_STATIC to toolchain.cmake.in in order to properly link * drop patches * fixes to darwin * link missing wowner-seed library * a litte bit more of experiments * build locale only on windows * update iconv * update definitions * update ci builds * update my progress * ios fix, update depends, ci * multithread build system * fix android, mingw and linux build issues * remove dependency check * update Dockerfile to include pigz * show a message when pigz is missing * fix devcontainer mingw setup (missing ENV) * update android build runner * sailfishos dropped (you better go behave yourself and run actual linux programs) * fiz pigz issues * install llvm-ranlib for android * fix iOS build issues * fix dummy ledger patch * fix macos and darwin * fix macos ci * fix macos build command * install autoconf * add automake * add libtool * macos fixes, wownero fixes, idk what else, please help me * fix wownero iOS build * Cleanup patches * add try-catch into monero code * fix error handling * update checksums
2024-08-26Monero v0.18.3.4 (#38)cyan
* updated monero dependency * update patches for v0.18.3.4 * update generate checksum to include version of submodule as well
2024-04-22add missing functionality from for cake's polyseed implementationv0.18.3.3-RC33Czarek Nakamoto
2024-04-22update polyseed commitv0.18.3.3-RC32Czarek Nakamoto
change POLYSEED_COIN to wownero in the fork update wownero patches
2024-04-19fix regarding the issues raised during security auditCzarek Nakamoto
In the polyseed-examples repository, the `utf8_nfc` and `utf8_nfkd` functions will never return a value exceeding `POLYSEED_STR_SIZE - 1` In your code, the utf8_norm function has variable return behavior that seems odd In case of a normalization error, the underlying normalizer will return a negative value, at which point your function just returns POLYSEED_STR_SIZE (this is unclear) In case the buffer isn't large enough, the normalizer will return the required buffer size but have undefined internal behavior, at which point your function returns a value exceeding POLYSEED_STR_SIZE Otherwise, it uses the normalizer's return value (indicating the written size) to continue with re-encoding tobtoht: Czarek Nakamoto: polyseed asserts that the return value < POLYSEED_STR_SIZE, so if normalization fails the program crashes.. > I think my idea was to have have polyseed check the return value and return an error code instead of asserting, which would in turn throw the "Unicode normalization failed" error > I'll upstream that. In the meantime you can replace the injected function with ```cpp inline size_t utf8_norm(const char* str, polyseed_str norm, utf8proc_option_t options) { utf8proc_int32_t buffer[POLYSEED_STR_SIZE]; utf8proc_ssize_t result; result = utf8proc_decompose(reinterpret_cast<const uint8_t*>(str), 0, buffer, POLYSEED_STR_SIZE, options); if (result < 0 || result > (POLYSEED_STR_SIZE - 1)) { throw std::runtime_error("Unicode normalization failed"); } result = utf8proc_reencode(buffer, result, options); if (result < 0 || result > POLYSEED_STR_SIZE) { throw std::runtime_error("Unicode normalization failed"); } strcpy(norm, reinterpret_cast<const char*>(buffer)); sodium_memzero(buffer, sizeof(buffer)); return result; } ```
2024-04-15polyseed fixv0.18.3.3-RC26Czarek Nakamoto
tobtoht: Since only the composed languages are broken, it could also be that canonical composition is producing weird output. Try dumping whatever seed string is being fed to polyseed_decode to hex and we should be able to tell. Or try removing UTF8PROC_LUMP from utf8_nfc
2024-04-12update patchesv0.18.3.3-RC23Czarek Nakamoto
update readme