Comments (4)
Is this actually the intended behaviour? Does the spec say that we should drop and continue joining?
from gomatrixserverlib.
I don't think the spec is clear on it.
This ties into the bigger question of "what should we do if we find an event whose signature we can't verify (possibly because we can't find the signing key)". IMHO failing the join would make joins rather brittle, but it's not obvious.
Relatedly, we broke this in synapse recently (matrix-org/synapse#6978), and it turned out that nobody could join a whole bunch of rooms until we fixed it.
from gomatrixserverlib.
I guess from an attack vector perspective it makes sense not to block the join, else malicious actors could withold their signing key for example and cause chaos.
In scenarios where the failing to get the key is transient, and the events are real and should be included.... I dunno what we should do there.
from gomatrixserverlib.
We reject individual faulty events now.
from gomatrixserverlib.
Related Issues (20)
- Homeserver well known lookup occasionally fails HOT 9
- Rename Base64String to Base64Bytes
- Meta: Specification lies/omissions/ambiguity HOT 18
- Graph linearisation
- Room version on Event leads to footguns HOT 1
- Keyrings, fetchers and databases HOT 1
- Add better GoDoc
- Make it easier to log and debug Events (Event.eventJSON) HOT 2
- Well-kown file looked up for every client call
- LookupWellKnown doesn't specify user agent HOT 3
- Bad JSON: value is outside of safe range HOT 2
- Cannot join some rooms due to ‘user part contains invalid characters’ HOT 1
- Support MSC3787
- media download URL is on /v1/
- Index out of range for empty host
- Remove tokens package
- Remove hooks directory
- Remove RawJSON
- Improperly falling back to unstable endpoint for room hierarchies
- Unable to lookup server keys HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gomatrixserverlib.