Commit graph

3826 commits

Author SHA1 Message Date
Ariadne Conill
e7c64f106e signature: properly deduce the actor from misskey key IDs 2019-07-23 16:47:22 +00:00
Sadposter
452980652d Mix format 2019-07-23 15:13:05 +01:00
Sadposter
eacf61d823 fix unauthenticated req to favourited/rebloggd_by 2019-07-23 15:08:33 +01:00
kPherox
e818381042
Use User.get_or_fetch/1 instead of OStatus.find_or_make_user/1 2019-07-23 19:47:27 +09:00
Alexander Strizhakov
b70e659304 Feature/1087 wildcard option for blocks 2019-07-22 14:33:58 +00:00
Haelwenn
674ad5e1df Merge branch 'hardening/stop-misusing-sharedinbox' into 'develop'
activitypub: publisher: align sharedinbox usage with AP specification rules

See merge request pleroma/pleroma!1464
2019-07-22 11:01:35 +00:00
Sadposter
f712ee879a Bugfix: muted/blocked user notification streaming 2019-07-22 02:43:55 +00:00
Sergey Suprunenko
05b5af8075 Add tests for users tasks and PleromaAuthenticator 2019-07-22 02:43:15 +00:00
Sadposter
a5d6287ba8 Hide blocked users from interactions 2019-07-22 02:42:29 +00:00
Ariadne Conill
56019d53a8 activitypub: publisher: align sharedinbox usage with AP specification rules
While debugging the follow breakage, I observed that our sharedInbox usage
did not match the rules in the specification.  Accordingly, I have better
aligned our usage of sharedInbox with the rules outlined in the ActivityPub
specification.
2019-07-22 02:38:31 +00:00
kaniini
a00aab3402 Merge branch 'fix/rich-media-ttl-fallback' into 'develop'
Fix rich media parser failing when no TTL can be found by image TTL setters

See merge request pleroma/pleroma!1460
2019-07-21 16:05:58 +00:00
rinpatch
3368174785 Fix rich media parser failing when no TTL can be found by image TTL
setters
2019-07-21 18:22:22 +03:00
Ariadne Conill
bc6c5c513a router: ensure the AP sharedinbox path is registered first 2019-07-21 03:52:06 +00:00
rinpatch
196cad46f3 Resolve merge conflicts 2019-07-20 22:04:47 +03:00
rinpatch
c3ecaea64d Apply suggestion to lib/pleroma/object/fetcher.ex 2019-07-20 18:53:00 +00:00
rinpatch
d4ee76ab63 Apply suggestion to lib/pleroma/user.ex 2019-07-20 18:52:41 +00:00
Ivan Tashkinov
d0198fe215 [#1112] Preserving id on user insert conflict on order not to violate conversation_partipations_user_id_fkey constraint. 2019-07-20 13:03:34 +03:00
93df0796f0 Merge branch 'feature/matstodon-statuses-by-name' into 'develop'
Feature/matstodon statuses by name

See merge request pleroma/pleroma!1211
2019-07-19 21:59:18 +00:00
Mark Felder
9169f331b6 Merge branch 'develop' into feature/matstodon-statuses-by-name 2019-07-19 16:55:10 -05:00
kaniini
33729bbb28 Merge branch 'feature/richmedia-ttl' into 'develop'
add the rich media ttl based on image exp time

See merge request pleroma/pleroma!1438
2019-07-19 21:36:36 +00:00
kaniini
716afc83ce Merge branch 'refactor/http-signature-plug' into 'develop'
http signature plug: separation of concerns

See merge request pleroma/pleroma!1449
2019-07-19 16:57:24 +00:00
Maksim
c2e2aadc42 #1110 fixed /api/pleroma/healthcheck 2019-07-19 16:20:23 +00:00
Sachin Joshi
de9906ad56 change the structure of image ttl parsar 2019-07-19 11:43:42 +05:45
Maxim Filippov
9570a5be40 Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-18 23:38:38 +03:00
Ariadne Conill
c947cfec5a mapped signature plug: use user assign like authentication plug 2019-07-18 20:31:25 +00:00
Maksim
f435217e50 tests for Plugs.AuthenticationPlug 2019-07-18 20:29:51 +00:00
Ariadne Conill
a8af0ac053 mapped signature plug: fix user lookup 2019-07-18 16:27:50 +00:00
Ariadne Conill
5ea0cd69f7 mapped signature plug: don't invalidate in cases where a signature is actually not present (testsuite) 2019-07-18 16:01:21 +00:00
Ariadne Conill
184fa61fb3 plugs: add MappedSignatureToIdentityPlug 2019-07-18 15:38:45 +00:00
Ariadne Conill
18d8d12d53 signature: make key_id_to_actor_id() public 2019-07-18 15:35:42 +00:00
Ariadne Conill
88d064d80e http signature plug: remove redundant checks handled by HTTPSignatures library
the redundant checks assumed a POST request, which will not work for signed GETs.
this check was originally needed because the HTTPSignatures adapter assumed that
the requests were also POST requests.  but now, the adapter has been corrected.
2019-07-18 15:11:21 +00:00
kaniini
f9a0014681 Merge branch 'feature/signed-object-fetches' into 'develop'
signed object fetches

See merge request pleroma/pleroma!1446
2019-07-18 13:27:50 +00:00
Maksim
b6b748d3e7 tests for Uploader with webhook 2019-07-18 12:30:18 +00:00
Ariadne Conill
399acd4c42 fetcher: sign object fetches if configured 2019-07-17 22:58:46 +00:00
kaniini
1e48af9acf Merge branch 'feature/instance-fetch-actor' into 'develop'
instance fetch service actor

See merge request pleroma/pleroma!1440
2019-07-17 19:45:40 +00:00
kaniini
60b54ee64a Merge branch 'feature/http-signatures-keyid' into 'develop'
http signatures: derive actor from key IDs

See merge request pleroma/pleroma!1442
2019-07-17 19:44:14 +00:00
Ariadne Conill
f84fb340b7 http signatures: derive actor ID from key ID.
Almost all AP servers return their key ID as the actor URI with #main-key
added.  Hubzilla, which doesn't, uses a URL which refers to the actor
anyway, so worst case, Hubzilla users get refetched.
2019-07-17 19:18:19 +00:00
Eugenij
4bf2bb9cff Fix password reset for non-test env
Fixes `Plug.Conn.NotSentError` that causes a 5xx error in response
instead of 404 and 400.

Fixes pattern matching error caused by different response format
in test and non-test env: `Pleroma.Emails.Mailer.deliver_async` returns
:ok when PleromaJobQueue is enabled and `{:ok, _}` when it's disabled.
In tests, it's disabled.
2019-07-17 18:09:31 +00:00
Ariadne Conill
cf9cb953d5 activitypub: represent internal fetch actor 2019-07-17 17:34:57 +00:00
Ariadne Conill
d930e5d5c3 activitypub: introduce internal fetch service actor 2019-07-17 17:14:08 +00:00
Ariadne Conill
62e5ff624e user: add is_internal_user? helper function 2019-07-17 17:12:42 +00:00
Ariadne Conill
0a6f6e1b5b webfinger: allow resolution of usernames with dots in them (internal actors) 2019-07-17 16:59:29 +00:00
Ariadne Conill
a9d6a12bb3 activitypub: controller: rework the way the relay actor is presented so the code can be reused 2019-07-17 16:33:08 +00:00
Ariadne Conill
4885473be2 user: refactor get_or_create_instance_user() into get_or_create_service_actor_by_id() 2019-07-17 16:03:05 +00:00
kaniini
ce73d5f6a5 Merge branch 'feature/mention-mrf' into 'develop'
Add MRF MentionPolicy for dropping posts which mention specific actors

See merge request pleroma/pleroma!1439
2019-07-17 15:28:41 +00:00
RX14
96a2890a9e
Add MRF MentionPolicy for dropping posts which mention specific actors 2019-07-17 15:16:55 +01:00
Alexander Strizhakov
10f82c88b8 mastoapi password reset
added rate limit to password reset

configure rate limit in runtime
2019-07-16 21:44:50 +00:00
Maksim
21e3f9ac69 added tests for Pleroma.Upload.Filter 2019-07-16 21:35:43 +00:00
Sachin Joshi
18234cc44e add the rich media ttl based on image exp time 2019-07-17 00:20:34 +05:45
Ivan Tashkinov
889dc17abd [#1094] Rate-limited follow & unfollow actions. 2019-07-16 19:18:30 +03:00
Eugenij
520ee6c591 Add pleroma.deactivated to the Account entity (Mastodon API) 2019-07-16 11:14:46 +00:00
Eugenij
c4ca142e14 Add the blocked_by attribute to the relationship API (GET /api/v1/accounts/relationships) 2019-07-16 11:04:11 +00:00
Egor Kislitsyn
70439494af Fix typo 2019-07-16 14:56:07 +07:00
rinpatch
996fd58ac4 Merge branch 'bugfix/poll-id-as-string' into 'develop'
Status View: Poll ids are strings.

See merge request pleroma/pleroma!1430
2019-07-16 06:06:22 +00:00
lain
1ed24bcc76 Status View: Poll ids are strings.
All ids in mastodon are strings, in general.
2019-07-16 12:47:40 +09:00
Mark Felder
ffb4eb9779 Merge branch 'develop' into feature/matstodon-statuses-by-name 2019-07-15 17:10:27 -05:00
9f987dd017 Merge branch 'match-file-name' into 'develop'
try to always match the filename for proxy url

See merge request pleroma/pleroma!1405
2019-07-15 22:04:58 +00:00
Sergey Suprunenko
b74300bc7a Add more tests for MastodonAPIController and CommonAPI 2019-07-15 19:47:23 +00:00
Alex S
33fd4c0ed7 query fix 2019-07-15 20:53:52 +03:00
kaniini
ee5250ae56 Merge branch 'sha512-crypt' into 'develop'
detect and use sha512-crypt for stored password hash.

See merge request pleroma/pleroma!1422
2019-07-15 16:13:17 +00:00
Sachin Joshi
1d906ffa82 Merge branch 'develop' into match-file-name
# Conflicts:
#	lib/pleroma/web/media_proxy/media_proxy_controller.ex
2019-07-15 21:30:56 +05:45
Moonman
105f437ce9 formatting 2019-07-15 08:36:51 -07:00
kaniini
03c4ea44ad Merge branch 'admin-configure-atom-keys' into 'develop'
admin configure - atom keys with leading :

See merge request pleroma/pleroma!1424
2019-07-15 13:01:58 +00:00
Maksim
c32384c1ea tests for Pleroma.Signature 2019-07-15 13:01:22 +00:00
Alex S
c66044b923 atom keys with leading : 2019-07-15 11:00:55 +03:00
Egor Kislitsyn
de13c9bb8f List messages must be visible for mentioned users 2019-07-15 14:54:40 +07:00
Egor Kislitsyn
d86a97abfb Add an explanation comment to Publisher.publish/2 2019-07-15 14:20:31 +07:00
Egor Kislitsyn
64a946643e Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists 2019-07-15 14:11:54 +07:00
Egor Kislitsyn
a87c313309 Support list visibility in StatusView 2019-07-15 14:00:29 +07:00
Maksim
fa17879c20 added tests for Web.MediaProxy 2019-07-14 21:01:32 +00:00
Sergey Suprunenko
dce8ebc9ea Unfollow should also unsubscribe 2019-07-14 19:25:03 +00:00
Ariadne Conill
739bbe0d3b security: detect object containment violations at the IR level
It is more efficient to check for object containment violations at the IR
level instead of in the protocol handlers.  OStatus containment is especially
a tricky situation, as the containment rules don't match those of IR and
ActivityPub.

Accordingly, we just always do a final containment check at the IR level
before the object is added to the IR object graph.
2019-07-14 17:47:08 +00:00
Moonman
f98f7ad1b9 detect and use sha512-crypt for stored password hash. 2019-07-14 09:48:42 -07:00
kaniini
cef4337f95 Merge branch 'bugfix/llal-object-containment' into 'develop'
Object.Fetcher: Handle error on Containment.contain_origin/2

See merge request pleroma/pleroma!1414
2019-07-14 16:39:17 +00:00
Haelwenn (lanodan) Monnier
2592934480
Object.Fetcher: Keep the with-do block as per kaniini proposition 2019-07-14 17:28:25 +02:00
Haelwenn (lanodan) Monnier
e1c08a67d6
Object.Fetcher: Fallback to OStatus only if AP actually fails 2019-07-14 17:05:31 +02:00
Alexander Strizhakov
e7c39b7ac8 Feature/1072 muting notifications 2019-07-14 13:29:31 +00:00
Haelwenn (lanodan) Monnier
40d0a198e2
Object.Fetcher: Handle error on Containment.contain_origin/2 2019-07-14 14:58:47 +02:00
Alex S
f4447d82b8 parsers configurable 2019-07-14 09:21:56 +03:00
rinpatch
0c2dcb4c69 Add follow information refetching after following/unfollowing 2019-07-14 01:58:39 +03:00
rinpatch
183da33e00 Add tests for fetch_follow_information_for_user and check object type
when fetching the page
2019-07-14 00:56:02 +03:00
Maxim Filippov
418ae6638d Merge branch 'develop' into feature/admin-api-user-statuses 2019-07-14 00:39:06 +03:00
Maxim Filippov
a9459ff98f Admin API: Endpoint for fetching latest user's statuses 2019-07-14 00:37:26 +03:00
rinpatch
d06d1b751d Use atoms when updating user info 2019-07-14 00:21:35 +03:00
rinpatch
e5b850a991 Refactor fetching follow information to a separate function 2019-07-13 23:56:10 +03:00
Ariadne Conill
80c46d6d8b nodeinfo: implement MRF transparency exclusions 2019-07-13 18:53:14 +00:00
rinpatch
e8fa477793 Refactor Follows/Followers counter syncronization
- Actually sync counters in the database instead of info cache (which got
overriden after user update was finished anyway)
- Add following count field to user info
- Set hide_followers/hide_follows for remote users based on http status
codes for the first collection page
2019-07-13 19:27:49 +03:00
kaniini
f4c001062e Merge branch '1041-status-actions-rate-limit' into 'develop'
Rate-limited status actions (per user and per user+status).

Closes #1041

See merge request pleroma/pleroma!1410
2019-07-13 14:17:17 +00:00
Ivan Tashkinov
d72876c57d [#1041] Minor refactoring. 2019-07-13 15:21:50 +03:00
Haelwenn
9497d14f09 Merge branch 'fix/hackney-global-options' into 'develop'
Merge the default options with custom ones in ReverseProxy and Pleroma.HTTP and workaround for remote server certificate chain issues

See merge request pleroma/pleroma!1409
2019-07-13 11:55:09 +00:00
Ivan Tashkinov
369e9bb42f [#1041] Rate-limited status actions (per user and per user+status). 2019-07-13 14:49:39 +03:00
rinpatch
b001b8891a Merge the default options with custom ones in ReverseProxy and
Pleroma.HTTP
2019-07-12 23:52:26 +03:00
rinpatch
095117a58c Merge branch 'develop' into fix/ap-hide-follows 2019-07-12 21:43:06 +03:00
rinpatch
97b79efbcd ActivityPub Controller: Actually pass for_user to following/followers
views and give 403 errors when trying to request hidden follower pages
when unauthenticated
2019-07-12 20:54:20 +03:00
Sachin Joshi
f8e3ae6154 try to always match the filename for proxy url 2019-07-12 22:56:14 +05:45
Maksim
92055941bd Pleroma.Web.Metadata - tests 2019-07-12 16:42:54 +00:00
rinpatch
1f6ac7680d ActivityPub User view: Following/Followers refactoring
- Render the collection items if the user requesting == the user
rendered
- Do not render the first page if hide_{followers,follows} is set, just
give the URI to it
2019-07-12 19:41:55 +03:00
Mark Felder
360e4cdaa2 Move these to pleroma namespace in Mastodon API 2019-07-12 11:25:58 -05:00
Sachin Joshi
6a6c4d134b preserve the original path/filename (no encoding/decoding) for proxy 2019-07-12 21:05:01 +05:45
Eugenij
4198c3ac39 Extend Pleroma.Pagination to support offset-based pagination, use async/await to execute status and account search in parallel 2019-07-11 13:55:31 +00:00