Commit graph

436 commits

Author SHA1 Message Date
Matthias Pfefferle
17b66cb23d implement cleanup_followers and update_followers 2023-05-10 14:18:56 +02:00
Matthias Pfefferle
74be5d6b51 implemented feedback of @akirk 2023-05-10 09:04:33 +02:00
Matthias Pfefferle
ca8aff1823 cast to bool, to be sure that '0' is false 2023-05-09 12:25:25 +02:00
Matthias Pfefferle
b88c5f606d fixed copy/paste issue 2023-05-09 12:17:48 +02:00
Matthias Pfefferle
c872cb69d0 remove var_dump :( 2023-05-09 12:13:35 +02:00
Matthias Pfefferle
180e882c4a generate key if not existent 2023-05-09 12:12:05 +02:00
Matthias Pfefferle
96953dfc7e fail early and always return $response as fallback 2023-05-09 11:57:43 +02:00
Matthias Pfefferle
c42edfce68 use WP_Error 2023-05-09 11:51:53 +02:00
Matthias Pfefferle
378f5dacdc fix issue with missing array 2023-05-09 11:32:26 +02:00
Matthias Pfefferle
4abd5aefb4 cache inbox list 2023-05-09 10:28:23 +02:00
Matthias Pfefferle
f64a765129 phpdoc fixes 2023-05-09 10:08:51 +02:00
Matthias Pfefferle
6d96daa635 fix NodeInfo check 2023-05-08 21:05:20 +02:00
Django Doucet
abedf014ae remove redundant 2023-05-05 23:56:39 -06:00
Django Doucet
afafdf1543 Add get_remote_key method 2023-05-05 23:54:29 -06:00
Django Doucet
dc8e1e0f3e fix request-target route,
remove $actor from verify_http_signature
2023-05-05 23:50:49 -06:00
Django Doucet
0d5c249eaf remove user_id variable from activitypub_safe_remote_get_response 2023-05-05 23:44:55 -06:00
Django Doucet
f79200ef27 make webfinger route available unsigned 2023-05-05 23:44:15 -06:00
Django Doucet
b0edf9a765 removing logging 2023-05-05 14:43:05 -06:00
Django Doucet
3d4ae84573 Add secure mode to content negotiated requests 2023-05-05 14:40:30 -06:00
Django Doucet
9202c19730 Add secure mode to REST get requests 2023-05-05 14:39:33 -06:00
Django Doucet
6c95a23d10 phpcbf 2023-05-05 13:45:38 -06:00
Django Doucet
0b4bada2b6 enable secure mode 2023-05-05 13:24:59 -06:00
Django Doucet
656a2b0f44 remove unneeded filter 2023-05-05 13:22:47 -06:00
Django Doucet
14f3c3985b code style 2023-05-05 13:00:21 -06:00
Django Doucet
9d30f2c1dd phpcbf 2023-05-05 12:55:12 -06:00
Django Doucet
c5ca061805 Add helper format_server_request 2023-05-05 12:53:43 -06:00
Django Doucet
35496f5026 get_public_key support application actor 2023-05-05 12:52:24 -06:00
Django Doucet
e827221ee6 service actor as application actor 2023-05-05 12:09:12 -06:00
Django Doucet
27636b62d5 Add Service actor for signing get requests 2023-05-05 12:02:12 -06:00
Django
2bebc88b78
fix undefined get_remote_metadata_by_actor
Not tested
2023-05-05 11:47:52 -06:00
Django Doucet
3a0fef27e0 Merge branch 'master' into signature_verification 2023-05-05 09:54:16 -06:00
Django Doucet
6b68f0763d hold off secure mode 2023-05-05 07:49:27 -06:00
Matthias Pfefferle
6ba8156e50 fix #320 2023-05-05 14:40:17 +02:00
Matthias Pfefferle
8aa3f53dbd no need to use Followers any more 2023-05-05 10:22:01 +02:00
Matthias Pfefferle
e57dd0590d
Merge branch 'master' into signature_verification 2023-05-05 10:15:26 +02:00
Matthias Pfefferle
77112c441f formatting 2023-05-05 09:57:47 +02:00
Jeremy Herve
a914495215
Profile settings: use string instead of constant
Follow-up from #304

Since we do not use a constant anywhere else just yet, let's keep using a string in the settings page.
2023-05-05 09:35:21 +02:00
Jeremy Herve
c7dc55047d
Merge pull request #309 from jeherve/update/jetpack-photon-filter 2023-05-04 18:02:10 +02:00
Matthias Pfefferle
f1eb095add
Merge branch 'master' into schedule 2023-05-04 15:18:02 +02:00
Matthias Pfefferle
cec4ed2e3f init follower update scheduler 2023-05-04 15:17:05 +02:00
Matthias Pfefferle
26e5a1d3f6
Merge branch 'master' into rewrite-followers 2023-05-04 09:33:55 +02:00
Matthias Pfefferle
e489a04880 remove unused constants 2023-05-04 09:32:52 +02:00
Matthias Pfefferle
144356bf8a remove unused second param 2023-05-04 08:50:44 +02:00
Matthias Pfefferle
f07869c7d1 be sure to always update date 2023-05-03 15:11:20 +02:00
Matthias Pfefferle
7127b0a568 oops 2023-05-03 14:54:34 +02:00
Matthias Pfefferle
72f72e79b8 use custom (more error tolerant) version for migration 2023-05-03 14:50:36 +02:00
Matthias Pfefferle
be0f25f3d3 fail if get_remote_metadata_by_actor returns error
because it is not even possible to send `Accept` or `Reject` response.
2023-05-03 14:50:16 +02:00
Matthias Pfefferle
dea5f38561 better error handling 2023-05-02 14:39:25 +02:00
Matthias Pfefferle
077c43bf95 single migration scripts should not be public 2023-05-02 14:35:53 +02:00
Matthias Pfefferle
66942e6c62 fix error detection 2023-05-02 13:54:21 +02:00
Matthias Pfefferle
958b712e5b Merge branch 'signature_verification' of https://github.com/mediaformat/wordpress-activitypub into pr/299 2023-05-02 09:50:11 +02:00
Matthias Pfefferle
857fae9db1 serve_request is not needed any more
this was only for handling the signing, so no more need for that
2023-05-02 09:50:08 +02:00
Matthias Pfefferle
654cdd4174
Update includes/class-migration.php
Co-authored-by: Alex Kirk <akirk@users.noreply.github.com>
2023-05-02 09:37:11 +02:00
Matthias Pfefferle
725fc0cecd fix function call 2023-05-02 09:29:29 +02:00
Matthias Pfefferle
22946ec779 change migration script to match plugin version
/cc @akirk
2023-05-02 09:27:35 +02:00
Matthias Pfefferle
be73f99b59
Update includes/class-migration.php
Co-authored-by: Alex Kirk <akirk@users.noreply.github.com>
2023-04-28 18:13:59 +02:00
Matthias Pfefferle
9cd33ad544
Update includes/class-migration.php
Co-authored-by: Alex Kirk <akirk@users.noreply.github.com>
2023-04-28 18:13:16 +02:00
Matthias Pfefferle
a673504d36
Merge branch 'master' into rewrite-followers 2023-04-28 17:38:30 +02:00
Matthias Pfefferle
7c47f9a07c clean up admin settings 2023-04-28 15:12:30 +02:00
Matthias Pfefferle
02e0acdf69 fix indents 2023-04-28 14:39:33 +02:00
Matthias Pfefferle
9966427fd3
Merge branch 'master' into feature/165/fediverse-biography 2023-04-28 14:36:17 +02:00
Matthias Pfefferle
f2355cd960 fix typo 2023-04-28 11:23:40 +02:00
Matthias Pfefferle
5ef41dea02 schedule migration because it takes quite some time 2023-04-28 09:54:09 +02:00
Matthias Pfefferle
fb3d6d2634 fix phpcs 2023-04-27 14:49:39 +02:00
Matthias Pfefferle
b97d364140
Merge pull request #311 from pfefferle/ignore-www
ignore `www` subdomain when comparing hosts
2023-04-27 14:46:06 +02:00
Matthias Pfefferle
02e3488fd7 remove debugging stuff 2023-04-27 14:45:38 +02:00
Matthias Pfefferle
230aaa5b24 prepare migration 2023-04-27 14:34:54 +02:00
Matthias Pfefferle
ec822535c9 Follower object should not make any remote calls 2023-04-27 09:57:50 +02:00
Matthias Pfefferle
b8c86915b5 add missing phpdoc 2023-04-26 17:24:27 +02:00
Matthias Pfefferle
0ee1266c30 add sanitize callbacks 2023-04-26 17:23:28 +02:00
Matthias Pfefferle
4a4a06de37 get_follower requires user_id check 2023-04-26 17:22:44 +02:00
Jeremy Herve
bd75603fc7
Remove comment about Jetpack's Photon 2023-04-26 10:47:49 +02:00
Jeremy Herve
e16e119e6c
Switch to general actions and filter
As a result, we will not modify the images within the ActivityPub plugin, but the hooks will allow third-parties to do it on their end.

See discussion: https://github.com/pfefferle/wordpress-activitypub/pull/309#issuecomment-1521488186
2023-04-26 10:45:35 +02:00
Matthias Pfefferle
c70080a0c6
Merge pull request #312 from akirk/protect-img-tags
Protect img tags from replacing mentions
2023-04-26 10:11:15 +02:00
Alex Kirk
98619dc319 Protect img tags from replacing mentions 2023-04-26 10:08:22 +02:00
Matthias Pfefferle
ca646588d2 ignore www subdomain when comparing hosts
fix #290
2023-04-25 20:44:54 +02:00
Matthias Pfefferle
d1f6973d9b re-add mention functionality
not perfect but works as expected
2023-04-25 11:59:08 +02:00
Jeremy Herve
da63763ddc
Compat: only disable Jetpack's image CDN via filter
This follows the discussion in #307.

1. Do not disable Jetpack's image CDN in ActivityPub requests by default.
2. Add a new filter, activitypub_images_use_jetpack_image_cdn, that site owners can use to disable Jetpack's Image CDN if they'd like to.
3. Extract image getting into its own method for improved readability.
2023-04-25 10:54:21 +02:00
Matthias Pfefferle
764a091046 fix unit tests 2023-04-25 09:31:28 +02:00
Matthias Pfefferle
377fc94161 php doc 2023-04-25 09:09:07 +02:00
Matthias Pfefferle
84a82c2ac4 added follower model 2023-04-24 20:46:51 +02:00
Jeremy Herve
56d2b7e8be
Update to handle both old and new versions of Jetpack
See https://github.com/Automattic/jetpack/pull/30050/
2023-04-24 09:51:08 +02:00
Jeremy Herve
3f4c44db05
Compatibility: do not serve images with Jetpack CDN when active
When Jetpack's image CDN is active, core calls to retrieve images return an image served by the CDN.

Since Fediverse instances usually fetch and cache the data themselves, we do not need to use the CDN for those images when returned by the ActivityPub plugin. In fact, we really do not want that to happen, as Fediverse instances may get errors when trying to fetch images from the CDN (they may get blocked / rate-limited / ...).

Let's hook into Jetpack's CDN to avoid that.
2023-04-24 09:51:08 +02:00
Matthias Pfefferle
47dc2f72d1 fix "bulk replace" issue 2023-04-24 09:49:06 +02:00
Matthias Pfefferle
77415ef510 Remove "(Fediverse)" 2023-04-23 22:57:03 +02:00
Matthias Pfefferle
28c077e422 Add URL 2023-04-23 22:56:45 +02:00
Django Doucet
b641cb03f3 fix phpcs 2023-04-21 16:16:52 -06:00
Django Doucet
023ba25f38 PHPDoc 2023-04-21 15:27:02 -06:00
Django Doucet
f396c6da4e Optimize verification code and returns WP_Errors 2023-04-21 15:25:39 -06:00
Alex Kirk
4ed4d06fd5 Add comment 2023-04-21 17:41:04 +02:00
Django Doucet
7dbce74a96 ensure signature block has algorithm 2023-04-21 09:36:17 -06:00
Alex Kirk
45ae73bb06 Add Vary header 2023-04-21 17:20:48 +02:00
Django Doucet
1631f1c7dc fix rest api endpoint 2023-04-21 09:18:24 -06:00
Django Doucet
d23ff46073 fix merge omission 2023-04-21 08:45:10 -06:00
Matthias Pfefferle
ef536cc977 verify requests 2023-04-21 16:40:46 +02:00
Matthias Pfefferle
ebc9b6ac8d naming improvements 2023-04-21 16:34:47 +02:00
Matthias Pfefferle
3c86e94d9a remove followers 2023-04-21 16:25:15 +02:00
Matthias Pfefferle
32194c31df phpDoc 2023-04-21 15:57:49 +02:00
Matthias Pfefferle
734750b796 use collection also for rest endpoints 2023-04-21 15:57:41 +02:00
Matthias Pfefferle
75e9b1e281 deprecate old functions 2023-04-21 15:57:21 +02:00