From da7c9d71eff749b57e058b2cbf1f88115c85a0a0 Mon Sep 17 00:00:00 2001 From: Michael Jeffrey Date: Wed, 8 Nov 2023 17:01:27 -0700 Subject: [PATCH 1/3] update deps --- Cargo.lock | 320 ++++++++++++++++++++++++++++++++++++++--------------- Cargo.toml | 8 +- 2 files changed, 237 insertions(+), 91 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4aa1770..e52d201 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,9 +173,15 @@ dependencies = [ [[package]] name = "base16ct" -version = "0.2.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" @@ -209,11 +215,12 @@ dependencies = [ [[package]] name = "bs58" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" dependencies = [ - "sha2 0.9.9", + "sha2 0.10.6", + "tinyvec", ] [[package]] @@ -222,6 +229,12 @@ version = "3.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + [[package]] name = "bytes" version = "1.4.0" @@ -240,6 +253,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +dependencies = [ + "num-traits", +] + [[package]] name = "clap" version = "4.2.7" @@ -301,6 +323,12 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + [[package]] name = "const-oid" version = "0.9.2" @@ -368,9 +396,9 @@ checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" [[package]] name = "crypto-bigint" -version = "0.5.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" +checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" dependencies = [ "generic-array", "rand_core", @@ -388,6 +416,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "ct-codecs" version = "1.1.1" @@ -406,12 +444,11 @@ dependencies = [ [[package]] name = "der" -version = "0.7.5" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e58dffcdcc8ee7b22f0c1f71a69243d7c2d9ad87b5a14361f2424a1565c219" +checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" dependencies = [ - "const-oid", - "zeroize", + "const-oid 0.7.1", ] [[package]] @@ -448,22 +485,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" dependencies = [ "block-buffer 0.10.4", - "const-oid", + "const-oid 0.9.2", "crypto-common", - "subtle", ] [[package]] name = "ecdsa" -version = "0.16.6" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48e5d537b8a30c0b023116d981b16334be1485af7ca68db3a2b7024cbc957fd" +checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" dependencies = [ "der", - "digest 0.10.6", "elliptic-curve", "rfc6979", - "signature 2.1.0", + "signature", ] [[package]] @@ -472,16 +507,7 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature 1.6.4", -] - -[[package]] -name = "ed25519" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb04eee5d9d907f29e80ee6b0e78f7e2c82342c63e3580d8c4f69d9d5aad963" -dependencies = [ - "signature 2.1.0", + "signature", ] [[package]] @@ -491,7 +517,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c" dependencies = [ "ct-codecs", - "ed25519 1.5.3", + "ed25519", "getrandom", ] @@ -503,17 +529,16 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "elliptic-curve" -version = "0.13.4" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c71eaa367f2e5d556414a8eea812bc62985c879748d6403edabd9cb03f16e7" +checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" dependencies = [ "base16ct", "crypto-bigint", - "digest 0.10.6", + "der", "ff", "generic-array", "group", - "hkdf", "rand_core", "sec1", "subtle", @@ -558,9 +583,9 @@ dependencies = [ [[package]] name = "ff" -version = "0.13.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924" dependencies = [ "rand_core", "subtle", @@ -681,7 +706,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -697,9 +721,9 @@ dependencies = [ [[package]] name = "group" -version = "0.13.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89" dependencies = [ "ff", "rand_core", @@ -779,28 +803,30 @@ dependencies = [ [[package]] name = "helium-crypto" -version = "0.6.9" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138416a642e7228796b191795035ca5e4aad8a0b3628706caf73198dd8b44ff6" +checksum = "a1448bc3540b1ac62f080db396c0d88ade08b11160237a76b414f36a03da4208" dependencies = [ - "base64", + "base64 0.21.0", "bs58", - "ed25519 2.2.1", + "byteorder", "ed25519-compact", + "getrandom", "k256", "lazy_static", "p256", "rand_core", + "rsa", "serde", "sha2 0.10.6", - "signature 2.1.0", + "signature", "thiserror", ] [[package]] name = "helium-proto" version = "0.1.0" -source = "git+https://github.com/helium/proto?branch=master#a497164af27b41db389937736ce56fd9a1917e77" +source = "git+https://github.com/helium/proto?branch=master#9fc57133ed1e760c3f1b65dd22d55c09c84832da" dependencies = [ "bytes", "prost", @@ -826,22 +852,14 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" -[[package]] -name = "hkdf" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" -dependencies = [ - "hmac", -] - [[package]] name = "hmac" -version = "0.12.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ - "digest 0.10.6", + "crypto-mac", + "digest 0.9.0", ] [[package]] @@ -988,14 +1006,15 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d" dependencies = [ "cfg-if", "ecdsa", "elliptic-curve", - "sha2 0.10.6", + "sec1", + "sha2 0.9.9", ] [[package]] @@ -1023,6 +1042,9 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin", +] [[package]] name = "libc" @@ -1030,6 +1052,12 @@ version = "0.2.142" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + [[package]] name = "linux-raw-sys" version = "0.3.7" @@ -1097,6 +1125,65 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9bc3e36fd683e004fd59c64a425e0e991616f5a8b617c3b9a933a93c168facc" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +dependencies = [ + "autocfg", + "libm", +] + [[package]] name = "num_cpus" version = "1.15.0" @@ -1142,14 +1229,25 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "p256" -version = "0.13.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +checksum = "19736d80675fbe9fe33426268150b951a3fb8f5cfca2a23a17c85ef3adb24e3b" dependencies = [ "ecdsa", "elliptic-curve", - "primeorder", - "sha2 0.10.6", + "sec1", + "sha2 0.9.9", +] + +[[package]] +name = "pem" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56cbd21fea48d0c440b41cd69c589faacade08c992d9a54e471b79d0fd13eb" +dependencies = [ + "base64 0.13.1", + "once_cell", + "regex", ] [[package]] @@ -1228,15 +1326,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "primeorder" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8d3875361e28f7753baefef104386e7aa47642c93023356d97fdef4003bfb5" -dependencies = [ - "elliptic-curve", -] - [[package]] name = "proc-macro-hack" version = "0.5.20+deprecated" @@ -1371,12 +1460,13 @@ checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" [[package]] name = "rfc6979" -version = "0.4.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +checksum = "96ef608575f6392792f9ecf7890c00086591d29a83910939d430753f7c050525" dependencies = [ + "crypto-bigint", "hmac", - "subtle", + "zeroize", ] [[package]] @@ -1394,6 +1484,26 @@ dependencies = [ "winapi", ] +[[package]] +name = "rsa" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b0aeddcca1082112a6eeb43bf25fd7820b066aaf6eaef776e19d0a1febe38fe" +dependencies = [ + "byteorder", + "digest 0.9.0", + "lazy_static", + "num-bigint-dig", + "num-integer", + "num-iter", + "num-traits", + "pem", + "rand", + "simple_asn1", + "subtle", + "zeroize", +] + [[package]] name = "rustix" version = "0.37.19" @@ -1438,7 +1548,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" dependencies = [ - "base64", + "base64 0.21.0", ] [[package]] @@ -1484,11 +1594,10 @@ dependencies = [ [[package]] name = "sec1" -version = "0.7.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e" +checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" dependencies = [ - "base16ct", "der", "generic-array", "subtle", @@ -1599,18 +1708,24 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "signature" -version = "1.6.4" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +dependencies = [ + "digest 0.9.0", + "rand_core", +] [[package]] -name = "signature" -version = "2.1.0" +name = "simple_asn1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" +checksum = "8eb4ea60fb301dc81dfc113df680571045d375ab7345d171c5dc7d7e13107a80" dependencies = [ - "digest 0.10.6", - "rand_core", + "chrono", + "num-bigint", + "num-traits", + "thiserror", ] [[package]] @@ -1742,6 +1857,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.28.0" @@ -1824,7 +1954,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64", + "base64 0.21.0", "bytes", "futures-core", "futures-util", @@ -2272,6 +2402,20 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zeroize" -version = "1.6.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] diff --git a/Cargo.toml b/Cargo.toml index 3184a6c..bbd2b3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,13 +6,15 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -angry-purple-tiger = { version = "1", features = ["helium_crypto"]} +angry-purple-tiger = { version = "1", features = ["helium_crypto"] } anyhow = "1.0.71" dialoguer = "0.10.2" clap = { version = "4.2.7", features = ["derive", "env"] } futures = "0.3.28" -helium-crypto = "0.6.9" -helium-proto = { git = "https://github.com/helium/proto", branch="master", features=["services"]} +helium-crypto = "0.8.3" +helium-proto = { git = "https://github.com/helium/proto", branch = "master", features = [ + "services", +] } h3o = "0" ipnet = "2.7.2" prost = "0.11.9" From d5212970769c3dcccf10b7dda2e3a218f7d06338 Mon Sep 17 00:00:00 2001 From: Michael Jeffrey Date: Wed, 8 Nov 2023 17:01:32 -0700 Subject: [PATCH 2/3] require commit to make new key to file that already exists --- src/cmds/env.rs | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/src/cmds/env.rs b/src/cmds/env.rs index 1e90152..835afed 100644 --- a/src/cmds/env.rs +++ b/src/cmds/env.rs @@ -113,14 +113,35 @@ pub fn generate_keypair(args: GenerateKeypair) -> Result { }, &mut OsRng, ); - if let Some(parent) = args.out_file.parent() { - fs::create_dir_all(parent)?; + + let do_write = |msg: String| -> Result { + if let Some(parent) = args.out_file.parent() { + fs::create_dir_all(parent)?; + } + fs::write(&args.out_file, key.to_vec())?; + Msg::ok(msg) + }; + + if args.out_file.exists() { + if args.commit { + do_write(format!( + "New Keypair created and overwritten to {:?}\npubkey: {}", + args.out_file.display(), + key.public_key().to_string() + )) + } else { + Msg::err(format!( + "{} already exists. Pass `--commit` to overwrite.", + args.out_file.display() + )) + } + } else { + do_write(format!( + "New Keypair created and written to {:?}\n pubkey: {}", + args.out_file.display(), + key.public_key().to_string() + )) } - fs::write(&args.out_file, key.to_vec())?; - Msg::ok(format!( - "New Keypair created and written to {:?}", - args.out_file.display() - )) } pub fn get_public_key_from_path(path: Option) -> (String, String, String) { From e7ef403ec7c1313618a70cfb9213034d7f122eaf Mon Sep 17 00:00:00 2001 From: Michael Jeffrey Date: Wed, 8 Nov 2023 17:01:47 -0700 Subject: [PATCH 3/3] print subnet mask when getting an org --- src/lib.rs | 15 ++++++++------- src/subnet.rs | 2 +- tests/devaddrs.rs | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 18fb113..8c1279e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,7 +12,7 @@ use helium_crypto::PublicKey; use route::Route; use serde::{Deserialize, Serialize}; use std::fmt::Display; -use subnet::DevaddrConstraint; +use subnet::{DevaddrConstraint, DevaddrSubnet}; pub mod proto { pub use helium_proto::services::iot_config::{ @@ -104,19 +104,20 @@ impl From for proto::HeliumNetId { pub struct OrgResponse { pub org: Org, pub net_id: hex_field::HexNetID, - pub devaddr_constraints: Vec, + pub devaddr_constraints: Vec, } impl From for OrgResponse { fn from(res: proto::OrgResV1) -> Self { + let constraints: Vec = res + .devaddr_constraints + .into_iter() + .map(|d| d.into()) + .collect(); Self { org: res.org.expect("no org returned during creation").into(), net_id: hex_field::net_id(res.net_id), - devaddr_constraints: res - .devaddr_constraints - .into_iter() - .map(|d| d.into()) - .collect(), + devaddr_constraints: constraints.into_iter().map(|c| c.to_subnet()).collect(), } } } diff --git a/src/subnet.rs b/src/subnet.rs index 8379bf6..6dd3b41 100644 --- a/src/subnet.rs +++ b/src/subnet.rs @@ -10,7 +10,7 @@ use crate::{ #[derive(Debug, Serialize, PartialEq, Eq)] pub struct DevaddrSubnet { - range: DevaddrConstraint, + pub range: DevaddrConstraint, pub subnets: Vec, } diff --git a/tests/devaddrs.rs b/tests/devaddrs.rs index 8338565..0c9c243 100644 --- a/tests/devaddrs.rs +++ b/tests/devaddrs.rs @@ -48,7 +48,7 @@ async fn create_route_and_add_remove_devaddrs() -> Result { common::ensure_no_devaddrs(&route.id, keypair_path.clone()).await?; // Construct a devaddr within the org contraint, add and remove - let devaddr_range = constraint.start_addr.to_range(3); + let devaddr_range = constraint.range.start_addr.to_range(3); let out2 = cmds::route::devaddrs::add_devaddr(AddDevaddr { start_addr: devaddr_range.start_addr, end_addr: devaddr_range.end_addr, @@ -78,7 +78,7 @@ async fn create_route_and_add_remove_devaddrs() -> Result { // Add many devaddrs to delete let mut devaddrs = vec![]; for d in 1..10 { - let range = constraint.start_addr.to_range(d); + let range = constraint.range.start_addr.to_range(d); let range = DevaddrRange::new(route.id.clone(), range.start_addr, range.end_addr)?; devaddrs.push(range);