Wykres commitów

631 Commity (51c46364f34044baf26e1f4efcc4b1f8a78f3bdd)

Autor SHA1 Wiadomość Data
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
Jason Robinson 7d8ae2c814 Allow passing extra headers to network util fetch_document 2019-03-02 01:24:57 +02:00
Jason Robinson c7ce799caf Add identification of protocol on fetch_remote_profile id parameter
This adds activitypub to protocols that will be fetcher for
remote profile.
2019-03-02 01:24:57 +02:00
Jason Robinson a1b3afba7f Move handle_send protocol identification to federation module root
Add also "identify by id" function.
2019-03-02 01:24:57 +02:00
Jason Robinson b30b0f5d78 Refactor away unnecessary 'handle' parameter to 'retrieve_remote_profile'
The function will guess the protocol from the format of the
ID given.
2019-03-02 01:24:57 +02:00
Jason Robinson 4af97a486b Add GitLab CI badge 2019-03-01 23:24:36 +00:00
Jason Robinson 5baa0b5fe6 Added network utility `network.fetch_host_ip` to fetch IP by hostname 2019-02-13 23:05:10 +02:00
Jason Robinson 4f2e57c579 Merge branch 'allow-disabling-ap-webfinger' into 'master'
Disable ActivityPub limited features by default when on Django

See merge request jaywink/federation!139
2019-01-29 19:53:22 +00:00
Jason Robinson e099d993a8 Disable ActivityPub limited features by default when on Django
Allow enabling by setting the FEDERATION "activitypub" key to True.
This is done to not break compatibility for new users for
platforms which prefer activitypub.
2019-01-29 21:42:57 +02:00
Jason Robinson 2a5a7b76b1 Don't try to parse a nodeinfo document which is for example 404
Refs: https://github.com/friendica/friendica/issues/6472
2019-01-19 23:30:46 +02:00
Jason Robinson 6985a49a9a Make Misskey fetcher survive bad JSON 2018-12-02 20:14:35 +02:00
Jason Robinson 402e72d488 Merge branch 'misskey-parser' into 'master'
Add Misskey fetcher and parser

See merge request jaywink/federation!138
2018-11-27 21:24:48 +00:00
Jason Robinson 6f7571a81e Add Misskey fetcher and parser 2018-11-27 23:19:58 +02:00
Jason Robinson 4bef9b6c8e Merge branch 'parse-matrix-signups-status' into 'master'
Add parsing of Matrix server signups status

See merge request jaywink/federation!137
2018-11-27 20:12:19 +00:00
Jason Robinson 4c786c3148 Add parsing of Matrix server signups status 2018-11-27 22:09:05 +02:00
Jason Robinson 1687fdb59a Do NodeInfo fetch if Mastodon API version indicates Pleroma server 2018-11-25 23:12:26 +02:00
Jason Robinson 04f3bd44d7 Use Mastodon instance count as post count 2018-11-25 22:56:30 +02:00
Jason Robinson fce0917682 Parse Mastodon signups status from the instance about page 2018-11-25 22:51:11 +02:00
Jason Robinson bc389eef8d Merge branch 'matrix-fetcher-parser' into 'master'
Add basic fetcher and parser for Matrix servers

See merge request jaywink/federation!136
2018-11-23 23:00:04 +00:00
Jason Robinson aa17591ccc Add basic fetcher and parser for Matrix servers 2018-11-24 00:56:10 +02:00
Jason Robinson ddfb82fb88 Merge branch 'metainfo-parser-fixees' into 'master'
Metainfo parser fixes

Closes #122

See merge request jaywink/federation!135
2018-11-01 20:52:57 +00:00
Jason Robinson 2bed885021 Don't crash Mastodon instance doc parser on null contact_account 2018-11-01 22:44:24 +02:00
Jason Robinson 00b3fba440 Strip ending slash from NodeInfo2 base_url parsing 2018-11-01 22:33:36 +02:00
Jason Robinson 6c4c61938b Merge branch 'activitypub-protocol' into 'master'
Add beginnings of Activitypub protocol with Follow activity

See merge request jaywink/federation!134
2018-10-22 20:50:58 +00:00
Jason Robinson cef05fb226 Add missing PROTOCOL_NAME to ActivityPub protocol module 2018-10-22 23:23:54 +03:00
Jason Robinson 008c8e8971 Inital passing ActivityPub mapper tests, Follow passes
Skip the rest of the tests, implement one by one until the same
functionality of the Diaspora mappers is ready.
2018-10-13 12:08:12 +03:00
Jason Robinson d1b9a9a877 Skeleton of ActivityPub mappers starting with Follow activity 2018-10-11 20:40:23 +03:00
Jason Robinson d2c35a2cdc Add ActivityPub to protocols and function to identify payload 2018-10-11 19:16:36 +03:00
Jason Robinson c3f59e832e Change activitypub_object_view get_object_function call signature
Pass now full request object instead of the object ID. This allows
the app to check permissions for the object.
2018-10-10 22:43:17 +03:00
Jason Robinson 6dd20c3521 Simplify process_payload call by passing in just request 2018-10-09 22:53:54 +03:00
Jason Robinson aff1a8e59e Tweak activitypub_object_view process_payload call signature
Now passes `response.content` as is and also passes in the request
object.
2018-10-09 22:46:23 +03:00
Jason Robinson 331421c216 Merge branch 'inbox' into 'master'
Django activitypub_object_view now processes POST to /inbox/

See merge request jaywink/federation!133
2018-10-09 19:26:56 +00:00