Commit graph

1339 commits

Author SHA1 Message Date
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
William Pitcock
b5bc08fac3 streamer: don't relay boosts of messages which would otherwise be blocked 2018-06-13 21:59:56 +00:00
lambda
ea42ba603f Merge branch 'feature/webfinger-rfc7033-compliant' into 'develop'
webfinger: send JRD by default instead of XRD

See merge request pleroma/pleroma!211
2018-06-13 07:18:03 +00:00
William Pitcock
3d402a9e20 webfinger: send JRD by default instead of XRD
JRD being the default representation for WebFinger responses was standardized 5 years ago in
RFC 7033.
2018-06-13 07:03:14 +00:00
William Pitcock
59f95a7095 webfinger: refactor webfinger() functions
- remove code duplication
- move user lookup to parent with statement
- tighten both user lookup by nickname and activitypub URI with a type constraint
2018-06-13 06:42:27 +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
9810471237 router: remove stub /domain_blocks entry 2018-06-11 23:40:19 +00:00
William Pitcock
f8e0942745 twitter api: add approve/deny endpoints 2018-06-11 22:15:53 +00:00
William Pitcock
e08cf21e5b twitter api: add friend requests list api 2018-06-11 22:15:53 +00:00
William Pitcock
ba8dab7542 twitterapi: user view: return if an account is locked or not 2018-06-11 22:15:53 +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
993312cdb3 twitterapi: add profile setting for locked/unlocked accounts 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
1452b2823f user: add a workaround for situations where Pleroma may believe a followee is followed
this was caused by lack of Undo follows in the early days, and can likely be eventually removed
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
a2c4a5a75b mastodon api: allow setting an account locked or not 2018-06-11 22:15:53 +00:00
William Pitcock
ad7188fe92 user: use Enum.uniq on the follow request query 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
6f89d2d583 stash api controller 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
b3580b6971 add option to not deny follow if blocked (fixed) 2018-06-08 18:29:41 -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
lambda
4a16ade2ee Merge branch 'mastopost' into 'develop'
Allow posting images without text in mastofe

See merge request pleroma/pleroma!194
2018-06-08 06:02:21 +00: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
1e9dd6fbc2 user: fix maybe_direct_follow() after user_info() refactoring broke it slightly 2018-06-08 02:52:36 +00: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
lambda
839cb7b424 Merge branch 'develop' into 'mastopost'
# Conflicts:
#   .gitignore
2018-06-07 16:29:33 +00:00
lambda
595ca3bb3a Merge branch 'feature/quarantine' into 'develop'
add the ability to 'quarantine' an activitypub peer, causing them to be treated as an OStatus peer.

See merge request pleroma/pleroma!199
2018-06-07 14:44:08 +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
Rachel H
1525a0404b Fix follow errors 2018-06-07 00:39:24 -07:00
Sir_Boops
3f0440ac3c
Dedupe uploads 2018-06-06 13:25:44 -06:00
Rachel H
b4292295d7 Allow posting images without text in mastofe 2018-06-06 11:29:49 -07:00
eal
29c9c8d93b Extract host from ap_id, add index 2018-06-06 21:13:40 +03:00
lambda
0a0c6bf394 Merge branch 'bugfix/webfinger-xml-crash' into 'develop'
webfinger robustness improvements

See merge request pleroma/pleroma!195
2018-06-06 16:44:44 +00:00
William Pitcock
1abf0f3b3e webfinger: use https as default fallback instead of http
realistically, all instances need to be on https anyway to properly federate with all
software
2018-06-06 16:27:14 +00:00
William Pitcock
aaa81d3540 XML: handle erlang errors too 2018-06-06 16:27:13 +00:00
lambda
b5d8213e70 Merge branch 'fix/oauth-http-basic' into 'develop'
Make OAuth token endpoint work with HTTP Basic auth

See merge request pleroma/pleroma!191
2018-06-06 08:27:08 +00:00
D Anzorge
3607dc4558 Make token exchange return errors with 400 as status code 2018-06-06 03:14:50 +02:00
eal
f9719b064c Merge branch 'fix/emoji-picker' into 'develop'
set visible_in_picker to true in custom_emojis

Closes #177 and mastofe#16

See merge request pleroma/pleroma!188
2018-06-05 21:18:25 +00:00
D Anzorge
73904e8f78 Make OAuth token endpoint work with HTTP Basic auth
client_id/client_secret can now be supplied in an Authorization header
2018-06-04 00:59:00 +02:00
eal
9075b6d25b ActivityPub.ex: filter domain blocked activities. 2018-06-03 23:33:33 +03:00
eal
4856962434 MastoAPI: add domain blocking. 2018-06-03 22:21:23 +03:00
lain
8073af6e10 Better error handling for OstatusController. 2018-06-03 21:04:44 +02:00
eal
87566b6e2f user.ex: add domain blocks. 2018-06-03 22:01:37 +03:00
lain
06439f64d0 Better error handling for ActivityPubController 2018-06-03 19:58:59 +02:00
lain
4856ba596f Better error handling for MastodonApiController. 2018-06-03 19:28:11 +02:00
lain
0f70e83e8c Better error handling in TwitterApiController. 2018-06-03 19:11:22 +02:00
Haelwenn (lanodan) Monnier
b143694b98
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex: set visible_in_picker to true in custom_emojis
Fixes: https://github.com/ilianaw/emojos.in/issues/4
Closes: https://git.pleroma.social/pleroma/pleroma/issues/177
Closes: https://git.pleroma.social/pleroma/mastofe/issues/16
2018-06-03 18:41:18 +02:00
eal
dca1d6d162 Merge branch 'fix/user-timeline-reading-user' into 'develop'
MastoAPI user timelines: render statuses for the logged in user.

See merge request pleroma/pleroma!187
2018-06-01 09:35:29 +00:00
eal
8c609ee3f9 MastoAPI user timelines: render statuses for the logged in user. 2018-06-01 12:30:11 +03:00
lambda
98b8f08783 Merge branch 'fix/twitterapi-incorrect-follows-you' into 'develop'
TwitterAPI: fix "Follows you" being shown for the wrong user.

Closes pleroma-fe#89

See merge request pleroma/pleroma!185
2018-06-01 08:51:04 +00:00
eal
935e544e19 TwitterAPI: fix "Follows you" being shown for the wrong user. 2018-05-31 15:27:42 +03:00
lain
349400c06a Fix url guessing attacks. 2018-05-30 20:00:27 +02:00
eal
5d3fdbc082 MastoAPI: Add streaming for lists. 2018-05-30 16:48:59 +03:00
eal
7cb2e2971e MastoAPI: fix dm_timeline getting non-create activities. 2018-05-30 15:02:22 +03:00
eal
35cb8969c4 MastoAPI: Fix link headers with restrictive params. 2018-05-29 13:31:36 +03:00
lain
461f201caa Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into develop 2018-05-28 12:39:49 +02:00
lain
3ece4a3ebc Only return certain activities in TwitterAPI mentions. 2018-05-28 12:38:48 +02:00
William Pitcock
d7eb2e1b65 run mix format 2018-05-27 13:06:38 +00:00
William Pitcock
a8df7fc690 formatter: use class='mention' on links to user profiles
helps mastodon frontend and apps have better context:
https://mastodon.social/users/Gargron/statuses/100101267352899379
2018-05-27 12:56:24 +00:00
lain
a9e36e5a64 Fix user topic streaming. 2018-05-26 21:06:46 +02: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
6138b29783 There are no symbols in JSON. 2018-05-26 15:20:21 +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
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
e80d91c64a introduce User.maybe_direct_follow() and use it where we used to call User.follow() 2018-05-25 09:40:10 +00:00
William Pitcock
c89b90222c twitter api: also remove explicit User.follow here 2018-05-25 09:40:06 +00:00
William Pitcock
62c95e8d4d run mix format 2018-05-25 09:39:46 +00:00
lambda
5d6d86bf00 Merge branch 'feature/blocks-deny-refollow' into 'develop'
activitypub conformance: deny refollow for blocks

See merge request pleroma/pleroma!170
2018-05-25 07:15:01 +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
William Pitcock
1d88abf2d4 user: do not allow refollowing somebody who has blocked a user 2018-05-25 03:18:35 +00:00
lambda
f3a71f2986 Merge branch 'feature/lists' into 'develop'
Mastodon List API

See merge request pleroma/pleroma!138
2018-05-24 20:22:43 +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
lambda
c41012053a Merge branch 'feature/change-password' into 'develop'
Feature/change password

See merge request pleroma/pleroma!166
2018-05-24 17:16:37 +00:00
eal
3dbd9809d4 MastoAPI: add lists. 2018-05-24 15:34:39 +03:00
lain
1cd6194dee More efficient queries. 2018-05-24 12:44:26 +02:00
eal
a8369db4f2 MastoAPI: add lists. 2018-05-24 13:18:39 +03:00
lain
0b5bc62b33 Don't save double tags in AP objects we create
This crashed Mastodon workers.
2018-05-23 17:25:24 +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
Francis Dinh
72b93d13f8 Hook up block/unblock to TwitterAPI 2018-05-22 05:41:17 -04:00
Francis Dinh
55f9aefd08 Hook unfollow into TwitterAPI 2018-05-22 04:49:30 -04:00
Francis Dinh
b2c6ae7d82 Hook up unfollow and (un)block to MastoAPI + tests 2018-05-22 04:27:40 -04:00
csaurus
4fd9df100f Merge branch 'develop' into feature/mstdn-direct-api 2018-05-21 20:19:37 -04:00
Syldexia
d0690622cd Added endpoint for changing passwords 2018-05-21 23:06:03 +01:00
lambda
b4064dfe30 Merge branch 'feature/clarify-http-sig-error' into 'develop'
clarify HTTP signature error in logs

See merge request pleroma/pleroma!165
2018-05-21 21:20:41 +00: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
William Pitcock
75cfd9d34d webfinger: fix finding the XRD uri for statusnet instances 2018-05-21 12:41:31 +00:00
lain
d269c69a0b Actually fix missing alias. 2018-05-21 12:32:29 +02:00
lain
bf64208b52 Add missing alias. 2018-05-21 12:09:03 +02:00
Francis Dinh
d045b96f95 Add tests for incoming unfollow over OStatus 2018-05-21 05:11:13 -04:00
Francis Dinh
cc5373b846 Fix unblock handling 2018-05-21 05:00:58 -04:00
Francis Dinh
f2d6c3a512 Handle unfollows from OStatus 2018-05-21 04:36:20 -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
dca26f3655 Fix specs. 2018-05-20 19:22:26 +02:00
lain
ff007af0c2 Return visilility in twitter api, too. 2018-05-20 18:01:24 +02:00
lain
434601a5c3 Return private / direct posts on user timelines, too. 2018-05-20 16:15:18 +02:00
lambda
8b0c222b43 Merge branch 'feature/account-deletion' into 'develop'
Feature/account deletion

Closes #115

See merge request pleroma/pleroma!157
2018-05-20 10:57:19 +00:00
Francis Dinh
a9141d88aa Pass user instead of their ap_id to User.block 2018-05-19 22:02:13 -04:00
Francis Dinh
3b706ea493 Remove handler for incoming undos with object references 2018-05-19 21:34:30 -04:00
Francis Dinh
1e43de0f86 Formatting and add tests for blocks/unblocks 2018-05-19 21:23:52 -04:00
Francis Dinh
da9744eb84 Use correct variable names in unfollow 2018-05-19 20:57:37 -04:00
Thog
6f39ecc41b
Support Undo like activities (Fix #139) 2018-05-19 22:14:15 +02:00
Syldexia
d1366f8d46 Modified deleting an account to run as a task 2018-05-19 13:35:49 +01:00
lambda
7831b38705 Merge branch 'feature/webfinger-mime-ld-json' into 'develop'
webfinger: handle application/ld+json links

See merge request pleroma/pleroma!159
2018-05-19 09:31:08 +00:00
lambda
ad563669c8 Merge branch 'feature/remote-user-deactivation' into 'develop'
remote user deactivation

See merge request pleroma/pleroma!154
2018-05-19 09:30:09 +00:00
lain
df95118c81 Fix linking problem. 2018-05-19 11:27:14 +02:00
William Pitcock
725b05d04a run mix format 2018-05-19 08:48:15 +00:00
William Pitcock
6e8de2faae run mix format 2018-05-19 08:37:04 +00:00
William Pitcock
2051530868 activitypub transmogrifier: handle hubzilla AP actor quirks 2018-05-19 03:28:29 -05:00
William Pitcock
4d2c6707c2 activitypub: normalize the actor to ensure we have its URI 2018-05-19 03:28:28 -05:00
William Pitcock
1a250d65af webfinger: only do ld+json on modern json webfinger 2018-05-19 01:28:19 -05:00
William Pitcock
d1f6ecf607 webfinger: interpret application/ld+json links as an alternate to application/activity+json 2018-05-19 01:28:12 -05:00
William Pitcock
cce5a9cb1c webfinger: expose the application/ld+json link alongside the older application/activity+json link 2018-05-19 01:28:03 -05:00