Commit Graph

274 Commits

Author SHA1 Message Date
Willy-JL
2eaf1ffc95 New formatting 2024-07-15 22:32:17 +01:00
Willy-JL
02f7207d28 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-15 22:18:35 +01:00
hedger
ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Willy-JL
4830ef94c6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-05 20:01:29 +02:00
hedger
7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
Willy-JL
7ef699d9f6 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-04 00:08:00 +02:00
RebornedBrain
3224401479 [FL-3835] Ultralight C authentication with des key (#3720)
* Update api_symbols.csv
* Ultralight C 3des implementation added
* Access check for Ultralight cards is now splitted into 2 functions one for ULC card and another for common
* Ultralight C authentication command handlers added
* Update api_symbols.csv and api_symbols.csv
* Length added to ultralight encrypt function
* New structure for storing 3des key added
* Reseting of 3des_key added
* des_context init/deinit added to poller
* New poller step for ultralight c auth added
* Added ultralight c des key to application
* Renamed felica unlock scenes to more generic des auth scenes, because they are now used also for ultralight c
* Show different menus for different ultralight card types
* Update api_symbols.csv and api_symbols.csv
* Some macro defines added
* Different amount of pages will be now read for ultralight C and others
* New unit test for ultralight C
* Some comments and macro replacements
* New function added to api
* Now all data read checks mfulC separately
* Adjusted listener to handle missing 3des_key properly
* Now poller populates 3des_key after reading with auth to card data
* Nfc: rename _3des_key to tdes_key
* Bump API Symbols
* Mute PVS Warnings

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-07-03 12:38:30 +01:00
Willy-JL
2d2b0f8201 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-07-01 23:01:37 +02:00
Astra
2b0b5b02b5 [NFC] Add mf_classic_set_sector_trailer_read function (#3733)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-30 18:54:55 +01:00
Willy-JL
ea63af1863 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-17 21:47:13 +02:00
gornekich
729db7fa98 [FL-3857] NFC Ultralight Original write support (#3718)
* mf ultralight: rename ultralight unknown to origin
* nfc app: add write to origin support for origin ultralights
* mf ultralight: add orig write support on lib level
* targets: bump major API version
2024-06-17 15:20:35 +01:00
Astra
ecd324dd1c [FL-3856] Don't crash on reading weird cards (#3717)
* Don't crash on reading weird cards
* mf plus: fix incorrect read fail event handler

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-06-17 14:18:53 +01:00
Astra
cf8c82c451 [FL-3746] Mifare Plus detection support (#3607)
* Initial MFPlus draft
* Proper detection (WIP)
* Mifare Plus detection done
* Bump F18 API
* Alloc takes no arguments
* Fixes from code review
* Remove leftover logging
* Remove stray reminder comment
* Review changes and extra logging
* Fix atqa detection
* Fix incorrect comparison
* ATQA byte swap fix
* mf plus: code clean up
* mf plus: remove unused code
* mf plus: fix read fail event handling
* mf plus: fix return error codes
* mf plus: handle load and save errors
* mf plus: assert -> check in public API funxtion
* Bump API Symbols version
* Fix wrong feature mask
* Skylanders plugin separation
* Fix navigation
* Fix info box size

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-10 20:36:46 +01:00
Willy-JL
468f870729 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-08 19:09:37 +02:00
RebornedBrain
467e973da2 [FL-3810] Felica emulation (#3673)
* Moved some structs and defs from poller to generic felica
* Buffer size increased for transferring more data
* Felica HAL Tx function implemented
* Some structs and fields for listener
* Raw listener implementation
* Added new event for felica activation
* Proper config fot listener added
* Moved some structs from poller in order to use them in listener too
* New function for calculating MAC
* Listener data structures and function definitions
* Private listener functions implementation added
* Raw felica listener logic implementation added
* Fix total sector count both for poller and listener
* Defined type for write handlers
* New logic for write operations added
* Removed old commented code
* Splitted read logic into several separate functions
* New type added and some fields to instance
* New logic of read command implemented
* Defines added for response codes
* Functions moved to private namespace
* Function visibility changed and some cleanups
* Update felica_listener.c, felica_listener_i.c, and felica_listener_i.h
* Some type adjustments
* Moved frame_exchange function to private namespace
* Error handling added
* Function to get data_ptr for write request added
* Missing declaration added
* Add processing of nfc errors
* write_with_mac is a local variable now
* Adjustments to MAC calculation logic
* Values replaced with defines
* Update nfc_transport.c with felica logic
* Sync felica poller added for unit tests
* Felica unit_tests and data dump added
* Fixed proper reading of MAC_A block when it is 1st
* Macro definitions for MC added
* Function simplified
* More defines
* CRC check for incomming packets added
* Readonly logic adjusted
* Block write validation adjusted
* New logic for ID block writing
* Some cleanups
* New logic of moving across the block list with different element length
* Some cleanups
* Adjusted requires_mac logic to cover all blocks needed
* Cleanups and renaming
* New block list validation logic
* Block list logic iteration simplified
* Some asserts and checks added
* Replaced MC[2] checks with macros
* Marked def values as unsigned
* Removed old code
* Removed commented function declarations
* Changed protected block in felica test card dump and adjusted tests
* Fixes after merge
* Moved defines to header
* Now we allocate memory for max possible response pack in any case
* Some renaming and documentation
* Bump api symbols
* Set feature to emulate full for felica
* Removed 'More' button and added MoreInfo feature which adds this button back
* Types renamed
* Removed unnecessary code
* Reformat comments
* Fixing missing signatures
* Replaced crash with error log and return value
* Format doxygen comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-08 15:24:51 +01:00
RebornedBrain
ba3beeddeb [FL-3811] Write to ultralight cards is now possible (#3684)
* Added new function which returns end block for write operation
* Enabled write menu item also for Ultralight 11 and 21
* Fix api_symbols.csv for f18
* Bump Api Symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:38:02 +01:00
Willy-JL
aa3db97e9d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-06-06 02:19:54 +01:00
MX
05457b41e4 Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into nfc_mfplus 2024-06-06 01:12:34 +03:00
MX
bde889c338 Reapply "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 6bfa383cea.
2024-06-06 00:55:29 +03:00
MX
373f61459a Merge remote-tracking branch 'RebornedBrain/reborned/ultralight_write' into dev 2024-06-06 00:48:46 +03:00
MX
17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
MX
1db05ed2c6 Revert "add temp fix since no proper fix exist at the moment"
This reverts commit 75ece9b697.
2024-06-05 22:18:09 +03:00
Astra
6db3c0c6bc Merge branch 'dev' into astra/3746-mfp-detect 2024-06-05 18:55:41 +09:00
Willy-JL
23da827361 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-04 03:03:23 +01:00
RebornedBrain
78f8835cac Merge branch 'dev' into reborned/ultralight_write 2024-06-03 19:38:15 +03:00
hedger
03196fa110 cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00
RebornedBrain
3d41590090 Added new function which returns end block for write operation 2024-06-03 16:25:58 +03:00
gornekich
03f242618c mf plus: assert -> check in public API funxtion 2024-05-30 13:55:59 +01:00
gornekich
fd90567f0e mf plus: handle load and save errors 2024-05-30 13:49:27 +01:00
gornekich
5f7a139cff mf plus: fix return error codes 2024-05-30 12:54:05 +01:00
gornekich
bf41cc43a1 mf plus: fix read fail event handling 2024-05-29 18:23:34 +01:00
gornekich
ba0051967c mf plus: remove unused code 2024-05-29 17:01:14 +01:00
gornekich
6ccbc16e74 mf plus: code clean up 2024-05-29 16:53:12 +01:00
gornekich
8cdb8aafac Merge branch 'dev' into astra/3746-mfp-detect 2024-05-28 17:11:43 +01:00
Willy-JL
4931b5b2f7 NFC: Fix Mifare DESFire reading 2024-05-28 05:51:07 +01:00
Willy-JL
1f1c05d81a Remove redundant extra API 2024-05-28 05:03:20 +01:00
Willy-JL
3358ee63bb Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev --nobuild 2024-05-26 07:54:07 +01:00
Astra
060a488ae9 ATQA byte swap fix 2024-05-22 19:55:12 +09:00
Astra
d3d483e60f Fix incorrect comparison 2024-05-22 19:10:26 +09:00
Astra
514fd244fa Fix atqa detection 2024-05-22 18:29:57 +09:00
Astra
c8a779da3f Review changes and extra logging 2024-05-21 19:30:05 +09:00
Willy-JL
d9f55d110d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-21 04:56:03 +01:00
MX
6a91588f52 Merge remote-tracking branch 'OFW/dev' into dev 2024-05-21 01:34:05 +03:00
hedger
9e42e00ead Icons: compression fixes & larger dimension support (#3564)
* toolbox, gui: fixes for compressed icon handling
* ufbt: fixes for generated vscode project
* scripts: increased max dimensions for image converter
* icon type changes
* linter fixes; api sync
* gui: docs fix
* toolbox: fixed potential decoder buffer overflow
* minor cleanup
* fbt: sdk: suppressed deprecation warnings in API table
* toolbox: compress: added unit tests
   vscode: now installs resources for unit_tests
   unit_tests: now loads subghz region data
* toolbox: compress: review fixes, pt 1
* compress: now passes decoder buffer size as constructor argument; auto-resize decoder buffer; crash on failed icon decompression
* PVS fixes
* pvs fixes, pt2
* doxygen fixes
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* UnitTests: move all tests into plugins, brakes testing
* UnitTests: add plugin API and update plugin entrypoints
* UniTests: Test runner that works with plugins
* fbt: extra filtering for extapps to include in build
* UnitTests: filter tests by name
* loader: restored API table for unit_test build config
* Add various missing symbols to API table
* UnitTest: fail on plugin load error
* UnitTests: cleanup plugin api and reporting
* unit_tests: composite resolver
* UnitTests: remove unused declaration
* unit_tests, nfc: moved mock nfc implementation to libnfc
* unit_tests: api: removed redundant #define
* toolbox: compress: removed size_hint for icons; triggering furi_check on oversized icons
* gui: icon, icon_animation: removed size hit APIs
* Format Sources. Cleanup code.
* loader: refuse to start .fal as app
* toolbox: compress: fixed memory corruption in operations with small destination buffer; added unit tests for that case
* unit_tests: proper test skipping; better selective test interface
* unit_tests: moved 'loading' logging to proper location

Co-authored-by: あく <alleteam@gmail.com>
2024-05-20 18:23:47 +01:00
Astra
68eb196645 Merge branch 'astra/3746-mfp-detect' of https://github.com/flipperdevices/flipperzero-firmware into astra/3746-mfp-detect 2024-05-20 19:19:22 +09:00
Astra
2929955a3c Remove stray reminder comment 2024-05-20 19:19:11 +09:00
Astra
915304b986 Merge branch 'dev' into astra/3746-mfp-detect 2024-05-20 19:14:30 +09:00
Astra
cf9b09042e Remove leftover logging 2024-05-20 19:12:18 +09:00
Astra
54f63e06ec Fixes from code review 2024-05-20 19:08:54 +09:00
Willy-JL
3a82c94e28 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-05-18 05:46:15 +01:00