Commit graph

2593 commits

Author SHA1 Message Date
noproto
3ab752b7a0 Clean up various issues 2024-09-17 14:38:14 -04:00
Nathan N
4836a54847
Merge branch 'flipperdevices:dev' into nestednonces 2024-09-16 05:27:52 -04:00
noproto
18f8cfbef0 Do not reset the poller between collected nonces 2024-09-16 05:28:04 -04:00
EntranceJew
913a86bbec
kerel typo (#3901)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-15 16:07:04 +01:00
porta
19a3736fe5
[FL-3891] Folder rename fails (#3896)
* fix, refactor: storage is_subdir API
* docs: fix incorrect comment
* test: new storage apis
* test: use temporary path
* style: fix formatting
* UnitTest: storage path macros naming
* UnitTest: storage path macros naming part 2

Co-authored-by: あく <alleteam@gmail.com>
2024-09-15 16:01:42 +01:00
porta
b670d5b6e2
[FL-3885] Put errno into TCB (#3893)
* feat: thread-safe errno
* ci: fix pvs warning
* ci: silence pvs warning
* fix: 🤯
* test: convert test app into a unit test
2024-09-13 18:31:07 +01:00
noproto
8edafa3f39 Do not enter nested attack if card is already finished 2024-09-12 14:28:18 -04:00
porta
0428e82b14
Fix USB-UART bridge exit screen stopping the bridge prematurely (#3892)
* fix: exit screen stopping bridge prematurely
* refactor: merge exit confirmation scene into main usb uart scene
2024-09-12 17:32:07 +01:00
noproto
13411da449 I'll try freeing memory, that's a good trick! 2024-09-11 16:22:52 -04:00
Nathan N
8d26636fba
Merge branch 'flipperdevices:dev' into nestednonces 2024-09-10 20:13:20 -04:00
noproto
ab0debba02 Add additional condition to backdoor check 2024-09-10 19:20:53 -04:00
noproto
c43806b5db Speed up backdoor detection, alert on new backdoor 2024-09-10 14:10:09 -04:00
noproto
d7484ee840 Fix v1/v2 backdoor nonce collection 2024-09-10 09:03:11 -04:00
noproto
ab8bc3e21c Clear TODO line 2024-09-09 20:51:51 -04:00
noproto
cba58ed437 Add new backdoor key, fix UI status update carrying over from previous read 2024-09-09 20:50:15 -04:00
RebornedBrain
5f4f4fcc60
FeliCa anti-collision fix (#3889)
* System code added to felica hal config functions
* Felica sensf_res setup logic adjusted with new struct
* Set api symbols version to 73.0
* Felica unit tests fix
* Furi: prevent use after free on xEventGroupSetBits call

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-09 22:11:53 +01:00
Zinong Li
78c5dd95d8
LFRFID GProxII Fix Writing and Rendering Conflict (#3888) 2024-09-09 18:23:18 +01:00
gornekich
9558a5fa08
Merge branch 'dev' into nestednonces 2024-09-09 13:34:47 +01:00
Silent
70d8951fb7
FuriTimer: Use an event instead of a volatile bool to wait for deletion (#3887)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-09 00:04:56 +01:00
christhetech131
543f6058e5
Infrared: add TCL 75S451 to TV universal remote (#3880)
* Update tv.ir
* Infrared: mark TCL 75S451 block in universal remote, cleanup extra spaces

Co-authored-by: あく <alleteam@gmail.com>
2024-09-08 23:54:38 +01:00
Eric Betts
75f4782fab
Rename 'Detect Reader' to 'Extract MF Keys' (#3874)
* Rename 'Detect Reader' to 'Collect Nonces'
* Updated name
* Updated name
* Format Sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-08 23:43:14 +01:00
Zinong Li
a122ee75f6
LFRFID: Guard GProxII Wiegand Check Against False Positive and Correct 36-bit Parsing (#3868)
* Update protocol_gproxii.c
* 36 bit format parsing fix
* Update protocol_gproxii.c
* wiegand checks as single function
* LfRfid: simplify gprox wiegand payload validation flow
* LfRfid: extra furi_check in gprox wiegand validation code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-08 11:25:31 +01:00
Silent
8c2223df5d
Threading, Timers improvements (#3865)
* FuriTimer: Use a local variable to wait for deletion

This combines the current synchronous behaviour
(as we could have deferred the free call too) with
a smaller FuriTimer - it's safe to pass a pointer to
a local variable to this pending timer call, because we
know it'll be finished before the caller returns

* Tighten the use of FuriThread* vs FuriThreadId

Event loop and Loader mixed those two,
but the fact those are aliases should be an implementation detail.
For this reason, thread.c is still allowed to mix them freely.
2024-09-07 19:18:51 +01:00
Silent
8672a1d94c
Replace all calls to strncpy with strlcpy, use strdup more, expose strlcat (#3866)
strlcpy doesn't zero the buffer and ensures null termination,
just like snprintf

strlcat is already used by mjs and it's a safe alternative to strcat,
so it should be OK to expose to apps
2024-09-07 17:16:56 +01:00
Aleksandr Kutuzov
9ea7a4671a Merge remote-tracking branch 'origin/dev' into nestednonces 2024-09-07 13:47:07 +01:00
Thomas Nemer
9bdf41d8ff
feat: add linux/gnome badusb demo resource files (#3846)
* feat: add linux/gnome badusb demo resource files
* doc: use latest appimage package and install icon and desktop file

Co-authored-by: Thomas N <atom@fortytwo.fr>
Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 13:25:13 +01:00
porta
266d4b3234
[FL-3897] Happy mode (#3863)
* feat: happy mode
* feat: remove sad dolphin when powering off in happy mode
* style: address review comments
* Dolphin: add missing furi_checks
* Komi: add missing region initialization on startup

Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 12:54:23 +01:00
Astra
3c75356b49
Fix detection of GProx II cards and false detection of other cards (#3869)
* Fix detection of GProx II cards and false detection of other cards as GProx II
* Fix incorrect parity starting bit

Co-authored-by: あく <alleteam@gmail.com>
2024-09-07 12:12:06 +01:00
Silent
8caa861cc7
Exposed view_dispatcher_get_event_loop (#3858)
* Exposed view_dispatcher_get_event_loop
* Bump api symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 14:11:05 +01:00
Astra
ad27713f0d
[FL-3766] Fix crash on Ultralight unlock (#3855)
* Fix crash on Ultralight unlock
* Infrared: safe macroses

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 12:44:32 +01:00
RebornedBrain
e0654fe409
[FL-3890] Infrared button operation fails now shows more informative messages (#3859)
* Error codes enum added
* Adjusted signal api to return error codes instead of bool
* Remote api adjusted to work with error codes
* Brute force logic adjusted to work with error codes
* Other application functions adjust to work with error codes
* All task callbacks now return ErrorCode through int32t, which belongs to thread
* All scenes now work with error codes
* More api functions now return error code
* Now signal names are buffered and restored in case of error.
* New error code enumeration added. Now least significant byte is left for the button index
* Some macro to simplify error setup and error check
* Error code checks replaced by macro
* Different message is now shown when move failed
* Comments updated
* Fixed error check
* Fixed navigation issue while openning broken files from Favorites
* Now search by index also returns index in addition to error code
* Remote loading logic adjusted
* New error codes added and numbers adjusted
* New error message when loading library file instead of signal one
* Some more remote loading logic adjusted
* New error message on rename fail
* Grammar mistake fix
* Function signature changed
* Function usage adjusted according to new signature

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:52:00 +01:00
WillyJL
6a1c27ef93
Loader: Warn about missing SD card for main apps (#3875)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:43:07 +01:00
WillyJL
4fd76524c9
Desktop: Sanity check PIN length for good measure (#3879)
* Desktop: Sanity check PIN length for good measure
* Desktop: replace hardcoded values with macros in desktop_view_pin_input.c

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 10:33:17 +01:00
WillyJL
c6326915ae
DialogEx: Fix NULL ptr crash (#3878) 2024-09-05 22:13:03 +01:00
Valera Olexienko
20aff7320f
Infrared: Add Airwell AW-HKD012-N91 (#3856)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 21:14:57 +01:00
RebornedBrain
49e1ae6e87
[FL-3895] Broken file interaction fixes (#3852)
* Show error screen if corrupted filed has been loaded
* Added rpc error codes and error processing to NFC
* Made iButton scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to iButton
* Made lfRfid scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to lfRfid
* Made SubGHz scene on_enter handler clear to prevent showing scene before file is loaded. Also moved file_name_tmp formatting logic to a separate function
* Now function returns loading status and starts rx only if load succeeded
* Added show error logic on tx_button start
* Introduced rpc error codes for infrared
* Adjusted rpc scene logic to show scene only when
loading is fine
* Added new  list of rpc errors which are common within several applications
* Removed same enums from apps
* Same rpc error in different apps replaced with common value from rpc error code list
* SubGHz error codes now start from RpcAppSystemErrorCodesReserved value
* Infrared error codes now start from RpcAppSystemErrorCodesReserved value
* Removed unused enum
* Now all rpc error codes are more generalized and can be used among all apps without any specific enums
* Removed specific error codes, now rpc error codes are used instead
* RPC: no plurals in enums

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 20:54:49 +01:00
あく
62bbf406be
Debug: use proper hook for handle_exit in flipperapps (#3842)
* Debug: use proper hook for handle_exit in flipperapps
* fbt: flash firmware for `blackmagic` target

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-09-05 19:55:43 +01:00
hedger
feb1b2f349
[FL-3882] Clean up of LFS traces (#3849)
* updater, storage: removed mentions of LFS from public APIs; updated corresponding strings
* rpc: updated include path

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 18:44:22 +01:00
porta
c9791a280a
[FL-3884] Proper integer parsing (#3839)
* feat: strint_to_uint32 and tests
* fix: permit explicit bases and prefixes
* feat: strint_to_{int32,uint16,int16}
* feat: strint_to_u?int64
* refactor: replace strtol, strtoul, sscanf with strint_to_*
* fix: api symbols
* docs: document parameter `end` of strint_to_uint_32
* style: apply changes requested by hedger
* refactor: fix pvs-studio diagnostic
* style: apply changes requested by CookiePLMonster
* fix: unused var
* fix: pointer type
* refactor: convert atoi to strint_to_*
* fix: strint_to_uint8 doesn't actually exist ._ .
* fix: memory leak
* style: address review comments
* Toolbox: couple small comments in the code and doxygen comment update. SubGhz, Loader: fix strint usage.
* Loader: fix incorrect cast

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 18:02:42 +01:00
Skorpionm
6a48dd28f5
SubGhz: Fix RPC status for ButtonRelease event (#3838)
Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 16:10:12 +01:00
Filipe Paz Rodrigues
4a58930247
CCID: App changes (#3837)
- Keep ccid_callback and buffer as private to the iso7816_handler
- set usb ccid callback from iso7816_handler (to ensure the right structure is being passed)
- make iso7816 related code independent from furi related code (goal is to make it independently testable)
- rename vars

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 16:04:32 +01:00
Georgii Surkov
fa2d611652
[FL-3889] 5V on GPIO control for ext. modules (#3830)
* Make file extensions case-insensitive
* Bump protobuf version
* Add support for 5V control via RPC
* Add support for 5V control via Expansion protocol
* Update running instructions
* Update expansion module documentation
* Prettify condition
* Test RPC OTG control as well
* Assets: bump protobuf version
* Disable PVS license expiration check, fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 15:40:14 +01:00
DerSkythe
b040db07f4
Gui: Add up and down button drawing functions to GUI elements (#3804)
* feat: Add up and down button drawing functions to GUI elements
  Two button drawing functions, elements_button_up and elements_button_down, have been added to the GUI elements. These functions allow a button to be drawn at the top left and top right corner of the canvas respectively, with an accompanying string and icon. The underlying layout and design of these buttons is defined within these functions.
* feat: Add null checks for Canvas parameter in button functions
  Added furi_check to ensure the Canvas parameter is not null in elements_button_up and elements_button_down functions. This prevents potential crashes due to dereferencing a null pointer.

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-05 14:50:33 +01:00
あく
f353e5708d
Gui: change dialog_ex text ownership model (#3831)
* Gui: change dialog_ex text ownership model
* Gui: change text ownership model part 2
* Examples: fix DialogEx usage in number input
* Gui: fix nullptr dereference in DialogEx, proper reset procedure

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-09-05 14:32:48 +01:00
noproto
b09d5a0069 Bump f18 API version (all functions are NFC related) 2024-09-03 20:20:49 -04:00
Nathan N
7bb33497ae
Merge branch 'flipperdevices:dev' into nestednonces 2024-09-03 15:18:23 -04:00
noproto
92122b2cdf NFC app UI updates, MVP 2024-09-03 15:19:12 -04:00
noproto
3cb3eab118 Update TODO 2024-09-03 11:36:19 -04:00
noproto
2e0cd320c7 Static encrypted nonce collection 2024-09-03 09:26:14 -04:00
noproto
6e9fe1edd8 Don't recalibrate hard PRNG tags 2024-09-03 05:54:59 -04:00