It seems little-boxes replaced our crypto library which caused
a bit of a mayhem since some of the internal objects don't match.
If we need that library after all, will need to drop these type
hints.
Entities no longer have `handle` or `guid`, `target_guid` or
`target_handle` attributes. These are
now properties on the Diaspora entities only. For working with
entities, the new URI based attributes should be used. These are
`id`, `target_id` and `actor_id`. Depending on entity type, some
of these will be required while some not (just like with handle,
guid, target_guid and target_handle before).
All high level methods now expect ID's and return ID's for everything.
Internally the diaspora protocol still works with handle's and guid's.
This opens adding ActivityPub which works with URI ID's everywhere.
Support for Request and the old structure of Diaspora protocol
elements and delivery has been removed. A near 100% majority of
known users using the Diaspora protocol have upgraded past versions
where the new entities came into use.
This is a more up to date fork of the former. This fixes CVE-2018-6594 found in the former.
**Deployment note.** When updating an application, you *must* uninstall `pycrypto` first, otherwise there will be a conflict if both the versions are installed at the same time. To uninstall, do `pip uninstall pycrypto`.
Release 0.17.0
Previously only `first_name` was used when creating the `Profile.name`
value. Now both `first_name` and `last_name` are used.
When creating outgoing payloads, the `Profile.name` will still be placed
in `first_name` to avoid trying to artificially split it.
Mastodon has a tricky way of reporting weekly logins according to the
going week. Multiply the count depending on the weekday to see if we
can stabilize the stats a bit.
Network utils has a method `fetch_host_ip_and_country` which will
fetch both. The country fetching uses the `ip-api.com` free service
to resolve country information.
We've already accepted these on incoming payloads for a long time and so do all the other platforms now, so now we always send out entities with the new property names. This can break federation with really old servers that don't understand these keys yet.
Closes#59
Change unquote method used when preparing Diaspora XML payloads for verification.
Some platforms deliver payloads not using the urlsafe base64 standard which caused problems when validating the unquoted signature. Ensure maximum compatibility by allowing non-standard urlsafe quoted payloads.
Closes#115