diff options
Diffstat (limited to 'packages/meshbay-common/src/meshbay_common')
| -rw-r--r-- | packages/meshbay-common/src/meshbay_common/__init__.py | 7 | ||||
| -rw-r--r-- | packages/meshbay-common/src/meshbay_common/protocol.py | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/packages/meshbay-common/src/meshbay_common/__init__.py b/packages/meshbay-common/src/meshbay_common/__init__.py index d1e7f6c..1265586 100644 --- a/packages/meshbay-common/src/meshbay_common/__init__.py +++ b/packages/meshbay-common/src/meshbay_common/__init__.py @@ -56,5 +56,10 @@ __version__ = "0.9.0" # file's cached TMDB match so it re-resolves with the current matcher # (§10.1/V13). Additive: an older node logs "unknown type", the client's # button just does nothing. -MNP_VERSION = "0.13" +# 0.14: added an optional `bundle_enc_recovery` field on `keypair_bundle_store` +# and `keypair_bundle_resp` — a second copy of the identity bundle wrapped +# under the account's recovery key, so a forgotten passphrase does not strand +# the identity (docs/auth-confirm.md §4.3). Additive: an older node ignores the +# field on store and never returns one; an older client never sends it. +MNP_VERSION = "0.14" MHP_VERSION = "0.1" diff --git a/packages/meshbay-common/src/meshbay_common/protocol.py b/packages/meshbay-common/src/meshbay_common/protocol.py index ff951e7..c789287 100644 --- a/packages/meshbay-common/src/meshbay_common/protocol.py +++ b/packages/meshbay-common/src/meshbay_common/protocol.py @@ -79,8 +79,11 @@ class MNP: GEK_BUNDLE_FETCH = "gek_bundle_fetch" # client → node: request own wrapped GEK GEK_BUNDLE_RESP = "gek_bundle_resp" # node → client: wrapped GEK bundle KEYPAIR_BUNDLE_STORE = "keypair_bundle_store" # client → node: store encrypted keypair bundle + # optional `bundle_enc_recovery` (MNP 0.14): a second copy wrapped under the + # account's recovery key (docs/auth-confirm.md §4.3) KEYPAIR_BUNDLE_FETCH = "keypair_bundle_fetch" # client → node: request own keypair bundle KEYPAIR_BUNDLE_RESP = "keypair_bundle_resp" # node → client: encrypted keypair bundle + # carries `bundle_enc_recovery` too when the node has one stored KEYPAIR_BUNDLE_DELETE = "keypair_bundle_delete" # client → node: withdraw own backup JOIN_REQUEST = "join_request" # client → node: pair/recognise this identity JOIN_RESULT = "join_result" # node → client: outcome + wrapped GEK |