Commit Graph

3129 Commits

Author SHA1 Message Date
Alexis Sellier c8bff35229
Improve ssh crate API
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 11:13:53 +02:00
Alexis Sellier 79c1372d33
Simplify ssh formatting code
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 10:48:22 +02:00
Alexis Sellier 2acd999c16
Add SSH functionality with new `radicle-ssh`
We borrow code from `thrussh`, refactored to be runtime-less.

Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-10-03 10:34:59 +02:00
Alexis Sellier af06ad6451
Use message timestamp for filtering
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-29 10:48:41 +02:00
Alexis Sellier e35ec2f715
Rebroadcast logic for stored gossip messages
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-29 10:02:52 +02:00
Slack Coder f9ad3ac155 git: Use RefString types for git::refs
Lean on rust's type system to improve safety.

Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-28 16:11:03 -05:00
Alexis Sellier 48a5c75ae3
Revise git transport to use I/O more directly
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 15:41:11 +02:00
Alexis Sellier f85a0426d7
Only support `rad://` in the custom proto
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 13:45:03 +02:00
Alexis Sellier 1da38708fc
Flesh out custom git transport
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-28 13:36:57 +02:00
Alexis Sellier b4dcc00fe3
Custom git protocol sketch
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 18:14:57 +02:00
Alexis Sellier 85f9a1afc2
Fully verify fetches
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-27 14:30:03 +02:00
Alexis Sellier 27e39c0df5
Make `Id` a `Copy` 2022-09-27 14:13:20 +02:00
Alexis Sellier a20d16fc31
tools: Announce refs on push
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 16:16:32 +02:00
Alexis Sellier c991c0eea0
Improve some project path code 2022-09-26 15:34:03 +02:00
Alexis Sellier ca2f766d19
Add `Profile::connect`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-26 14:27:56 +02:00
Alexis Sellier 854b0ba353
Update Rust to 1.64 2022-09-26 11:27:31 +02:00
Alexis Sellier 8605946703
node: Add CLI options 2022-09-26 11:25:20 +02:00
Alexis Sellier 116eaa79e6
Use `Profile` in client
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:21:21 +02:00
Alexis Sellier 51e18c27fc
Add `rad-push`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 20:10:52 +02:00
Alexis Sellier a3bf5ab7c3
Initialize `radicle-tools` crate
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 17:33:31 +02:00
Alexis Sellier fcb1007f9d
Refactor service
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-23 15:43:55 +02:00
Alexis Sellier 7169881849
Remove peer timestamp
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 18:17:51 +02:00
Alexis Sellier 1fa85f0da3
Rename `Peer` to `Session`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 17:49:20 +02:00
Alexis Sellier 51f2d4e3fc
Move identity types to project
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:31:58 +02:00
Alexis Sellier 00ed8793af
Rename a few more things for clarity
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:15:59 +02:00
Alexis Sellier 62408234cf
Rename `doc` module to `project`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 16:02:42 +02:00
Alexis Sellier e382bc4eb9
Remove `Project` type
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 15:59:20 +02:00
Alexis Sellier c2b599f068
Implement node handle to control node
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-22 12:36:12 +02:00
Alexis Sellier f5bfb8d90a
radicle: Implement canonical fork
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 16:08:04 +02:00
Alexis Sellier a37424d723
Remove `src/main.rs` 2022-09-21 15:12:38 +02:00
Alexis Sellier 46501507be
Split repository into two creates
* `radicle`: core library
* `radicle-node`: node

Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 15:11:17 +02:00
Alexis Sellier d1ccf1b807
node: Rename folder to `radicle-node`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 11:38:09 +02:00
Slack Coder d3d706bbf7
git: define common refs
Add helper methods to improve source code clarity and prevent bugs due to typos.

Signed-off-by: Slack Coder <slackcoder@server.ky>
2022-09-21 11:36:31 +02:00
Alexis Sellier 518e625d55
node: Move to new ed25519 crate
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-21 10:01:36 +02:00
Alexis Sellier 8760eee729
node: Implement canonical identity function
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-20 16:59:01 +02:00
Alexis Sellier bc226a9c38
node: Function to load quorum identity
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-19 22:08:52 +02:00
Alexis Sellier 2f07e39312
node: Make modules public
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:58:15 +02:00
Alexis Sellier 4ad8583805
node: Implement identity updates
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:58:12 +02:00
Alexis Sellier fa4ac94829
node: Check the id matches the root
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:54 +02:00
Alexis Sellier 6353d6115b
node: Use git oid for project id
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:54 +02:00
Alexis Sellier 84119b0265
node: Start on identity history verification
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 73d62de0cc
node: Move doc stuff to its own module
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 3e9a4eedae
node: Identity document verification
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 071465388c
node: Skip zero oids
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:53 +02:00
Alexis Sellier 5b86131257
node: Move wire code
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-18 23:39:43 +02:00
Alexis Sellier b72c3411f0
node: Use `Deref` instance
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:28:33 +02:00
Alexis Sellier 15e8a96948
node: Service -> Protocol
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:25:51 +02:00
Alexis Sellier 1017a2bc69
node: Don't simulate transport
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:14:00 +02:00
Alexis Sellier 2b6e20b50c
node: Decode messages in wire layer
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00
Alexis Sellier 8e160f170c
node: Add wire protocol
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
2022-09-16 20:08:36 +02:00