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
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
7e2815fabc
create fetch entity callback
...
and url_to callback
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
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
f1874f20bd
add slap/magic-env switch to the receive-controller
2016-02-14 19:00:43 +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
d2cdbd2aff
mark slap classes as deprecated
2016-02-13 22:47:23 +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
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
530b534c42
Merge branch 'master' into develop
2016-01-23 03:01:00 +01:00
Benjamin Neff
0fb7ebc2c1
release version 0.0.12
2016-01-23 02:40:28 +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
fd1dd7988d
improve documentation
2016-01-18 00:17:51 +01:00
Benjamin Neff
2d4f9a60d5
use obj_str for logging
2016-01-17 04:27:14 +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
d852144f3c
add send functionality
2016-01-12 02:36:32 +01:00
Benjamin Neff
aa84c4c40e
move Receiver to Federation module
2016-01-11 02:30:32 +01:00
Benjamin Neff
1cc8fac8a1
add http config to DiasporaFederation
2016-01-11 01:54:48 +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
cff74982bf
release version 0.0.11
2016-01-03 03:29:07 +01:00
cmrd Senya
8afd3ee0b5
fix created_at in factories
...
The present Diaspora's relayable signing process is not compatible
with DateTime.now.utc string format, so fall back to default value.
2015-12-31 02:02:35 +03:00
Benjamin Neff
55f3c2dce0
release version 0.0.10
2015-12-30 02:41:44 +01:00
Benjamin Neff
7ed848c2f5
add ostatus subscribe-url to webfinger
2015-12-27 22:19:58 +01:00
Benjamin Neff
9f67cade7e
fix factories with spring
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
358e844772
cleanup for rubocop
2015-12-19 17:31:53 +01:00
Benjamin Neff
c7446f7220
refactor receive classes
2015-12-18 00:42:41 +01:00
Benjamin Neff
b56c1e2d04
send xml to callbacks to queue it for receive
2015-12-18 00:11:32 +01:00
cmrd Senya
5aac8c2423
Receiving entities support
2015-12-15 19:06:51 +03:00
Benjamin Neff
d854f61d64
release version 0.0.9
2015-12-13 02:55:30 +01:00
Benjamin Neff
73fab4d01c
add more documentation
2015-12-13 01:22:17 +01:00
cmrd Senya
7702513ca5
Documentation for the callbacks
2015-12-11 03:01:42 +03:00
Benjamin Neff
f17739007a
improve documentation for entities
2015-12-07 04:10:17 +01:00
Benjamin Neff
965babbfee
mark RelayableRetraction and SignedRetraction as deprecated
...
The normal Rectraction can be used for this:
* RelayableRetraction: Both the author and the parent author can retract
a relayable, so there is no need to check if it was relayed.
* SignedRetraction: this is already signed at the salmon-level. No need
to add an additional signature at this level. Only used for
StatusMessage.
2015-12-07 02:05:37 +01:00
cmrd Senya
91376a3e26
Retractions signatures support
2015-12-03 00:15:32 +03:00
Benjamin Neff
48b56ee6da
Array#to_h is new in Ruby 2.1, we still support 2.0
2015-11-30 01:34:33 +01: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
Benjamin Neff
dc0f786b2c
improve documentation
2015-11-29 23:26:30 +01:00
Benjamin Neff
eef6ca19d2
do some refactorings
...
- use more "tap"
- fix rubocop issues
2015-11-28 18:23:02 +01:00
cmrd Senya
dba15af1d8
Documentation added
2015-11-28 18:40:55 +03: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
e8fa25c6a6
Add the Poll entity
2015-11-07 15:58:30 +03:00
cmrd Senya
f12a4c21db
Merge all the entities left from the @Raven24's gem.
...
These are: AccountDeletion, Comment, Conversation, Like, Message,
RelayableRetraction, Reshare, Retraction, SignedRetraction
2015-11-06 01:50:04 +03:00
cmrd Senya
9cb6fe4d1b
Some more code merged from the @Raven24's gem. The code is
...
related to the request, status_message, participation, photo and
location entities, its validators and tests for all of the things.
2015-11-03 00:39:30 +03:00
Benjamin Neff
eaedc3473a
use Faraday.default_adapter
...
fixes #7
2015-11-01 04:05:35 +01:00
Benjamin Neff
3aa8ad63a7
Merge pull request #6 from cmrd-senya/request-validator
...
A validator for the request entity
2015-10-28 02:57:07 +01:00
Benjamin Neff
42e994e01e
use xml_name when parsing an entity
2015-10-28 02:53:17 +01:00
cmrd Senya
4cbffbdc67
A validator for the request entity
2015-10-28 04:38:38 +03:00
Benjamin Neff
7f731e9af0
refactor salmon stuff
...
* fix rubocop issues
* remove duplicate code
* use `describe` in specs for methods
2015-10-26 23:50:31 +01:00
Benjamin Neff
1a3ba7e0fd
Merge branch 'salmon' of github.com:SuperTux88/diaspora_federation into salmon
2015-10-25 01:22:17 +02:00
Benjamin Neff
60cf4ca64f
refactoring AES part and add specs
2015-10-25 01:21:42 +02:00
cmrd Senya
79db753124
Add the request entity from the @Raven24's gem.
2015-10-24 15:43:20 +03:00
cmrd Senya
1801de3b52
Add StatusMessage related entities from the @Raven24's gem.
...
This makes the testbed pass with this gem.
2015-10-23 23:25:02 +03:00
Benjamin Neff
5a81d38e60
add salmon-classes (+tests) from raven24's gem
...
and do some basic refactorings for rubocop
2015-09-26 01:51:27 +02:00
Benjamin Neff
778a782c76
add exceptions for salmon stuff and move all to one file
2015-09-25 23:32:10 +02:00
Benjamin Neff
7b4753148b
split populate_entity in xml_payload
2015-09-25 22:42:22 +02:00
Benjamin Neff
6838391cc9
refactored Entity.entity_name and XmlPayload.entity_class_name
...
write tests and simplified regexes.
2015-09-25 02:37:22 +02:00
Benjamin Neff
eb707c2592
add xml_payload (+tests) from raven24's gem
...
and do some basic refactorings for rubocop
2015-09-25 00:41:34 +02:00
Benjamin Neff
eabe1135ee
fix some rubocop warnings
...
the last one will be fixed with the next rubocop release
2015-09-21 00:50:09 +02:00
Benjamin Neff
1ee03a1e66
release version 0.0.8
2015-09-19 20:51:21 +02:00
Benjamin Neff
5b8fe04d8e
release version 0.0.7
2015-09-17 02:11:18 +02:00
Benjamin Neff
2f6acc8367
fix friendica parsing with acct URIs in aliases
2015-09-17 02:11:18 +02:00
Benjamin Neff
c3e290465f
make alias and salmon-url optional to support redmatrix
2015-09-16 02:53:44 +02:00
Benjamin Neff
b114973785
remove type constraint in host-meta to support friendica/redmatrix again
2015-09-16 02:08:33 +02:00
Benjamin Neff
29e20da859
increase version number to 0.0.6
2015-08-11 00:55:04 +02:00
Benjamin Neff
4c9eac4699
remove unused nilable_uri rule (default uri rule is now nilable)
...
also use length rule instead of regex
2015-08-11 00:50:47 +02:00
Benjamin Neff
e60d466260
increase version number
2015-08-10 01:46:29 +02:00
Benjamin Neff
ad82caffda
refactoring: fix some rubocop issues
2015-08-10 01:38:15 +02:00
Benjamin Neff
cb9b754faa
allow certificate_authorities to be missing in test/development environment
2015-08-10 01:11:51 +02:00
Benjamin Neff
99d19049c2
add success logging for webfinger
2015-08-08 17:23:09 +02:00
Benjamin Neff
8c63655886
allow nil for diaspora_id in profile
...
refactor some tests
2015-08-06 02:21:49 +02:00
Benjamin Neff
ede695b214
fix warning: character class has '-' without escape
2015-08-05 02:04:51 +02:00
Benjamin Neff
311d6948e5
save person after fetch
2015-08-04 03:00:55 +02:00
Benjamin Neff
f4066f6105
rename callbacks
2015-08-04 02:09:14 +02:00
Benjamin Neff
7b3e6ad0c7
remove quotes from alias-url from old webfinger xml
2015-08-01 01:20:02 +02:00
Benjamin Neff
f4fec11993
better documentation
2015-08-01 00:52:09 +02:00