Commit Graph

291 Commits

Author SHA1 Message Date
Quentin Gliech
93590a0375 Make the error wrapper log errors 2025-04-18 09:59:28 +02:00
Quentin Gliech
451fd3e2fa Make the FancyError type log the error when being transformed into a response. 2025-04-18 09:59:23 +02:00
Quentin Gliech
e65bc17e50 Better logging of client cretentials verification errors 2025-04-18 09:59:21 +02:00
Quentin Gliech
37a0af85a6 Macro to record an HTTP response error with the Sentry event ID attached 2025-04-18 09:59:13 +02:00
Quentin Gliech
a86696e0a8 Fix Clippy lints introduced by Rust 1.86 2025-04-06 16:18:27 +02:00
Quentin Gliech
a932a6939c Replace data-encoding with base64ct 2025-03-25 13:41:58 +01:00
Quentin Gliech
a2b5a208b1 Better error pages when a user is deactivated or locked 2025-03-11 17:35:13 +01:00
Quentin Gliech
7167e970b0 Upgrade ICU4X crates to 0.15 2025-02-24 10:52:04 +01:00
Quentin Gliech
56d9c7e63b Upgrade to Rust 1.85 and edition 2024 2025-02-21 16:15:02 +01:00
dependabot[bot]
4cd144c4dc build(deps): bump data-encoding from 2.7.0 to 2.8.0
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.7.0 to 2.8.0.
- [Commits](https://github.com/ia0/data-encoding/compare/v2.7.0...v2.8.0)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 14:14:02 +00:00
Quentin Gliech
cc618fa45d Update most Rust dependencies & disable some unused features 2025-02-06 12:50:50 +01:00
Quentin Gliech
418e257061 Upgrade axum to 0.8 2025-01-27 15:11:10 +01:00
Quentin Gliech
153c5e56d7 Merge remote-tracking branch 'origin/main' into quenting/optional-email 2025-01-23 18:28:33 +01:00
dependabot[bot]
2e01d91907 build(deps): bump data-encoding from 2.6.0 to 2.7.0
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.6.0 to 2.7.0.
- [Commits](https://github.com/ia0/data-encoding/commits)

---
updated-dependencies:
- dependency-name: data-encoding
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 15:37:49 +01:00
Quentin Gliech
0bca802585 Merge branch 'main' into quenting/optional-email 2025-01-20 11:31:48 +01:00
Quentin Gliech
5aa9535cb1 Remove unused dependencies 2025-01-16 17:59:03 +01:00
Quentin Gliech
d050120eac Link the registration to the browser through a signed cookie 2025-01-15 16:50:32 +01:00
dependabot[bot]
41118e3e3d build(deps): bump serde_with from 3.11.0 to 3.12.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 10:53:57 +01:00
Quentin Gliech
6b1b3abfe9 Mark access token as used when calling the userinfo endpoint 2024-12-11 14:15:01 +01:00
Quentin Gliech
ec883e15ef Avoid using SameSite=None by re-submitting incoming form data 2024-11-22 08:48:00 +01:00
Quentin Gliech
c6d8ab7b7d Support receiving parameters through a form POST 2024-11-22 08:48:00 +01:00
Quentin Gliech
38a58e926c Handle error responses from the OAuth 2.0 provider better 2024-10-28 13:46:38 +01:00
Quentin Gliech
fc4808436a Fix HTTP request tracing and make the DNS resolver traced again 2024-10-28 13:46:38 +01:00
Quentin Gliech
a88b7efe1e Replace all the manual HTTP clients with reqwest 2024-10-28 13:46:38 +01:00
Quentin Gliech
248e03ac93 Replace HTTP client in oidc-client with reqwest 2024-10-28 13:46:38 +01:00
dependabot[bot]
27c5c2c964 build(deps): bump futures-util from 0.3.30 to 0.3.31
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.30 to 0.3.31.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31)

---
updated-dependencies:
- dependency-name: futures-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 19:04:27 +02:00
dependabot[bot]
fd62fb7c9d build(deps): bump serde_with from 3.9.0 to 3.11.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.9.0 to 3.11.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.9.0...v3.11.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 18:49:33 +02:00
Quentin Gliech
9a946c19e7 Remove (C) 2024-09-10 14:28:55 +02:00
Quentin Gliech
9da19e2af0 License headers change 2024-09-05 13:25:42 +02:00
Quentin Gliech
3276ee713d axum-utils: make the ErrorWrapper implement std::error::Error 2024-07-26 11:36:55 +02:00
dependabot[bot]
4ddf8306cd build(deps): bump serde_with from 3.8.3 to 3.9.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.8.3 to 3.9.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.8.3...v3.9.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 09:33:43 +02:00
dependabot[bot]
b8e6ca2f5a build(deps): bump serde_with from 3.8.2 to 3.8.3
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.8.2...v3.8.3)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-05 10:29:10 +02:00
Quentin Gliech
85186682d7 Fix mas-cli
This does a few things:

 - move `bytes` to workspace dependencies
 - write an hyper-based transport for Sentry
 - ignore OTEL errors related to propagations
 - fix everything else in mas-cli
2024-07-05 10:07:40 +02:00
Quentin Gliech
cb3477dd52 Move Sentry to the workspace dependencies and upgrade 2024-07-05 10:07:40 +02:00
Quentin Gliech
4eed3b1efd Upgrade async-graphql, fix mas-handlers & mas-axum-utils tests
This also replaces the init_tracing test helper with a general setup
test helper, so that it also initializes the rustls crypto backend.
2024-07-05 10:07:40 +02:00
Quentin Gliech
cd899abed9 Move tower-http dep to the workspace and adapt mas-axum-utils
We removed here the Timeout layer on the HTTP client service, because it
required the body to be Default, which isn't the case anymore. Not sure
what to do about it.
2024-07-05 10:07:40 +02:00
Quentin Gliech
16b953cfe4 Upgrade most HTTP/Hyper crates and make mas-listener work 2024-07-05 10:07:40 +02:00
dependabot[bot]
d1d64a048a build(deps): bump serde_with from 3.8.1 to 3.8.2
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.8.1...v3.8.2)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-01 12:35:29 +02:00
reivilibre
f7366feb1f Improve errors when MAS contacts the Synapse homeserver (#2794)
* Add some drive-by docstrings

* Change text rendering of catch_http_codes::HttpError

Using `#[source]` is unnatural here because it makes it look like
two distinct errors (one being a cause of the other),
when in reality it is just one error, with 2 parts.

Using `Display` formatting for that leads to a more natural error.

* Add constraints to `catch_http_code{,s}` methods

Not strictly required, but does two things:

- documents what kind of function is expected
- provides a small extra amount of type enforcement at the call site,
  rather than later on when you find the result doesn't implement Service

* Add a `catch_http_errors` shorthand

Nothing major, just a quality of life improvement so you don't have to
repetitively write out what a HTTP error is

* Unexpected error page: remove leading whitespace from preformatted 'details' section

The extra whitespace was probably unintentional and makes the error harder to read,
particularly when it wraps onto a new line unnecessarily

* Capture and log Matrix errors received from Synapse

* Drive-by clippy fix: use clamp instead of min().max()

* Convert `err(Display)` to `err(Debug)` for `anyhow::Error`s in matrix-synapse support module
2024-06-07 11:14:04 +00:00
Quentin Gliech
fe737e497b Move tokio to a workspace dependency 2024-05-15 14:54:34 +02:00
Quentin Gliech
7e93f08ecd Update Cargo.lock and update cargo-deny exceptions 2024-05-02 14:32:05 +02:00
dependabot[bot]
8a4fd311ad build(deps): bump serde_with from 3.7.0 to 3.8.1
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.7.0 to 3.8.1.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.7.0...v3.8.1)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 18:12:31 +02:00
dependabot[bot]
d76570cdfd build(deps): bump tokio from 1.36.0 to 1.37.0
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.36.0 to 1.37.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.36.0...tokio-1.37.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 18:11:14 +02:00
Quentin Gliech
7dd59c962c Moved some dependencies in the workspace and upgrade some dependencies 2024-03-19 14:54:35 +01:00
dependabot[bot]
f6b19c0d52 build(deps): bump serde_with from 3.6.0 to 3.7.0
Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases)
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.6.0...v3.7.0)

---
updated-dependencies:
- dependency-name: serde_with
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 10:40:19 +01:00
Quentin Gliech
771b6a2f8b Upgrade OTEL and remove support for Jaeger and Zipkin exporters 2024-03-18 17:26:40 +01:00
Quentin Gliech
1627fc6945 Upgrade chrono and replace deprecated methods usage 2024-03-18 17:26:40 +01:00
Quentin Gliech
4706d387a0 Use rustls-platform-verifier for cert validation
This simplifies by removing the mutually exclusive `native-roots` and
`webpki-roots` features with something that is suitable for all
platforms.
2024-03-06 14:03:59 +01:00
Quentin Gliech
306c99d49d Bump most Rust dependencies 2024-02-02 15:37:05 +01:00
Quentin Gliech
dc66b5b18f Prepare workspace to publish OIDC crates 2023-12-07 16:02:55 +01:00