Commit Graph

97 Commits

Author SHA1 Message Date
d3ddc21de3 WIP, Need to fix saved drafts. 2020-04-18 08:51:54 -05:00
780823ccaf [REALLY UNSTABLE] Started removal of Pigeon::Storage.current 2020-04-16 09:05:10 -05:00
bd34ce89c7 Remove singleton usage in ::Storage 2020-04-15 08:06:24 -05:00
a710a7905f Singleton removal: Remove Pigeon::Bundle 2020-04-15 08:00:11 -05:00
21ec42dbd7 Begin singleton removal 2020-04-15 07:46:49 -05:00
9fba00c48b Add message size limit of 64 keys. 2020-04-15 07:31:18 -05:00
9adc19aa9c All tests pass. 2020-04-14 08:18:36 -05:00
975d7cde57 Done with lipmaalinks, but probably not partial verification. 2020-04-14 08:09:45 -05:00
48625599d6 Add lexer method to tokenize just the top half of an entry 2020-04-13 09:12:58 -05:00
f175c99067 [WIP][UNSTABLE] Gradually adding lipmaa header. 2020-04-12 09:38:52 -05:00
d6742bb9c0 Ready to write tests for Lipmaa linking 2020-04-11 09:53:22 -05:00
c82eb7a3c9 Cleanup ::Storage (make some public methods private) 2020-04-11 09:42:43 -05:00
291b450da6 Improve lexer error handling tests 2020-04-10 07:39:50 -05:00
e8e223f2ee More method renaming and dead code removal 2020-04-10 07:21:00 -05:00
58926b4c68 [STABLE] Pass all message creation (even local messages) through the message lexer/parser for validation. 2020-04-09 08:12:23 -05:00
8df1336702 Continuing fixes for ::Draft. 6 failures 2020-04-09 07:30:32 -05:00
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
d76f72ed88 Test case: ingesting malformed messages (whitespace keys and kind) 2020-04-07 08:13:28 -05:00
492b2da385 WIP: Validate that kind and body keys dont contain whitespace 2020-04-06 07:52:32 -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
dd455ff1df [STABLE] Convert URLSafeb64 to Crockford32. 2020-04-05 20:21:50 -05:00
30d6690b1c [UNSTABLE] Remove b64, add b32 2020-04-05 19:38:37 -05:00
ae4c29ad0b WIP. Brainstorm base32 ideas. 2020-04-04 17:35:07 -05:00
b0181234af Test case: Verification / assertion error 2020-04-03 05:29:19 -05:00
cf8232d2d7 Works again! 🎉 2020-04-03 05:19:42 -05:00
6b71044e86 Fix most failing tests. 2020-04-03 04:48:28 -05:00
0fcc94d7c1 Update normal.bundle to account for stricter Lexer validations. 2020-04-03 04:41:03 -05:00
57a5630659 Test case: Parsing meessage with duplicate keys 2020-04-02 07:38:00 -05:00
4b3905b676 Add test for Storage#find_all 2020-04-02 07:32:21 -05:00
9feb3d9ffc Find message find-all in CLI 2020-04-02 07:24:43 -05:00
3c36f0efc2 Add ::Helpers.create_message(), Fix ALPHANUMERICISH regex (needed to allow hyphens) 2020-04-02 07:11:23 -05:00
1c1caae42b update (failing) tests. Add better lex error messages 2020-04-01 08:25:27 -05:00
94009bc725 Be more strict about strings. 2020-04-01 08:07:39 -05:00
e79e0aedf3 Never save same message twice 2020-04-01 07:38:32 -05:00
e84ee564e7 Comment / debugger cleanup 2020-04-01 07:33:52 -05:00
1348433d2f Whoops, ingestion actually does *not* work. Maybe the .chomp in #render is tainting signatures? 2020-03-31 07:46:11 -05:00
75a4492acf Test case: bundle ingestion 2020-03-31 07:32:29 -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
b5089bb905 Fix numerous indexing and type errors. TODO: Fix verification errors.
* Stricter "type checking"
 * Better error messages
 * Safer signature computation
 * Easier PStore debugging
2020-03-29 11:51:57 -05:00
d2e9159c74 Fix careless typos with ::Storage index names. 2020-03-28 20:45:06 -05:00
17d863eb22 Add ::Helpers module 2020-03-27 07:07:48 -05:00
db33acdf36 Begin Pigeon::Parser 2020-03-24 08:00:00 -05:00
f3373863a6 Rename KeyPair to LocalIdentity to disambiguate (were dealing with peers now). 2020-03-24 07:39:32 -05:00
8d9deb90af Finish tests for Pigeon::Lexer 💯 ✔️ 2020-03-23 08:56:04 -05:00
3982406014 More tests for Lexer. NEXT: Fix coverage elsewhere, write parser 2020-03-23 08:39:35 -05:00
d10d9bbadc Bug fix: Lexer hangs on single entry bundles. 2020-03-23 08:39:00 -05:00
33cf84fa7b Dont reuse :TERMINATOR tokens. Add tests for bundle consumption. Found bug when consuming single message (?) 2020-03-20 09:01:02 -05:00
0a907cb086 Move Pigeon::Lexer into its own module 2020-03-18 07:32:40 -05:00