Commit Graph

31 Commits

Author SHA1 Message Date
a6a8634cab WIP. 7 tests failing. Refactor Pigeon::Draft / ::Message
Pigeon::Message was holding on to too many drafting responsibilities.
It also was possible for the local identity to inadvertantly author
malformed messages. This is because local messages were not passed
through the ::Lexer / ::Parser and thereby did not receive the same
scrutiny of remote messages.

To avoid security problems later, and for additional security,
I will only allow messages to be saved *after* passing through the
lexer/parser. This means moving much of Pigeon::Message's logic
into Pigeon::Draft.
2020-04-07 08:58:53 -05:00
dd7456cc88 Rename .public_key attributes to .multihash for consistency 2020-04-06 07:22:24 -05:00
6d6e8ffa37 Fix kitchen_sink.sh. Add tests for base32 encoder 2020-04-06 07:18:04 -05:00
30d6690b1c [UNSTABLE] Remove b64, add b32 2020-04-05 19:38:37 -05:00
96e2025dc9 Start writing base32 parser 2020-04-05 17:20:36 -05:00
3c36f0efc2 Add ::Helpers.create_message(), Fix ALPHANUMERICISH regex (needed to allow hyphens) 2020-04-02 07:11:23 -05:00
191a73c419 🎉🎉🎉 Bundle ingestion works!! 2020-03-31 07:09:42 -05:00
3a03d1b589 Set prev to Pigeon::EMPTY_MESSAGE rather than nil 2020-03-30 08:51:05 -05:00
d2e9159c74 Fix careless typos with ::Storage index names. 2020-03-28 20:45:06 -05:00
73f653af31 👏 Verify ingested message 2020-03-27 07:48:17 -05:00
17d863eb22 Add ::Helpers module 2020-03-27 07:07:48 -05:00
3226b1515c WIP. TODO: RemoteIdentity#verify 2020-03-26 09:00:17 -05:00
2805bdf78c Fix a bunch of bugs that came up only now that we are dealing with remote peers 2020-03-26 08:17:50 -05:00
f3373863a6 Rename KeyPair to LocalIdentity to disambiguate (were dealing with peers now). 2020-03-24 07:39:32 -05:00
0a907cb086 Move Pigeon::Lexer into its own module 2020-03-18 07:32:40 -05:00
46e1a659f6 Constantize literals for portability and DRYness 2020-03-15 12:50:57 -05:00
31daf90cdc We have BUNDLE CREATION 🎉 🎉 🎉 2020-03-15 11:51:13 -05:00
afa160c2d2 Convert ".sig.ed25519" literals to constants. Update README. 2020-03-13 22:09:31 -05:00
c27db9ae71 TODO: Verify accuracy of signature chain.
Also todo:
 * Use URL safe base64 for blob multihash?
 * Replicate/verify signatures of SSB messages for backwards compat.
2020-03-09 08:56:45 -05:00
be5dfc982a 🎉 100% coverage. NEXT: Verify message chain creation via tests.
Currently, it is not working correctly.
Take a look at scratchpad.sh. The `prev:` values are wrong.

It is probably as simple as updating local indexes when
Pigeon::Storage#save_message is called. Re run the indexes
at that time. Or heck, add a map/reduce ability?
2020-03-07 09:56:03 -06:00
f4b6ddbf51 (99.44% coverage) TODO: Need to reset current draft when a draft is signed/committed to the log 2020-03-06 08:42:19 -06:00
17bd8e7927 Factor Pigeon::Message into two smaller classes: Pigeon::Message and Pigeon::Draft 2020-03-05 08:32:22 -06:00
f68e004e53 TODO: Create message index 2019-12-29 20:16:42 -06:00
dab113961a TODO: Make these tests pass 2019-12-10 21:52:43 -06:00
77a5ba27de TODO: Tests for Message#sign 2019-12-04 22:11:04 -06:00
7223906613 Constantize sigils 2019-12-04 18:17:36 -06:00
d8225bf96d Cleanup 2019-12-02 21:18:44 -06:00
729ca8145f Template renderer 2019-10-19 13:14:09 -05:00
0dba798d0e Fix bug in block/remove 2019-09-24 20:31:32 -05:00
70f8638ccb Finish most peer commands. NEXT: peer all 2019-09-22 20:07:14 -05:00
5ae1a0a943 Coo... coo... 2019-09-21 21:30:03 -05:00