cultmesh-py: peer writes need a write authority (default-deny) #33
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/cultmesh-py-remote-write-authority"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mirrors C#
CultNetDatabaseServer.Authorize/ICultNetRemoteWriteAuthority.Breaking (0.x): a served node refuses every peer
document_put_raw/document_deleteunless awrite_authoritygrants it. Refusal is a typedwrite_not_authorizederror carrying the record key (bytes pinned toerror-vectors.json). An authority that raises or returns nothing refuses.CultMeshGrantAllWritesand daemon--allow-peer-writesare the explicit opt-in.serve_nodeandsession.servetakewrite_authority.The gate runs before any other judgment of the put, so a refused peer learns nothing about what is registered. Malformed puts reach the gate under the ids as sent.
Tests: 12 in
test_remote_write_authority.pyport the C# behaviours (forwarding has no Python counterpart: this server does not forward). Existing server-put tests now passCultMeshGrantAllWrites().Verification: cultnet-py 142 OK; cultmesh-py 132 OK on a clean run. cultmesh-py intermittently fails with
EADDRINUSE(TCP/UDP port pair) on this host, identically on unmodified main (3/3 runs failed there), so not introduced here.Brokkr's Blender add-on relies on peer writes; separate PR passes grant-all.
🤖 Generated with Claude Code