Jason Robinson
579a9e7bf7
Add cc "fid" to outbound activitypub payloads
2019-06-22 02:15:24 +03:00
Jason Robinson
c0cb4cb949
Add some debug to rfc7033_webfinger_view generator
...
Some AP platforms seem to be making some weird requests.
2019-06-22 02:13:20 +03:00
Jason Robinson
36ad691ccd
Add "to" to "object" in outbound AP payloads, if object is a dict
2019-06-22 01:31:50 +03:00
Jason Robinson
d4cbbc5e77
Add endpoint to handle_send recipients dictionary
2019-06-21 01:33:16 +03:00
Jason Robinson
f0c96b86f3
Make AP public delivery "to" a list
2019-06-21 00:34:26 +03:00
Jason Robinson
b5d739f00a
Mark ActivityPub entity as public if public namespace in receivers
2019-06-21 00:34:26 +03:00
Jason Robinson
9fd4038039
Fix AS2 attribute transformation into raw_content
2019-06-21 00:34:26 +03:00
Jason Robinson
5436da4f1c
Make distinction between objects and activities when mapping AS2 ID's
2019-06-21 00:34:26 +03:00
Jason Robinson
56406056ae
Use AS2 payload object type if there is one, fall back to payload type
...
This allows getting the Note out of Create {Note}.
2019-06-21 00:34:26 +03:00
Jason Robinson
5cc2ab46bd
Render ActivitypubPost for to AS2 activity wrapped Note
...
Also ensure incoming processing maps Note, Article and Page
to an ActivitypubPost.
Refs: #7
2019-06-21 00:34:26 +03:00
Jason Robinson
4e2f40f7c8
Add a default activity to certain entity types
...
Default is Create for those entity types that are normally the
target of an activity. Those types that are normally activities don't
need a default activity.
Refs: #7
2019-06-21 00:34:26 +03:00
Jason Robinson
ffa59bece3
Update FUNDING.yml
2019-05-31 20:47:59 +00:00
Jason Robinson
726dc8e4c7
Add github funding button for patreon
2019-05-30 02:32:43 +03:00
Jason Robinson
947101421a
Add link to Feneas gitlab issue tracker
2019-05-18 21:32:28 +00:00
Jason Robinson
539c7f8bfb
Fix IPData lookup after 3.x version breaking changes
...
Thanks CI! <3
2019-05-12 18:56:40 +03:00
Jason Robinson
6238137eb8
Ensure _source_protocol is filled when creating Diaspora profile from hcard
2019-05-12 18:46:38 +03:00
Jason Robinson
30a2fadc65
Save source protocol and object on received ActivityPub objects
...
Also call validate entity on processing payloads to entities.
2019-05-12 18:32:41 +03:00
Jason Robinson
59d31bb37e
Merge branch 'activitypub' into 'master'
...
ActivityPub bi-directional Follow and outgoing automatic Accept support
See merge request jaywink/federation!143
2019-03-23 21:44:59 +00:00
Jason Robinson
2f056f0d58
Tests for ActivityPub utils
2019-03-23 23:43:09 +02:00
Jason Robinson
afe584fa0d
Add tests for Activitypub mappers new functionality
2019-03-20 23:11:22 +02:00
Jason Robinson
967f494dec
Add test for ActivitypubProfile entity
2019-03-20 22:50:43 +02:00
Jason Robinson
4b778112d8
Add test for ActivityPub Follow post receive Accept sending
2019-03-20 22:38:09 +02:00
Jason Robinson
273818dc43
Add test for ActivityPub Accept entity
2019-03-20 22:04:11 +02:00
Jason Robinson
0b34b509b0
Minor tweaks to ActivityPub base entities and Accept ID requirement
2019-03-20 22:03:53 +02:00
Jason Robinson
8aaedcc635
Fix sending ActivityPub Accept in response to a Follow
2019-03-18 23:41:05 +02:00
Jason Robinson
a72494240b
Fix sending accept when receiving a remote AP follow
2019-03-17 23:47:51 +02:00
Jason Robinson
4b62b83908
Default AP profile public inbox to private inbox, if no sharedInbox
2019-03-17 21:33:58 +02:00
Jason Robinson
dc8edbc7e6
Refactor handle_send function recipients and delivery code
...
The outbound function `outbound.handle_send` parameter `recipients`
structure has changed. It must now be a list of dictionaries,
containing at minimum the following: `fid` for the recipient endpoint,
`protocol` for the protocol to use and `public` as a boolean whether
the payload should be treated as visible to anyone.
For Diaspora private deliveries, also a `public_key` is required
containing the receiver public key. Note that passing in handles as
recipients is not any more possible - always pass in a url for `fid`.
2019-03-17 19:39:55 +02:00
Jason Robinson
80c4e433d7
Entities of type `Profile` now have a dictionary of `inboxes`
...
With two elements, `private` and `public`. These should be URL's
indicating where to send payloads for the recipient.
ActivityPub profiles will parse these values from incoming profile
documents. Diaspora entities will default to the inboxes in the
specification.
2019-03-17 16:09:34 +02:00
Jason Robinson
9df3fe5c1a
Use correct content type when sending ActivityPub payloads
2019-03-17 04:36:27 +02:00
Jason Robinson
dc3412d358
Try fix delivery via AP by encoding payload
2019-03-17 04:09:15 +02:00
Jason Robinson
ced914578b
Fix generating outbound entity for ActivitypubAccept
2019-03-17 03:42:42 +02:00
Jason Robinson
72bca93215
Tweak handle_send to send AP payloads for now for each recipient
...
Need to refactor code a bit to deliver shared inbox + add the
public receiver in a sane way.
2019-03-17 03:23:41 +02:00
Jason Robinson
31ae219426
Add authentication to outbound payloads for ActivityPub targets
2019-03-17 03:18:07 +02:00
Jason Robinson
353ae9ff9d
Add Accept entity and ActivityPub follow auto-Accept flow
...
When receiving an ActivityPub Follow, send back an Accept activity
automatically. Due to application hook needed to fetch sending
user private key (for signing), this is only available if Django
is installed since currently application hooks exist only for
Django configuration.
Django applications should include a new configuration item
"get_private_key_function" which points to a function which takes
a user identifier (fid, handle or guid) and returns a private key
in RSA object format.
2019-03-17 03:17:10 +02:00
Jason Robinson
d8a067a691
Fix erronous typing of UserType.private_key
...
Code expects an RSA object, typing was shown as str.
2019-03-17 03:13:47 +02:00
Jason Robinson
0cf13a33a4
Fix fetching Diaspora remote entities
2019-03-16 04:21:20 +02:00
Jason Robinson
fddb22facc
Ensure public key passed to requests-http-signatures is bytes
2019-03-16 03:35:39 +02:00
Jason Robinson
3a44534b24
Add cryptography to dependencies
...
Required by requests-http-signatures. Which is a shame since
we already use pycryptodome.
2019-03-16 03:07:31 +02:00
Jason Robinson
29ba501d31
Fix mapping of image urls from ActivityPub AS2 actor
2019-03-14 23:03:24 +02:00
Jason Robinson
a4db2f0beb
Ensure fetch for Diaspora protocol is done with entities in lowercase
...
Not sure how this broke!
2019-03-14 22:31:44 +02:00
Jason Robinson
ad17e2cd2f
Fix document fetcher to parse correctly fetched AS2 document into profile
2019-03-14 22:06:39 +02:00
Jason Robinson
9359831ea2
Merge branch 'activitypub-signatures' into 'master'
...
Work on ActivityPub HTTP signatures and payload delivery
See merge request jaywink/federation!142
2019-03-06 21:06:47 +00:00
Jason Robinson
2fb2da6955
Work on ActivityPub HTTP signatures and payload delivery
...
Also removes some legacy cruft for the failed Diaspora URI's as ID's experiment.
Refs: #7
2019-03-06 22:42:33 +02:00
Jason Robinson
eedef11041
Merge branch 'refactor-handle-receive' into 'master'
...
Refactor handle_receive to require a RequestType
See merge request jaywink/federation!141
2019-03-03 01:08:07 +00:00
Jason Robinson
2fa8271af7
Refactor handle_receive to require a RequestType
...
The ActivityPub protocol handlers require access to HTTP headers,
method and url from the incoming request. Thus require passing in
a RequestType object, which has the same structure as a Django
HttpRequest for compatibility.
This is a breaking backwards compatible change requiring Diaspora
payloads be wrapped in a RequestType object.
Refs: #7
2019-03-03 03:04:08 +02:00
Jason Robinson
fe7cd7c7d1
Merge branch 'activitypub-fetcher' into 'master'
...
ActivityPub profile fetcher and inbound protocol routing improvements
See merge request jaywink/federation!140
2019-03-02 21:55:54 +00:00
Jason Robinson
dbaae4842b
Changelog for the various changes
2019-03-02 23:52:09 +02:00
Jason Robinson
871cf67cde
Add username to base Profile entity
2019-03-02 01:42:08 +02:00
Jason Robinson
a876d3a239
Add fetching of remote ActivityPub profile
2019-03-02 01:24:57 +02:00