Commit graph

346 commits

Author SHA1 Message Date
cmrd Senya
73a9b87607 A little fix to signature verification methods doc 2017-03-26 02:18:20 +02:00
cmrd Senya
626e59c68d AccountMigration entity
A new entity to use when diaspora ID of a person has changed for some
reason (e.g. account migration, pod hostname change, etc)
2017-03-26 02:18:20 +02:00
cmrd Senya
f23f4c0ea4 Introduce Signable module
Signable is a module that encapsulate basic signature logic for entities.
2017-03-26 02:18:19 +02:00
cmrd Senya
c58d076c96
Entity JSON serialization/deserialization feature 2017-03-23 13:55:19 +02:00
Benjamin Neff
e1ad855cd8
Release version 0.1.8 2017-03-02 21:05:56 +01:00
Benjamin Neff
1f3293a403
Remove "try", because it is a rails feature
Also "&." is only available on ruby >= 2.3 (can be used later)
2017-01-26 02:21:51 +01:00
Benjamin Neff
4ff91a56cc
Add "uuid" as dependency for diaspora_federation-test
Because it is used in the factories.
2017-01-25 02:37:51 +01:00
Benjamin Neff
b34b18759f Release version 0.1.7 2017-01-08 04:26:38 +01:00
Benjamin Neff
252b2794a4 Merge pull request #44 from SuperTux88/events
Add event entities
2017-01-08 03:52:39 +01:00
cmrd Senya
6e11fb6810 use enriched_properties in Entity#to_h 2017-01-07 22:55:53 +03:00
cmrd Senya
ad95813ff8 Replace ^ and $ with \A \z in patterns
One should use \A and \z unless explicitly wants the line-wise behavior.
2017-01-04 16:20:50 +03:00
cmrd Senya
a1c9998d40 fix boolean pattern parse 2017-01-04 06:32:41 +03:00
Benjamin Neff
9a7fd278b5 Fix parsing a false value
Fixes #45
2017-01-04 04:03:42 +01:00
Benjamin Neff
fd34472647 Add validators for events 2017-01-03 02:06:09 +01:00
Benjamin Neff
1097130988 Add code for event entities 2017-01-03 01:35:33 +01:00
Benjamin Neff
7be5097a59 fix travis for ruby 2.1 and rails 4 2016-12-28 20:53:31 +01:00
Benjamin Neff
d91da49078 release version 0.1.6 2016-12-28 19:06:22 +01:00
Benjamin Neff
dd1c16ce91 add types for string properties 2016-12-28 02:43:16 +01:00
Benjamin Neff
a91e3c2c97 move order logic to xml_elements 2016-12-27 12:40:24 +01:00
Benjamin Neff
3e8534c5c4 rename xml_elements to enriched_properties 2016-12-27 11:15:15 +01:00
Benjamin Neff
771a1559e3 Activate ruby 2.1 with rails 4.2 on travis again 2016-11-08 00:25:20 +01:00
Benjamin Neff
9dc6cabf42 release version 0.1.5 2016-10-24 00:44:14 +02:00
Benjamin Neff
d18e623082 fail send if redirected to other hostname 2016-10-24 00:22:15 +02:00
Benjamin Neff
fb60f83926 add sender parameter to :receive_entity callback 2016-10-17 00:06:03 +02:00
Benjamin Neff
7248aaec67 fix rubocop offenses for rubocop 0.44.1 2016-10-14 23:25:59 +02:00
Benjamin Neff
8c31d660db release version 0.1.4 2016-08-22 00:11:47 +02:00
Benjamin Neff
4295237e9e Raise ValidationError if properties are missing 2016-08-21 21:09:12 +02:00
Benjamin Neff
90d12e71d0 improve magic envelope validation 2016-08-01 02:41:28 +02:00
Benjamin Neff
52af7e4538 release version 0.1.3 2016-07-28 23:49:57 +02:00
Benjamin Neff
41de99bd5e don't include signatures in xml_order on receive 2016-07-25 01:29:51 +02:00
Benjamin Neff
ba129aafa3 add missing properties from xml_order to xml 2016-07-23 00:29:44 +02:00
Benjamin Neff
36a787dd87 convert string in xml_order to symbol if needed 2016-07-23 00:12:22 +02:00
Benjamin Neff
40508a664c release version 0.1.2 2016-07-15 01:31:04 +02:00
Benjamin Neff
90970973a5 gracefully handle missing xml elements of relayables
parent-fetching failed, if the xml didn't contain the information needed
for it.

fixes NameError: uninitialized constant DiasporaFederation::Entities::Like::PARENT_TYPE
2016-07-12 22:18:14 +02:00
Benjamin Neff
2aaff56e14 rename StatusMessage#raw_message to #text
see #29
2016-07-12 03:14:15 +02:00
Benjamin Neff
4b949491df nickname is optional in the hCard 2016-07-12 03:13:40 +02:00
Benjamin Neff
f7d269cd6a a guid is at most 255 chars long. 2016-07-12 03:13:40 +02:00
Benjamin Neff
0980294a0d Validate Conversation subject
also reordered fields of Conversation
2016-07-12 03:13:39 +02:00
Benjamin Neff
4136fb973e Photo: status_message_guid is optional in xml 2016-07-12 03:04:54 +02:00
Benjamin Neff
eb8cdef604 validate Photo text length 2016-07-12 03:04:09 +02:00
Benjamin Neff
9b3231583d validate StatusMessage raw_message length 2016-07-12 03:04:09 +02:00
Benjamin Neff
26b7991def handle empty xml-elements for nested entities 2016-07-12 03:04:09 +02:00
Steffen van Bergerem
e0ab18c0ea
Improve code documentation 2016-07-12 02:08:21 +02:00
Dennis Schubert
7c3f430bcf
Do not reuse cURL sockets
This patch sets CURLOPT_FORBID_REUSE, which tells cURL to close all
connections when they are done. By default, connections are held open
for later use unless explicitly closed or expired by a timeout. This can
improve performance if the same instance is used for multiple requests
to a single host.

We never have that: a host receives only one message per queue job, so
keeping the socket opened for 60 seconds (the default timeout) is
totally useless.

In addition, keeping the sockets open can cause problems for larger
instances with fast workers and a lot of jobs. Mainly, diaspora/#6485 is
caused by this very issue, which is resolved by this as well.
2016-07-02 10:38:29 +02:00
Benjamin Neff
699c74a8f0 validate message text 2016-07-01 05:06:02 +02:00
Benjamin Neff
4cee776338 release version 0.1.1 2016-06-26 21:41:13 +02:00
Benjamin Neff
7cf7a0af5b call super instead of copying the code. 2016-06-26 21:29:22 +02:00
Benjamin Neff
9b090a3950 fetch root posts for reshares 2016-06-26 21:22:01 +02:00
Benjamin Neff
79cbed4a3b release version 0.1.0 2016-06-26 06:16:33 +02:00
Benjamin Neff
e001d14b8f profile_url and atom_url are optional in webfinger 2016-06-25 00:12:37 +02:00
Benjamin Neff
6b1889aa2c use salmon specs from github with rawgit
because the gooclecode links don't work anymore
2016-06-22 19:59:08 +02:00
Benjamin Neff
da79b72d62 don't parse url from hcard
this is deprecated anyway and is not used anywhere, so we don't need to parse it.
2016-06-22 02:56:22 +02:00
Benjamin Neff
491419c99a refactor signature verification for relayables 2016-06-21 05:19:49 +02:00
Benjamin Neff
4b0e77b25a add more info to errors for better logging 2016-06-21 04:56:41 +02:00
Benjamin Neff
117ee79c8c validate that Participation parent exists and parent-author is local 2016-06-21 02:39:13 +02:00
Benjamin Neff
d054d42b86 use .to_h instead of Hash[] 2016-06-20 03:59:23 +02:00
Benjamin Neff
206b8d1eb9 use private_class_method with returned symbol of def 2016-06-20 03:35:26 +02:00
Benjamin Neff
f243082def only allow photos from the same author to be nested in status message 2016-06-17 18:34:27 +02:00
Benjamin Neff
4d7c7422c3 only allow messages from the same author to be nested in conversation 2016-06-17 18:28:42 +02:00
Benjamin Neff
c62bede41c message not relayable anymore
receive only from author and ignore signature checking, or from parent
author with valid signature.

see #36
2016-06-17 18:16:40 +02:00
Benjamin Neff
7f869a5cdf participation not relayable anymore
receive only from author and no signature checking

see #35
2016-06-17 17:52:58 +02:00
Benjamin Neff
77c3165c51 set parent_author_signature on RelayableRetraction if author is parent author
the target_author_signature is only checked, if the parent author
receives it. so the parent_author_signature is the important signature.
2016-06-05 16:17:05 +02:00
Benjamin Neff
4bde03e2de use RelatedEntity as normal nested entity, but don't add it to xml 2016-06-05 04:13:55 +02:00
Benjamin Neff
e5203182bf replace invalid characters from xml 2016-05-31 04:25:43 +02:00
Benjamin Neff
653b0fe276 instantiate nested entities if they are provided as hash
also add debug logging to entity constructor
2016-05-30 03:23:57 +02:00
Benjamin Neff
4ded6da139 Entity#to_h returns nested entities as hash 2016-05-30 03:22:07 +02:00
Benjamin Neff
8d422ddff1 debug logging for send magic envelope 2016-05-29 02:44:53 +02:00
Benjamin Neff
72ea858e25 add logger also as class method when included 2016-05-29 02:44:33 +02:00
Benjamin Neff
38922d5f30 add string representation to entities for better and easier logging 2016-05-15 00:11:04 +02:00
Benjamin Neff
58b22df9c5 convert entity name to needed format for fetching 2016-05-14 17:56:34 +02:00
Benjamin Neff
458265b78f fix rubocop offenses for rubocop 0.40.0 2016-05-11 02:22:48 +02:00
Benjamin Neff
a0f39b4f3a Revert "add ParentNotFound error, if parent can't be fetched"
This reverts commit 5a9ba266b4.

There is already a NotFetchable error ...
2016-05-07 12:44:58 +02:00
Benjamin Neff
5a9ba266b4 add ParentNotFound error, if parent can't be fetched 2016-05-07 03:12:33 +02:00
Benjamin Neff
5f3d25e5c4 fixed typo in logging 2016-05-02 03:58:25 +02:00
Benjamin Neff
c9d0b978d4 add validators for empty arrays 2016-04-29 03:59:24 +02:00
Benjamin Neff
28ab54abef use default values after parse xml 2016-04-29 02:59:09 +02:00
Benjamin Neff
8aa353a438 add validator for poll_answers 2016-04-29 01:32:49 +02:00
Benjamin Neff
4953d0c736 add debug logging on unenvelop 2016-04-27 23:14:05 +02:00
Benjamin Neff
53ba96acca simplify diaspora ID regex
hostname doesn't allow underscores, fixes #33
2016-04-23 23:48:03 +02:00
Benjamin Neff
0c4307a4de better logging for receiving 2016-04-03 03:34:53 +02:00
Benjamin Neff
a8af94f192 validates entity on receive if it can be public but is not 2016-04-03 00:01:50 +02:00
Benjamin Neff
c8be9083f0 move sender_valid? logic to Retraction and Relayable 2016-04-02 22:14:38 +02:00
Benjamin Neff
05cd90f073 validate sender for retraction and relayable 2016-04-01 03:51:24 +02:00
Benjamin Neff
c7c2957b07 fetch from remote if parent unknown locally 2016-03-31 04:33:52 +02:00
Benjamin Neff
6ef1545fd0 cleanup parent_type for relayables 2016-03-29 03:45:32 +02:00
Benjamin Neff
1d4d3d732d use shorter callback keys for key-callbacks 2016-03-29 02:42:19 +02:00
Benjamin Neff
2db0931ce5 write more tests for retractions 2016-03-29 02:30:43 +02:00
Benjamin Neff
f88a3abb3d use RelatedEntity as target for all Retractions 2016-03-28 21:15:21 +02:00
Benjamin Neff
01d45e225d use RelatedEntity as target for RelayableRetraction 2016-03-28 20:14:25 +02:00
Benjamin Neff
8f2b3e6a14 use data from parent-RelatedEntity for Relayables 2016-03-28 19:52:57 +02:00
Benjamin Neff
23fc8dc180 use related entity as parent for relayables 2016-03-28 17:46:37 +02:00
Benjamin Neff
3ac21b585b add fetch_related_entity callback 2016-03-28 17:23:38 +02:00
Benjamin Neff
1ee9d30ddb add related entity 2016-03-28 17:23:38 +02:00
Benjamin Neff
51723f95fa release version 0.0.13 2016-03-26 00:37:21 +01:00
Benjamin Neff
e67629041e require version for user agent 2016-03-26 00:37:12 +01:00
Benjamin Neff
6eb36931be improve documentation 2016-03-25 23:20:43 +01:00
Benjamin Neff
ef43104880 create new Contact entity
* replaces Request entity (better name)
* with following/sharing state
* should also be used as retraction-type

see #32
2016-03-23 01:28:06 +01:00
Benjamin Neff
20675b941a create public/private receiver 2016-03-21 01:05:13 +01:00
Benjamin Neff
ca0a853134 return MagicEnvelope after parsing a Slap 2016-03-21 01:05:13 +01:00
Benjamin Neff
e4b5e79842 create MagicEnvelope instance after unenvelop 2016-03-20 21:07:47 +01:00