Commit graph

76 commits

Author SHA1 Message Date
rinpatch 2c55f7d7cb Remove FedSockets
Current FedSocket implementation has a bunch of problems. It doesn't
have proper error handling (in case of an error the server just doesn't
respond until the connection is closed, while the client doesn't match
any error messages and just assumes there has been an error after 15s)
and the code is full of bad descisions (see: fetch registry which uses
uuids for no reason and waits for a response by recursively querying a
 ets table until the value changes, or double JSON encoding).

Sometime ago I almost completed rewriting fedsockets from scrach to
adress these issues. However, while doing so, I realized that fedsockets
 are just too overkill for what they were trying to accomplish, which is
 reduce the overhead of federation by not signing every message.
This could be done without reimplementing failure states and endpoint
 logic we already have with HTTP by, for example, using TLS cert auth,
or switching to a more performant signature algorithm. I opened
https://git.pleroma.social/pleroma/pleroma/-/issues/2262 for further
discussion on alternatives to fedsockets.

From discussions I had with other Pleroma developers it seems like they
 would approve the descision to remove them as well,
therefore I am submitting this patch.
2020-11-17 17:28:30 +03:00
rinpatch 6ca709816f Fix object spoofing vulnerability in attachments
Validate the content-type of the response when fetching an object,
according to https://www.w3.org/TR/activitypub/#x3-2-retrieving-objects.

content-type headers had to be added to many mocks in order to support
this, some of this was done with a regex. While I did go over the
resulting files to check I didn't modify anything unrelated, there is a
 possibility I missed something.

Closes pleroma#1948
2020-11-12 15:25:33 +03:00
Steven Fuchs f2ef9735c5 Federate data through persistent websocket connections 2020-09-18 11:58:22 +00:00
Haelwenn (lanodan) Monnier f1f44069ae
Fetcher: Correctly return MRF reject reason 2020-09-11 20:00:41 +02:00
Haelwenn (lanodan) Monnier 921f926e96
Remove OStatus in testsuite 2020-09-08 18:43:57 +02:00
lain 9433311923 Merge branch 'bugfix/incoming-poll-emoji' into 'develop'
Fix emoji in Question, force generated context/context_id insertion

Closes #1870

See merge request pleroma/pleroma!2915
2020-09-03 11:50:30 +00:00
Alexander Strizhakov 79f65b4374
correct pool and uniform headers format 2020-09-02 09:16:51 +03:00
Haelwenn (lanodan) Monnier d9a21e4784
fetcher: Remove fix_object call for Question activities 2020-09-01 08:35:00 +02:00
Haelwenn (lanodan) Monnier b1fc4fe0ca
fetcher: fallback to [] when to/cc is nil
Related: https://git.pleroma.social/pleroma/pleroma/-/issues/2063
2020-08-18 02:02:20 +02:00
Haelwenn (lanodan) Monnier ac2598307d
Merge remote-tracking branch 'pleroma/develop' into features/poll-validation 2020-07-31 13:57:21 +02:00
Haelwenn (lanodan) Monnier 82895a4012
SideEffects: port ones from ActivityPub.do_create and ActivityPub.insert 2020-07-15 11:40:23 +02:00
Haelwenn (lanodan) Monnier ad867ccfa1
fetcher: Reinject Question through validator 2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier 6b9c4bc1f1
fetcher: more descriptive variable names 2020-07-15 11:39:55 +02:00
Haelwenn (lanodan) Monnier ce243b107f
Use Logger.info for {:reject, reason} 2020-07-13 15:26:31 +02:00
Haelwenn (lanodan) Monnier 1566543bec
object/fetcher: Pass full Transmogrifier error 2020-06-26 20:10:47 +02:00
lain 349b9d86dc Merge branch 'remake-remodel-2' into 'develop'
Ingestion Pipeline Revamp

See merge request pleroma/pleroma!2315
2020-04-06 11:59:01 +00:00
lain 3c2c32b460 Merge branch 'remake-remodel' into develop 2020-03-19 18:00:55 +01:00
Alexander Strizhakov 509c81e4b1
Merge branch 'develop' into gun 2020-03-03 10:08:07 +03:00
Haelwenn (lanodan) Monnier 6da6540036
Bump copyright years of files changed after 2020-01-07
Done via the following command:
git diff fcd5dd259a --stat --name-only | xargs sed -i '/Pleroma Authors/c# Copyright © 2017-2020 Pleroma Authors <https:\/\/pleroma.social\/>'
2020-03-02 06:08:45 +01:00
Alexander Strizhakov 814b275af7
Merge branch 'develop' into gun 2020-02-29 11:34:50 +03:00
Egor Kislitsyn 22018adae6
Fix Dialyzer warnings 2020-02-25 18:34:56 +04:00
Alexander Strizhakov 514c899275
adding gun adapter 2020-02-18 08:19:01 +03:00
Ivan Tashkinov 269d592181 [#1505] Restricted max thread distance for fetching replies on incoming federation (in addition to reply-to depth restriction). 2020-02-15 20:41:38 +03:00
rinpatch 6e6f1ead31 Merge branch 'no-error-404' into 'develop'
Log at debug level for object deletion, not error.

See merge request pleroma/pleroma!2066
2020-01-22 17:55:49 +00:00
Phil Hagelberg 02c3031e99 Don't log when users or objects are deleted. 2019-12-13 12:05:53 -08:00
Egor Kislitsyn a37bd5c255 Change log level 2019-12-10 15:08:57 +07:00
lain e9993acdbb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-12-04 16:35:59 +01:00
rinpatch 9f29930440 fetcher: move local object checking into a reusable function 2019-11-23 22:55:41 +03:00
lain e835cd97f6 Containment: Add a catch-all clause to contain_origin. 2019-11-12 12:07:17 +01:00
Ariadne Conill 5b60d82592 object containment: handle all cases where ID is invalid (missing, nil, non-string) 2019-11-08 14:51:28 -06:00
rinpatch 32afa07995 Fetcher: fix local check returning unwrapped object
This resulted in error messages about failed refetches being logged.
2019-11-07 01:40:55 +03:00
rinpatch 54746c6c26 Object Fetcher: set cache after reinjecting
Probably fixes the issue hj had, where polls would have different
counters between endpoints.
2019-11-06 14:00:03 +03:00
lain 1bd1f62af5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel 2019-11-05 15:21:00 +01:00
stwf 2ab072f949 object fetcher error handling 2019-10-24 12:08:34 -04:00
Ariadne Conill 44e64af5e7 object: containment: simplify the pattern match for OStatus testsuite hack 2019-10-18 15:39:15 +00:00
Ariadne Conill e99fdfc32d object: containment: only allow OStatus references in test suite environment 2019-10-18 15:37:14 +00:00
Ariadne Conill 3c785b85a6 object: fetcher: fix up formatting 2019-10-18 14:50:10 +00:00
Ariadne Conill 7295a05cee object: containment: also allow OStatus object IDs through when comparing origins 2019-10-18 14:50:10 +00:00
Ariadne Conill a177f22e02 object: fetcher: improve error reporting 2019-10-18 14:50:10 +00:00
Ariadne Conill bf2107743f object: containment: don't try to contain ostatus objects 2019-10-18 14:50:10 +00:00
Ariadne Conill 6f110fc04c object fetcher: fix up error handling 2019-10-18 14:50:09 +00:00
Ariadne Conill 48059c03c9 fix up some tests 2019-10-18 14:50:09 +00:00
Ariadne Conill d379b48769 kill almost all of the OStatus module 2019-10-18 14:50:09 +00:00
lain 081e8206ab Transmogrifier: Use new ingestion pipeline for Likes. 2019-10-16 17:03:21 +02:00
Maksim Pechnikov d4ed3a35b8 Merge branch 'develop' into test/activity_pub/transmogrifier.ex 2019-09-19 07:35:34 +03:00
rinpatch 5028b7b578 Fix credo issues 2019-09-18 22:09:03 +03:00
rinpatch c096dd86e5 Do not refetch local objects 2019-09-18 20:01:26 +03:00
rinpatch eb87a86b5b Preserve internal fields when reinjecting 2019-09-18 19:53:51 +03:00
rinpatch e3f902b3a1 Set updated_at even if the object stayed the same 2019-09-18 19:07:25 +03:00
rinpatch 7ef575d11e Initial poll refresh support
Implement refreshing the object with an interval and call the function
when getting the poll.
2019-09-18 18:13:21 +03:00