Commit graph

115 commits

Author SHA1 Message Date
b0fd916eb4
Initial CSS! 2022-02-24 00:39:27 +00:00
5ee34ce082
Subresource integrity ftw! 2022-02-23 20:45:49 +00:00
da819a59af
client: add todo comment 2022-02-22 03:06:26 +00:00
119e44165a
Add initial client-side system
Looks like esbuild is shaping up to be just the thing we need, and wow 
is it fast!

Still ned to figure out how to get it to not mangle the index.html 
filename, but still!
2022-02-22 03:01:39 +00:00
da33a146e2
Manage duplicate connections more effectively.
Thebroadcast function now transparently avoids sending the same message 
to the same peer over multiple connections at once.
2022-02-21 21:55:20 +00:00
e4a381b915
remove debug logging 2022-02-21 03:14:57 +00:00
de0b5893ac
add comments 2022-02-21 03:14:41 +00:00
3819f8c61a
It works! Wooo!
...almost. We still need to ask ourselves for a table too haha
2022-02-21 03:10:49 +00:00
f320617117
Implement initial http table_fetch endpoint, but it's not working right 2022-02-12 16:27:50 +00:00
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
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
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
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
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
bbc5d54158
connection: fix some edge cases 2021-10-02 17:00:24 +01:00
c43aeb6c3b
Implement FramedTransport to increase efficiency of transmitted encrypted messages 2021-10-02 15:56:34 +01:00
b3da7fea17
add todo 2021-10-02 03:03:49 +01:00
ba377874b1
Looks like upgrading to TLS isn't going to work, so we're going to implement it ourselves.
....this is a bad idea.
2021-10-02 03:02:49 +01:00
c0441a1dcd
Bugfix secretbox: Fix buffer conversions 2021-10-02 02:11:26 +01:00
a2d2b58b38
hey, we have basic starttls! Though it's not wired up yet. 2021-10-02 01:16:34 +01:00
29799e4631
Update subcommands 2021-10-01 02:48:22 +01:00
ab1e52417d
Setup scaffolding for Node.js based attempt 2021-10-01 02:44:50 +01:00
cf3d3355ca
Let's start afresh 2021-09-30 21:31:38 +01:00
12339aad90
This isn't working..... I think I've bitten off more than I can chew again with Rust :-( 2021-09-30 01:00:19 +01:00
2e062fd78f
Start setting up a handler, but it's not working right just yet.
We probably want to go back and look at the tokio examples again.
2021-09-29 02:44:33 +01:00
f55fd2f91b
Adapt settings system from woppleblox 2021-09-28 23:55:34 +01:00
f6563932c9
Setup basic CLI 2021-09-28 23:47:52 +01:00