Commit Graph

1827 Commits

Author SHA1 Message Date
Quentin Gliech
bf900e7e5a Fix the definition of the set-password success response in the OpenAPI spec 2025-02-11 13:54:15 +01:00
Quentin Gliech
38daf613af Admin API to list and get compatibility sessions 2025-02-11 12:01:54 +01:00
Quentin Gliech
4b9f91a3b6 build(deps): bump psl from 2.1.82 to 2.1.83 (#3986)
Bumps [psl](https://github.com/addr-rs/psl) from 2.1.82 to 2.1.83.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ce4c61043f"><code>ce4c610</code></a>
bump version</li>
<li><a
href="b460f6bbf5"><code>b460f6b</code></a>
update the list</li>
<li>See full diff in <a
href="https://github.com/addr-rs/psl/compare/v2.1.82...v2.1.83">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=psl&package-manager=cargo&previous-version=2.1.82&new-version=2.1.83)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-02-10 17:26:47 +01:00
Quentin Gliech
a67c00d4da build(deps): bump p384 from 0.13.0 to 0.13.1 (#3987)
Bumps [p384](https://github.com/RustCrypto/elliptic-curves) from 0.13.0
to 0.13.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d439608563"><code>d439608</code></a>
sm2 v0.13.1 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/864">#864</a>)</li>
<li><a
href="6e6886563b"><code>6e68865</code></a>
p256 v0.13.2 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/863">#863</a>)</li>
<li><a
href="b9fcdd3b8a"><code>b9fcdd3</code></a>
sm2: enable <code>dsa</code> feature by default (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/862">#862</a>)</li>
<li><a
href="c17e54adc7"><code>c17e54a</code></a>
p192/p224/p384/p521/sm2: add <code>all-features = true</code> on docsrs
(<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/861">#861</a>)</li>
<li><a
href="c7019c1a66"><code>c7019c1</code></a>
Update fiat crypto docs (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/860">#860</a>)</li>
<li><a
href="a0931eeb4d"><code>a0931ee</code></a>
p224 v0.13.2 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/859">#859</a>)</li>
<li><a
href="0f9dfa440f"><code>0f9dfa4</code></a>
sm2 v0.13.0 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/858">#858</a>)</li>
<li><a
href="0e0a1a5977"><code>0e0a1a5</code></a>
p192 v0.13.0 (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/856">#856</a>)</li>
<li><a
href="fbc5d26ee7"><code>fbc5d26</code></a>
p192/p224/p256/p384/p521/sm2: use <code>dep:primeorder</code> (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/857">#857</a>)</li>
<li><a
href="655a7d6da5"><code>655a7d6</code></a>
sm2: add <code>dsa</code> feature (<a
href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/855">#855</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/RustCrypto/elliptic-curves/compare/p384/v0.13.0...sm2/v0.13.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=p384&package-manager=cargo&previous-version=0.13.0&new-version=0.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-02-10 17:26:36 +01:00
Quentin Gliech
c9c622bd1b build(deps): bump data-encoding from 2.7.0 to 2.8.0 (#4000)
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.7.0
to 2.8.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="284f84626a"><code>284f846</code></a>
Release 2.8.0 (<a
href="https://redirect.github.com/ia0/data-encoding/issues/134">#134</a>)</li>
<li><a
href="b6f9f3b9d6"><code>b6f9f3b</code></a>
Remove MSRV for unpublished crates (<a
href="https://redirect.github.com/ia0/data-encoding/issues/133">#133</a>)</li>
<li><a
href="c060e6873c"><code>c060e68</code></a>
Delete outdated cargo cache to force save (<a
href="https://redirect.github.com/ia0/data-encoding/issues/132">#132</a>)</li>
<li><a
href="d62d722222"><code>d62d722</code></a>
Remove top-level Makefile (<a
href="https://redirect.github.com/ia0/data-encoding/issues/131">#131</a>)</li>
<li><a
href="5e86676a34"><code>5e86676</code></a>
Improve CI workflow (<a
href="https://redirect.github.com/ia0/data-encoding/issues/130">#130</a>)</li>
<li><a
href="8a9537cf64"><code>8a9537c</code></a>
Improve fuzzing (<a
href="https://redirect.github.com/ia0/data-encoding/issues/129">#129</a>)</li>
<li><a
href="27a68f43cd"><code>27a68f4</code></a>
Add missing safety documentation and assertions for testing and fuzzing
(<a
href="https://redirect.github.com/ia0/data-encoding/issues/128">#128</a>)</li>
<li><a
href="06b0d89b11"><code>06b0d89</code></a>
Add BASE32_NOPAD_NOCASE and BASE32_NOPAD_VISUAL (<a
href="https://redirect.github.com/ia0/data-encoding/issues/127">#127</a>)</li>
<li>See full diff in <a
href="https://github.com/ia0/data-encoding/compare/v2.7.0...v2.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=data-encoding&package-manager=cargo&previous-version=2.7.0&new-version=2.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-02-10 17:25:14 +01:00
Quentin Gliech
845f0c274b Admin API to list and get user emails 2025-02-10 17:13:55 +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
ad48e89aa6 Pass the migration state as owned to the various stages 2025-02-10 10:14:20 +01:00
Quentin Gliech
c6fdd82432 Encapsulate migration state in a single structure 2025-02-07 15:02:30 +01:00
dependabot[bot]
5bee95f650 build(deps): bump p384 from 0.13.0 to 0.13.1
Bumps [p384](https://github.com/RustCrypto/elliptic-curves) from 0.13.0 to 0.13.1.
- [Commits](https://github.com/RustCrypto/elliptic-curves/compare/p384/v0.13.0...sm2/v0.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-07 13:17:14 +00:00
dependabot[bot]
7a5306e302 build(deps): bump psl from 2.1.82 to 2.1.83
Bumps [psl](https://github.com/addr-rs/psl) from 2.1.82 to 2.1.83.
- [Release notes](https://github.com/addr-rs/psl/releases)
- [Commits](https://github.com/addr-rs/psl/compare/v2.1.82...v2.1.83)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-07 13:16:35 +00:00
Quentin Gliech
d1d73af3ce Remove the lifetime parameter from MasWriter 2025-02-07 12:57:21 +01:00
Quentin Gliech
260834bc01 Make the MAS connection owned in the locked database struct 2025-02-07 12:53:51 +01:00
Quentin Gliech
cc618fa45d Update most Rust dependencies & disable some unused features 2025-02-06 12:50:50 +01:00
dependabot[bot]
8b229eddaf build(deps): bump uuid from 1.12.1 to 1.13.1
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.12.1 to 1.13.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.12.1...1.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 13:31:06 +00:00
Quentin Gliech
9fbb1e73df Merge pull request #3926 from element-hq/rei/syn2mas_8_atrtdevs
syn2mas: migrate access tokens, refresh tokens and devices
2025-02-05 11:57:59 +01:00
Olivier 'reivilibre
dacfa9045d Don't return errors when finding rows dependent upon appservice users 2025-02-05 11:42:04 +01:00
Olivier 'reivilibre
ac58b4f326 Support reading and writing guests 2025-02-05 11:41:52 +01:00
Olivier 'reivilibre
dc305ddc40 Split access tokens between refreshable and unrefreshable ones 2025-02-05 11:41:45 +01:00
Olivier 'reivilibre
73ccecf8e8 Add MasWriter support for compat refresh tokens + some migration progress 2025-02-05 11:38:50 +01:00
Olivier 'reivilibre
900413cc43 Add MasWriter support for compat access tokens 2025-02-05 11:38:06 +01:00
Olivier 'reivilibre
0cd8106624 Add MasWriter support for compat sessions 2025-02-05 11:37:59 +01:00
Olivier 'reivilibre
3034819b7d Introduce optional human_name column on compat_sessions 2025-02-05 11:36:51 +01:00
Olivier 'reivilibre
719681f3e7 Add SynapseReader support for devices 2025-02-05 11:36:46 +01:00
Olivier 'reivilibre
c1493a6521 Add stubs for migrating devices, access tokens and refresh tokens 2025-02-05 11:36:42 +01:00
Olivier 'reivilibre
221ab042c6 When consuming a compat refresh token, consume others in the session 2025-02-05 11:36:27 +01:00
Olivier 'reivilibre
09e619e9a0 Add SynapseReader support for access tokens and refresh tokens 2025-02-05 11:36:16 +01:00
Quentin Gliech
9bdd9eae2e Merge pull request #3946 from element-hq/dependabot/cargo/psl-2.1.82
build(deps): bump psl from 2.1.81 to 2.1.82
2025-02-05 09:33:31 +01:00
Quentin Gliech
930855f2cb Merge remote-tracking branch 'origin/main' into ref-merge/077df809a751dac03c94bb21e1def43ee4f1ae13 2025-02-04 16:21:10 +01:00
dependabot[bot]
a9a11fa9d9 build(deps): bump psl from 2.1.81 to 2.1.82
Bumps [psl](https://github.com/addr-rs/psl) from 2.1.81 to 2.1.82.
- [Release notes](https://github.com/addr-rs/psl/releases)
- [Commits](https://github.com/addr-rs/psl/compare/v2.1.81...v2.1.82)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 13:31:16 +00:00
Quentin Gliech
45c70ec839 Fetch the upstream OIDC metadata in the background on startup 2025-01-30 15:24:45 +01:00
Quentin Gliech
8fe4297065 Merge pull request #3920 from element-hq/quenting/fix-missing-query-params
Fix the account page crash introduced in #3893
2025-01-30 11:38:19 +01:00
reivilibre
13cf5a5617 syn2mas: Support migrating external IDs as upstream OAuth2 providers (#3917)
* Add `SynapseReader` support and test for external IDs

* Run database migrations and do a config sync before syn2mas

* FullUserId: implement Display

* Add `MasWriter` support and test for upstream OAuth provider links

* Remove special-purpose write buffers and use only the generic one

* Build the provider ID mapping
2025-01-30 10:34:20 +00:00
Quentin Gliech
6b3ba25d10 Fix the account page crash introduced in #3893 2025-01-29 16:42:51 +01:00
Quentin Gliech
added1ad58 Merge pull request #3909 from element-hq/quenting/buf-read-translations
Buffer reading of translation files
2025-01-29 16:17:42 +01:00
Quentin Gliech
f7f06e8469 Don't prevent starting up if the mail backend is unavailable 2025-01-29 15:45:50 +01:00
reivilibre
072b25a95b syn2mas: Add tests for reading and writing threepids (#3907)
* Add `MasWriter` test for e-mail and unsupported threepids

* Add `SynapseReader` test for e-mail and unsupported threepids
2025-01-29 14:15:58 +00:00
Quentin Gliech
61ee07610e Merge pull request #3903 from element-hq/quenting/lifecycle-manager
Notify the service state through `sd_notify`
2025-01-29 15:04:10 +01:00
Quentin Gliech
3cf7d89543 Fix crash if the watchdog is not set 2025-01-29 14:56:25 +01:00
Quentin Gliech
b620e1d485 Merge pull request #3908 from element-hq/quenting/mxid-in-login
Allow logging in with the full MXID
2025-01-29 14:37:28 +01:00
Quentin Gliech
7315cd7531 Buffer reading of translation files 2025-01-29 14:18:51 +01:00
Quentin Gliech
2fc8c6c95f Allow passing MXIDs in the login page 2025-01-28 17:26:44 +01:00
Quentin Gliech
8cc86cfe62 Allow passing MXIDs in compat password logins 2025-01-28 17:26:29 +01:00
Quentin Gliech
ab69351f77 Avoid unnecessary clones in the login_hint parser 2025-01-28 17:25:54 +01:00
Quentin Gliech
cba1564f4e Utility to extract the localpart from a MXID 2025-01-28 17:25:36 +01:00
Quentin Gliech
56c31e9e46 Run reload handlers in parallel 2025-01-28 14:29:33 +01:00
Quentin Gliech
133072bc55 Advertise the main PID through sd_notify on startup 2025-01-28 14:29:33 +01:00
Quentin Gliech
4d67a89919 Rename ShutdownManager to LifecycleManager 2025-01-28 14:29:33 +01:00
dependabot[bot]
08d7cf102e build(deps): bump rustls-pki-types from 1.10.1 to 1.11.0
Bumps [rustls-pki-types](https://github.com/rustls/pki-types) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/rustls/pki-types/releases)
- [Commits](https://github.com/rustls/pki-types/compare/v/1.10.1...v/1.11.0)

---
updated-dependencies:
- dependency-name: rustls-pki-types
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-28 13:21:25 +00:00
Quentin Gliech
d93e936f4e Send notifications about the state of the service to systemd 2025-01-28 14:16:56 +01:00