diff options
author | Özgür Kesim <oec-taler@kesim.org> | 2022-10-05 11:06:37 +0200 |
---|---|---|
committer | Özgür Kesim <oec-taler@kesim.org> | 2022-10-05 11:06:37 +0200 |
commit | b5dcdefc7cdc9c72f8da373eb794e1eb881aa716 (patch) | |
tree | 5a23511109515a65cc703f73f6b039bf2fa2eaa1 /design-documents/006-extensions.rst | |
parent | ca889e7ddeeedbae285a3795c2d74b73b61bf6e8 (diff) | |
download | docs-b5dcdefc7cdc9c72f8da373eb794e1eb881aa716.tar.gz docs-b5dcdefc7cdc9c72f8da373eb794e1eb881aa716.tar.bz2 docs-b5dcdefc7cdc9c72f8da373eb794e1eb881aa716.zip |
better terminology for extensions and more TODOs
Diffstat (limited to 'design-documents/006-extensions.rst')
-rw-r--r-- | design-documents/006-extensions.rst | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/design-documents/006-extensions.rst b/design-documents/006-extensions.rst index f70b8449..33213fd6 100644 --- a/design-documents/006-extensions.rst +++ b/design-documents/006-extensions.rst @@ -58,7 +58,7 @@ The necessary changes to ``ExchangeKeysResponse`` are highlighted here: // Optional field with a dictionary of (name, object) pairs defining the // supported and enabled extensions. // The name MUST be non-empty and unique. - extensions?: { name: Extension }; + extensions?: { name: ExtensionManifest }; // Signature by the exchange master key of the SHA-256 hash of the // normalized JSON-object of field ``extensions``, if it was set. @@ -81,11 +81,11 @@ GANA_ along with a full description of the extension. versions of the "same" feature in parallel, multiple unique names MUST be used, f.e. ``age_restriction`` an ``age_restriction.v2``.) -Extension object ----------------- +ExtensionManifest object +--------------------------- -The definition of ``Extension`` object itself is mostly up to the particular -feature. **However**, it MUST have +The definition of ``ExtensionManifest`` object itself is mostly up to the +particular feature. **However**, it MUST have #. the boolean field ``critical`` that has the same semantics as as "critical" has for extensions in X.509_: if true, the client must "understand" the @@ -99,10 +99,9 @@ feature. **However**, it MUST have .. _`protocol version ranges notation`: https://docs.taler.net/core/api-common.html#protocol-version-ranges +.. ts:def:: ExtensionManifest -.. ts:def:: Extension - - interface Extension { + interface ExtensionManifest { // The criticality of the extension MUST be provided. It has the same // semantics as "critical" has for extensions in X.509: // - if "true", the client must "understand" the extension before @@ -181,7 +180,7 @@ this: AGE_GROUPS = "8:10:12:14:16:18:21" - [exchange-extension-policy_auction] + [exchange-extension-policy_brandt_vickery_auction] ENABLED = true REPLAY_PROGRAM = "/usr/local/bin/taler-exchange-auction_replay" @@ -193,6 +192,16 @@ TODO: * Needs to express support for particular extensions, too. F.e. age-restriction. +Extension Plugins +================== + +TODO: + +* describe ``struct TALER_Extension`` +* describe the plugin loading mechanism for extensions +* describe the various handlers + + Alternatives ============ |