Commit Graph

1011 Commits

Author SHA1 Message Date
Christien Rioux
94ce43f944 reliable + ensureordered is now the routingcontext and private route default 2024-03-27 17:53:51 -05:00
Christien Rioux
800348451e improve route selection and add generate_shared_secret 2024-03-27 17:53:51 -05:00
Christien Rioux
37dbbc39fd testing cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
30cc4a814b add python watch test 2024-03-27 17:53:51 -05:00
Christien Rioux
3970b6f294 fix flutter/dart wasm 2024-03-27 17:53:51 -05:00
Christien Rioux
d586748333 add inspect test to wasm 2024-03-27 17:53:51 -05:00
Christien Rioux
ee54358c27 wasm unit tests work and attachment manager fix 2024-03-27 17:53:51 -05:00
Christien Rioux
ff28273a59 wasm support for inspect and watchvalue
(needs tests)
2024-03-27 17:53:51 -05:00
Christien Rioux
cfce0a35b4 add inspect to python api 2024-03-27 17:53:51 -05:00
Christien Rioux
c9f0003150 reporting correction and better debug 2024-03-27 17:53:51 -05:00
Christien Rioux
39eee4708c more cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
630d2a53b1 clarify 2024-03-27 17:53:51 -05:00
Christien Rioux
d800f39c28 xfer 2024-03-27 17:53:51 -05:00
Christien Rioux
64832748a9 proper valuesubkeyrangeset truncation 2024-03-27 17:53:51 -05:00
John Smith
d67ef0eb2c increase minimum number of nodes for bootstrap 2024-03-27 17:53:51 -05:00
Christien Rioux
8bc3e7f9ef improve internal doc on validation 2024-03-27 17:53:51 -05:00
Christien Rioux
4cfbc18f4a better doc 2024-03-27 17:53:51 -05:00
Christien Rioux
7fdd5f9555 more inspect work 2024-03-27 17:53:51 -05:00
Christien Rioux
ea74d646f8 more inspectvalue, en route to rehydration 2024-03-27 17:53:51 -05:00
Christien Rioux
7a1e6f96e6 fix bugs 2024-03-27 17:53:51 -05:00
Christien Rioux
9bccb59f77 first stab at inspectvalue 2024-03-27 17:53:51 -05:00
Christien Rioux
ca65d12836 checkpoint, adding 'inspect value' 2024-03-27 17:53:51 -05:00
Christien Rioux
946d33ced6 fixes for privacy issues, closes #357 2024-03-27 17:53:51 -05:00
Christien Rioux
ab419f03ef do not permit node id to be a schema member. closes #359 2024-03-27 17:53:51 -05:00
Christien Rioux
fdc3de906f major logging cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
6455aff14a make change_log_ignore a thing 2024-03-27 17:53:51 -05:00
Christien Rioux
78e84f6573 fix in feature 2024-03-27 17:53:51 -05:00
Christien Rioux
2dc2f97dfc watch cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
86f7473727 clarify semantics 2024-03-27 17:53:51 -05:00
Christien Rioux
119a5668ac more semantics cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
9b4e490994 break everything / xfer 2024-03-27 17:53:51 -05:00
Christien Rioux
72066360ad oops 2024-03-27 17:53:51 -05:00
Christien Rioux
e009b1097b watch ids 2024-03-27 17:53:51 -05:00
Christien Rioux
4b632d8156 more debugging 2024-03-27 17:53:51 -05:00
Christien Rioux
7e5d0d1204 clean up watch logic 2024-03-27 17:53:50 -05:00
Christien Rioux
78e5590d5b fix record debug 2024-03-27 17:53:50 -05:00
Christien Rioux
728038c197 fix tablestore namespacing 2024-03-27 17:53:50 -05:00
Christien Rioux
ec71c9631c io read write 2024-03-27 17:53:50 -05:00
Christien Rioux
bf6be2beed fixes for 'nom' out of date 2024-03-27 17:53:50 -05:00
Christien Rioux
a04d4e12c5 integration test and config work 2024-03-27 17:53:50 -05:00
Christien Rioux
8818e63dc0 add default veilid config to the api 2024-03-27 17:53:50 -05:00
Christien Rioux
31bb8018f6 fix race condition in setting dht values before network is ready 2024-03-27 17:53:50 -05:00
Christien Rioux
ad45660db9 fix tests 2024-03-27 17:53:50 -05:00
Christien Rioux
ef6ecdab79 logging improvements 2024-03-27 17:53:50 -05:00
Christien Rioux
292664f3fe add veilid_api logging to debug calls through the api 2024-03-27 17:53:50 -05:00
Christien Rioux
380ac1883f fix spurious error 2024-03-27 17:53:50 -05:00
Christien Rioux
019cb5fd79 preserve watches 2024-03-27 17:53:50 -05:00
Christien Rioux
1cacc547e0 python work and network keying work 2024-03-27 17:53:50 -05:00
Christien Rioux
0c3271b3b9 add writer to set_dht_value, allow multiple open_dht_record 2024-03-27 17:53:50 -05:00
Christien Rioux
2156449486 fix missing address range for local 2024-03-27 17:53:50 -05:00
Christien Rioux
9b04fb1e4b debug 2024-03-27 17:53:50 -05:00
Salvatore Testa
6c6f0c4966
Default config listen_address to empty string
If the address is `""` then an available address is automatically
picked.

```
// Network#allocate_tcp_port
if listen_address.is_empty() {
    // If listen address is empty, find us a port iteratively
    let port = self.find_available_tcp_port(5150)?;
    let ip_addrs = available_unspecified_addresses();
    Ok((port, ip_addrs))
} else {
    // ...
}
```
2024-02-16 15:52:02 -08:00
Kyle Hamilton
aa43f8d4a6 chore: rebrand trust-dns-resolver to hickory-resolver 2024-02-12 17:04:27 -05:00
Christien Rioux
ff853a6546 Merge branch 'salvatoret/copyable-target' into 'main'
Make Target copy-able

See merge request veilid/veilid!253
2024-02-10 20:33:50 +00:00
eve.hobert
62ebd4a0aa oops, removing some test code 2024-02-02 16:16:10 -06:00
eve.hobert
6b2c9ed48a adding an impl from and into [u8; size] for byte array types 2024-02-02 16:04:23 -06:00
Salvatore Testa
5e55be4b7a
Make Target copy-able
Clippy also informed us that we can drop some of the clone calls.

```
❯ cargo clippy
    Checking veilid-core v0.2.5 (~/Developer/veilid/veilid-core)
error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/record_store.rs:912:33
    |
912 |                         target: w.target.clone(),
    |                                 ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `w.target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
note: the lint level is defined here
   --> veilid-core/src/lib.rs:25:9
    |
25  | #![deny(clippy::all)]
    |         ^^^^^^^^^^^
    = note: `#[deny(clippy::clone_on_copy)]` implied by `#[deny(clippy::all)]`

error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/watch_value.rs:199:21
    |
199 |                     target.clone(),
    |                     ^^^^^^^^^^^^^^ help: try removing the `clone` call: `target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/mod.rs:737:17
    |
737 |                 vc.target.clone(),
    |                 ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `vc.target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

error: could not compile `veilid-core` (lib) due to 3 previous errors
```
2024-02-01 14:32:30 -08:00
Christien Rioux
fd4d42c6a2 clippy lint 2024-01-21 15:50:48 -05:00
Christien Rioux
2ef91116ee switch to build hash from modtime for capnp generation 2024-01-20 21:52:23 -05:00
Christien Rioux
ae339e6573 wasm fixes 2024-01-19 21:30:48 -05:00
Christien Rioux
b9705285e9 xfer 2024-01-19 14:34:09 -05:00
Christien Rioux
7848c14c2b disable dht test due to inconsistencies 2024-01-19 13:55:35 -05:00
Christien Rioux
37ed0239f3 checkpoint 2024-01-19 13:55:35 -05:00
Christien Rioux
92cb5a07cf add watch capability 2024-01-19 13:55:35 -05:00
John Smith
b11f404d3f async-std support 2024-01-19 13:55:35 -05:00
John Smith
d454f9fdf9 update deps 2024-01-19 13:55:35 -05:00
John Smith
7129343ea1 some debugging for bootstrap and route purge 2024-01-19 13:53:43 -05:00
John Smith
cfd7a319d2 remove unused function 2024-01-19 13:53:43 -05:00
John Smith
277aed5d40 private route respondto fix 2024-01-19 13:53:43 -05:00
John Smith
c33b00fe32 clamp instead of reject max expiration time 2024-01-19 13:53:43 -05:00
John Smith
9c0c7cf0b2 config oops 2024-01-19 13:53:43 -05:00
John Smith
064661f20d expiration work 2024-01-19 13:53:43 -05:00
John Smith
b6f1e706f7 fix expiration 2024-01-19 13:53:43 -05:00
John Smith
5f5515af5e oops 2024-01-19 13:53:43 -05:00
John Smith
827a3443b0 fix lengths 2024-01-19 13:53:43 -05:00
John Smith
448267217e ranges 2024-01-19 13:53:43 -05:00
John Smith
0411055aed fixes for init nodes 2024-01-19 13:53:43 -05:00
John Smith
a076082763 punish clear 2024-01-19 13:53:43 -05:00
John Smith
1e1faa3c1a debug 2024-01-19 13:53:43 -05:00
John Smith
2ffba2c528 bug fixes 2024-01-19 13:53:43 -05:00
Christien Rioux
8ed3f0672e fix clear screen 2024-01-19 13:53:43 -05:00
Christien Rioux
88d13d36c9 cleanup 2024-01-19 13:53:43 -05:00
John Smith
d7783e27dd fix bugs 2024-01-19 13:53:43 -05:00
John Smith
cdf823c1cc better debug commands for dht 2024-01-19 13:53:43 -05:00
John Smith
99fb135b5b fix invalid nodeinfo check 2024-01-19 13:53:43 -05:00
John Smith
ac6aa8f2eb fix overflow 2024-01-19 13:53:43 -05:00
Christien Rioux
96ead7dba5 fix address in use error and don't send valuechanged to node that sets value 2024-01-19 13:53:42 -05:00
Christien Rioux
05f89e070c fix tests 2024-01-19 13:53:42 -05:00
Christien Rioux
b46fd7690f watch maintenance tasks 2024-01-19 13:53:42 -05:00
Christien Rioux
a67bfde1f7 send valuechanged 2024-01-19 13:53:42 -05:00
Christien Rioux
d1dad8de61 checkpoint 2024-01-19 13:53:42 -05:00
Christien Rioux
9b8420d288 more watchvalue 2024-01-19 13:53:42 -05:00
Christien Rioux
8efa2de82c config -> record store 2024-01-19 13:53:42 -05:00
Christien Rioux
077a1808a5 propagate set logic to watch logic 2024-01-19 13:53:42 -05:00
Christien Rioux
4a76353f33 ensure get_value doesn't try to pull values unless they are close enough 2024-01-19 13:53:42 -05:00
Christien Rioux
a211c7cce3 more watchvalue 2024-01-19 13:53:42 -05:00
Christien Rioux
248f8dad06 watchvalue recordkeeping 2024-01-19 13:53:42 -05:00
Christien Rioux
9d9a76e45c more watch value 2024-01-19 13:53:42 -05:00
Christien Rioux
70e256a25a checkpoint 2024-01-19 13:53:42 -05:00
Christien Rioux
3f86801ecd Merge branch 'salvatoret/clean-up-warnings' into 'main'
Clean up the compile-time warnings

See merge request veilid/veilid!247
2024-01-19 18:53:31 +00:00
Salvatore Testa
5884f89d1a
Clean up the compile-time warnings
These are all the auto-applied warning corrections.
2024-01-11 15:16:18 -08:00
Salvatore Testa
e378d01682
Move default storage config to veilid-core
The default is currently `""` which puts all of the files without
grouping them in the top level.

Instead, use the paths that `veilid-server` has configured as the
defaults.
2024-01-11 10:19:31 -08:00
Christien Rioux
ead8e9ab86 Merge branch 'salvatoret/more-defaults' into 'main'
Populate config defaults with more helpful values

See merge request veilid/veilid!244
2024-01-10 00:31:56 +00:00
Salvatore Testa
37530b9128
Populate config defaults with more helpful values
Make it easier for someone to spin up a Veilid node.

I copied a lot of these from the `default_config.dart`.
2024-01-08 17:44:41 -08:00
Salvatore Testa
7a55be8015
Add VeilidConfigInner-based VeilidAPI startup
Allow for a type-safe initialization of the API

Closes https://gitlab.com/veilid/veilid/-/issues/354
2024-01-06 13:21:44 -08:00
Christien Rioux
bd74ac7bce Merge branch 'salvatoret/android-dev-2023-11' into 'main'
Update the Android development enviornment setup

See merge request veilid/veilid!237
2023-11-23 14:51:38 +00:00
Kyle H
af27b5aa85 Change 'whitelist' to 'allowlist' globally. 2023-11-23 14:49:45 +00:00
Salvatore Testa
38d9610c6b
Update the Android development enviornment setup
1. Update `ANDROID_SDK_ROOT` to `ANDROID_HOME`. The former variable is
   deprecated. (see https://developer.android.com/tools/variables#envar)
2. Remove `ANDROID_NDK_HOME` environment variable. This should allow the
   build script to work out of the box for more folks.
3. Check that Java is on the `PATH` as opposed to just installing it.
   `asdf` and other runtime management tools are pretty popular, and all
   we care about is that the Java version is accessible.
4. Remove calls to `sudo`. Check to see if CocoaPods exists, if it
   doesn't install it using Homebrew which doesn't require `sudo`.
2023-11-19 17:31:23 -08:00
Christien Rioux
6f8f636d5d disable dht test in CI 2023-11-08 08:04:53 -05:00
Christien Rioux
c67a427610 mtime fixes 2023-11-07 21:06:29 -05:00
Christien Rioux
ffacbdfe25 clarify error 2023-11-07 20:38:36 -05:00
Christien Rioux
425b31c023 make capnp only necessary if modifying generated files 2023-11-07 19:27:08 -05:00
Christien Rioux
1e4e9c203c check in generated files 2023-11-07 14:19:28 -05:00
Christien Rioux
5070b0a560 use forked repositories for async-tls and async-tungstenite 2023-11-07 13:49:19 -05:00
Christien Rioux
8515e0dccc cargo update 2023-11-06 22:49:20 -05:00
TC Johnson
dcd4c0d22a
Version update: v0.2.4 -> v0.2.5
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
2023-11-06 20:51:41 -06:00
Christien Rioux
2dee3ff6cc allow returning local values when offline, even when forcerefresh is turned on 2023-11-05 21:16:13 -05:00
Christien Rioux
765ecee450 Merge branch 'safety-by-default' into 'main'
Safety by default

See merge request veilid/veilid!235
2023-11-06 01:40:02 +00:00
Christien Rioux
071d294a70 use Reliable and PreferOrdered by default for private routes 2023-11-05 19:48:33 -05:00
Christien Rioux
ee375ad430 safety by default 2023-11-05 18:38:05 -05:00
Christien Rioux
1b380cd915 Merge branch 'kyanha-safety-route-bidi' into 'main'
Make private route allocation bidirectional

Closes #341

See merge request veilid/veilid!231
2023-11-05 14:30:10 +00:00
Christien Rioux
ee1472f3ae fix #337 2023-11-04 19:53:14 -04:00
Christien Rioux
38cd29f9a1 wasm refactor for flows 2023-11-04 19:53:14 -04:00
Christien Rioux
0640342556 refactor for flows 2023-11-04 19:53:14 -04:00
Christien Rioux
facb343160 clean up protect/refs 2023-11-04 19:53:14 -04:00
Christien Rioux
934cd93b4b cleanup 2023-11-04 19:53:14 -04:00
John Smith
7f67a00ab2 clean up close ordering 2023-11-04 19:53:14 -04:00
Christien Rioux
520d8c43f7 connection debugging 2023-11-04 19:53:14 -04:00
Christien Rioux
f47d6402c3 staggered pings 2023-11-04 19:53:14 -04:00
Christien Rioux
d750b7c5c3 wasm dht test passes 2023-11-04 19:53:14 -04:00
Christien Rioux
11c19d1bad wasm warnings 2023-11-04 19:53:14 -04:00
John Smith
b590e3f28a signal work" 2023-11-04 19:53:14 -04:00
Christien Rioux
e677a72ab3 oops Please enter the commit message for your changes. Lines starting 2023-11-04 19:53:14 -04:00
Christien Rioux
74e2f9a2c0 cleanup visibility 2023-11-04 19:53:14 -04:00
Christien Rioux
2051292a26 move file 2023-11-04 19:53:14 -04:00
Christien Rioux
b964ddb6eb protect route hops + refactor 2023-11-04 19:53:14 -04:00
John Smith
c70c260bb8 add low level close 2023-11-04 19:53:14 -04:00
Christien Rioux
23f47be357 turn off linger 2023-11-04 19:53:14 -04:00
Christien Rioux
2c4883ee85 fix tests 2023-11-04 19:53:14 -04:00
Christien Rioux
126bb0035d refactor wasm tests 2023-11-04 19:53:14 -04:00
Christien Rioux
8fa4ab10a4 work on wasm tests 2023-11-04 19:53:14 -04:00
TC
502d08eda3 Merge branch 'earthly-caching-2' into 'main'
Refactored Earthfile to improve caching

See merge request veilid/veilid!232
2023-11-03 01:17:14 +00:00
Δ ǀ Ξ ȼ
d38f3cb42f
Refactored Earthfile to improve caching
Targets have been parallelized so that initial push of the container cache should build the whole build a little quicker, plus the container should now use the cache for more of the build and so speed up normal builds to just the compilation and test of the code that has changed

The `build_cache` target now builds a `build-cache:latest` container that is stored in the GitLab project Container Registry, and then used (if it exists) by the `test_build` target.  The `build_cache` task runs under 3 conditions, 1. the container does not exist, 2. if scheduled, 3. if run manually from the Pipelines page in the GitLab interface.

It is recommended that the build is set up to run on a weekly schedule via the `Pipeline schedules` page in GitLab with the schedule of `0 2 * * 6`.
2023-10-31 11:17:13 +00:00
Kyle H
6ee78700f1 Make private route allocation bidirectional 2023-10-28 04:47:31 -04:00
Christien Rioux
5691e5a6ac Merge branch 'rust-dht-tests' into 'main'
Rust DHT test suite

See merge request veilid/veilid!227
2023-10-21 23:29:09 +00:00
Sergei Surovsev
992cc7a1fd Rust DHT test suite 2023-10-21 23:29:09 +00:00
Christien Rioux
6b4bcc67f4 fixes 2023-10-21 19:22:59 -04:00
Christien Rioux
7da6b62c52 more cleanup 2023-10-21 18:51:16 -04:00
Christien Rioux
48ab34f577 clean up error, make python tests more reliable 2023-10-21 15:54:07 -04:00
Christien Rioux
697ac5e9ce error cleanup 2023-10-21 15:00:50 -04:00