NFC: NDEF parser Mifare Classic support, protocol-agnostic refactor and more improvements (#265)

* Update ndef.c

included mifare classic support

* Update application.fam

* Update ndef.c

* Update ndef.c

* Update ndef.c

* Update ndef.c

* Update ndef.c for better parsing

Because mifare classic 1k has a sector trailer, the ndef parser might conflict with it if the payload is long enough or if there's too many payloads. This code removes all sector trailer in a new buffer and uses that for parsing without any problems.

* Rewrite NDEF as protocol agnostic

* Move type name buffer to stack when possible

* Parse URI without heap buffer

* Reduce binary sizes by using preprocessor defines

* Parse MFC without clone buffer and support MAD2

* Keep message count between different TLVs

* Simplify macro check

* Simplify length conversion

* Improve output of unparsed types

* Add some more logging

* Fix WiFi parsing

* Check MAD key before reading

* Rename ndef_read() to ndef_get()

* Update changelog

* Wording

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
This commit is contained in:
Luu
2024-10-24 07:55:47 +02:00
committed by GitHub
parent 1d65d3171e
commit 8174ffa5b3
4 changed files with 712 additions and 310 deletions
+1 -1
View File
@@ -975,7 +975,7 @@ Function,+,dir_walk_read,DirWalkResult,"DirWalk*, FuriString*, FileInfo*"
Function,+,dir_walk_set_filter_cb,void,"DirWalk*, DirWalkFilterCb, void*"
Function,+,dir_walk_set_recurse_filter,void,"DirWalk*, const char**, size_t"
Function,+,dir_walk_set_recursive,void,"DirWalk*, _Bool"
Function,-,div,div_t,"int, int"
Function,+,div,div_t,"int, int"
Function,+,dolphin_deed,void,DolphinDeed
Function,+,dolphin_deed_get_app,DolphinApp,DolphinDeed
Function,+,dolphin_deed_get_app_limit,uint8_t,DolphinApp
1 entry status name type params
975 Function + dir_walk_set_filter_cb void DirWalk*, DirWalkFilterCb, void*
976 Function + dir_walk_set_recurse_filter void DirWalk*, const char**, size_t
977 Function + dir_walk_set_recursive void DirWalk*, _Bool
978 Function - + div div_t int, int
979 Function + dolphin_deed void DolphinDeed
980 Function + dolphin_deed_get_app DolphinApp DolphinDeed
981 Function + dolphin_deed_get_app_limit uint8_t DolphinApp