* Implement MF1_ENC_NESTED_ACQUIRE in firmware
* Implement MF1_ENC_NESTED_ACQUIRE in software + fix code formatter
* Remove xz and pthreads from sources, use CMake FetchContent
* Update changelog
* lzma.h
* Update CMakeLists.txt
* Update CMakeLists.txt
* Probably fix workflow taking wrong commit for building
* Fix CMake building tools into bin/Debug on Windows
* Added cmd for fetching all slots nicks (without 16 commands)
* Fix type and use temp directory instead cwd (https://github.com/RfidResearchGroup/ChameleonUltra/pull/261)
* Fix endian for mfu_read_emu_counter_data and mfu_write_emu_counter_data
* Fix --key interpreted as list
Changes made:
- CI properly supports being ran on PRs and shouldn't fail anymore on
the RRG repo;
- The nonsense of unzipping archives during release creation isn't
needed anymore because now there's an artifact that holds all the
files (both zip and others) that should be included in a release;
- Softdevice and Application verification were re-enabled (as per
@doegox suggestion);
- Softdevice is now bundled in `-firmware` artifact;
- `dev` release tag is now updated ad every push to main;
- On PRs a comment linking to artifact is now added by CI after
success, artifact links are done with nightly.link so that they also
fork for unauthenticated users;
There are some quirks:
- on_pr runs on pull_request_target because it needs write access to
packages, but pull_request_target implies that GITHUB_SHA is set to
the base repo HEAD commit, so the whole `checkout-sha` thing is
needed. This also implies that if one of the workflow files are
changed in a PR the changed versions won't be ran against that same
PR.
- Client building per OS isn't yet implemented but all the necessary
scaffolding is there. At the moment the per-OS clients are just a zip
file containing all the client source.
Examples:
- PR comment: https://github.com/augustozanellato/ChameleonUltra/pull/14#issuecomment-1688737709
- `dev` release: https://github.com/augustozanellato/ChameleonUltra/releases/tag/dev