Wykres commitów

631 Commity (51c46364f34044baf26e1f4efcc4b1f8a78f3bdd)

Autor SHA1 Wiadomość Data
Jason Robinson bc38ac990b Switch crypto library `pycrypto` to `pycryptodome`
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
2018-08-11 21:47:16 +03:00
Jason Robinson 674e242519 Remove travis config 2018-07-23 23:21:33 +03:00
Jason Robinson 065c8594b6 Merge branch 'python36' into 'master'
Drop support for Python <= 3.5, add tox and Gitlab CI

See merge request jaywink/federation!128
2018-07-23 16:27:15 +00:00
Jason Robinson a2e08d42f5 One more place to bump Python version in docs 2018-07-23 19:21:58 +03:00
Jason Robinson bb3281d489 Add tox and gitlab CI 2018-07-23 19:15:34 +03:00
Jason Robinson 454dc8ccbc Drop compatibility for Python <= 3.5 2018-07-23 18:33:47 +03:00
Jason Robinson 6cbe9cee9d Start new development cycle 2018-07-23 18:32:54 +03:00
Jason Robinson afee56cac6 Release 0.16.0 2018-07-23 16:28:08 +03:00
Jason Robinson bfb4792f16 Fix Diaspora `Profile` mapping regarding `last_name` property
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.
2018-06-24 22:12:43 +03:00
Jason Robinson 690e8872d8
Merge pull request #127 from jaywink/extract-mentions
Extract mentions from Diaspora payloads that have text content
2018-06-24 00:13:49 +03:00
Jason Robinson af920604a2 Extract mentions from Diaspora payloads that have text content
The mentions will be available in the entity as `_mentions` which is
a set of Diaspora ID's in URI format.
2018-06-23 23:09:18 +03:00
Jason Robinson 8c7b1206c6 Monthly and halfyear active users from weekly should not be more than total user count 2018-06-05 23:03:33 +03:00
Jason Robinson b28661b86a Revert previous attempt for Mastodon weekly stats stabilizing
Instead, take a stable number from previous week stats for now.
2018-06-04 23:52:40 +03:00
Jason Robinson 907d1d60db Try stabilizing Mastodon weekly counts with more guessing
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.
2018-06-04 22:59:49 +03:00
Jason Robinson 8111f2d4e4 Fix Mastodon parser if version has non-numbers 2018-06-04 20:43:46 +03:00
Jason Robinson 7a328459ba
Merge pull request #126 from jaywink/improve-country-parsing
Switch to ipdata.co service for country lookups
2018-05-27 21:21:47 +03:00
Jason Robinson a2c8d1c061 Switch to ipdata.co service for country lookups 2018-05-27 20:34:47 +03:00
Jason Robinson 5e3e363714
Merge pull request #125 from jaywink/mastodon-parser
Add parser for Mastodon server info and activity documents
2018-05-27 01:58:05 +03:00
Jason Robinson 6353e47a85 Add parser for Mastodon server info and activity documents 2018-05-27 01:46:55 +03:00
Jason Robinson a42fd1631d Don't allow negative values in meta doc usage numbers 2018-05-13 23:06:41 +03:00
Jason Robinson 5a5042a97d Don't crash meta fetchers if no JSON returned 2018-05-13 22:57:33 +03:00
Jason Robinson 07fa3e8f19 More support for old buggy Hubzilla nodeinfo docs 2018-05-13 22:36:00 +03:00
Jason Robinson 2762fb5f3e Guard against 'null' values in NodeInfo2 documents 2018-05-13 22:14:33 +03:00
Jason Robinson 1066502591 Add workaround for parsing a buggy older Hubzilla version nodeinfo
This has been fixed in later versions but there are quite a few
versions out with the bug so add a workaround to not crash on those.
2018-05-13 20:47:55 +03:00
Jason Robinson 7590e65f79 Don't automatically fetch ip and country when parsing meta docs
Otherwise we spam the country providing service too much.
2018-05-10 11:48:55 +03:00
Jason Robinson af86d9a9a4
Merge pull request #124 from jaywink/wip
Add fetching of IP and country
2018-05-07 23:08:06 +03:00
Jason Robinson 33c6ed817a Add fetching of IP and country
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.
2018-05-07 22:58:25 +03:00
Jason Robinson 0da0e58693 Make statisticsjson hostmeta parser more resilient
Some servers use strings for number values.
2018-04-26 22:30:28 +03:00
Jason Robinson 2c255a68f7 Change hostmeta fetchers relay default to empty string 2018-04-08 20:20:24 +03:00
Jason Robinson 3bf19d2a8b
Merge pull request #123 from jaywink/nodeinfo2
Add NodeInfo2 generator and Django view
2018-04-08 15:15:58 +03:00
Jason Robinson 435c3d6d43 Add NodeInfo2 generator and Django view
See https://github.com/jaywink/nodeinfo2
2018-04-08 15:02:18 +03:00
Jason Robinson a798b1d4b5
Merge pull request #122 from jaywink/server-meta-parsers
Add fetchers for nodeinfo, nodeinfo2 and statisticsjson
2018-04-08 13:30:35 +03:00
Jason Robinson eef1f7d820 Add fetchers for nodeinfo, nodeinfo2 and statisticsjson 2018-04-08 12:57:08 +03:00
Jason Robinson 2a02f866aa Allow port in Diaspora handles as per the protocol specification
Previously handles were validated like emails.
2018-03-09 22:17:08 +02:00
Jason Robinson 4c2a42dfb9 Fix validation of `Retraction` with entity type `Share` 2018-03-09 21:50:54 +02:00
Jason Robinson ab3e2451b8 Ensure when processing payload empty payload tags don't create None values 2018-02-27 23:03:23 +02:00
Jason Robinson 233d191ff8
Merge pull request #117 from jaywink/new-entity-properties
Switch Diaspora protocol to send new style entities
2018-02-24 15:30:50 +02:00
Jason Robinson c15aa14e8e Switch Diaspora protocol to send new style entities
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
2018-02-24 15:04:07 +02:00
Jason Robinson aa8e8a7960 Use unquote instead of unquote_plus when preparing XML payload
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
2018-02-24 14:02:06 +02:00
Jason Robinson fe762d383d
Merge pull request #116 from jaywink/add-more-to-json-webfinger
Add more things to JSON webfinger
2018-02-21 22:42:45 +02:00
Jason Robinson d74aa5290c Add search path to JSON webfinger 2018-02-21 22:21:55 +02:00
Jason Robinson 85e0b90ebf Add salmon receive url to JSON webfinger 2018-02-21 22:02:30 +02:00
Jason Robinson 0466931d05 Add atom feed support to JSON webfinger 2018-02-21 21:58:10 +02:00
Jason Robinson 3730a3d9b8 Make JSON webfinger support webfinger profile url 2018-02-21 19:20:46 +02:00
Jason Robinson 065d9e4d2b
Merge pull request #114 from jaywink/send-payloads-with-correct-content-type
Send Diaspora payloads with correct content type
2018-02-19 23:22:29 +02:00
Jason Robinson 72a72873cd Send Diaspora payloads with correct content type
Refs: #82
2018-02-19 23:14:42 +02:00
Jason Robinson ea0bd811df Add some extra logging to handle_send 2018-02-18 23:01:48 +02:00
Jason Robinson 0170a12a95 Allow guid to be empty when parsing or generating diaspora ID
Sometimes we just want a URI format Diaspora ID but don't have
a guid.
2018-02-17 20:54:18 +02:00
Jason Robinson 511ef6676c
Merge pull request #113 from jaywink/rfc3033-webfinger
Add RFC3033 webfinger generator
2018-02-17 01:45:33 +02:00
Jason Robinson f80211b178 Add RFC3033 webfinger generator
Also provided is a Django view and url configuration for easy addition into Django projects. Django is not a hard dependency of this library, usage of the Django view obviously requires installing Django itself. For configuration details see documentation.

Closes #108
2018-02-17 01:38:37 +02:00