[RFC 0/5] Initial prep/skeleton for isolating core DPP protocol

James Prestwood
2024-03-13T17:13:36Z

Patches 1-4 can be applied any time, they are needed for the refactoring in
further patches but are still a nice improvement on their own.

Patch 5 is the skeleton module for the common DPP code. Don't merge this now
(even if it looks fine), I'd like to at least get the TCP side started before
I lock in the dpp_sm APIs in case there are changes required.

The reason this is being done is to eventually support DPP-over-TCP as well as
add the ability to implement a DPP controller within the IWD source repo which
can use the same state machine as IWD. Doing this requires the TX/RX of DPP
frames be offloaded to the encapsulating protocol (802.11 or TCP). This leaves
the DPP state details within the SM, which can be shared between either
protocol.

James Prestwood (5):
dpp: prep for moving AAD within dpp_append_wrapped_data
dpp-util: move AAD logic within dpp_append_wrapped_attributes
dpp-util: add dpp_append_point
dpp: use dpp_append_point
dpp-common: Skeleton for common DPP module

src/dpp-common.c | 517 +++++++++++++++++++++++++++++++++++++++++++++++
src/dpp-common.h | 109 ++++++++++
src/dpp-util.c | 180 ++++++++++++++++-
src/dpp-util.h | 7 +-
src/dpp.c | 308 ++++++++++++++--------------
5 files changed, 948 insertions(+), 173 deletions(-)
create mode 100644 src/dpp-common.c
create mode 100644 src/dpp-common.h

--
2.34.1