Commit graph

3529 commits

Author SHA1 Message Date
William Pitcock
0159a6dbe9 router: require oauth_read for searching
Search calls are generally expensive and allow unauthenticated users to
crawl the instance for user profiles or posts which contain specified
keywords.  An adversary can build a distributed search engine which not
only will consume significant instance resources, but also can be used
for undesirable purposes such as datamining.

Accordingly, require authenticated access to use the search API endpoints.
This acts as a nice balance as it allows guest users to make use of most
functionality available in Pleroma FE while ensuring that Pleroma
instances are reasonably protected from resource exhaustion.  It also
removes Pleroma as a potential vector in distributed search engines.
2019-05-29 10:58:45 +00:00
jeff
9f3bcf0efe Respect proxy settings federation 2019-05-28 06:49:53 +00:00
lambda
5bb843ceec Merge branch 'refactor/die-httpoison-die' into 'develop'
remove @httpoison, @ostatus and @websub compile-time constants

See merge request pleroma/pleroma!1203
2019-05-26 13:33:11 +00:00
William Pitcock
79503ce90f mrf: simple policy: fix matching imported activitypub and ostatus statuses 2019-05-26 02:01:24 +00:00
William Pitcock
750ede5764 notification: remove local/remote match rules (too complicated) 2019-05-26 00:05:47 +00:00
William Pitcock
e7e2e7a1a6 user info: allow formdata for notification settings like every other API 2019-05-25 05:54:02 +00:00
William Pitcock
59a703fcbe twitter api: user view: expose user notification settings under pleroma object 2019-05-25 05:31:13 +00:00
William Pitcock
4030837d91 notification: add non_follows/non_followers notification control settings 2019-05-25 05:19:47 +00:00
William Pitcock
56fd7dbdd7 remove @websub and @ostatus module-level constants 2019-05-25 04:43:11 +00:00
William Pitcock
9bec891eb4 kill @httpoison 2019-05-25 04:24:21 +00:00
Aaron Tinio
9415932af5 Keep nodeinfo available when not federating 2019-05-25 08:15:12 +08:00
Sergey Suprunenko
bbea5691da Mention all people in the beginning of DM 2019-05-24 20:34:23 +00:00
feld
f916e4cdd9 Move the Cache Control header test to its own file
We can consolidate our cache control header tests here
2019-05-24 20:33:55 +00:00
rinpatch
8b2d39c1ec Change the order of preloading when fetching activities for context 2019-05-23 14:03:16 +03:00
rinpatch
e6b175ed6c Fix credo issues 2019-05-22 21:57:46 +03:00
William Pitcock
baf72d6c58 mrf: simple policy: add the ability to strip avatars and banners from user profiles 2019-05-22 18:53:12 +00:00
William Pitcock
60f882b09f activitypub: run user objects through MRF filters 2019-05-22 18:53:12 +00:00
William Pitcock
75b6c4b004 mrf: defang policy modules for filtering user profile objects 2019-05-22 18:53:12 +00:00
rinpatch
ac7702f800 Exclude Answers from fetching by default 2019-05-22 21:52:12 +03:00
rinpatch
19c90d47c4 Normalize poll votes to Answer objects 2019-05-22 21:17:57 +03:00
Maksim
620908a2db [#699] add worker to clean expired oauth tokens 2019-05-22 15:44:50 +00:00
lambda
714d8d4ef9 Merge branch 'feature/object-pruning' into 'develop'
Object pruning

See merge request pleroma/pleroma!1181
2019-05-22 11:04:30 +00:00
lambda
ff363f70b5 Merge branch 'refactor/keys' into 'develop'
move key generation functions into Pleroma.Keys module

See merge request pleroma/pleroma!1186
2019-05-22 06:28:16 +00:00
William Pitcock
1344c85e2f salmon: fix credo 2019-05-22 05:58:51 +00:00
rinpatch
cdac5efd10 Merge branch 'bugfix/account_view_source.note' into 'develop'
MastoAPI AccountView: fill source.note with plaintext version of note

Closes #926

See merge request pleroma/pleroma!1189
2019-05-22 05:39:01 +00:00
Haelwenn (lanodan) Monnier
0e2c215a00
MastoAPI AccountView: fill source.note with plaintext version of note
Closes: https://git.pleroma.social/pleroma/pleroma/issues/926
2019-05-22 07:22:19 +02:00
kaniini
79c2cef2fb Merge branch 'mongooseim-support' into 'develop'
MongooseIM: Add basic integration endpoints.

See merge request pleroma/pleroma!1172
2019-05-22 04:06:54 +00:00
kaniini
ab6e15622b Merge branch 'fix/api-fallback' into 'develop'
Do not fallback to index.html for /api/* routes

Closes #920

See merge request pleroma/pleroma!1182
2019-05-22 04:05:41 +00:00
Sergey Suprunenko
9134848170 Do not truncate DM when it contains newlines and safe_dm_mentions is set to true 2019-05-22 04:04:20 +00:00
William Pitcock
045803346d move key generation functions into Pleroma.Keys module 2019-05-22 03:58:15 +00:00
Aaron Tinio
3ab9255eda Respond with a 404 Not implemented JSON error message
when requested API is not implemented
2019-05-22 07:15:52 +08:00
William Pitcock
73df9d690d object: fetcher: add support for reinjecting pruned objects 2019-05-21 21:38:56 +00:00
William Pitcock
c2b0b82e6a object: add Object.prune() 2019-05-21 21:38:56 +00:00
rinpatch
63b0b7190c MastoAPI: Add GET /api/v1/polls/:id 2019-05-21 20:40:35 +03:00
rinpatch
ff61d34502 Accept question objects for conversations 2019-05-21 17:33:54 +03:00
rinpatch
5f67c26baf Accept strings in expires_in because sasuga javascript 2019-05-21 17:30:51 +03:00
rinpatch
0407ffe75f Change validation error status codes to be more appropriate 2019-05-21 17:12:38 +03:00
rinpatch
ee68244141 Do not stream out poll replies 2019-05-21 16:58:15 +03:00
rinpatch
d7c4d029c8 Restrict poll replies when fetching activiites for context 2019-05-21 14:35:20 +03:00
rinpatch
f28747858b Actual vote count in poll view 2019-05-21 14:27:09 +03:00
rinpatch
a53d062730 Fix posting non-polls from mastofe 2019-05-21 14:19:03 +03:00
rinpatch
aafe30d94e Handle poll votes 2019-05-21 14:12:10 +03:00
rinpatch
3f96b3e4b8 Enforce poll limits and add error handling for MastodonAPI's post endpoint 2019-05-21 10:54:20 +03:00
rinpatch
76a7429bef Add poll limits to /api/v1/instance and initial state 2019-05-21 09:13:10 +03:00
kaniini
be6b57193a Merge branch 'trivial/increase-hackney-timeouts' into 'develop'
http: bump connection timeout to 10 seconds

See merge request pleroma/pleroma!1183
2019-05-21 05:15:29 +00:00
William Pitcock
c972d0bb14 http: bump connection timeout to 10 seconds 2019-05-21 04:59:15 +00:00
kaniini
94caca924d Merge branch 'fix/prometheus-ecto-error-when-not-configured' into 'develop'
Fix prometheus-ecto error when not configured

Closes #917

See merge request pleroma/pleroma!1180
2019-05-21 01:36:06 +00:00
kaniini
d4847b17ca Merge branch 'refactor/add-virtual-thread-muted-field' into 'develop'
Add virtual :thread_muted? field

Closes #901

See merge request pleroma/pleroma!1178
2019-05-20 23:30:19 +00:00
Aaron Tinio
f96e9b28bb Fix prometheus-ecto error when not configured 2019-05-21 07:30:18 +08:00
Aaron Tinio
eb02edcad9 Add virtual :thread_muted? field
that may be set when fetching activities
2019-05-21 00:35:46 +08:00
Sadposter
daeae8e2e7
Move default mascot configuration to config/ 2019-05-20 16:12:55 +01:00
Sadposter
3d0d9e7a56
Use string map for default mascot 2019-05-20 13:10:04 +01:00
Sadposter
e81f0fc6d4
Add mascot get/set tests 2019-05-20 12:58:06 +01:00
Sadposter
54e9cb5c2d
Add API endpoints for a custom user mascot 2019-05-20 12:39:23 +01:00
Aaron Tinio
2375e9a95b Add report filtering to MRF.SimplePolicy 2019-05-20 06:02:50 +08:00
rinpatch
6430cb1bf7 Restrict poll replies from fetch queries by default 2019-05-19 17:44:18 +03:00
rinpatch
1d90f9b969 Remove tags/mentions/rich text from poll options because Mastodon and
add custom emoji
2019-05-19 17:06:44 +03:00
rinpatch
5ece901af3 Resolve merge conflicts and remove IO.inspects 2019-05-18 13:37:38 +03:00
rinpatch
fd920c8973 Mastodon API: Add support for posting polls 2019-05-18 13:29:28 +03:00
rinpatch
8e9a764dfc Merge branch 'feature/mrf-always-nsfw' into 'develop'
suppress link previews from posts marked sensitive

Closes #865

See merge request pleroma/pleroma!1173
2019-05-18 07:13:18 +00:00
William Pitcock
c4a55e167a add Changelog entry 2019-05-17 23:00:14 +00:00
William Pitcock
dc08159538 also suppress link previews from posts marked #nsfw 2019-05-17 22:13:24 +00:00
William Pitcock
290f5b2cfe config: make sending the user agent configurable, disable sending the user agent in tests 2019-05-17 20:28:58 +00:00
William Pitcock
d3b8cd342f http: request builder: send user-agent when making requests 2019-05-17 19:04:17 +00:00
William Pitcock
0da1233e8e rich media: suppress link previews if post is marked as sensitive 2019-05-17 18:49:43 +00:00
William Pitcock
78588dbd80 mrf: simple policy: mark all posts instead of posts with media as sensitive if they match media_nsfw 2019-05-17 18:49:10 +00:00
lain
075eecec90 Linting. 2019-05-17 18:32:30 +02:00
lain
f959bf7aa6 MongooseIM: Add basic integration endpoints. 2019-05-17 18:21:11 +02:00
lain
412a3d8a0f Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into rum-index 2019-05-17 12:26:59 +02:00
lambda
e5b34f5e05 Merge branch 'ecto_sql_update' into 'develop'
Dependencies: Update Ecto SQL.

See merge request pleroma/pleroma!1160
2019-05-17 10:21:38 +00:00
lambda
1dcdcd8871 Merge branch 'bugfix/903-mastoapi-relationship-requested' into 'develop'
MastoAPI account_view.ex: requested is false when following is true

Closes #903

See merge request pleroma/pleroma!1169
2019-05-17 10:07:51 +00:00
lambda
46684db84d Update account_view.ex 2019-05-17 09:53:44 +00:00
lain
249b31ffe5 Fix specs. 2019-05-17 11:49:13 +02:00
rinpatch
642a67dd44 Render polls in statuses 2019-05-17 11:44:47 +03:00
Alexander Strizhakov
7ed682213f Fix/902 random compile failing 2019-05-17 07:25:20 +00:00
Haelwenn (lanodan) Monnier
68c75a08e8
MastoAPI account_view.ex: requested is false when following is true
Closes: https://git.pleroma.social/pleroma/pleroma/issues/903
2019-05-17 07:44:09 +02:00
Aaron Tinio
70235ce840 Fix typo: s/"tags"/"tag"/g 2019-05-17 09:02:34 +08:00
kaniini
bf84d50c76 Merge branch 'feature/890-add-report-uri' into 'develop'
Feature/890 add report uri

Closes #890

See merge request pleroma/pleroma!1164
2019-05-16 20:11:12 +00:00
Sergey Suprunenko
2c303afc8b Remove duplicated entries in users' following lists 2019-05-16 20:04:08 +00:00
Sergey Suprunenko
e2b3a27204 Add Reports to Admin API 2019-05-16 19:09:18 +00:00
feld
e190b3022b Merge branch 'fix/domain-unblocked-reblogs' into 'develop'
Fix domain-unblocked reblogs

Closes #892

See merge request pleroma/pleroma!1157
2019-05-16 18:57:14 +00:00
Mark Felder
ebb0482116 Merge branch 'develop' into conversations-import 2019-05-16 13:11:17 -05:00
lambda
fde30aee43 Merge branch 'feature/sql-thread-sat' into 'develop'
SQL thread visibility solver

See merge request pleroma/pleroma!971
2019-05-16 13:44:22 +00:00
Alexander Strizhakov
73ae58fdfa Feature/896 toggling confirmation 2019-05-16 13:23:41 +00:00
Alex S
9d14214eb9 Merge branch 'develop' into feature/890-add-report-uri 2019-05-16 12:54:06 +07:00
Alex S
aa11fa4864 add report uri and report to 2019-05-16 12:49:40 +07:00
William Pitcock
c31026423c publisher: use the correct queue name for outgoing federation 2019-05-16 04:41:27 +00:00
Aaron Tinio
793f1834d2 Use named binding to conditionally join object 2019-05-16 06:25:14 +08:00
Aaron Tinio
2b6119dfbf Restrict reblogs of activities from blocked domains 2019-05-16 05:53:51 +08:00
rinpatch
62e42b03ab Handle incoming Question objects 2019-05-15 20:10:16 +03:00
William Pitcock
a591ab6112 activity pub: remove Ecto SQL query dumps 2019-05-15 16:56:46 +00:00
William Pitcock
f09c3afdf5 chase test failures 2019-05-15 16:23:01 +00:00
William Pitcock
0aada88b55 bbs: chase timeline containment patch 2019-05-15 16:02:15 +00:00
William Pitcock
31db31c587 activitypub: visibility: use SQL thread_visibility() function instead of manually walking the thread 2019-05-15 15:54:10 +00:00
William Pitcock
de114ffbb0 activitypub: remove contain_timeline() 2019-05-15 15:53:06 +00:00
William Pitcock
0387f52138 activitypub: add restrict_thread_visibility() 2019-05-15 15:53:06 +00:00
lain
f168a1cbdc Merge remote-tracking branch 'origin/develop' into conversations-import 2019-05-15 17:47:29 +02:00
kaniini
62516be9c4 Merge branch 'fix/public-option-not-working' into 'develop'
Fix public option not working

Closes #873

See merge request pleroma/pleroma!1143
2019-05-15 15:42:21 +00:00
lambda
4440e23547 Merge branch 'chore/extricate-http-signatures' into 'develop'
switch to pleroma/http_signatures library

See merge request pleroma/pleroma!1155
2019-05-15 15:37:31 +00:00
lain
7a92e701b9 CommonAPI: Visibility refactor. 2019-05-15 16:35:33 +02:00
lain
cbb3451023 CommonAPI: Refactor visibility, forbid public to private replies. 2019-05-15 16:30:08 +02:00
lain
f1e67bdc31 Search: Add optional rum indexing / searching. 2019-05-15 15:28:01 +02:00
Sachin Joshi
ee22fff5ac remove deprecated PleromaFE configuration 2019-05-15 15:29:59 +05:45
Aaron Tinio
70c81b95d0 Pipe requests to public endpoints through EnsurePublicOrAuthenticatedPlug 2019-05-15 05:09:32 +08:00
Aaron Tinio
7b8dc99ef1 Implement Pleroma.Plugs.EnsurePublicOrAuthenticated 2019-05-15 05:09:29 +08:00
William Pitcock
071f78733a switch to pleroma/http_signatures library 2019-05-14 20:03:13 +00:00
Mark Felder
1caa6331ea Group def perform() together to fix the build 2019-05-14 12:33:03 -05:00
lambda
fa4bd898f1 Merge branch 'fix/gopher' into 'develop'
gopher: fix rendering of post content (closes #895)

Closes #895

See merge request pleroma/pleroma!1150
2019-05-14 15:41:37 +00:00
William Pitcock
51325fd60c gopher: fix rendering of post content (closes #895) 2019-05-14 15:35:06 +00:00
lambda
692919c7d2 Merge branch 'refactor/use-job-queue-everywhere' into 'develop'
use job queue everywhere

Closes #862

See merge request pleroma/pleroma!1142
2019-05-14 15:27:34 +00:00
William Pitcock
ac3a3abf6b clean up follow/block imports a little 2019-05-14 15:07:38 +00:00
kaniini
dfd031c26a Merge branch 'fix/pleroma-config-get-when-value-is-false' into 'develop'
Fix Pleroma.Config.get!/1 raising an error when value is false

See merge request pleroma/pleroma!1148
2019-05-14 14:58:45 +00:00
Maksim
52297920e7 Refactoring oauth response. 2019-05-14 14:49:45 +00:00
Egor Kislitsyn
b92c004ea8 Reuse query from User.restrict_deactivated/1 2019-05-14 18:29:10 +07:00
Egor Kislitsyn
5e2b491276 Merge remote-tracking branch 'pleroma/develop' into feature/disable-account 2019-05-14 18:15:56 +07:00
Aaron Tinio
a18b2c0b12 Fix Pleroma.Config.get!/1 raising an error when value is false 2019-05-14 06:40:59 +08:00
Mark Felder
bbacdf2352 Bump Mastodon API level 2019-05-13 15:52:16 -05:00
Mark Felder
498bfdf403 Switch to Jason over Poison 2019-05-13 15:37:38 -05:00
William Pitcock
69a9e0563c user: migrate follow/blocks import to job queue 2019-05-13 19:36:00 +00:00
William Pitcock
57d11ac9db activitypub: move post rich media fetching to job queue 2019-05-13 19:36:00 +00:00
William Pitcock
32d4630c9c user: move initial post fetching to job queue 2019-05-13 19:36:00 +00:00
lambda
b14a314ce7 Merge branch 'feature/federator-behaviours' into 'develop'
federator modularization (outgoing)

See merge request pleroma/pleroma!1140
2019-05-13 18:58:04 +00:00
Alexander Strizhakov
a2be420f94 differences_in_mastoapi_responses.md: fullname & bio are optionnal
[ci skip]
2019-05-13 18:35:45 +00:00
Sachin Joshi
7701a4c841 Make irreversible field default to false in filters 2019-05-14 00:13:15 +05:45
William Pitcock
44b182732e nodeinfo: gather supported protocol names from federation modules 2019-05-12 19:15:29 +00:00
William Pitcock
28f7f4c6de webfinger: build the response based on enabled federation modules 2019-05-12 19:05:03 +00:00
William Pitcock
55fa4b812a federator: websub removal 2019-05-12 05:04:24 +00:00
William Pitcock
c23276a59a activitypub: publisher: fixups 2019-05-12 05:04:24 +00:00
William Pitcock
fedaca15a3 websub: adapt to work as a federator publishing module 2019-05-12 05:04:24 +00:00
William Pitcock
179293e51c salmon: refactor to work as a federator publishing module 2019-05-12 05:04:21 +00:00
William Pitcock
2aee62a456 federator: publisher: only attempt publishing if we know the activity is representable 2019-05-12 05:04:16 +00:00
William Pitcock
69158f1065 ostatus: only as:Public activities are representable 2019-05-12 05:04:16 +00:00
William Pitcock
85377c0b67 federator: move activitypub relaying to the AP publisher module 2019-05-12 05:04:16 +00:00
William Pitcock
676752bb83 federator: hook up Publisher.publish() 2019-05-12 05:04:16 +00:00
William Pitcock
f7a6a37c4e federator: remove no longer used :publish_single_ap 2019-05-12 05:04:16 +00:00
William Pitcock
10695a28d2 federator: publisher: add publish() wrapper 2019-05-12 05:04:16 +00:00
William Pitcock
0afc8d7856 federator: publisher: integrate job queue, simplify publish_one logic 2019-05-12 05:04:16 +00:00
William Pitcock
ef1f9e8d4e activitypub: split out outgoing federation into a federation module 2019-05-12 05:04:11 +00:00
William Pitcock
e7d292f80e federator: add publisher module defining a contract for publishing behaviours 2019-05-12 03:08:50 +00:00
rinpatch
b9f84a382a Normalize the object only after ensuring the activity type is Create 2019-05-12 03:01:42 +03:00
kaniini
131f883207 Merge branch 'fix/ostatus-activity-representer-depends-on-emebeded-objects' into 'develop'
Fix get_in_reply_to in OStatus' activity representer depending on embedded objects

See merge request pleroma/pleroma!1129
2019-05-11 16:52:26 +00:00
lain
01c45ddc9e Search: Use RUM index. 2019-05-11 11:26:46 +02:00
Sachin Joshi
f01f995816 make url uniform in admin api 2019-05-11 14:46:00 +05:45
feld
c953ae8c3d Initial bundle of basic AdminFE
Due to CSP headers we only allow connecting to self. If you want to
host AdminFE on a separate domain without CSP headers you will be able
to connect to any public Pleroma host.
2019-05-11 01:34:17 +00:00
rinpatch
1d78e42fd4 Remove get_in_reply_to calls in some functions because the result is unused and it does not have any side-effects 2019-05-10 13:49:34 +03:00
Francis Dinh
2a54e8c1f5 Use "repeated" instead of "retweeted" for repeated statuses in Twitter API
This makes it consistent with the language used in Pleroma FE (at least
in English).

Resolves https://git.pleroma.social/pleroma/pleroma-fe/issues/533
2019-05-09 19:58:34 -04:00
rinpatch
e4523c3010 Fix get_in_reply_to in OStatus' activity representer depending on embedded objects 2019-05-09 22:27:00 +03:00
lain
a33bec7d58 Conversations: Import order, import as read. 2019-05-09 16:39:28 +02:00
lain
e6d7f8d223 Credo fixes. 2019-05-08 18:19:20 +02:00
lain
6d19bb4eae Conversations: Add mix task to 'import' old DMs. 2019-05-08 18:09:07 +02:00