summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-20fix signaturev0.18.3.3-RC30Czarek Nakamoto
2024-04-19unsigned long longv0.18.3.3-RC29Czarek Nakamoto
2024-04-19iOS build: do not fail due to mv: Directory not emptysneurlax
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-19Wallet::reconnectDevice implementationCzarek Nakamoto
2024-04-19legacy code removal + deprecation noticeCzarek Nakamoto
can't remove the runTHread code just yet as xmruw depends on it, and I don't have enough hours in the day to fix that at the moment.
2024-04-19make vectorToString behave as it should, without appending separators when ↵Czarek Nakamoto
it isn't required
2024-04-17add multi dest tx supportv0.18.3.3-RC28Czarek Nakamoto
2024-04-15WIP: cake stuffv0.18.3.3-RC27Czarek Nakamoto
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-12Merge pull request #2 from cypherstack/scriptsv0.18.3.3-RC25cyan
fix openssl script re: previous commit
2024-04-12fix openssl script re: previous commitsneurlax
forgot to remove this one line. Interestingly, Windows built fine with it, whereas iOS threw.
2024-04-12do not fail if repo already existssneurlax
build_single.sh will fail on Windows (WSL2) due to `git clone` if we already did a `git submodule update --init --recursive`
2024-04-12Merge pull request #1 from cypherstack/scriptscyan
Windows fix: do not fail on `git clone` if repo already exists
2024-04-12credit tobtohtCzarek Nakamoto
2024-04-12update patchesv0.18.3.3-RC23Czarek Nakamoto
update readme
2024-04-11Revert "add polyseed language options"Czarek Nakamoto
This reverts commit a032a20221579d5fb9445b370eec1b6bd4ff653b.
2024-04-11add polyseed language optionsv0.18.3.3-RC22Czarek Nakamoto
2024-04-05add comments explaining what does the code do?Czarek Nakamoto
2024-04-04update readmeCzarek Nakamoto
2024-04-04~~fix~~ workaround wownero randomwow remoteCzarek Nakamoto
2024-04-04if cases are difficultCzarek Nakamoto
2024-04-04fix patch numberCzarek Nakamoto
2024-04-04fix android (i hope)Czarek Nakamoto
2024-04-03fix ios build script (how did it even work before!?!?!?)Czarek Nakamoto
2024-04-02randomx bumpv0.18.3.3-RC17Czarek Nakamoto
2024-04-02actually fix and not workaround the iOS issue.v0.18.3.3-RC16Czarek Nakamoto
2024-04-02update randomx commitCzarek Nakamoto
2024-04-02feat: iOS buildsv0.18.3.3-RC15Czarek Nakamoto
includes patches to - randomx: https://github.com/tevador/RandomX/pull/294 - randomwow: https://git.wownero.com/wownero/RandomWOW/pulls/2
2024-04-02add wownero patch so it won't crashCzarek Nakamoto
2024-04-02monero: fix make debug-testsCzarek Nakamoto
2024-04-02build debug by defaultCzarek Nakamoto
2024-04-01un-conflict exported symbols on macosCzarek Nakamoto
2024-04-01feat: macos host buildsCzarek Nakamoto
2024-04-01update readmeCzarek Nakamoto
2024-04-01fix: wownero and monero wallets in the same processv0.18.3.3-RC12Czarek Nakamoto
ci: cache ~/.ccache directory
2024-03-31feat: split MONERO and WOWNERO prefixed functionsv0.18.3.3-RC11Czarek Nakamoto
So basically: when we open the .so file, we define some symbols, and it appears that if we load something else, with the same symbols, under the same thread we cause some funky behaviour - like calling function a wownero function MONERO_Wallet_address() resulting in a monero address being generated. Needless to say, this is undesired, and a blocker for https://github.com/cypherstack/stack_wallet/pull/818 I'm afraid that this may not solve all of our issues (but will solve some significant roadblocks), because of the "genesis block" issue, as output of nm -gDC release/wownero/x86_64-linux-gnu_libwallet2_api_c.so | grep genesis indicate that these functions may share *something* in common across both WOW and XMR libraries. In a case in which this fix won't be sufficient, I think that the way forward would be to close the dynamic libraries, but before we do that I want to check if maybe there is a change to run multiple wallets at once.
2024-03-28macos supportCzarek Nakamoto
2024-03-27fixed coin control patch for wowneroCzarek Nakamoto
2024-03-27fix wownero coin controlCzarek Nakamoto
use proper headers properly apply patches
2024-03-27wooofCzarek Nakamoto
2024-03-26feat: wownero supportCzarek Nakamoto
2024-03-23windows support + LICENSECzarek Nakamoto
2024-03-22remove external header-paresrCzarek Nakamoto
2024-03-22wow + buildCzarek Nakamoto
2024-03-20fix: crash on linuxCzarek Nakamoto
also: make builds debug by default.
2024-03-20link wallet-crypto on desktopCzarek Nakamoto
2024-03-17add externCzarek Nakamoto
2024-03-16add libpolyseed.dllCzarek Nakamoto
2024-03-15feat: windows supportCzarek Nakamoto
feat: ci caching for faster builds