Commit graph

221 commits

Author SHA1 Message Date
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
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
Dennis Schubert
594529fc15 Optimize test description...
[ci skip]
2016-05-10 00:30:01 +02:00
Benjamin Neff
2ffc7e3814 add re-raise specs for receiver 2016-05-08 22:37:26 +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
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
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
aac2a1652e create expect_callback() spec-helper 2016-03-29 03:14:01 +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
1ee9d30ddb add related entity 2016-03-28 17:23:38 +02: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
Benjamin Neff
0990eff69c don't add key_id to legacy private encrypted slap xml 2016-03-20 17:54:52 +01:00
Benjamin Neff
3811cd0c03 move parse logic to receive methods 2016-03-20 17:39:41 +01:00
Benjamin Neff
3a83dc97ac use author_id from slap to fetch pubkey in magic-env 2016-03-20 17:16:08 +01:00
Benjamin Neff
4e0c7e205b create attr_reader for payload entity and sender on magic env instance 2016-03-20 17:08:58 +01:00
Benjamin Neff
930c3051c7 handle SignedRetraction and RelayableRetraction as Retraction after parse 2016-03-18 03:12:31 +01:00
Benjamin Neff
bd9cc67f5e create receiver for new protocol and write tests 2016-03-18 02:54:17 +01:00
Benjamin Neff
176425f881 rename Fetcher to HttpClient
don't use the same classname twice
2016-03-15 02:17:04 +01:00
Benjamin Neff
d83b6f14f5 create entity fetcher for public entities 2016-03-15 02:17:04 +01:00
Benjamin Neff
4a7fd52844 don't modify the parameter string in Entity.entity_class 2016-03-15 01:30:08 +01:00
Benjamin Neff
35ea1d3f70 create abstract post type with shared attributes 2016-03-11 03:44:09 +01:00
Benjamin Neff
c64eb0f838 fix rubocop offense 2016-03-08 03:11:34 +01:00
Benjamin Neff
57ed20719f add created_at to comment entity
this is a preparation for diaspora/diaspora#4269
2016-03-08 03:08:28 +01:00
Benjamin Neff
10c09752d2 xml_order and additional_xml_elements only for Relayables 2016-02-22 02:42:50 +01:00
Benjamin Neff
2cdaea0d70 move parse code to Entity 2016-02-20 20:23:33 +01:00
Benjamin Neff
2e3bf2f132 refactoring to_xml for SignedRetraction and RelayableRetraction 2016-02-20 02:06:32 +01:00
Benjamin Neff
d616e5fae9 refactoring to_xml and signing 2016-02-19 03:35:01 +01:00
Benjamin Neff
823db3ee18 refactoring xml generation
also refactoring `xml_name`
2016-02-18 03:17:08 +01:00
Benjamin Neff
03fe90ffaa Merge branch 'encrypted-salmon' into develop 2016-02-15 04:17:13 +01:00
Benjamin Neff
566ac9ff2d rename SlapReceiver and mark them deprecated 2016-02-14 01:36:18 +01:00
Benjamin Neff
76a4ea929b read sender from magic envelope and fetch key 2016-02-13 22:47:58 +01:00
Benjamin Neff
744e194b90 add EncryptedMagicEnvelope
This is a simpler replacement for the EncryptedSlap
2016-02-13 20:34:09 +01:00
Benjamin Neff
160da072b6 add key_id to magic envelope 2016-02-13 20:34:09 +01:00
Benjamin Neff
19621fecdf use different key for envelope and header 2016-02-13 20:34:08 +01:00
Benjamin Neff
c96369b36e add alias functionality to entities
* add diaspora_id alias to Person and Profile for Discovery
* also diaspora_id for AccountDeletion
2016-02-12 03:26:33 +01:00
Benjamin Neff
5ebda543a1 change diaspora_id to author
see #29
2016-02-10 03:17:10 +01:00
Benjamin Neff
1c2e2f560d Request: rename sender_id to diaspora_id
See #29
2016-02-06 21:19:09 +01:00
Benjamin Neff
5ce71f57d6 allow unwrapped XMLs 2016-02-06 03:10:48 +01:00
Benjamin Neff
76f6929668 add unknown xml elements to the xml again 2016-02-06 02:35:26 +01:00
Benjamin Neff
98ff8cbae0 add new (alphabetic) signature logic 2016-02-06 01:36:27 +01:00
Benjamin Neff
1c7a5ad3e6 add additional parsed xml properties to the entity-instance
allow mapping with `name` and `xml_name`
2016-02-05 21:13:30 +01:00
Benjamin Neff
cf5da6e1ab move guid and diaspora_id to Relayable 2016-02-03 01:59:14 +01:00
Benjamin Neff
eb486b2a18 improve dummy app callbacks 2016-02-03 00:47:21 +01:00
Benjamin Neff
cfbf401585 static legacy signature order 2016-02-02 03:02:44 +01:00
Benjamin Neff
b19e1b8e52 move signing logic for relayables to Relayable
refactoring exceptions for relayables
2016-01-31 20:22:51 +01:00
Benjamin Neff
714f6d8273 create own sign-logic for SignedRetraction and RelayableRetraction
this is a small code-duplication, but will be removed when
SignedRetraction and RelayableRetraction will be removed.
2016-01-31 15:29:41 +01:00
Benjamin Neff
f4f25e8663 add status to the update_pod callback 2016-01-30 18:28:37 +01:00
Benjamin Neff
08ecfca5d3 rename target_type to parent_type in relayables
this is equivalent to parent_guid and parent_author_signature

also added a validator for parent_type
2016-01-22 01:05:42 +01:00
Benjamin Neff
8bd9c28ce0 override to_h to sign relayables 2016-01-21 23:40:36 +01:00
Benjamin Neff
1aead0ac5b refactoring RelayableRetraction and SignedRetraction signing 2016-01-21 05:27:48 +01:00
Benjamin Neff
adf14283e3 refactoring relayable signature-checking
verify signature after creating the entity instance
2016-01-21 05:27:48 +01:00
Benjamin Neff
583d567d67 bump rubocop and pronto-rubocop
make some refactorings for new cops
2016-01-19 01:32:22 +01:00
Benjamin Neff
b39582f754 write tests for Sender and HydraWrapper 2016-01-17 21:16:18 +01:00
Benjamin Neff
a0398430ed refactor encrypted slap to reuse it for every recipient 2016-01-14 03:46:01 +01:00
Benjamin Neff
c7f33d7cf4 rename 'pkey' to 'privkey' and 'pubkey' 2016-01-13 02:20:49 +01:00
Benjamin Neff
aa84c4c40e move Receiver to Federation module 2016-01-11 02:30:32 +01:00
Benjamin Neff
0917fc2f19 allow photo.status_message_guid to be nil 2016-01-10 19:05:54 +01:00
Benjamin Neff
cf45416344 allow guid to be nilable 2016-01-10 18:55:32 +01:00
Benjamin Neff
7ed848c2f5 add ostatus subscribe-url to webfinger 2015-12-27 22:19:58 +01:00
cmrd Senya
a0545c37de Allow parent entity types different than "Post"
Entities::Message requires "Conversation" at the place, for instance.
2015-12-21 14:05:42 +03:00
Benjamin Neff
c7446f7220 refactor receive classes 2015-12-18 00:42:41 +01:00
cmrd Senya
5aac8c2423 Receiving entities support 2015-12-15 19:06:51 +03:00
Benjamin Neff
73fab4d01c add more documentation 2015-12-13 01:22:17 +01:00
cmrd Senya
91376a3e26 Retractions signatures support 2015-12-03 00:15:32 +03:00
Benjamin Neff
06695610dd write tests to have 100% coverage again 2015-11-30 00:28:20 +01:00
Benjamin Neff
9d999918e5 make entities more consistent 2015-11-29 23:50:44 +01:00
cmrd Senya
64608e7869 Introduce diaspora_federation-test gem 2015-11-23 23:58:28 +03:00
cmrd Senya
91c3753019 Add signature computation for entities support 2015-11-22 23:40:46 +03:00
cmrd Senya
b9b5ee6f7d Do the same generalization for Relayable for validators taking
into account that "author_signature" and "parent_author_signature"
are allowed to be empty, actually.
2015-11-13 17:44:45 +03:00
cmrd Senya
fd1f896d17 Introduce the "Relayable" entity, which encapsulates common
properties of entities that are inherited from Relayable class
in the Diaspora source code - "parent_guid",
"parent_author_signature", "author_signature".
2015-11-13 16:43:36 +03:00
cmrd Senya
9fd2b048e6 Fixes that in the XmlPaylod rspec ".entity_class_name" was mistakenly
put inside the ".unpack" section
2015-11-11 17:07:20 +03:00
cmrd Senya
148300b329 Partly replace hard-coded hashes in specs with FactoryGirl.attributes_for 2015-11-07 15:58:47 +03:00
cmrd Senya
c9e641f3c5 Adding initialize_with to FactoryGirl config in previous commit allowed
to call FactoryGirl.build for entities, so use it wherever possible.
2015-11-07 15:58:47 +03:00
cmrd Senya
e8fa25c6a6 Add the Poll entity 2015-11-07 15:58:30 +03:00
cmrd Senya
b8b52fc60d - New and older specs adjustments;
- Move the specs to use FactoryGirl;
- Replace use of "context" in specs with "describe".
2015-11-06 01:51:20 +03:00