Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Treat an invalid .well-known the same as an absent one | Richard van der Hoff | 2019-02-01 | 1 | -11/+70 |
| | | | | ... basically, carry on and fall back to SRV etc. | ||||
* | Update federation routing logic to check .well-known before SRV | Richard van der Hoff | 2019-01-31 | 1 | -30/+21 |
| | |||||
* | Follow redirects on .well-known (#4520) | Richard van der Hoff | 2019-01-30 | 1 | -0/+97 |
| | |||||
* | Add a caching layer to .well-known responses (#4516) | Richard van der Hoff | 2019-01-30 | 1 | -4/+146 |
| | |||||
* | Relax requirement for a content-type on .well-known (#4511) | Richard van der Hoff | 2019-01-29 | 1 | -1/+0 |
| | |||||
* | Implement MSC1708 (.well-known lookups for server routing) (#4489) | Richard van der Hoff | 2019-01-29 | 1 | -7/+216 |
| | |||||
* | Use SimpleResolverComplexifier in tests (#4497) | Richard van der Hoff | 2019-01-29 | 1 | -4/+3 |
| | | | | | two reasons for this. One, it saves a bunch of boilerplate. Two, it squashes unicode to IDNA-in-a-`str` (even on python 3) in a way that it turns out we rely on to give consistent behaviour between python 2 and 3. | ||||
* | Handle IP literals explicitly | Richard van der Hoff | 2019-01-28 | 1 | -17/+2 |
| | | | | We don't want to be doing .well-known lookups on these guys. | ||||
* | Fix idna and ipv6 literal handling in MatrixFederationAgent (#4487) | Richard van der Hoff | 2019-01-28 | 1 | -1/+180 |
| | | | | | | | | | | | | | | | | Turns out that the library does a better job of parsing URIs than our reinvented wheel. Who knew. There are two things going on here. The first is that, unlike parse_server_name, URI.fromBytes will strip off square brackets from IPv6 literals, which means that it is valid input to ClientTLSOptionsFactory and HostnameEndpoint. The second is that we stay in `bytes` throughout (except for the argument to ClientTLSOptionsFactory), which avoids the weirdness of (sometimes) ending up with idna-encoded values being held in `unicode` variables. TBH it probably would have been ok but it made the tests fragile. | ||||
* | Fix Host header sent by MatrixFederationAgent (#4468) | Richard van der Hoff | 2019-01-25 | 1 | -0/+16 |
| | | | | | | Move the Host header logic down here so that (a) it is used if we reuse the agent elsewhere, and (b) we can mess about with it with .well-known. | ||||
* | Look up the right SRV record | Richard van der Hoff | 2019-01-24 | 1 | -3/+9 |
| | |||||
* | lots more tests for MatrixFederationAgent | Richard van der Hoff | 2019-01-24 | 1 | -10/+79 |
| | |||||
* | Don't send IP addresses as SNI (#4452) | Richard van der Hoff | 2019-01-24 | 1 | -3/+60 |
| | | | | | | The problem here is that we have cut-and-pasted an impl from Twisted, and then failed to maintain it. It was fixed in Twisted in https://github.com/twisted/twisted/pull/1047/files; let's do the same here. | ||||
* | Add a test for MatrixFederationAgent | Richard van der Hoff | 2019-01-22 | 1 | -0/+183 |
| | |||||
* | put resolve_service in an object | Richard van der Hoff | 2019-01-22 | 1 | -20/+18 |
| | | | | this makes it easier to stub things out for tests. | ||||
* | Require that service_name be a byte string | Richard van der Hoff | 2019-01-22 | 1 | -4/+4 |
| | | | | it is only ever a bytes now, so let's enforce that. | ||||
* | Refactor and bugfix for resove_service (#4427) | Richard van der Hoff | 2019-01-22 | 2 | -0/+223 |