Hazelnoot
e138495371
verify type of activity.actor before processing activity
2025-06-03 19:43:04 -04:00
Hazelnoot
6ac37b4d6c
lint and type fixes
2025-04-01 20:47:04 -04:00
Hazelnoot
d8908ef2d8
merge upstream
2025-03-25 16:14:53 -04:00
Hazelnoot
1ed2f207f7
fix startup crash caused by circular reference (SWC is not compatible with forwardRef)
2025-03-21 12:37:06 -04:00
Hazelnoot
f2bb01f7da
support Announce(Activity) activities
2025-03-21 12:37:06 -04:00
Hazelnoot
f18d402ce6
fix typo in activity signature mismatch error
2025-03-21 12:37:06 -04:00
syuilo
93e7aad44e
tweak error log
2025-02-17 13:34:17 +09:00
Hazelnoot
4858276465
don't log slow activities, as this is known to happen under regular circumstances
2025-02-16 19:25:24 -05:00
Hazelnoot
81944b3bdf
implement AP fetch logs
2025-02-16 19:25:22 -05:00
Hazelnoot
cc2edae7ab
rename activity_log and activity_context to ap_inbox_log and ap_context
2025-02-16 19:25:04 -05:00
Hazelnoot
15148b7875
fix activity duration calculation
...
* Ensure that timing is recorded even if an exception is thrown.
* Round to the correct decimal place.
2025-02-16 19:25:04 -05:00
Hazelnoot
871c63b48b
print warning when activity processing exceeds 10 seonds
2025-02-16 19:25:04 -05:00
Hazelnoot
e35e92beb9
log inbound activity duration
2025-02-16 19:25:04 -05:00
Hazelnoot
b65b4ecadc
add inbound activity logger for debugging
2025-02-16 19:25:02 -05:00
Hazelnoot
3391c2414b
add IdentifiableError.isRetryable to ensure that Identifiable Errors can still terminate a batch process
2025-02-03 15:03:42 -05:00
dakkar
e4047b4076
rethrow everything but non-retryable HTTP errors
...
every job that ends without an exception will be considered
"completed" and not retried
2024-12-22 15:28:21 -05:00
dakkar
66dd12fb8a
Merge branch 'develop' into feature/2024.10
2024-11-29 11:42:47 +00:00
Hazelnoot
536060e63c
merge: Clear jobs from blocked domains ( resolves #773 ) ( !720 )
...
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/720
Closes #773
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-29 10:29:27 +00:00
dakkar
eb25238a8e
Merge branch 'develop' into feature/2024.10
2024-11-28 11:17:27 +00:00
Hazelnoot
1e99782666
allow anonymous activities ( resolves #819 )
2024-11-26 09:05:04 -05:00
Hazelnoot
3f5ea11a1f
clarify logging when an inbox job is skipped or fails
2024-11-26 08:59:08 -05:00
dakkar
6c13dc04f2
Merge branch 'develop' into feature/2024.10
2024-11-23 10:41:33 +00:00
Hazelnoot
2bbccde2ce
reduce inbox log spam when fetching blocked / unavailable notes
2024-11-22 09:16:03 -05:00
dakkar
d069d78c21
Merge branch 'develop' into feature/2024.10
2024-11-22 10:42:58 +00:00
Julia Johannesen
23c4aa2571
Fix style error
2024-11-20 20:24:59 -05:00
Laura Hausmann
ad8e8793c7
fix: primitives 5 & 8: reject activities with non-string identifiers
2024-11-20 19:17:24 -05:00
Julia
5f675201f2
Merge commit from fork
...
* enhance: Add a few validation fixes from Sharkey
See the original MR on the GitLab instance:
https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/484
Co-Authored-By: Dakkar <dakkar@thenautilus.net>
* fix: primitive 2: acceptance of cross-origin alternate
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 3: validation of non-final url
* fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities
* fix: primitives 5 & 8: reject activities with non
string identifiers
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 6: reject anonymous objects that were fetched by their id
* fix: primitives 9, 10 & 11: http signature validation
doesn't enforce required headers or specify auth header name
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections
* fix: code style for primitive 14
* fix: primitive 15: improper same-origin validation for
note uri and url
Co-Authored-By: Laura Hausmann <laura@hausmann.dev>
* fix: primitive 16: improper same-origin validation for user uri and url
* fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array
* fix: code style for primitive 17
* fix: check attribution against actor in notes
While this isn't strictly required to fix the exploits at hand, this
mirrors the fix in `ApQuestionService` for GHSA-5h8r-gq97-xv69, as a
preemptive countermeasure.
* fix: primitive 18: `ap/get` bypasses access checks
One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.
* fix: primitive 19 & 20: respect blocks and hide more
Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.
* fix: primitives 21, 22, and 23: reuse resolver
This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.
* fix: primitives 25-33: proper local instance checks
* revert: fix: primitive 19 & 20
This reverts commit 465a9fe6591de90f78bd3d084e3c01e65dc3cf3c.
---------
Co-authored-by: Dakkar <dakkar@thenautilus.net>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:20:09 +09:00
dakkar
f079edaf3c
Merge tag '2024.10.1' into feature/2024.10
2024-11-08 15:52:37 +00:00
Hazelnoot
27b502fab5
normalize re-fetch logic between InboxProcessorService and ActivityPubServerService
2024-10-26 10:40:15 -04:00
Hazelnoot
5eb9a263e2
fix public key re-fetch logic
2024-10-26 10:40:15 -04:00
syuilo
ff47fef572
feat: リモートサーバーのサーバー情報を収集しないオプション ( #14634 )
...
* wip
* wip
* Update FetchInstanceMetadataService.ts
* Update FetchInstanceMetadataService.ts
* Update types.ts
2024-10-13 20:22:16 +09:00
dakkar
f00576bce6
Merge remote-tracking branch 'misskey/master' into feature/2024.9.0
2024-10-09 15:17:22 +01:00
かっこかり
9d026975bc
fix(backend/test): #14558 以降e2eテストがたまに失敗する問題を修正 ( #14709 )
...
* fix(backend/test): MisskeyIO#727 以降e2eテストがたまに失敗する問題を修正 (MisskeyIO#735)
* ✌️
---------
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-10-05 16:20:44 +09:00
syuilo
f0d0cd2e50
wip ( #14643 )
2024-09-28 18:15:32 +09:00
KOBA789
7134d24c1f
perf(backend): Defer instance metadata update ( #14558 )
...
* Defer instance metadata update
* Fix last new line
* Fix typo
* Add license notice
* Fix syntax
* Perform deferred jobs on shutdown
* Fix missing async/await
* Fix typo :)
* Update collapsed-queue.ts
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-09-26 10:25:20 +09:00
syuilo
023fa30280
refactor/perf(backend): provide metadata statically ( #14601 )
...
* wip
* Update ReactionService.ts
* Update ApiCallService.ts
* Update timeline.ts
* Update GlobalModule.ts
* Update GlobalModule.ts
* Update NoteEntityService.ts
* wip
* wip
* wip
* Update ApPersonService.ts
* wip
* Update GlobalModule.ts
* Update mock-resolver.ts
* Update RoleService.ts
* Update activitypub.ts
* Update activitypub.ts
* Update activitypub.ts
* Update activitypub.ts
* Update activitypub.ts
* clean up
* Update utils.ts
* Update UtilityService.ts
* Revert "Update utils.ts"
This reverts commit a27d4be764b78c1b5a9eac685e261fee49331d89.
* Revert "Update UtilityService.ts"
This reverts commit e5fd9e004c482cf099252201c0c1aa888e001430.
* vuwa-
* Revert "vuwa-"
This reverts commit 0c3bd12472b4b9938cdff2d6f131e6800bc3724c.
* Update entry.ts
* Update entry.ts
* Update entry.ts
* Update entry.ts
* Update jest.setup.ts
2024-09-22 12:53:13 +09:00
syuilo
337b42bcb1
revert 5f88d56d96
...
バグがある(かつすぐに修正できそうにない) & まだレビュー途中で意図せずマージされたため
2024-07-20 21:33:20 +09:00
tamaina
5f88d56d96
perf(federation): Ed25519署名に対応する ( #13464 )
...
* 1. ed25519キーペアを発行・Personとして公開鍵を送受信
* validate additionalPublicKeys
* getAuthUserFromApIdはmainを選ぶ
* ✌️
* fix
* signatureAlgorithm
* set publicKeyCache lifetime
* refresh
* httpMessageSignatureAcceptable
* ED25519_SIGNED_ALGORITHM
* ED25519_PUBLIC_KEY_SIGNATURE_ALGORITHM
* remove sign additionalPublicKeys signature requirements
* httpMessageSignaturesSupported
* httpMessageSignaturesImplementationLevel
* httpMessageSignaturesImplementationLevel: '01'
* perf(federation): Use hint for getAuthUserFromApId (#13470 )
* Hint for getAuthUserFromApId
* とどのつまりこれでいいのか?
* use @misskey-dev/node-http-message-signatures
* fix
* signedPost, signedGet
* ap-request.tsを復活させる
* remove digest prerender
* fix test?
* fix test
* add httpMessageSignaturesImplementationLevel to FederationInstance
* ManyToOne
* fetchPersonWithRenewal
* exactKey
* ✌️
* use const
* use gen-key-pair fn. from '@misskey-dev/node-http-message-signatures'
* update node-http-message-signatures
* fix
* @misskey-dev/node-http-message-signatures@0.0.0-alpha.11
* getAuthUserFromApIdでupdatePersonの頻度を増やす
* cacheRaw.date
* use requiredInputs
https://github.com/misskey-dev/misskey/pull/13464#discussion_r1509964359
* update @misskey-dev/node-http-message-signatures
* clean up
* err msg
* fix(backend): fetchInstanceMetadataのLockが永遠に解除されない問題を修正
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
* fix httpMessageSignaturesImplementationLevel validation
* fix test
* fix
* comment
* comment
* improve test
* fix
* use Promise.all in genRSAAndEd25519KeyPair
* refreshAndprepareEd25519KeyPair
* refreshAndfindKey
* commetn
* refactor public keys add
* digestプリレンダを復活させる
RFC実装時にどうするか考える
* fix, async
* fix
* !== true
* use save
* Deliver update person when new key generated (not tested)
https://github.com/misskey-dev/misskey/pull/13464#issuecomment-1977049061
* 循環参照で落ちるのを解消?
* fix?
* Revert "fix?"
This reverts commit 0082f6f8e8c5d5febd14933ba9a1ac643f70ca92.
* a
* logger
* log
* change logger
* 秘密鍵の変更は、フラグではなく鍵を引き回すようにする
* addAllKnowingSharedInboxRecipe
* nanka meccha kaeta
* delivre
* キャッシュ有効チェックはロック取得前に行う
* @misskey-dev/node-http-message-signatures@0.0.3
* PrivateKeyPem
* getLocalUserPrivateKey
* fix test
* if
* fix ap-request
* update node-http-message-signatures
* fix type error
* update package
* fix type
* update package
* retry no key
* @misskey-dev/node-http-message-signatures@0.0.8
* fix type error
* log keyid
* logger
* db-resolver
* JSON.stringify
* HTTP Signatureがなかったり使えなかったりしそうな場合にLD Signatureを活用するように
* inbox-delayed use actor if no signature
* ユーザーとキーの同一性チェックはhostの一致にする
* log signature parse err
* save array
* とりあえずtryで囲っておく
* fetchPersonWithRenewalでエラーが起きたら古いデータを返す
* use transactionalEntityManager
* fix spdx
* @misskey-dev/node-http-message-signatures@0.0.10
* add comment
* fix
* publicKeyに配列が入ってもいいようにする
https://github.com/misskey-dev/misskey/pull/13950
* define additionalPublicKeys
* fix
* merge fix
* refreshAndprepareEd25519KeyPair → refreshAndPrepareEd25519KeyPair
* remove gen-key-pair.ts
* defaultMaxListeners = 512
* Revert "defaultMaxListeners = 512"
This reverts commit f2c412c18057a9300540794ccbe4dfbf6d259ed6.
* genRSAAndEd25519KeyPairではキーを直列に生成する?
* maxConcurrency: 8
* maxConcurrency: 16
* maxConcurrency: 8
* Revert "genRSAAndEd25519KeyPairではキーを直列に生成する?"
This reverts commit d0aada55c1ed5aa98f18731ec82f3ac5eb5a6c16.
* maxWorkers: '90%'
* Revert "maxWorkers: '90%'"
This reverts commit 9e0a93f110456320d6485a871f014f7cdab29b33.
* e2e/timelines.tsで個々のテストに対するtimeoutを削除, maxConcurrency: 32
* better error handling of this.userPublickeysRepository.delete
* better comment
* set result to keypairEntityCache
* deliverJobConcurrency: 16, deliverJobPerSec: 1024, inboxJobConcurrency: 4
* inboxJobPerSec: 64
* delete request.headers['host'];
* fix
* // node-fetch will generate this for us. if we keep 'Host', it won't change with redirects!
* move delete host
* modify comment
* modify comment
* fix correct → collect
* refreshAndfindKey → refreshAndFindKey
* modify comment
* modify attachLdSignature
* getApId, InboxProcessorService
* TODO
* [skip ci] add CHANGELOG
---------
Co-authored-by: MeiMei <30769358+mei23@users.noreply.github.com>
Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-07-18 01:28:17 +09:00
dakkar
3372e0ffe1
Merge remote-tracking branch 'misskey/release/2024.5.0' into future
2024-05-31 12:26:07 +01:00
tamaina
89b27d8587
fix(federation): InboxにきたCreate, AnnounceのobjectがBearcaps urlだった際はスキップするように ( #13610 )
...
* fix(federation): AnnounceのobjectがLike出なかったらキューにためない
Fix https://github.com/misskey-dev/misskey/issues/13552
* revert
* better reason handlings
* result
* improve announce handling
* skip bearcaps
* also announce
2024-05-28 14:36:06 +09:00
anatawa12
83a9aa4533
feat: suspend instance improvements ( #13861 )
...
* feat(backend): dead instance detection
* feat(backend): suspend type detection
* feat(frontend): show suspend reason on frontend
* feat(backend): resume federation automatically if the server is automatically suspended
* docs(changelog): 配信停止まわりの改善
* lint: fix lint errors
* Update packages/frontend/src/pages/instance-info.vue
* lint: fix lint error
* chore: suspendedState => suspensionState
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-05-23 15:55:47 +09:00
dakkar
451b0ecc9b
Merge remote-tracking branch 'misskey/release/2024.5.0' into future-2024-04-25-post
2024-05-11 14:13:07 +01:00
Daiki Mizukami
d2a5bb39e3
Merge pull request from GHSA-2vxv-pv3m-3wvj
...
* fix: normalize incoming signed activities
* Tweak style
* Update CHANGELOG.md
* Log compacted activity as well
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-05-01 16:33:58 +09:00
dakkar
6ae01e28aa
Compact LD-signed activities against well-known context
...
This should defend against some spoofing attacks, see also
https://nvd.nist.gov/vuln/detail/CVE-2022-24307 for Mastodon,
febb499fcb
from Iceshrimp and
e790d6be90
for Firefish
Thanks to @tesaguri@fedibird.com for reporting and providing the patch.
2024-04-30 10:16:57 +01:00
dakkar
af548d05ca
merge upstream for 2024.2.1
2024-03-02 16:36:49 +00:00
tamaina
eb60460d28
enhance: 禁止ワードチェック強化 ( #27 )
...
* enhance: 禁止ワードチェック強化
* リモートの禁止ワードチェックを添付ファイルとユーザーを登録する前に行うなど
Resolve https://github.com/misskey-dev/misskey/issues/13374
* 禁止ワートの対象の見直し
* performActivityで特定のエラーが出た際にDelayedに追加しないように
* use IdentifiableError
* NoteCreateService.checkProhibitedWords
* https://github.com/misskey-dev/misskey-private/pull/27/files#r1507416135
* remove comment
2024-03-01 20:16:32 +09:00
Marie
15d2319011
merge: upstream
2024-02-23 13:42:52 +01:00
anatawa12
b36e6b1a77
fix: 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題 ( #13428 )
...
* refactor: use IdentifiableError instead of NoteCreateService.ContainsProhibitedWordsError
* fix: notes with prohibited words are reprocessed with delay
* docs(changelog): 禁止キーワードを含むノートがDelayed Queueに追加されて再処理される問題
* lint: fix lint errors
* fix: rethrowするべきなのにrethrowし忘れていたのを修正
2024-02-22 00:59:59 +09:00
Marie
10bfc61670
merge: upstream
2024-02-19 10:47:42 +01:00
tamaina
c1514ce91d
(re) update SPDX-FileCopyrightText
...
Fix #13290
2024-02-13 15:59:27 +00:00