Commit graph

20 commits

Author SHA1 Message Date
Laura Hausmann
9b13ec9c0c
[backend] Catch errors in refetchPublicKeyForApId 2023-10-24 20:44:30 +02:00
Laura Hausmann
c7dc059116
[backend] Cleaner workaround for GoToSocial federation with authorized fetch 2023-10-22 22:00:17 +02:00
Laura Hausmann
496454cf1f
[backend] Fix initial federation initiated by GoToSocial in secure mode
This bypasses GoToSocial issue #1186 (ref: https://github.com/superseriousbusiness/gotosocial/issues/1186)
2023-10-22 19:43:31 +02:00
Erin Shepherd
0c9c04f89d
[backend] Refetch user keys when HTTP Signature validation fails
If a user has had a key rotation, and nobody on this server follows
that user, we will not receive the Update activity with the new key

Therefore, when we encounter key validation errors we should check
for an up-to-date key.

References (other implementations):

 * [Mastodon](fc9ab61448/app/controllers/concerns/signature_verification.rb (L96))
 * [Akkoma](https://akkoma.dev/AkkomaGang/http_signatures/src/branch/main/lib/http_signatures/http_signatures.ex#L46)
2023-10-17 00:52:51 +02:00
Laura Hausmann
35f7bde1a4
Clear public key cache on user deletion 2023-09-06 19:13:57 +02:00
Namekuji
284c0db1fd no more infinity caches 2023-07-02 22:14:31 -04:00
Namekuji
9d26e08032 add cache prefix 2023-07-02 20:55:20 -04:00
Laura Hausmann
5c9d8b21a5 Also search for url field when looking for existing note in database 2023-06-27 18:37:16 +00:00
ThatOneCalculator
6c0c0a63a8 chore: format 2023-06-05 17:27:40 -07:00
ThatOneCalculator
2aab2de38d refactor: 🎨 rome 2023-01-12 20:40:33 -08:00
syuilo
3661d1bc33 fix bug 2022-06-04 15:15:44 +09:00
Johann150
86c04c4489 fix: ensure resolver does not fetch local resources via HTTP(S) (#8733)
* refactor: parseUri types and checks

The type has been refined to better represent what it actually is. Uses of
parseUri are now also checking the parsed object type before resolving.

* cannot resolve URLs with fragments

* also take remaining part of URL into account

Needed for parsing the follows URIs.

* Resolver uses DbResolver for local

* remove unnecessary use of DbResolver

Using DbResolver would mean that the URL is parsed and handled again.
This duplicated processing can be avoided by querying the database directly.

* fix missing property name
2022-06-04 11:29:20 +09:00
syuilo
54e1c7f60e perf(server): use cached user info in getUserFromApId 2022-03-26 19:09:57 +09:00
syuilo
1dfee2467a refactor 2022-03-26 18:42:37 +09:00
syuilo
523ee14a73 refactor: migrate to typeorm 3.0 (#8443)
* wip

* wip

* wip

* Update following.ts

* wip

* wip

* wip

* Update resolve-user.ts

* maxQueryExecutionTime

* wip

* wip
2022-03-26 15:34:00 +09:00
syuilo
921299b02f perf(server): refactor and performance improvements 2022-03-25 16:27:41 +09:00
syuilo
c1ce301d24 perf(server): reduce db query 2022-03-20 15:44:49 +09:00
syuilo
94228778c9 refactor: Use ESM (#8358)
* wip

* wip

* fix

* clean up

* Update tsconfig.json

* Update activitypub.ts

* wip
2022-02-27 11:07:39 +09:00
syuilo
9b8d526ed0 fix lint 2021-12-09 23:58:30 +09:00
syuilo
14148f6c4a refactoring
Resolve #7779
2021-11-12 02:02:25 +09:00
Renamed from src/remote/activitypub/db-resolver.ts (Browse further)