Commit graph

1373 commits

Author SHA1 Message Date
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
eal
3326205f95 set_moderator: ensureall applications are started. 2018-06-12 15:42:40 +03: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
f34232da86 Update sample_config.eex 2018-06-12 07:23:45 +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
William Pitcock
3208611bfc mix: add task for setting an account as locked or not 2018-06-11 22:15:27 +00:00
eal
cdf5a668f2 Merge branch 'fix/mix-task-caching' into 'develop'
make_moderator.ex: set cache on update

See merge request pleroma/pleroma!206
2018-06-11 19:59:30 +00:00
eal
18837c2fed make_moderator.ex: set cache on update 2018-06-11 22:53:38 +03: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