commit fcfd43286a8157c15386e734353a5337616f89ea
parent d7498cd182862d7aee84b3fd09238ef26d0c36a9
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 30 Jul 2026 10:40:06 +0200
implement #11645
Diffstat:
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/doc/sphinx/rest.rst b/doc/sphinx/rest.rst
@@ -397,7 +397,7 @@ Receiving Configuration
.. http:get:: /config
Obtain the configuration details of the escrow provider.
- This specification corresponds to ``current`` protocol being version **0**.
+ This specification corresponds to ``current`` protocol being version **2**.
**Response:**
@@ -417,6 +417,12 @@ Receiving Configuration
// The format is "current:revision:age".
version: string;
+ // Release version of the source code.
+ // The format is MAJOR.MINOR.MICOR[-GITDATA]
+ // and generally follows the "-v" option of the codebase.
+ // Since **v2**.
+ build_version: string;
+
// URN of the implementation (needed to interpret 'revision' in version).
// @since v0, may become mandatory in the future.
implementation?: string;
diff --git a/src/backend/anastasis-httpd_config.c b/src/backend/anastasis-httpd_config.c
@@ -108,7 +108,9 @@ AH_handler_config (struct AH_RequestHandler *rh,
use the full context string, so every key derived by an older client
differs and backups made with one cannot be recovered by the other. */
GNUNET_JSON_pack_string ("version",
- "1:0:0"),
+ "2:0:1"),
+ GNUNET_JSON_pack_string ("build_version",
+ PACKAGE_VERSION),
GNUNET_JSON_pack_string ("implementation",
"urn:net:taler:specs:anastasis:c-reference"),
GNUNET_JSON_pack_string ("business_name",
diff --git a/src/restclient/anastasis_api_config.c b/src/restclient/anastasis_api_config.c
@@ -35,15 +35,15 @@
*
* Raised to 1 when the key derivation was fixed to use the full context
* string: every key derived by a 0:x:x client differs, so backups written by
- * one side cannot be recovered by the other. The age stays 0 because there
- * is no compatibility to keep.
+ * one side cannot be recovered by the other. Hence 0 must stay outside of
+ * the compatibility range.
*/
-#define ANASTASIS_PROTOCOL_CURRENT 1
+#define ANASTASIS_PROTOCOL_CURRENT 2
/**
* How many versions are we backwards compatible with?
*/
-#define ANASTASIS_PROTOCOL_AGE 0
+#define ANASTASIS_PROTOCOL_AGE 1
struct ANASTASIS_ConfigOperation