Commit graph

511 commits

Author SHA1 Message Date
Haelwenn (lanodan) Monnier 4c3a80de96
transmogrifier: Use oneliners when applicable 2018-09-27 20:00:47 +02:00
William Pitcock ed8dfa3029
transmogrifier: reformat cond block by hand 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier eebe33e86a
transmogrifier: Add support for array-less hashtags, add broken announce, harden get_actor 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier f3291acc91
transmogrifier: pro-actively add support for Hashtag without array in tag 2018-09-27 20:00:47 +02:00
Haelwenn (lanodan) Monnier 22927f3a34
transmogrifier: Use a cond, add proactive support for arrays 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 0aac72f1d3
[Pleroma.Web.ActivityPub.Transmogrifier]: quick fix when tag is a Map 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 28e8a8ab36
[Pleroma.Web.ActivityPub.Transmogrifier]: fix emoji in tag when it’s not in a array [kroeg]
Also simplified the code for name trimming.

And not copying the Map.merge part as it looks buggy.
See: https://queer.hacktivis.me/objects/a9f21ebc-9a12-4a6c-89d5-3d46955c6ee8
2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier f8a0cb9c0b
[Pleroma.Web.ActivityPub.Transmogrifier]: fix when attachment contain is just a Map [kroeg] 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier a4abb124ea
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix when inReplyTo is a inlined post [kroeg] 2018-09-27 20:00:46 +02:00
Haelwenn (lanodan) Monnier 523757be52
[Pleroma.Web.ActivityPub.ActivityPub]: Harden getting endpoints [kroeg] 2018-09-27 20:00:45 +02:00
William Pitcock 342ed84446 MRF: add policy for normalizing HTML markup (local and remote) to a specific policy 2018-09-16 01:25:36 +00:00
William Pitcock d3248e13e3 activitypub: transmogrifier: allow profile updates from bots 2018-09-10 01:57:03 +00:00
William Pitcock e0b8c0ccba MRF: reject non-public: use pattern match to remove unnecessary if block 2018-09-10 01:16:03 +00:00
William Pitcock 88094c266d MRF: simple policy: refactor module to use guards and pattern matching 2018-09-10 01:16:02 +00:00
William Pitcock 97253df3ee MRF: simple policy: contain media removal/nsfw ops to create activities only 2018-09-10 01:16:01 +00:00
kaniini 1c9e539b47 Merge branch 'feature/mastodon_api_2.4.x' into 'develop'
Add/Fix Mastodon endpoints for 2.4.3 compatibility

See merge request pleroma/pleroma!266
2018-09-03 12:33:36 +00:00
William Pitcock 03e92977cb transmogrifier: fix peertube/plume actor handling 2018-09-01 23:44:19 +00:00
William Pitcock 0b2c051a04 activitypub: fix possibility of spoofing by containing remote objects to the same domain as their actor 2018-09-01 23:20:02 +00:00
William Pitcock 29b5e30c46 activity: drop recipients_to/recipients_cc fields 2018-08-29 18:41:02 +00:00
William Pitcock de9acebbf3 activitypub: use jsonb query for containment instead of recipients_to/recipients_cc. 2018-08-29 18:41:02 +00:00
William Pitcock 643fae6e36 activitypub: allow querying the activity/object graph bounded to a specific to/cc set 2018-08-29 08:51:23 +00:00
William Pitcock 81673b8136 activity: add recipients_to and recipients_cc fields 2018-08-29 08:42:33 +00:00
Haelwenn (lanodan) Monnier 97e20d2932
[MastodonAPI] the tag field isn’t fixed to a static type in pleroma 2018-08-27 15:08:25 +02:00
Haelwenn (lanodan) Monnier 83efaa3af6
[MastodonAPI] Add streaming of hashtags 2018-08-27 15:08:25 +02:00
lambda 46c7c2380c Merge branch 'feature/relay' into 'develop'
message relay

Closes #144

See merge request pleroma/pleroma!264
2018-08-27 08:29:25 +00:00
lambda 440b459cd1 Merge branch 'bugfix/announce-timeline-flooding' into 'develop'
activitypub: filter destination list for announce activities differently than normal (closes #164)

Closes #164

See merge request pleroma/pleroma!227
2018-08-27 08:25:27 +00:00
kaniini 63094cfd3e Merge branch 'feature/emoji-in-local-users' into 'develop'
Add emoji to local user profiles.

Closes #202

See merge request pleroma/pleroma!271
2018-08-26 23:24:41 +00:00
kaniini 0f5bff8c66 Merge branch 'develop' into 'feature/relay'
# Conflicts:
#   lib/pleroma/web/activity_pub/utils.ex
2018-08-26 21:06:15 +00:00
William Pitcock 52b44184b4 transmogrifier: reject activities lacking a valid ID 2018-08-23 01:25:26 +00:00
Haelwenn (lanodan) Monnier f5b056e3ce
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix likes 2018-08-21 18:26:12 +02:00
Haelwenn (lanodan) Monnier 74c74decf5
Basic peertube support. 2018-08-21 18:24:09 +02:00
Haelwenn (lanodan) Monnier ef4f982e2c
Pleroma.Web.ActivityPub.Transmogrifier: Fix actor being a list of objects (Peertube) 2018-08-21 18:24:06 +02:00
eal f1c407e777 Merge branch 'fix/redirect-on-user-fetch' into 'develop'
ActivityPub: follow redirects when fetching user

See merge request pleroma/pleroma!278
2018-08-20 12:13:07 +00:00
eal 51a21284c6 ActivityPub: follow redirects when fetching user 2018-08-20 15:03:25 +03:00
kaniini 5fbb14f5ec Merge branch 'bugfix/federation-kroeg' into 'develop'
fix federation with kroeg

See merge request pleroma/pleroma!272
2018-08-16 15:20:15 +00:00
kaniini 38361e7b5e Merge branch 'fix/put-repeats-at-activitypub-outbox' into 'develop'
Fix: Output repeats at ActivityPub outbox

Closes #191

See merge request pleroma/pleroma!175
2018-08-16 15:19:46 +00:00
William Pitcock f446e75577 activitypub: transmogrifier: add necessary translations for kroeg 2018-08-14 17:09:11 +00:00
eal 1ed1ff17a4 ActivityPub user view: include tag if present. 2018-08-13 16:11:48 +03:00
William Pitcock de6be63b1b activitypub: do not show observable effects of non-public boosts 2018-08-06 11:28:57 +00:00
William Pitcock 0ca9b9ff96 run mix format 2018-08-06 08:26:36 +00:00
William Pitcock 1e1a29f084 activitypub: relay: fix up AS2 actor object 2018-08-06 08:22:17 +00:00
William Pitcock 2b628f2341 relay: only relay create activities 2018-08-06 08:22:16 +00:00
William Pitcock 56dc8db582 activitypub: relay: add relay following/followers collection URLs 2018-08-06 08:22:14 +00:00
William Pitcock 1c40a631e8 federator: actually relay the public activities 2018-08-06 08:22:14 +00:00
William Pitcock 266b314051 relay: fix invoking federator, use a timer to sleep the mix task to force a context switch 2018-08-06 08:22:12 +00:00
William Pitcock 99be3d3dcc relay: add relay follow/unfollow tasks 2018-08-06 08:22:12 +00:00
William Pitcock 1c90f88393 user: remote actors can have no nickname if they are virtual services 2018-08-06 08:22:11 +00:00
William Pitcock b7ca7f282a activitypub: refactor relay concerns into new relay module 2018-08-06 08:22:10 +00:00
William Pitcock 00e890264c activitypub: represent relay actor at instance root 2018-08-06 08:22:09 +00:00
William Pitcock 3be58ad34e activitypub: actually send digest header when federating
this is needed for backwards compatibility with non-digest pleroma instances
2018-08-01 10:32:02 +00:00
William Pitcock 2890aef9e8 activitypub: add digest header to outbound messages and sign it 2018-07-31 23:24:30 +00:00
Haelwenn (lanodan) Monnier 7501481db4
[Pleroma.Web.ActivityPub.Transmogrifier] Add Person finding 2018-07-12 23:37:07 +02:00
Haelwenn (lanodan) Monnier 8472fba2a7
[Pleroma.Web.ActivityPub.Transmogrifier]: Fix actor key outside of object
The code here is copied from feature/peertube by lain.

Co-authored-by: lain <lain@soykaf.club>
2018-07-12 23:37:00 +02:00
lambda d93789dfde Merge branch 'feature/object-normalization' into 'develop'
object normalization

See merge request pleroma/pleroma!238
2018-07-12 16:48:15 +00:00
William Pitcock 590d4df77c activitypub: more robustly handle object-to-actor associations 2018-07-12 16:39:03 +00:00
lambda 4a922305af Merge branch 'feature/article-support' into 'develop'
article support (plume, etc)

See merge request pleroma/pleroma!240
2018-07-12 05:58:39 +00:00
William Pitcock 8546551257 activitypub: switch to using x509 representation for public keys instead of pkcs#1 2018-07-12 03:30:22 +00:00
William Pitcock 971bb4f2bd activity interpretation: formatting 2018-06-27 13:38:19 +00:00
William Pitcock bd479606ba utils: make_create_data: add support for Article objects 2018-06-27 13:37:35 +00:00
William Pitcock c42f28b82c transmogrifier: accept Article activities 2018-06-27 13:37:26 +00:00
William Pitcock 7c63e70de1 activitypub: use Activity.normalize() in several places instead of using Activity.get_by_ap_id() directly. 2018-06-27 13:08:12 +00:00
William Pitcock 15d624e077 activitypub: use Object.normalize() instead of Object.get_by_ap_id() directly. 2018-06-27 13:07:29 +00:00
lambda dfc96f222c Merge branch 'feature/configurable-blocks' into 'develop'
Add more configurability to how blocks work

See merge request pleroma/pleroma!203
2018-06-25 06:12:29 +00:00
squidboi ea214b8ba6
combined outgoing_blocks with statement 2018-06-24 23:05:44 -07:00
squidboi c4038ede07
fix mind-crushingly dumb syntax error 2018-06-23 14:32:00 -07:00
squidboi f4990283de
change moved attributes into normal variables 2018-06-23 14:27:07 -07:00
squidboi 4e099fcfa9
move configurable module attributes into relevant functions 2018-06-23 14:16:08 -07:00
Haelwenn (lanodan) Monnier c45133377a
lib/pleroma/web/activity_pub/mrf/simple_policy.ex: mix format
Hnng!
2018-06-23 16:12:57 +02:00
William Pitcock 60d6038be5 mrf simple: add accept lists
accept lists supplement reject lists by requiring that any message accepted by contained
by the accept list.

in other words, this functionality can be used to implement instances similar to
awoo.space.
2018-06-19 21:28:24 +00:00
lambda 90cf75f4a7 Merge branch 'features/column_media_streaming' into 'develop'
Add streaming to media tabs of federated and local TLs

See merge request pleroma/pleroma!225
2018-06-19 09:50:05 +00:00
lambda db0731b6ac Merge branch 'feature/exclude-replies-filter' into 'develop'
activitypub: support filtering activities by whether or not they are a reply (closes #109)

Closes #109

See merge request pleroma/pleroma!226
2018-06-19 05:15:11 +00:00
William Pitcock c95941e64d activitypub transmogrifier: fix handling of contentMap. 2018-06-18 22:14:50 +00:00
William Pitcock 591c82620e activitypub: filter destination list for announce activities differently than normal (closes #164) 2018-06-18 04:36:25 +00:00
William Pitcock 4f589998ee activitypub: support filtering activities by whether or not they are a reply (closes #109) 2018-06-18 03:21:32 +00:00
Haelwenn (lanodan) Monnier b670d4d683
MastodonAPI: Add streaming to media tabs of federated and local TLs 2018-06-17 16:17:15 +02:00
squidboi 2e294ee44a Merge branch 'develop' into feature/configurable-blocks 2018-06-16 15:37:16 -07:00
lambda 1ea4a18ad8 Merge branch 'feature/configure-mrf-rejectnonpublic' into 'develop'
Configs for mrf_rejectnonpublic

See merge request pleroma/pleroma!205
2018-06-16 10:39:36 +00:00
lambda 2723fb5150 Merge branch 'bugfix/mrf-orphaning' into 'develop'
activitypub transmogrifier: handle activity lookup failure

Closes #156

See merge request pleroma/pleroma!216
2018-06-14 07:20:54 +00:00
lambda 8c7fdcb31b Merge branch 'feature/twitterapi-unrepeat' into 'develop'
Add TwitterAPI unretweet endpoint and cleanup AP.unannounce

See merge request pleroma/pleroma!218
2018-06-14 07:19:36 +00:00
Francis Dinh 1555c66650 Add unretweet TwAPI endpoint and cleanup AP.unannounce 2018-06-13 21:33:36 -04:00
William Pitcock 401e8af943 activitypub transmogrifier: handle activity lookup failure
with the introduction of MRF, it is possible that an activity may be orphaned from it's parent, if
an activity in the chain was rejected by the active MRF policies.  accordingly, handle this in the
same way as any other orphaned activity.

closes #156
2018-06-13 22:19:38 +00:00
lambda 3f42806b1b Merge branch 'develop' into 'develop'
Dedupe uploads

See merge request pleroma/pleroma!115
2018-06-12 08:26:26 +00:00
lambda 564c73ab24 Merge branch 'feature/list-streaming' into 'develop'
MastoAPI: Add streaming for lists.

See merge request pleroma/pleroma!183
2018-06-12 07:19:45 +00:00
William Pitcock d96377f359 activitypub transmogrifier: accept/reject outgoing: we might send the actual object instead of the URI in some cases, handle it 2018-06-11 22:15:53 +00:00
William Pitcock 5eed1ea181 run mix format 2018-06-11 22:15:53 +00:00
William Pitcock 4084889a2d activitypub transmogrifier: remove debug code 2018-06-11 22:15:53 +00:00
William Pitcock 76f80ba8c2 activitypub: when unfollowing, update the follow activity's disposition to 'cancelled' so it cannot be reused 2018-06-11 22:15:53 +00:00
William Pitcock f328de8eb7 activitypub transmogrifier: send Rejects in the format Mastodon wants 2018-06-11 22:15:53 +00:00
William Pitcock 876ad6aa38 activitypub transmogrifier: send @context on accept activities 2018-06-11 22:15:53 +00:00
William Pitcock 760eb72a38 add a bunch of stuff 2018-06-11 22:15:53 +00:00
William Pitcock 9c88933422 implement tracking of follow requests 2018-06-11 22:15:53 +00:00
William Pitcock 6041380774 activitypub transmogrifier: learn locked state in Update messages 2018-06-11 22:15:27 +00:00
William Pitcock e5206752e1 activitypub: only send accept back automatically if the account is not locked 2018-06-11 22:15:27 +00:00
lambda 7f79b467b1 Merge branch 'feature/domain-blocks' into 'develop'
Domain blocks

See merge request pleroma/pleroma!190
2018-06-11 11:19:45 +00:00
squidboi 07f0cfa53f
add allow_followersonly and allow_direct options for configuring mrf_rejectnonpublic 2018-06-10 16:40:51 -07:00
squidboi 4f9ecfc77a formatting 2018-06-09 04:28:11 +00:00
squidboi 8903f1ad4d more fixes 2018-06-08 19:07:14 -07:00
squidboi 16d896f526 fixes 2018-06-08 19:01:14 -07:00
squidboi 2847fc8f90 add option to not unfollow on block, and option to not federate outgoing blocks 2018-06-08 17:12:16 -07:00
lambda 45a935f0bd Merge branch 'users' into 'develop'
Fix users lookup/return type

See merge request pleroma/pleroma!201
2018-06-08 11:10:10 +00:00
lambda bb639a362e Merge branch 'feature/rejectnonpublic' into 'develop'
Add MRF to drop all posts with "followers-only" or "direct" privacy settings

See merge request pleroma/pleroma!202
2018-06-08 11:08:50 +00:00
Rachel H fa0c2727d8 Fix users lookup/return type
* Allow viewing user in frontend by id on pageload
2018-06-07 23:18:45 -07:00
squidboi e2c4013c88
s/get_by_ap_id/get_cached_by_ap_id/ 2018-06-07 22:33:50 -07:00
squidboi 6e7f91bf8f
final format 2018-06-07 22:14:39 -07:00
squidboi 82225dfc8d
even more formatting 2018-06-07 22:10:11 -07:00
lambda c86823f724 Merge branch 'bugfix/locked-account-regression' into 'develop'
security fix: locked account regression

See merge request pleroma/pleroma!200
2018-06-08 05:10:08 +00:00
squidboi 990cde7439
more formatting 2018-06-07 22:03:24 -07:00
squidboi 5b9e1f228a
formatting 2018-06-07 21:55:58 -07:00
squidboi f69d38e455
add mrf for dropping follower-only and direct posts 2018-06-07 21:00:57 -07:00
William Pitcock 47c7e259c4 activitypub transmogrifier: fix locked account state from being clobbered 2018-06-08 02:52:29 +00:00
William Pitcock a003bdc30a activitypub transmogrifier: learn locked state in Update messages 2018-06-08 02:52:24 +00:00
William Pitcock 09604182d0 add the ability to 'quarantine' an activitypub peer, causing them to be treated as an OStatus peer. 2018-06-07 14:38:09 +00:00
Sir_Boops 3f0440ac3c
Dedupe uploads 2018-06-06 13:25:44 -06:00
eal 29c9c8d93b Extract host from ap_id, add index 2018-06-06 21:13:40 +03:00
eal 9075b6d25b ActivityPub.ex: filter domain blocked activities. 2018-06-03 23:33:33 +03:00
lain 06439f64d0 Better error handling for ActivityPubController 2018-06-03 19:58:59 +02:00
lain 5e76adb07e Fix url guessing attacks. 2018-05-30 20:00:45 +02:00
eal 5d3fdbc082 MastoAPI: Add streaming for lists. 2018-05-30 16:48:59 +03:00
lain 841ee8e3e4 Simplify DM query.
Should also use indexes better.
2018-05-26 16:25:32 +02:00
lain 4b3ec53514 Merge branch 'develop' into csaurus/pleroma-feature/mstdn-direct-api 2018-05-26 16:00:59 +02:00
lain 745072b2cc Merge branch 'kaniini/pleroma-feature/activitypub-accept-reject-conformance' into develop 2018-05-26 15:15:52 +02:00
lain 0a6c897c94 Formatting. 2018-05-26 15:11:50 +02:00
lain bfce29866f Make Mastodon follow hack more explicit. 2018-05-26 15:07:21 +02:00
lain 3839a11ef5 Don't treat remote accepts/rejects as local.
Also, use specialized functions to get safe data.
2018-05-26 14:07:46 +02:00
lain dd9bb37893 Rename id helper method. 2018-05-26 13:57:11 +02:00
William Pitcock 7e873756e7 activitypub transmogrifier: use fetch_latest_follow to verify a follow object exists 2018-05-26 11:20:52 +00:00
William Pitcock 1c926c7b60 activitypub: allow mastodon S2S block extension support to be disabled 2018-05-26 08:30:41 +00:00
Hakaba Hitoyo e90b734f1c debug 2018-05-26 14:10:12 +09:00
Hakaba Hitoyo 9c7da2ef48 output repeats at ActivityPub outbox 2018-05-26 14:02:57 +09:00
William Pitcock 7cf3cf77cf activitypub transmogrifier: cleanups and tests for incoming accepts/rejects 2018-05-25 12:53:12 +00:00
William Pitcock f35e6bf75b activitypub transmogrifier: clean up accept/reject handling a bit 2018-05-25 09:40:11 +00:00
William Pitcock 62c95e8d4d run mix format 2018-05-25 09:39:46 +00:00
William Pitcock 502ba33d01 activitypub: fix up accept/reject semantics for following
fixes #175
2018-05-25 06:14:18 +00:00
William Pitcock c0ca9f82b9 mastodon api: properly track if an account is locked or not 2018-05-25 06:14:09 +00:00
William Pitcock 47dc52a758 activitypub utils: optimize block and follow activity lookup
multi-field @> comparison is very expensive, so only use @> for the field where it matters
this makes the query take only a few usec to execute verses many msec on a busy instance
2018-05-25 05:23:49 +00:00
lambda c2dcd767cf Merge branch 'feature/incoming-remote-unfollow' into 'develop'
Add support for incoming remote unfollows and blocks/unblocks

See merge request pleroma/pleroma!158
2018-05-24 19:52:24 +00:00
Francis Dinh 1197ec10a8 Rewrite block fetch query 2018-05-24 13:26:59 -04:00
lain 1cd6194dee More efficient queries. 2018-05-24 12:44:26 +02:00
lambda 06c97f211f Merge branch 'feature/deps-migration' into 'develop'
Migrate to comeonin 4 and Cachex 3

See merge request pleroma/pleroma!162
2018-05-23 09:03:11 +00:00
csaurus 4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
William Pitcock 9a2d097ed8 activitypub controller: note that the HTTP Host header must be forwarded for http signature validation to work 2018-05-21 19:22:30 +00:00
Francis Dinh 46427cb90f Pass correct number of arguments to unfollow 2018-05-21 11:57:15 -04:00
Francis Dinh cc5373b846 Fix unblock handling 2018-05-21 05:00:58 -04:00
Francis Dinh 2573332214 Add undo block handler 2018-05-21 04:35:43 -04:00
Francis Dinh c8a16f334d Format 2018-05-20 21:02:06 -04:00
Francis Dinh 89c5de9096 Fix unfollows 2018-05-20 21:01:14 -04:00
Francis Dinh 1afd6d37bd Merge remote-tracking branch 'upstream/develop' into feature/incoming-remote-unfollow
Fixed some conflicts in transmogrifier.ex
2018-05-20 19:17:15 -04:00
Thog e55c6f311b
Migrate to comeonin 4 and Cachex 3
Also fix some warning in the code and add a missing alias
2018-05-20 20:08:40 +02:00
lain 434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
Francis Dinh a9141d88aa Pass user instead of their ap_id to User.block 2018-05-19 22:02:13 -04:00