From: James Prestwood <prestwoj@gmail.com>
To: iwd@lists.linux.dev
Cc: James Prestwood <prestwoj@gmail.com>
Subject: [RFC 1/2] doc: Document new DeviceProvisioningAgent
Date: Wed, 18 Sep 2024 10:40:01 -0700 [thread overview]
Message-ID: <20240918174002.68663-1-prestwoj@gmail.com> (raw)
This moves the SharedCodeAgent docs into the AgentManager interface
and renames it to DeviceProvisioningAgent. The agent path parameter
was also removed from the StartConfigurator() method.
---
doc/agent-api.txt | 56 +++++++++++++++++++++++++++++++++
doc/device-provisioning-api.txt | 48 ++++------------------------
2 files changed, 62 insertions(+), 42 deletions(-)
diff --git a/doc/agent-api.txt b/doc/agent-api.txt
index e9bb95ca..dc5529f3 100644
--- a/doc/agent-api.txt
+++ b/doc/agent-api.txt
@@ -67,6 +67,31 @@ Methods void RegisterAgent(object path)
[service].NotFound
[service].NotAvailable
+ void RegisterDeviceProvisioningAgent(object path)
+
+ Register an agent for handling Device Provisioning (DPP)
+ specific requests.
+
+ This includes:
+ - Requests for shared codes when using shared code
+ device provisioning.
+ - Requests for certificate signing requests
+ - Requests to send a certificate signing request
+
+ The details of these are explained in the DBus method
+ docs below for the
+ net.connman.iwd.DeviceProvisioningAgent interface.
+
+
+ Possible Errors: [service].InvalidArguments
+ [service].AlreadyExists
+
+ void UnregisterDeviceProvisioningAgent(object path)
+
+ Unregisters an existing Device Provisioning agent
+
+ Possible Errors: [service].InvalidArguments
+ [service].NotFound
Agent hierarchy
===============
@@ -263,3 +288,34 @@ Methods void Release() [noreply]
void CancelIPv6(object device, string reason) [noreply]
Same as CancelIPv4 above but for IPv6.
+
+DeviceProvisioningAgent hierarchy
+=================================
+
+Service unique name
+Interface net.connman.iwd.DeviceProvisioningAgent [Experimental]
+Object path freely definable
+
+Methods void Release() [noreply]
+
+ This method gets called when the service daemon
+ unregisteres the agent
+
+ void Cancel(string reason) [noreply]
+
+ This method gets called to indicate that the agent
+ request failed before a reply was returned. The
+ argument will indicate why the request is being
+ cancelled and may be "user-canceled", "timed-out" or
+ "shutdown".
+
+ string RequestSharedCode(string identifier)
+
+ This method gets called when a shared code is requested
+ for a particular enrollee, distingushed by the
+ identifier. The shared code agent should lookup the
+ identifier and return the shared code, or return an
+ error if not found.
+
+ Possible Errors: [service].Error.Canceled
+ [service].Error.NotFound
diff --git a/doc/device-provisioning-api.txt b/doc/device-provisioning-api.txt
index 6cf16fb8..37d8f67e 100644
--- a/doc/device-provisioning-api.txt
+++ b/doc/device-provisioning-api.txt
@@ -132,14 +132,13 @@ Object path /net/connman/iwd/{phy0,phy1,...}/{1,2,...}
Possible errors: net.connman.iwd.Busy
net.connman.iwd.InvalidArguments
- void StartConfigurator(object agent_path)
+ void StartConfigurator(void)
- Start a shared code configurator using an agent
- (distingushed by 'agent_path') to obtain the shared
- code. This method is meant for an automated use case
- where a configurator is capable of configuring multiple
- enrollees, and distinguishing between them by their
- identifier.
+ Start a shared code configurator which depends on an
+ agent (registered via AgentManager). This method is
+ meant for an automated use case where a configurator is
+ capable of configuring multiple enrollees, and
+ distinguishing between them by their identifier.
If the agent service disappears during the shared code
exchange it will be stopped, and the protocol will fail.
@@ -180,38 +179,3 @@ Properties boolean Started [readonly]
Indicates the DPP role. Possible values are "enrollee"
or "configurator". This property is only available when
Started is true.
-
-SharedCodeAgent hierarchy
-=========================
-
-Service unique name
-Interface net.connman.iwd.SharedCodeAgent [Experimental]
-Object path freely definable
-
-Methods void Release() [noreply]
-
- This method gets called when the service daemon
- unregisters the agent.
-
- string RequestSharedCode(string identifier)
-
- This method gets called when a shared code is requested
- for a particular enrollee, distingushed by the
- identifier. The shared code agent should lookup the
- identifier and return the shared code, or return an
- error if not found.
-
- Possible Errors: [service].Error.Canceled
- [service].Error.NotFound
-
- void Cancel(string reason) [noreply]
-
- This method gets called to indicate that the agent
- request failed before a reply was returned. The
- argument will indicate why the request is being
- cancelled and may be "user-canceled", "timed-out" or
- "shutdown".
-
-Examples Requesting a shared code for an enrollee identified by "foo"
-
- RequestSharedCode("foo") ==> "super_secret_code"
--
2.34.1
next reply other threads:[~2024-09-18 17:40 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 17:40 James Prestwood [this message]
2024-09-18 17:40 ` [RFC 2/2] doc: introduce DPP 802.1x agent APIs James Prestwood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240918174002.68663-1-prestwoj@gmail.com \
--to=prestwoj@gmail.com \
--cc=iwd@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox