Commit graph

114 commits

Author SHA1 Message Date
3f26696056
Connection: Implement sequence numbering system to avoid replay attacks 2022-02-12 01:53:31 +00:00
a01792d2d5
SystemQuery: Fix crash due to bad import for logging 2022-02-12 01:53:12 +00:00
fcbf8ddc97
reinstall p-queue, which is required by FramedTransport (oops) 2022-02-12 01:52:57 +00:00
6ad701c692
Update dependencies 2022-02-11 22:45:37 +00:00
837804ec22
Connection: Update comment on replay attack
We still have the same problem, but solution do it is much simpler than 
we first thought....
2022-02-11 21:23:54 +00:00
1c5f5fb37a
Start setting things up for the HTTP subsystem, but we've got a ways to go 2022-02-10 21:42:53 +00:00
1e76226177
Connection: the issue at hand is more complicated than it first appears, as usual 2022-02-09 03:14:26 +00:00
a736acc1b7
SystemQuery: start filling out fetch_table properly, but it's still unfinished
...hey, at least we know what we're doing nwo and have a plan!
2022-02-09 03:06:52 +00:00
b1485d5410
Add initial (unfinished) protocol docs 2022-02-09 03:05:48 +00:00
97da517a0e
Connection: oops, we're vulnerable to a replay attack 2022-02-09 03:03:45 +00:00
3bdbad150c
Fill out ItemQueue implementation 2022-02-09 01:53:29 +00:00
44d64c09d0
Start unwinding the incoming tables from other peers, but it's gonna be a nasty and complicated business 2022-02-01 03:05:27 +00:00
15bdcaf047
SystemQuery: layout some stuff, but it's really just scaffolding at the moment.
We've not even sure if this is the right way t go about tackling this 
problem.
2022-01-31 03:06:34 +00:00
9ac878f261
InfoBroker: add initial meta table.
This particular table contains information about the currently running 
systemquery instance.

TODO: Add other interesting things such as # of connected peers etc.
2022-01-31 03:05:12 +00:00
7e42698317
SystemQuery: Remove unnecessary import 2022-01-31 02:46:37 +00:00
e63111e64f
Add based query response system, info broker
The new InfoBroker class' job is to fetch system information and return 
it in a standardised format.
2022-01-30 00:51:28 +00:00
bee1ffc2de
Remove placeholder RaftSubsystem class - we're not using Raft here 2022-01-30 00:50:40 +00:00
53499b7caf
README: Add link to sql.js for the next step
we're probably gonna want to make extensive use of it
2022-01-27 01:21:50 +00:00
1270a39808
Add new top-level class: Agent → SystemQuery
depth++!
2022-01-23 19:51:23 +00:00
16f23e6b77
Agent: refactor such that it can be used as a base class
In the future, this will make it much easier to  refactor into a 
library.

The plan is to allow Agent to have subsystems, but only those which are 
related to managing peer-to-peer message and not application-specific 
stuff. For example, wemight have a MeshRouting subsystem that listens 
for messages and conditionally forwards them based on the content of the 
message.
2022-01-22 14:22:06 +00:00
453ecb58bb
tweak logging 2022-01-20 19:28:53 +00:00
1091f9c3c2
Exchange peerlists 2022-01-09 20:28:58 +00:00
61b830121e
tweak comment 2022-01-09 17:47:19 +00:00
a9a7320a1e
Make disconnects graceful 2022-01-09 17:46:43 +00:00
43fed309dc
Disconnect duplicate connections 2022-01-09 17:37:06 +00:00
e4c01ae828
Fix PeerServer API bugs 2022-01-09 17:02:26 +00:00
63b698573f
Debug connectiono system 2022-01-09 16:57:07 +00:00
53b0d661a9
replace logging system
...I'm so picky
2022-01-09 16:30:42 +00:00
10cdd5be68
Add namespaced logging system, but it isn't actually used yet 2022-01-09 15:07:33 +00:00
306180d9d8
Another day, another set of bugs 2022-01-09 00:57:06 +00:00
c5e2d31c47
A bugfixing we are going.... not there just yet though 2022-01-08 23:47:52 +00:00
bfdb23b935
fix moar bugz 2022-01-08 21:55:18 +00:00
19f2003fbf
Fix some bugs, write some comments 2022-01-08 21:37:03 +00:00
046821f0ac
add failed connection attempt logging 2022-01-08 17:29:09 +00:00
135b2e8d1b
Write a bunch more glue code
....but it's all still untested. I'm getting kinda nervous here
2022-01-08 16:59:08 +00:00
306f3fb29b
Update README 2022-01-05 20:08:40 +00:00
40aa63c4a8
Merge branch 'main' of git.starbeamrainbowlabs.com:sbrl/systemquery 2022-01-05 20:05:01 +00:00
ca21cd91f7 Initial commit 2022-01-05 20:04:13 +00:00
2c56514a88
add comment 2021-12-27 18:34:44 +00:00
61bf2a27db
Implement stubs to remind us what to do next
We need a way to message our peers easily and flexibly.
2021-10-19 02:43:55 +01:00
cf7451dcf2
Wire up peer handing in PeerServer
Going to be a heck fo a stack trace if it crashes though.....

Agent → .... → PeerServer → Peer → Connection → FramedTransport → { 
rekey, StreamHelpers }
2021-10-19 02:36:22 +01:00
32dec3049f
Peer: we can use async/await for the initial handshake
events.once(emitter, eventname) makes it so much more concise!
2021-10-09 18:13:34 +01:00
6f181971e3
Implement simple peer system, but it's untested.
Next step is to exchange peers.
2021-10-09 18:00:54 +01:00
0b82e34273
Connection: Comment events
...JSDoc's syntax is *bad* and outdated for events :-/
2021-10-09 16:31:58 +01:00
7d3161433a
Improve unexpected socket disconnect handling 2021-10-03 12:24:32 +01:00
b48f50e819
Tidy up logging 2021-10-03 12:14:57 +01:00
49ca7f0a57
Fix bugs. It works!!!
Now we need to tidy up the logging output.....
2021-10-03 02:33:54 +01:00
0eed69917d
Lotsa debugging, but lotsa debugging to go...... 2021-10-03 00:34:55 +01:00
6e63bb0e66
rekey: upgrade round 2 onwards 2021-10-02 17:38:24 +01:00
93ff823827
Work on rekeying some more 2021-10-02 17:34:15 +01:00