Wykres commitów

569 Commity (4c665e874330b047010bd9b33e97a12210ad687a)

Autor SHA1 Wiadomość Data
Jason Robinson 4c665e8743 Fix some edge case crashes of `handle_send` when there are Diaspora protocol receivers 2020-01-12 23:33:49 +02:00
Jason Robinson 6bc85a3bfa Loosen validation of `TargetIDMixin`
It now requires one of the target attributes
to be set, not just `target_id`. This fixes
follows over the Diaspora protocol which broke
with stricter send validation added in 0.19.0.
2020-01-12 00:56:46 +02:00
Jason Robinson dd55916978 Fix changelog 2019-12-29 23:46:37 +02:00
Jason Robinson 71ccfb9148 Rollback Matrix port removal from hostmeta results
Change requires full support for the server discovery flow.
2019-12-29 23:46:04 +02:00
Jason Robinson 557146055c Matrix and NodeInfo2 hostmeta parsers now clean the port out of the host name 2019-12-29 23:08:05 +02:00
Jason Robinson 8c4e4a2197 Correctly identify some platforms that emulate the Mastodon API
Ensure Pixelfed, Kroeg and Kibou instances that emulate the Mastodon API don't get identified as Mastodon instances.
2019-12-29 22:57:02 +02:00
Jason Robinson 9700af7bee Don't crash on malformed NodeInfo doc
Don't crash when parsing an invalid NodeInfo document where the
usage dictionary is not following specification. Some Pleroma
instances have started writing an object there.
2019-12-29 22:28:25 +02:00
Jason Robinson 91dc3ca312 Add missing `response.raise_for_status()` call to the `fetch_document` network helper
when fetching with given URL. Error status was already being raised correctly when
fetching by domain and path.
2019-12-29 20:44:32 +02:00
Jason Robinson f6b2bb6d05 Don't crash loudly when fetching webfinger for Diaspora that does not contain XML 2019-12-15 22:55:21 +02:00
Jason Robinson 1f2fdf3459 Start new development cycle 2019-12-15 22:42:10 +02:00
Jason Robinson 3b31668a4d Release v0.19.0 2019-12-15 01:46:25 +02:00
Jason Robinson 33f1e4c707 Fix regression in outbound shares
Should never ship any code without a unit test...
2019-11-29 11:18:22 +02:00
Jason Robinson 56eeb6d371 Fix typo in handle_send fail early code 2019-11-28 22:22:39 +02:00
Jason Robinson d84a990510 Fail early in outbound `handle_send` if a payload cannot be generated
For a payload which doesn't depend on recipient attributes, no point
in looping all recipients trying.
2019-11-28 21:11:12 +02:00
Jason Robinson 0f7b22bb04 Improve performance of generating ActivityPub payloads
For a large number of receivers in `handle_send`.

Only generate payload once and then just copy and attach receivers.
2019-11-28 21:02:13 +02:00
Jason Robinson e0d818f724 Allow HTTP Signature verification to pass if signature is 24 hours old
Previously requirement was 30 seconds, which caused loss of messages
where signature validation didn't happen immediately, but in
a background worker which didn't immediately process the job.

Refs: https://git.feneas.org/socialhome/socialhome/issues/563
2019-11-27 23:21:31 +02:00
Jason Robinson 3290261c59 Merge branch 'ap-webfinger-profile-fetch' into 'master'
Support fetching ActivityPub profiles by handle

See merge request jaywink/federation!158
2019-11-02 23:06:24 +00:00
Jason Robinson 55a3d7c3fc Implement fetching of ActivityPub profiles by handle
Using webfinger.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-11-03 01:03:45 +02:00
Jason Robinson b69a35b597 Refactoring of webfinger fetching into a more central location 2019-11-03 00:37:10 +02:00
Jason Robinson d7563380a5 Use both protocols when fetching remote profiles by handle
Some ActivityPub platforms implement webfinger lookups for handles.
Try that if we're fetching a remote profile by handle. AP is tried first
then Diaspora.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-11-03 00:20:10 +02:00
Jason Robinson 30694eafd2 Forgot changelog for the outgoing entity validation 2019-10-11 00:45:49 +03:00
Jason Robinson a97b7b15b9 Merge branch 'vaildate-outbound-entities' into 'master'
Always validate outbound entities

See merge request jaywink/federation!157
2019-10-10 21:28:02 +00:00
Jason Robinson ee7f3aef60 Only validate signatures for inbound entities
For now anyway.
2019-10-11 00:13:10 +03:00
Jason Robinson 9b137c491d Always validate outbound entities
This should stop invalid payloads being sent out, like shares
to the Diaspora network that have no target_guid (due to originating
from the AP side).

Temporary solution until mock posts are automatically created for
better cross-compatibility.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-10-10 23:21:05 +03:00
Jason Robinson 91b074118b Start dev development cycle 0.19.0-dev 2019-10-10 22:37:03 +03:00
Jason Robinson e39896b958 Forgot to ensure ActivityPub support is always on. Release 0.18.1. 2019-10-06 15:03:52 +03:00
Jason Robinson ee1f2bb8a0 Add twine to dev requirements 2019-10-06 02:04:48 +03:00
Jason Robinson a5373347fe Release 0.18.0 2019-10-06 01:58:54 +03:00
Jason Robinson c90d8a72e0 Some clarifications for the docs and readme 2019-10-06 01:57:24 +03:00
Jason Robinson 041a44a525 Ensure ActivitypubComment can have public attribute
This is required since unlike our base Comment, Activitypub
originating comments will possibly have a public namespace
as a target. We represent that internally with the "public"
attribute.
2019-10-01 20:59:31 +03:00
Jason Robinson 8d2bc74556 Attach mentions in ActivityPub outgoing payloads
Any mentions given in the _mentions list or found in the raw_content
are attached as Mention tags before sending.

https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-08 23:52:23 +03:00
Jason Robinson c5297fd940 Fix small error in docs 2019-09-08 23:08:18 +03:00
Jason Robinson 64f266e544 Refactor extract_mentions logic to base RawContentMixin
Since we're going to reuse the Diaspora style mentions syntax
(without the display name part), pull out the mentions extract code
from the Diaspora mixins to the base mixins.
2019-09-08 23:04:08 +03:00
Jason Robinson 2ff4e24821 Add some extra documentation on how certain protocol features are handled 2019-09-08 22:48:47 +03:00
Jason Robinson c3fd773f78 Extract mentions from ActivityPub payload content 2019-09-08 02:21:08 +03:00
Jason Robinson 7e93dc3da3 Fix _allowed_children check 2019-09-08 02:03:51 +03:00
Jason Robinson c997a1a2b4 Ensure diaspora mention is extracted even without display name part 2019-09-08 02:03:06 +03:00
Jason Robinson 42b6736361 Transform any found key in an AP payload if no other mapping 2019-09-08 02:00:11 +03:00
Jason Robinson a76e68b491 Accept both Document and Image objects as attachments 2019-09-08 01:59:31 +03:00
Jason Robinson c4e54d0027 Merge ImageObject into the base Image entity
No point having a separate object type when the features
of it match the entity Image type.

Also send out Image instead of Document for image type
attachments. Lets see if Mastodon and others are fine
with this.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-08 00:12:04 +03:00
Jason Robinson 54ecc5aea5 Always use markdownified `object.content` if `object.source` not markdown
This avoids for example text/bbcode ending up as raw_content which
we reserve for markdown.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-03 23:25:45 +03:00
Jason Robinson 7dad9c8109 Add tags found on raw_content when sending ActivityPub entities
Tags are added as "type: Hashtag" objects into the payload object.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-03 22:51:41 +03:00
Jason Robinson bac1e1f8e3 Parse attachments from fetched ActivityPub objects
For example images when processing a share of an unknown post.

Refs: https://git.feneas.org/socialhome/socialhome/issues/522
2019-09-02 23:31:07 +03:00
Jason Robinson f97be514cb Allow public key to be passed also as str to handle_send
This allows apps to serialize sending to things like Redis easier.
2019-08-31 14:44:01 +03:00
Jason Robinson e5dd3db0dc Fix delinkifier for hashtags and adjust tests 2019-08-31 14:10:11 +03:00
Jason Robinson d85126d605 Adjust ActivityPub hashtag delinkifier for markdown tag links
Since we now convert HTML to Markdown.
2019-08-29 23:35:32 +03:00
Jason Robinson 1070831b2d Support a larger set of ActivityPub Actor types 2019-08-29 23:17:23 +03:00
Jason Robinson da2d436fdf Allow UserType.private_key to be passed in as a string
This allows the UserType object to be serialized to for example
redis based background workers.

To get the real RsaKey object, use the UserType.rsa_private_key
property.
2019-08-29 22:50:57 +03:00
Jason Robinson 3dd18e301e Merge branch 'markdownify-html' into 'master'
Markdownify incoming HTML content from ActivityPub layer

See merge request jaywink/federation!156
2019-08-26 20:01:55 +00:00
Jason Robinson 49da8c0818 Add Python 3.7 to setup.py classifiers. Small tweaks to texts and tags. 2019-08-26 22:26:02 +03:00