Commit graph

1387 commits

Author SHA1 Message Date
lambda de20c8d620 Merge branch 'fix/missing-file-extension' into 'develop'
Add missing file extension if file does not have one

See merge request pleroma/pleroma!222
2018-06-14 19:11:30 +00:00
Francis Dinh 0a95b5594b Add missing file extension if file does not have one 2018-06-14 12:16:34 -04:00
eal 12c7a023de upload.ex: add MPEG Layer 3 file header. 2018-06-14 16:41:08 +03: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
lambda 2c303b3302 Merge branch 'bugfix/oauth2-param-name' into 'develop'
oauth: support either name or username parameter with grant_type=password

Closes #180

See merge request pleroma/pleroma!219
2018-06-14 07:14:18 +00:00
lambda 280ac243aa Merge branch 'bugfix/oauth-password-with-email' into 'develop'
oauth: fix password-based login when username is email address

Closes #199

See merge request pleroma/pleroma!220
2018-06-14 07:13:05 +00:00
William Pitcock 5442466569 oauth: fix password-based login when username is email address
closes #199
2018-06-14 02:32:30 +00:00
William Pitcock 4894b88b1b oauth: support either name or username parameter with grant_type=password
closes #180
2018-06-14 02:07:43 +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
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
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