commit f75bf60f1492ae89eb0bd1ca83014f6e56038fdf
parent cf2dba2320a6460dda557ac436b9ae4b34859939
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Thu, 16 Jul 2026 01:37:01 +0200
clarify challenger spec
Diffstat:
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/core/challenger/post-authorize-NONCE.rst b/core/challenger/post-authorize-NONCE.rst
@@ -27,7 +27,7 @@
:http:statuscode:`200 OK`:
The the response is
- a `ChallengeStatus`. Since protocol **v1**.
+ a `ChallengeStatusResponse`. Since protocol **v1**.
:http:statuscode:`302 Found`:
Returned when the client explicitly accepts ``text/html``
returning a redirection to the WebUI.
@@ -45,9 +45,9 @@
The response will include error
code, hint and detail. Since protocol **v1**.
- .. ts:def:: ChallengeStatus
+ .. ts:def:: ChallengeStatusResponse
- interface ChallengeStatus {
+ interface ChallengeStatusResponse {
// indicates if the given address cannot be changed anymore, the
// form should be read-only if set to true.
@@ -55,6 +55,9 @@
// form values from the previous submission if available, details depend
// on the ``ADDRESS_TYPE``, should be used to pre-populate the form
+ // May contain a boolean field ``read_only`` indicating if
+ // the client is not allowed to change the address when posting
+ // it to the ``/challenge`` endpoint.
last_address?: Object;
// is the challenge already solved?
diff --git a/core/challenger/post-challenge-NONCE.rst b/core/challenger/post-challenge-NONCE.rst
@@ -6,8 +6,15 @@
**Request:**
Body should use the mime-type "application/x-www-form-urlencoded".
- The posted form data must contain an object that follow the restrictions
+ The posted form data must contain an address JSON object
+ that follow the restrictions
defined in :ref:`config <challenger-config>`.
+ If the address provided in the `ChallengeSetupRequest`
+ of ``/setup`` was set to be ``read_only`` and
+ that was subsequently returned in the
+ `ChallengeStatusResponse`, then the body
+ must not change that address, including preservation of the
+ ``read_only`` field.
**Response:**
@@ -80,11 +87,6 @@
// might make a useful hint to the user
transmitted: boolean;
- // @deprecated in **v2**, use retransmission_time
- // FIXME-REMOVED-ALREADY: the challenger no longer emits this field;
- // it is deprecated here but already gone from the code.
- next_tx_time?: string;
-
// when we would re-transmit the challenge the next
// time (at the earliest) if requested by the user
// @since **v2**