Comments (9)
Because Client.Timeout exceeded while awaiting headers
. The remote server is taking too long to send back response headers.
from gomatrixserverlib.
I don't think so. Gomatrixserverlib is hitting the wrong hostname entirely. It should be hitting softzone.modular.im:443
.
from gomatrixserverlib.
Yeah, looking at it:
https://softzone.ca:8448/_matrix/federation/v1/openid/ is timing out, which is probably the cause of Client.Timeout exceeded while awaiting headers
. The well known endpoint is responding fine, and the json looks well formed. I think this is a bug in the libraries servername resolution code.
from gomatrixserverlib.
So it looks like the problem is that this call to client.LookupUserInfo
passes through softzone.ca
instead of softzone.modular.im
.
To get around that you can do something like this:
res, err := gomatrixserverlib.ResolveServer(register.MatrixServerName)
if err != nil {
// handle error
}
userinfo, err := client.LookupUserInfo(
req.Context(), res.Destination, ...
Edit: It actually looks like the roundtripper should do this, so I figure that it must be a genuine timeout causing the problem.
from gomatrixserverlib.
Ah cool. Yeah we can do that for now.
I presume the bug is because of the context reusage, as most servers seem to be looked up with success.
from gomatrixserverlib.
Right - if the request to https://softzone.ca:8448/_matrix/federation/v1/openid/
takes a long time to time out then it is possible that the original context that is passed into gomatrixserverlib will hit the cancellation first, causing the error you are seeing.
from gomatrixserverlib.
{
"WellKnownResult": {
"m.server": "",
"result": "Get https://softzone.ca/.well-known/matrix/server: x509: certificate signed by unknown authority"
},
"DNSResult": {
"SRVCName": "",
"SRVRecords": null,
"SRVError": {
"Message": "lookup _matrix._tcp.softzone.ca on 8.8.8.8:53: no such host"
},
"Hosts": {
"softzone.ca": {
"CName": "softzone.ca.",
"Addrs": [
"206.223.191.24"
],
"Error": null
}
},
"Addrs": [
"206.223.191.24:8448"
]
},
"ConnectionReports": {},
"ConnectionErrors": {
"206.223.191.24:8448": {
"Message": "Get https://206.223.191.24:8448/_matrix/key/v2/server: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
}
},
"Version": {
"error": "Get matrix://softzone.ca/_matrix/federation/v1/version: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
},
"FederationOK": false
}
is what the federation tester says, so I think this is likely it.
from gomatrixserverlib.
Certificate is signed by Go Daddy Secure Certificate Authority - G2
, which presumably isn't recognised by the box we are hosting this on.
from gomatrixserverlib.
The owner of the HS has since fixed their certs and it works again. Closing.
from gomatrixserverlib.
Related Issues (20)
- 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
- gomatrixserverlib rejects `Authorization: X-Matrix ...` headers that include optional whitespace around parameter pairs
- Federation client does not verify response JSON
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.