Stefan Kerkmann
1983421b7d
XAP: prevent OOB reads in config blob handler ( #18926 )
...
This fixes two bugs:
1. An invalid offset could be specified which wasn't checked to be in
the bounds of the config blob.
2. The data_len check was incorrect as it would allow reading one byte
past the config blob lenght.
Before the changes the following operation wouldn't fail:
Assuming we have blob of 64 bytes size and attempt a read with an
offset of 32 and data_len of 32, we actually try to read 32 bytes
starting from the 33. byte in the config blob. This reads exactly
one byte past array. Therefore we have to subtract one byte the get
the correct length.
2022-11-01 15:54:56 +00:00
zvecr
3ee042f236
set_rgb_matrix_config shouldnt touch eeprom
2022-10-27 11:22:19 +01:00
Nick Brassel
d9c8a64c18
Fix build error with NKRO_ENABLE=no
2022-10-27 11:54:51 +11:00
zvecr
edc14b29be
Dump lighting maps out of inline gen
2022-10-16 23:55:44 +01:00
Nick Brassel
f7b44473aa
Use introspection handlers.
2022-10-08 15:14:02 +11:00
Stefan Kerkmann
907640e40e
[Bug] XAP: Fix unaligned memory access in config blob handler and USB task loop condition ( #18612 )
...
* Fix unaligned memory access in config blob handler
data* points in the middle of an u8 array, casting this to an u16* and
dereferencing it leads to an unaligned memory access - which hardfaults
on Cortex M0 mcus e.g. RP2040s.
* Actually read until there is no more data to be read
2022-10-05 20:26:53 +01:00
zvecr
986534ea95
Stub out lighting sets
2022-10-03 01:04:49 +01:00
zvecr
7ee5347485
Add eeprom init route
2022-10-01 04:16:19 +01:00
zvecr
019d3f4877
Finish stub for effect mapping
2022-09-29 23:44:19 +01:00
zvecr
f81328068e
stash more lighting
2022-09-29 23:44:19 +01:00
zvecr
1dbb4c0f96
stash
2022-09-29 23:44:19 +01:00
zvecr
3fe1a931d7
Fix up OOB behaviour for get/set keycodes
2022-08-09 19:10:49 +01:00
zvecr
f4e5901726
Strip out 'permissions: ignore'
2022-07-13 23:50:01 +01:00
zvecr
ced7094ddd
Add xap cli functions to test secure
2022-07-07 01:57:41 +01:00
zvecr
dab3a4fde0
Refactor based on recent discussion - Add back 'Layer Count'
2022-06-19 23:26:37 +01:00
zvecr
956bd3b7ca
Refactor based on recent discussion
2022-06-19 22:04:36 +01:00
zvecr
ba7770a4e4
Fix secure symbol missing
2022-06-16 14:27:38 +01:00
zvecr
17dbcedc8b
bind xap_broadcast_secure_status to secure_hook_quantum
2022-05-22 22:47:50 +01:00
zvecr
4d895892e5
Stubs for ENCODER_MAP
2022-04-20 22:38:06 +01:00
zvecr
1d96fc866d
Add route for hardware_id
2022-04-19 02:07:05 +01:00
zvecr
d19285019d
All other subsystems are disabled during unlock
2022-04-12 01:37:31 +01:00
zvecr
1ea2928d2a
XAP messages extend timeout?
2022-04-11 02:14:19 +01:00
zvecr
05b5a4c23a
format
2022-04-11 01:08:37 +01:00
zvecr
79db2df228
Allow secure to be slightly more optional
2022-04-11 01:07:22 +01:00
zvecr
89fab427c4
stub out secure as its own feature
2022-04-11 00:43:18 +01:00
zvecr
c1b57354f6
Stub out more of broadcast messages
2022-04-05 18:54:28 +01:00
zvecr
c9eae1d384
format
2022-04-02 00:11:22 +01:00
zvecr
e7d9d6675c
Implement codegen for more data types - codegen for return_execute stubs removed
2022-04-01 23:38:13 +01:00
zvecr
c5842ab9b5
stub out return_execute with zero args
2022-04-01 00:44:27 +01:00
Nick Brassel
ffcdfc6c03
Swap info.json.gz length to #define.
2022-04-01 08:15:33 +11:00
zvecr
81a53ac5b6
gen RESPONSE_FLAG defines
2022-03-31 21:08:18 +01:00
zvecr
0f5ced0521
claim back a few bytes
2022-03-31 19:14:35 +01:00
zvecr
fe1a4a52d4
clang
2022-03-31 01:23:19 +01:00
zvecr
646fdc7d17
Rework code gen for return of dynamic variables
2022-03-31 01:18:26 +01:00
zvecr
6269c6b51c
partial gen for return_execute
2022-03-30 23:20:14 +01:00
zvecr
7f128c5286
Remove some assumptions on packet format
2022-03-30 02:09:19 +01:00
zvecr
ff1bb76537
basic info.json handling
2022-03-28 21:06:16 +01:00
zvecr
c27edf4e64
vusb prep
2022-03-18 20:23:28 +00:00
Nick Brassel
c3ac89d1c9
qmk format-c
, qmk format-python
2022-03-09 20:01:20 +11:00
Nick Brassel
eba91c6e28
Initial implementation of XAP protocol.
2021-08-11 21:08:32 +10:00