diff --git a/Cargo.lock b/Cargo.lock index 5360a187b3f8bcab195d163ed2192766f3b47c9a..2f206036e2066e05a2217c791c792e9d48063fd9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ name = "ansi_term" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -27,9 +27,9 @@ name = "atty" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -39,9 +39,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -49,8 +49,8 @@ name = "backtrace-sys" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -60,7 +60,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "base64" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -69,7 +69,7 @@ dependencies = [ [[package]] name = "bincode" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -102,7 +102,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -112,11 +112,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "chrono" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -130,7 +130,7 @@ dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "textwrap 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "yaml-rust 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -152,7 +152,7 @@ dependencies = [ "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -183,14 +183,14 @@ dependencies = [ "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", "duniter-wotb 0.8.0-a0.7", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "pbr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -203,8 +203,8 @@ dependencies = [ "duniter-module 0.1.0-a0.1", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -218,14 +218,14 @@ dependencies = [ "duniter-message 0.1.0-a0.1", "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", "simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)", "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -236,10 +236,10 @@ name = "duniter-crypto" version = "0.2.0-a0.1" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -251,15 +251,15 @@ dependencies = [ "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", "duniter-wotb 0.8.0-a0.7", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -267,14 +267,14 @@ name = "duniter-documents" version = "0.8.0-a0.1" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", "duniter-crypto 0.2.0-a0.1", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -287,7 +287,8 @@ dependencies = [ "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -297,8 +298,8 @@ dependencies = [ "duniter-crypto 0.2.0-a0.1", "duniter-documents 0.8.0-a0.1", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -308,12 +309,12 @@ dependencies = [ "duniter-crypto 0.2.0-a0.1", "duniter-documents 0.8.0-a0.1", "duniter-module 0.1.0-a0.1", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -327,8 +328,10 @@ dependencies = [ "duniter-message 0.1.0-a0.1", "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -336,11 +339,11 @@ dependencies = [ name = "duniter-wotb" version = "0.8.0-a0.7" dependencies = [ - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -355,14 +358,14 @@ dependencies = [ "duniter-module 0.1.0-a0.1", "duniter-network 0.1.0-a0.1", "duniter-wotb 0.8.0-a0.7", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)", "sqlite 0.23.9 (registry+https://github.com/rust-lang/crates.io-index)", "ws 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -434,7 +437,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "httparse" -version = "1.2.4" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -452,7 +455,7 @@ name = "iovec" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -472,7 +475,7 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -482,7 +485,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.40" +version = "0.2.42" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -490,10 +493,10 @@ name = "libz-sys" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -503,7 +506,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "log" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -519,7 +522,7 @@ name = "memchr" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -537,8 +540,8 @@ dependencies = [ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -562,8 +565,8 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -573,15 +576,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "num-integer" -version = "0.1.38" +version = "0.1.39" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -589,7 +592,7 @@ name = "num_cpus" version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -599,8 +602,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -609,10 +612,10 @@ name = "openssl-sys" version = "0.9.33" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", - "vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -621,7 +624,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -639,7 +642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "proc-macro2" -version = "0.3.8" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -652,10 +655,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "quote" -version = "0.5.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -664,7 +667,7 @@ version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -674,8 +677,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -693,15 +696,15 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "redox_syscall" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -709,7 +712,7 @@ name = "redox_termios" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -726,12 +729,12 @@ dependencies = [ [[package]] name = "regex" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -746,7 +749,7 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -758,7 +761,7 @@ version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", @@ -769,8 +772,8 @@ name = "rustbreak" version = "2.0.0-rc2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -802,17 +805,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "serde_derive" -version = "1.0.57" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.13.10 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "serde_json" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "dtoa 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -830,8 +833,8 @@ name = "simplelog" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "chrono 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -850,7 +853,7 @@ name = "sqlite" version = "0.23.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "sqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -859,7 +862,7 @@ name = "sqlite3-src" version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -868,7 +871,7 @@ name = "sqlite3-sys" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "sqlite3-src 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -889,11 +892,11 @@ dependencies = [ [[package]] name = "syn" -version = "0.13.10" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -920,7 +923,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -928,8 +931,8 @@ name = "termion" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -938,7 +941,7 @@ name = "textwrap" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -946,7 +949,7 @@ name = "thread_local" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -963,9 +966,9 @@ name = "time" version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", - "redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -988,7 +991,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "unicode-width" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1026,7 +1029,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "vcpkg" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1046,7 +1049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "winapi" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1075,10 +1078,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)", + "httparse 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "mio 0.6.14 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1109,15 +1112,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum backtrace 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbdd17cd962b570302f5297aea8648d5923e22e555c2ed2d8b2e34eca646bf6d" "checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" -"checksum base64 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9263aa6a38da271eec5c91a83ce1e800f093c8535788d403d626d8d5c3f8f007" -"checksum bincode 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bda13183df33055cbb84b847becce220d392df502ebe7a4a78d7021771ed94d0" +"checksum base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "85415d2594767338a74a30c1d370b2f3262ec1b4ed2d7bba5b3faf4de40467d9" +"checksum bincode 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9f2fb9e29e72fd6bc12071533d5dc7664cb01480c59406f656d7ac25c7bd8ff7" "checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum byteorder 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74c0b906e9446b0a2e4f760cdb3fa4b2c48cdc6db8766a845c54b6ff063fd2e9" "checksum bytes 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd32989a66957d3f0cba6588f15d4281a733f4e9ffc43fcd2385f57d3bf99ff" -"checksum cc 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)" = "0ebb87d1116151416c0cf66a0e3fb6430cccd120fd6300794b4dfaa050ac40ba" +"checksum cc 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "49ec142f5768efb5b7622aebc3fdbdbb8950a4b9ba996393cb76ef7466e8747d" "checksum cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18" -"checksum chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1cce36c92cb605414e9b824f866f5babe0a0368e39ea07393b9b63cf3844c0e6" +"checksum chrono 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a81892f0d5a53f46fc05ef0b917305a81c13f1f13bb59ac91ff595817f0764b1" "checksum clap 2.31.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536" "checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" "checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150" @@ -1131,17 +1134,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb" -"checksum httparse 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f407128745b78abc95c0ffbe4e5d37427fdc0d45470710cfef8c44522a2e37" +"checksum httparse 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "422d5a93b40dbfbd8c8c24d1b4b5ef455973ef3afffc172487429fecd05bde42" "checksum idna 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "014b298351066f1512874135335d62a789ffe78a9974f94b43ed5621951eaf7d" "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" "checksum itoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -"checksum lazy_static 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d" +"checksum lazy_static 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e6412c5e2ad9584b0b8e979393122026cdd6d2a80b933f890dcd694ddbe73739" "checksum lazycell 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6f08839bc70ef4a3fe1d566d5350f519c5912ea86be0df1740a7d247c7fc0ef" -"checksum libc 0.2.40 (registry+https://github.com/rust-lang/crates.io-index)" = "6fd41f331ac7c5b8ac259b8bf82c75c0fb2e469bbf37d2becbba9a6a2221965b" +"checksum libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1" "checksum libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "87f737ad6cc6fd6eefe3d9dc5412f1573865bded441300904d2f42269e140f16" "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e" -"checksum log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2" +"checksum log 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6fddaa003a65722a7fb9e26b0ce95921fe4ba590542ced664d8ce2fa26f9f3ac" "checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376" "checksum memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "796fba70e76612589ed2ce7f45282f5af869e0fdd7cc6199fa1aa1f1d591ba9d" "checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" @@ -1149,27 +1152,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" "checksum net2 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)" = "9044faf1413a1057267be51b5afba8eb1090bd2231c693664aa1db716fe1eae0" "checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" -"checksum num-integer 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac0ea58d64a89d9d6b7688031b3be9358d6c919badcf7fbb0527ccfd891ee45" -"checksum num-traits 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" +"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" +"checksum num-traits 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "630de1ef5cc79d0cdd78b7e33b81f083cbfe90de0f4b2b2f07f905867c70e9fe" "checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" "checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985" "checksum openssl-sys 0.9.33 (registry+https://github.com/rust-lang/crates.io-index)" = "d8abc04833dcedef24221a91852931df2f63e3369ae003134e70aff3645775cc" "checksum pbr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "deb73390ab68d81992bd994d145f697451bb0b54fd39738e72eef32458ad6907" "checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" "checksum pkg-config 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "110d5ee3593dbb73f56294327fe5668bcc997897097cbc76b51e7aed3f52452f" -"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7" +"checksum proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "effdb53b25cdad54f8f48843d67398f7ef2e14f12c1b4cb4effc549a6462a4d6" "checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" -"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8" +"checksum quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035" "checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1" "checksum rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5" "checksum rayon 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80e811e76f1dbf68abf87a759083d34600017fc4e10b6bd5ad84a700f9dba4b1" "checksum rayon-core 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d24ad214285a7729b174ed6d3bcfcb80177807f959d95fafd5bfc5c4f201ac8" -"checksum redox_syscall 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "0d92eecebad22b767915e4d529f89f28ee96dbbf5a4810d2b844373f136417fd" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" "checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384" -"checksum regex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75ecf88252dce580404a22444fc7d626c01815debba56a7f4f536772a5ff19d3" +"checksum regex 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "13c93d55961981ba9226a213b385216f83ab43bd6ac53ab16b2eeb47e337cf4e" "checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7" -"checksum regex-syntax 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1ac0f60d675cc6cf13a20ec076568254472551051ad5dd050364d70671bf6b" +"checksum regex-syntax 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05b06a75f5217880fc5e905952a42750bf44787e56a6c6d6852ed0992f5e1d54" "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a" "checksum rustbreak 2.0.0-rc2 (registry+https://github.com/rust-lang/crates.io-index)" = "676cb04876f4391d5d2f2c9029d10cfe5fe28ad625ad8460531bed1191477083" "checksum rustc-demangle 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "76d7ba1feafada44f2d38eed812bd2489a03c0f5abb975799251518b68848649" @@ -1177,8 +1180,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum safemem 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum serde 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)" = "e9a2d9a9ac5120e0f768801ca2b58ad6eec929dc9d1d616c162f208869c2ce95" -"checksum serde_derive 1.0.57 (registry+https://github.com/rust-lang/crates.io-index)" = "1bdba9c305f1aeff7e83e2ff0685a141780de943cee66bdd89b63913b2b69c86" -"checksum serde_json 1.0.20 (registry+https://github.com/rust-lang/crates.io-index)" = "fc97cccc2959f39984524026d760c08ef0dd5f0f5948c8d31797dbfae458c875" +"checksum serde_derive 1.0.66 (registry+https://github.com/rust-lang/crates.io-index)" = "0a90213fa7e0f5eac3f7afe2d5ff6b088af515052cc7303bd68c7e3b91a3fb79" +"checksum serde_json 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "eb40600c756f02d7ea34943626cefa85732fdae5f95b90b31f9797b3c526d1e6" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" "checksum simplelog 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9cc12b39fdf4c9a07f88bffac2d628f0118ed5ac077a4b0feece61fadf1429e5" "checksum slab 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "17b4fcaed89ab08ef143da37bc52adbcc04d4a69014f4c1208d6b51f0c47bc23" @@ -1188,7 +1191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum sqlite3-sys 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71fec807a1534bd13eeaaec396175d67c79bdc68df55e18a452726ec62a8fb08" "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" "checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" -"checksum syn 0.13.10 (registry+https://github.com/rust-lang/crates.io-index)" = "77961dcdac942fa8bc033c16f3a790b311c8a27d00811b878ebd8cf9b7ba39d5" +"checksum syn 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c67da57e61ebc7b7b6fff56bb34440ca3a83db037320b0507af4c10368deda7d" "checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" "checksum synstructure 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd" "checksum term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561" @@ -1200,17 +1203,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" -"checksum unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3a113775714a22dcb774d8ea3655c53a32debae63a063acc00a91cc586245f" +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" "checksum url 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f808aadd8cfec6ef90e4a14eb46f24511824d1ac596b9682703c87056c8678b7" "checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122" -"checksum vcpkg 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed0f6789c8a85ca41bbc1c9d175422116a9869bd1cf31bb08e1493ecce60380" +"checksum vcpkg 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe533e138811704c0e3cbde65a818b35d3240409b4346256c5ede403e082474" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" -"checksum winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3" +"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/blockchain/Cargo.toml b/blockchain/Cargo.toml index 59f9cfe500323bf2ca160a2c91404bb8fbdb50ce..dd30659f14e06409c5d9c924e5e5261617c24661 100644 --- a/blockchain/Cargo.toml +++ b/blockchain/Cargo.toml @@ -17,13 +17,13 @@ duniter-message = { path = "../message" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } duniter-wotb = { path = "../wotb" } -log = "0.4.1" -num_cpus = "1.8.0" -pbr = "1.0.1" -rand = "0.4.2" +log = "0.4.*" +num_cpus = "1.8.*" +pbr = "1.0.*" +rand = "0.4.*" rustbreak = {version = "2.0.0-rc2", features = ["bin_enc"]} -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" -sqlite = "0.23.9" -threadpool = "1.7.1" \ No newline at end of file +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" +sqlite = "0.23.*" +threadpool = "1.7.*" \ No newline at end of file diff --git a/conf/Cargo.toml b/conf/Cargo.toml index 9a39060460e515d069c698e5704394c7fdfd8eb8..f5482419e05aa1d4356cfea52f9d4754611ccbbc 100644 --- a/conf/Cargo.toml +++ b/conf/Cargo.toml @@ -9,10 +9,10 @@ license = "AGPL-3.0" path = "lib.rs" [dependencies] -rand = "0.4.2" -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" +rand = "0.4.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" duniter-crypto = { path = "../crypto" } duniter-module = { path = "../module" } diff --git a/core/Cargo.toml b/core/Cargo.toml index 7a8e598b9545e3ef86ede1f87ec3adf971a3d3ed..6d04e23d8443ca8b8ce8133cc15506db32d677b6 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -16,17 +16,17 @@ duniter-crypto = { path = "../crypto" } duniter-message = { path = "../message" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } -lazy_static = "1.0.0" -log = "0.4.1" -rand = "0.4.2" -regex = "1.0.0" -rust-crypto = "0.2.36" -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" -simplelog = "0.5.2" -sqlite = "0.23.9" -threadpool = "1.7.1" +lazy_static = "1.0.*" +log = "0.4.*" +rand = "0.4.*" +regex = "1.0.*" +rust-crypto = "0.2.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" +simplelog = "0.5.*" +sqlite = "0.23.*" +threadpool = "1.7.*" [features] # Treat warnings as a build error. diff --git a/core/lib.rs b/core/lib.rs index 32777c664a29254d8a65d0c92cb1a8b1b9209874..23c96924e9b29ae7fd0d69e5306300e473a3554b 100644 --- a/core/lib.rs +++ b/core/lib.rs @@ -313,17 +313,26 @@ impl DuniterCore<DuRsConf> { self.plug::<NM>(); } else if let UserCommand::Sync(ref sync_endpoint) = self.user_command { self.network_modules_count += 1; - // Load module conf and keys - let (module_conf, required_keys) = self.load_module_conf_and_keys::<NM>(); // Start module in a new thread let rooter_sender = self.rooter_sender.clone(); let soft_meta_datas = self.soft_meta_datas.clone(); + let module_conf_json = self + .soft_meta_datas + .conf + .clone() + .modules() + .get(&NM::id().to_string().as_str()) + .cloned(); + let keypairs = self.keypairs; let sync_endpoint = sync_endpoint.clone(); self.thread_pool.execute(move || { + // Load module conf and keys + let (module_conf, required_keys) = + load_module_conf_and_keys::<NM>(module_conf_json, keypairs); NM::sync( &soft_meta_datas, required_keys, - &module_conf, + module_conf, rooter_sender, sync_endpoint, ).unwrap_or_else(|_| { @@ -337,39 +346,28 @@ impl DuniterCore<DuRsConf> { info!("Success to load {} module.", NM::id().to_string()); } } - /// Load module conf and keys - pub fn load_module_conf_and_keys<M: DuniterModule<DuRsConf, DuniterMessage>>( - &self, - ) -> (serde_json::value::Value, RequiredKeysContent) { - let module_conf = if let Some(module_conf_) = self - .soft_meta_datas - .conf - .clone() - .modules() - .get(&M::id().to_string().as_str()) - { - module_conf_.clone() - } else { - M::default_conf() - }; - let required_keys = - DuniterKeyPairs::get_required_keys_content(M::ask_required_keys(), self.keypairs); - - (module_conf, required_keys) - } /// Plug a module pub fn plug<M: DuniterModule<DuRsConf, DuniterMessage>>(&mut self) { if let UserCommand::Start() = self.user_command { - // Load module conf and keys - let (module_conf, required_keys) = self.load_module_conf_and_keys::<M>(); // Start module in a new thread let rooter_sender_clone = self.rooter_sender.clone(); let soft_meta_datas = self.soft_meta_datas.clone(); + let module_conf_json = self + .soft_meta_datas + .conf + .clone() + .modules() + .get(&M::id().to_string().as_str()) + .cloned(); + let keypairs = self.keypairs; self.thread_pool.execute(move || { + // Load module conf and keys + let (module_conf, required_keys) = + load_module_conf_and_keys::<M>(module_conf_json, keypairs); M::start( &soft_meta_datas, required_keys, - &module_conf, + module_conf, rooter_sender_clone, false, ).unwrap_or_else(|_| { @@ -385,6 +383,23 @@ impl DuniterCore<DuRsConf> { } } +/// Load module conf and keys +pub fn load_module_conf_and_keys<M: DuniterModule<DuRsConf, DuniterMessage>>( + module_conf_json: Option<serde_json::Value>, + keypairs: DuniterKeyPairs, +) -> (M::ModuleConf, RequiredKeysContent) { + let module_conf = if let Some(module_conf_json) = module_conf_json { + serde_json::from_str(module_conf_json.to_string().as_str()) + .unwrap_or_else(|_| panic!("Fail to parse conf of module {}", M::id().to_string())) + } else { + M::ModuleConf::default() + }; + let required_keys = + DuniterKeyPairs::get_required_keys_content(M::ask_required_keys(), keypairs); + + (module_conf, required_keys) +} + /// Match cli option --profile pub fn match_profile(cli_args: &ArgMatches) -> String { String::from(cli_args.value_of("profile").unwrap_or("default")) diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml index 9723b75e99c1233528c30d0f0b6cb7fcb68fdc9c..e072a9f08521d02b65111df6bdf4e7351b92d923 100644 --- a/crypto/Cargo.toml +++ b/crypto/Cargo.toml @@ -12,11 +12,11 @@ license = "AGPL-3.0" path = "lib.rs" [dependencies] -base58 = "0.1.0" -base64 = "0.9.1" -rust-crypto = "0.2.36" -serde = "1.0.57" -serde_derive = "1.0.57" +base58 = "0.1.*" +base64 = "0.9.*" +rust-crypto = "0.2.*" +serde = "1.0.*" +serde_derive = "1.0.*" [features] # Treat warnings as a build error. diff --git a/dal/Cargo.toml b/dal/Cargo.toml index a4def26bec0e754802a359f96e4e4b4ffe559630..fd9d280d275e4d1f2dd793cd2068127a4cf56ab8 100644 --- a/dal/Cargo.toml +++ b/dal/Cargo.toml @@ -14,15 +14,15 @@ duniter-documents = { path = "../documents" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } duniter-wotb = { path = "../wotb" } -lazy_static = "1.0.0" -log = "0.4.1" -rand = "0.4.2" +lazy_static = "1.0.*" +log = "0.4.*" +rand = "0.4.*" rustbreak = {version = "2.0.0-rc2", features = ["bin_enc"]} -rust-crypto = "0.2.36" -regex = "1.0.0" -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" +rust-crypto = "0.2.*" +regex = "1.0.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" [features] exp = [] diff --git a/documents/Cargo.toml b/documents/Cargo.toml index 74c7b8d5c0fb6bf919db58a836de0af67a3f5d4d..4c541dcb0bbaacf5f805952a63a81cd377e02389 100644 --- a/documents/Cargo.toml +++ b/documents/Cargo.toml @@ -12,15 +12,15 @@ license = "AGPL-3.0" path = "lib.rs" [dependencies] -base58 = "0.1.0" -base64 = "0.9.1" +base58 = "0.1.*" +base64 = "0.9.*" duniter-crypto = { path = "../crypto" } -lazy_static = "1.0.0" -linked-hash-map = "0.5.1" -regex = "1.0.0" -rust-crypto = "0.2.36" -serde = "1.0.57" -serde_derive = "1.0.57" +lazy_static = "1.0.*" +linked-hash-map = "0.5.*" +regex = "1.0.*" +rust-crypto = "0.2.*" +serde = "1.0.*" +serde_derive = "1.0.*" [features] # Treat warnings as a build error. diff --git a/message/Cargo.toml b/message/Cargo.toml index 59254a6a78df74561cdf930469ea98f03b0e8663..625bfd375466d13c790d041c990494a73c33e0b4 100644 --- a/message/Cargo.toml +++ b/message/Cargo.toml @@ -14,8 +14,9 @@ duniter-dal = { path = "../dal" } duniter-documents = { path = "../documents" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } -serde = "1.0.57" -serde_derive = "1.0.57" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" [features] # Treat warnings as a build error. diff --git a/message/lib.rs b/message/lib.rs index 92c657143783a32cdea26a080e08a032b08814e5..1b89f4dc38a45067b16333d1e5b4ace3e468a11f 100644 --- a/message/lib.rs +++ b/message/lib.rs @@ -29,6 +29,7 @@ extern crate duniter_documents; extern crate duniter_module; extern crate duniter_network; extern crate serde; +extern crate serde_json; use std::sync::mpsc; @@ -37,7 +38,7 @@ use duniter_dal::dal_event::DALEvent; use duniter_dal::dal_requests::{DALRequest, DALResponse}; use duniter_documents::blockchain::BlockchainProtocol; use duniter_documents::{BlockId, Hash}; -use duniter_module::ModuleMessage; +use duniter_module::{ModuleId, ModuleMessage}; use duniter_network::{NetworkEvent, NetworkRequest}; #[derive(Debug, Clone)] @@ -47,6 +48,8 @@ pub enum DuniterMessage { Text(String), /// Brut binary message Binary(Vec<u8>), + /// New configuration of a module to save + SaveNewModuleConf(ModuleId, serde_json::Value), /// Subscriptions to the module feed Followers(Vec<mpsc::Sender<DuniterMessage>>), /// Blockchain datas request diff --git a/module/Cargo.toml b/module/Cargo.toml index 9c21549e332254d6aebd5e2b4bb79cbe88b9cb3a..37f5d5afb9f318f097c5a50404ed2961a1c68bef 100644 --- a/module/Cargo.toml +++ b/module/Cargo.toml @@ -11,9 +11,9 @@ path = "lib.rs" [dependencies] duniter-crypto = { path = "../crypto" } duniter-documents = { path = "../documents" } -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" [features] # Treat warnings as a build error. diff --git a/module/lib.rs b/module/lib.rs index 1bc026b423fd9d7c0b948d341044ac065bd1c932..a24fa718f76d46a14462a492ca177938fbabca54 100644 --- a/module/lib.rs +++ b/module/lib.rs @@ -206,19 +206,20 @@ pub enum ModulePriority { /// All Duniter-rs modules must implement this trait. pub trait DuniterModule<DC: DuniterConf, M: ModuleMessage> { + /// Module configuration + type ModuleConf: Clone + Debug + Default + DeserializeOwned + Send + Serialize + Sync; + /// Returns the module identifier fn id() -> ModuleId; /// Returns the module priority fn priority() -> ModulePriority; /// Indicates which keys the module needs fn ask_required_keys() -> RequiredKeys; - /// Provides the default module configuration - fn default_conf() -> serde_json::Value; /// Launch the module fn start( soft_meta_datas: &SoftwareMetaDatas<DC>, keys: RequiredKeysContent, - module_conf: &serde_json::Value, + module_conf: Self::ModuleConf, main_sender: mpsc::Sender<RooterThreadMessage<M>>, load_conf_only: bool, ) -> Result<(), ModuleInitError>; diff --git a/network/Cargo.toml b/network/Cargo.toml index 6ad4c44ab3d34d317938b80fcb7463afeba84fa4..0a7a6e99dba9b53f3ab4cb6acb446b12ac4093be 100644 --- a/network/Cargo.toml +++ b/network/Cargo.toml @@ -12,12 +12,12 @@ path = "lib.rs" duniter-crypto = { path = "../crypto" } duniter-documents = { path = "../documents" } duniter-module = { path = "../module" } -lazy_static = "1.0.0" -regex = "1.0.0" -rust-crypto = "0.2.36" -serde = "1.0.57" -serde_derive = "1.0.57" -serde_json = "1.0.20" +lazy_static = "1.0.*" +regex = "1.0.*" +rust-crypto = "0.2.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" [features] # Treat warnings as a build error. diff --git a/network/lib.rs b/network/lib.rs index a25307910c632fc655b52004d6b610258933e2e2..466f4476365ee92bba234d180f80240d51359130 100644 --- a/network/lib.rs +++ b/network/lib.rs @@ -24,6 +24,8 @@ #[macro_use] extern crate lazy_static; +#[macro_use] +extern crate serde_derive; extern crate crypto; extern crate duniter_crypto; @@ -58,7 +60,7 @@ pub trait NetworkModule<DC: DuniterConf, M: ModuleMessage>: DuniterModule<DC, M> fn sync( soft_meta_datas: &SoftwareMetaDatas<DC>, keys: RequiredKeysContent, - module_conf: &serde_json::Value, + module_conf: <Self as DuniterModule<DC, M>>::ModuleConf, main_sender: mpsc::Sender<RooterThreadMessage<M>>, sync_endpoint: SyncEndpoint, ) -> Result<(), ModuleInitError>; @@ -77,7 +79,7 @@ pub struct SyncEndpoint { pub tls: bool, } -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// Random identifier with which several Duniter nodes with the same network keypair can be differentiated pub struct NodeUUID(pub u32); diff --git a/network/network_endpoint.rs b/network/network_endpoint.rs index 9098f4c69fbd9d28e738f867bf258f4f12c97e1b..6e5ccc23701123ba3ff570ba11a4dfafc2811d00 100644 --- a/network/network_endpoint.rs +++ b/network/network_endpoint.rs @@ -35,11 +35,11 @@ lazy_static! { ).unwrap(); } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// Identifies the API of an endpoint pub struct NetworkEndpointApi(pub String); -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// Endpoint v1 pub struct NetworkEndpointV1 { /// API version @@ -66,7 +66,7 @@ pub struct NetworkEndpointV1 { pub last_check: u64, } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// Endpoint pub enum NetworkEndpoint { /// Endpoint v1 @@ -173,7 +173,7 @@ impl NetworkEndpoint { _ => panic!("Endpoint version is not supported !"), } } - /// Parse Endpoint from rax format + /// Parse Endpoint from raw format pub fn parse_from_raw( raw_endpoint: &str, issuer: PubKey, diff --git a/tui/Cargo.toml b/tui/Cargo.toml index 6db7e07cd0a4c383f029526b996e39f791ab7448..3e7c9c00f52d8fac2bfa0437175a75f03c07df5b 100644 --- a/tui/Cargo.toml +++ b/tui/Cargo.toml @@ -16,9 +16,11 @@ duniter-documents = { path = "../documents" } duniter-message = { path = "../message" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } -log = "0.4.1" -serde_json = "1.0.20" -termion = "1.5.1" +log = "0.4.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" +termion = "1.5.*" [features] # Treat warnings as a build error. diff --git a/tui/lib.rs b/tui/lib.rs index 022a796f1dd0b13e7ebc1a9c13131b6a086024b0..3c3c763e2098f2e5b7d16c7e7af2c007c7b29fba 100644 --- a/tui/lib.rs +++ b/tui/lib.rs @@ -25,6 +25,8 @@ #[macro_use] extern crate log; +#[macro_use] +extern crate serde_derive; extern crate duniter_conf; extern crate duniter_crypto; @@ -33,7 +35,7 @@ extern crate duniter_documents; extern crate duniter_message; extern crate duniter_module; extern crate duniter_network; -extern crate serde_json; +extern crate serde; extern crate termion; use duniter_conf::DuRsConf; @@ -53,10 +55,16 @@ use termion::input::{MouseTerminal, TermRead}; use termion::raw::{IntoRawMode, RawTerminal}; use termion::{clear, color, cursor, style}; -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// Tui Module Configuration (For future use) pub struct TuiConf {} +impl Default for TuiConf { + fn default() -> Self { + TuiConf {} + } +} + #[derive(Debug, Clone)] /// Format of messages received by the tui module pub enum TuiMess { @@ -97,10 +105,6 @@ pub struct TuiModuleDatas { } impl TuiModuleDatas { - /// Parse tui configuration - fn parse_tui_conf(_json_conf: &serde_json::Value) -> TuiConf { - TuiConf {} - } /// Draw terminal fn draw_term<W: Write>( &self, @@ -140,8 +144,9 @@ impl TuiModuleDatas { // Prepare HEADs screen let mut heads = heads_cache.values().collect::<Vec<&NetworkHead>>(); heads.sort_unstable_by(|a, b| b.cmp(a)); - let heads_index_max = if heads.len() > (h - 14) as usize { - heads.len() - (h - 14) as usize + let heads_window_size = h as isize - 8 - out_established_conns.len() as isize; + let heads_index_max = if heads_window_size > 0 && heads.len() > heads_window_size as usize { + heads.len() - heads_window_size as usize } else { 0 }; @@ -349,6 +354,8 @@ impl Default for TuiModule { } impl DuniterModule<DuRsConf, DuniterMessage> for TuiModule { + type ModuleConf = TuiConf; + fn id() -> ModuleId { ModuleId(String::from("tui")) } @@ -358,20 +365,16 @@ impl DuniterModule<DuRsConf, DuniterMessage> for TuiModule { fn ask_required_keys() -> RequiredKeys { RequiredKeys::None() } - fn default_conf() -> serde_json::Value { - serde_json::Value::default() - } fn start( _soft_meta_datas: &SoftwareMetaDatas<DuRsConf>, _keys: RequiredKeysContent, - module_conf: &serde_json::Value, + _conf: Self::ModuleConf, main_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>, load_conf_only: bool, ) -> Result<(), ModuleInitError> { let start_time = SystemTime::now(); //: DateTime<Utc> = Utc::now(); // load conf - let _conf = TuiModuleDatas::parse_tui_conf(module_conf); if load_conf_only { return Ok(()); } diff --git a/wotb/Cargo.toml b/wotb/Cargo.toml index fe022f517985202212d77a70f8bc9b998c32ac43..803afed1bb96dd5000fcaee3b3fe221e137c8333 100644 --- a/wotb/Cargo.toml +++ b/wotb/Cargo.toml @@ -12,11 +12,11 @@ license = "AGPL-3.0" path = "lib.rs" [dependencies] -serde = "1.0.57" -serde_derive = "1.0.57" -bincode = "1.0.0" -byteorder = "1.2.3" -rayon = "1.0.1" +serde = "1.0.*" +serde_derive = "1.0.*" +bincode = "1.0.*" +byteorder = "1.2.*" +rayon = "1.0.*" [features] # Treat warnings as a build error. diff --git a/ws2p/Cargo.toml b/ws2p/Cargo.toml index e31b8194566eee57aa4bb8b8090e6b83ccd0f661..861528b1d45ffa546c45fc43a60f0909faec9afa 100644 --- a/ws2p/Cargo.toml +++ b/ws2p/Cargo.toml @@ -17,16 +17,16 @@ duniter-message = { path = "../message" } duniter-module = { path = "../module" } duniter-network = { path = "../network" } duniter-wotb = { path = "../wotb" } -lazy_static = "1.0.0" -log = "0.4.1" -rand = "0.4.2" -regex = "0.2.6" -rust-crypto = "0.2.36" -sqlite = "0.23.9" -serde = "1.0.24" -serde_derive = "1.0.24" -serde_json = "1.0.20" -ws = { version = "0.7.6", features = ["permessage-deflate"] } +lazy_static = "1.0.*" +log = "0.4.*" +rand = "0.4.*" +regex = "0.2.*" +rust-crypto = "0.2.*" +sqlite = "0.23.*" +serde = "1.0.*" +serde_derive = "1.0.*" +serde_json = "1.0.*" +ws = { version = "0.7.*", features = ["permessage-deflate"] } [features] ssl = ["ws/ssl"] diff --git a/ws2p/datas.rs b/ws2p/datas.rs index 96aea97a0e128690ea7f4e4ebfc9ce6e7876d627..26a7855e67d71606e27026b387496edd4e6ab63a 100644 --- a/ws2p/datas.rs +++ b/ws2p/datas.rs @@ -21,6 +21,7 @@ use duniter_message::DuniterMessage; use duniter_network::network_endpoint::*; use duniter_network::network_head::*; use duniter_network::*; +use std::collections::HashSet; use std::sync::mpsc; use *; @@ -29,7 +30,8 @@ pub struct WS2PModuleDatas { pub followers: Vec<mpsc::Sender<DuniterMessage>>, pub currency: Option<String>, pub key_pair: Option<KeyPairEnum>, - pub conf: Option<WS2PConf>, + pub conf: WS2PConf, + pub node_id: NodeUUID, pub main_thread_channel: ( mpsc::Sender<WS2PThreadSignal>, mpsc::Receiver<WS2PThreadSignal>, @@ -56,7 +58,7 @@ impl WS2PModuleDatas { } Ok(conn) } - pub fn parse_ws2p_conf( + /*pub fn parse_ws2p_conf( duniter_conf: &DuRsConf, ws2p_json_conf: &serde_json::Value, ) -> WS2PConf { @@ -115,10 +117,9 @@ impl WS2PModuleDatas { }; WS2PConf { outcoming_quota: *WS2P_DEFAULT_OUTCOMING_QUOTA, - node_id: NodeUUID(duniter_conf.my_node_id()), sync_endpoints, } - } + }*/ pub fn send_dal_request(&self, req: &DALRequest) { for follower in &self.followers { if follower @@ -191,22 +192,29 @@ impl WS2PModuleDatas { pub fn connect_to_know_endpoints(&mut self) -> () { info!("WS2P: connect to know endpoints..."); let mut count_established_connections = 0; + let mut pubkeys = HashSet::new(); let mut reachable_endpoints = Vec::new(); let mut unreachable_endpoints = Vec::new(); for (_ws2p_full_id, (ep, state)) in self.ws2p_endpoints.clone() { - match state { - WS2PConnectionState::Established => count_established_connections += 1, - WS2PConnectionState::NeverTry - | WS2PConnectionState::Close - | WS2PConnectionState::Denial => reachable_endpoints.push(ep), - _ => unreachable_endpoints.push(ep), + if ep.pubkey() == self.key_pair.unwrap().public_key() || !pubkeys.contains(&ep.pubkey()) + { + match state { + WS2PConnectionState::Established => count_established_connections += 1, + WS2PConnectionState::NeverTry + | WS2PConnectionState::Close + | WS2PConnectionState::Denial => { + pubkeys.insert(ep.pubkey()); + reachable_endpoints.push(ep); + } + _ => { + pubkeys.insert(ep.pubkey()); + unreachable_endpoints.push(ep); + } + } } } - let mut free_outcoming_rooms = self - .conf - .clone() - .expect("WS2P: Fail to get conf !") - .outcoming_quota - count_established_connections; + let mut free_outcoming_rooms = + self.conf.clone().outcoming_quota - count_established_connections; while free_outcoming_rooms > 0 { let ep = if !reachable_endpoints.is_empty() { reachable_endpoints @@ -251,12 +259,7 @@ impl WS2PModuleDatas { ); } }; - if self - .conf - .clone() - .expect("WS2P: Fail to get conf !") - .outcoming_quota > self.count_established_connections() - { + if self.conf.clone().outcoming_quota > self.count_established_connections() { self.connect_to_without_checking_quotas(&endpoint); } } diff --git a/ws2p/heads.rs b/ws2p/heads.rs index 1ed46725874a89d572587b7aa101e0072a3a05a7..5528e630d4b596cd2eb6f003cc0c853fb49db2bd 100644 --- a/ws2p/heads.rs +++ b/ws2p/heads.rs @@ -19,7 +19,7 @@ use *; pub fn generate_my_head( network_keypair: &KeyPairEnum, - conf: &WS2PConf, + node_id: NodeUUID, soft_name: &str, soft_version: &str, my_current_blockstamp: &Blockstamp, @@ -30,7 +30,7 @@ pub fn generate_my_head( version: 1, pubkey: network_keypair.public_key(), blockstamp: *my_current_blockstamp, - node_uuid: conf.node_id, + node_uuid: node_id, software: String::from(soft_name), soft_version: String::from(soft_version), prefix: 1, @@ -42,7 +42,7 @@ pub fn generate_my_head( version: 2, pubkey: network_keypair.public_key(), blockstamp: *my_current_blockstamp, - node_uuid: conf.node_id, + node_uuid: node_id, software: String::from(soft_name), soft_version: String::from(soft_version), prefix: 1, diff --git a/ws2p/lib.rs b/ws2p/lib.rs index 277934e848a7c82fa127f2a7b3ee8ba110a6e9c4..a959e8501f890ff630f85adb8e6944d94d528b75 100644 --- a/ws2p/lib.rs +++ b/ws2p/lib.rs @@ -25,10 +25,10 @@ #[macro_use] extern crate lazy_static; - #[macro_use] extern crate log; - +#[macro_use] +extern crate serde_derive; #[macro_use] extern crate serde_json; @@ -81,17 +81,45 @@ use ws::Message; use ws2p_connection::*; use ws2p_requests::network_request_to_json; -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)] /// WS2P Configuration pub struct WS2PConf { - /// Node unique identifier - pub node_id: NodeUUID, /// Limit of outcoming connections pub outcoming_quota: usize, /// Default WS2P endpoints provides by configuration file pub sync_endpoints: Vec<NetworkEndpoint>, } +impl Default for WS2PConf { + fn default() -> Self { + WS2PConf { + outcoming_quota: *WS2P_DEFAULT_OUTCOMING_QUOTA, + sync_endpoints: vec![ + NetworkEndpoint::parse_from_raw( + "WS2P c1c39a0a g1-monit.librelois.fr 443 /ws2p", + PubKey::Ed25519( + ed25519::PublicKey::from_base58( + "D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx", + ).unwrap(), + ), + 0, + 0, + ).unwrap(), + NetworkEndpoint::parse_from_raw( + "WS2P b48824f0 g1.monnaielibreoccitanie.org 443 /ws2p", + PubKey::Ed25519( + ed25519::PublicKey::from_base58( + "7v2J4badvfWQ6qwRdCwhhJfAsmKwoxRUNpJHiJHj7zef", + ).unwrap(), + ), + 0, + 0, + ).unwrap(), + ], + } + } +} + #[derive(Debug)] /// Store a Signal receive from network (after message treatment) pub enum WS2PSignal { @@ -151,7 +179,7 @@ impl NetworkModule<DuRsConf, DuniterMessage> for WS2PModule { fn sync( _soft_meta_datas: &SoftwareMetaDatas<DuRsConf>, _keys: RequiredKeysContent, - _module_conf: &serde_json::Value, + _conf: WS2PConf, _main_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>, _sync_endpoint: SyncEndpoint, ) -> Result<(), ModuleInitError> { @@ -162,6 +190,8 @@ impl NetworkModule<DuRsConf, DuniterMessage> for WS2PModule { } impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { + type ModuleConf = WS2PConf; + fn id() -> ModuleId { ModuleId(String::from("ws2p")) } @@ -171,7 +201,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { fn ask_required_keys() -> RequiredKeys { RequiredKeys::NetworkKeyPair() } - fn default_conf() -> serde_json::Value { + /*fn default_conf() -> serde_json::Value { json!({ "sync_peers": [{ "pubkey": "D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx", @@ -181,11 +211,11 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { "ws2p_endpoints": ["WS2P b48824f0 g1.monnaielibreoccitanie.org 80 /ws2p"] }] }) - } + }*/ fn start( soft_meta_datas: &SoftwareMetaDatas<DuRsConf>, keys: RequiredKeysContent, - module_conf: &serde_json::Value, + conf: WS2PConf, rooter_sender: mpsc::Sender<RooterThreadMessage<DuniterMessage>>, load_conf_only: bool, ) -> Result<(), ModuleInitError> { @@ -194,7 +224,8 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { followers: Vec::new(), key_pair: None, currency: None, - conf: None, + conf, + node_id: NodeUUID(soft_meta_datas.conf.my_node_id()), main_thread_channel: mpsc::channel(), ws2p_endpoints: HashMap::new(), websockets: HashMap::new(), @@ -209,9 +240,8 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { RequiredKeysContent::NetworkKeyPair(key_pair) => key_pair, _ => panic!("WS2PModule fatal error at load_conf() : keys != NetworkKeyPair"), }; - let conf = WS2PModuleDatas::parse_ws2p_conf(&soft_meta_datas.conf, module_conf); let mut ws2p_endpoints = HashMap::new(); - for ep in conf.sync_endpoints.clone() { + for ep in ws2p_module.conf.sync_endpoints.clone() { ws2p_endpoints.insert( ep.node_full_id() .expect("Fail to get endpoint node_full_id"), @@ -221,7 +251,6 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { } ws2p_module.key_pair = Some(key_pair); ws2p_module.currency = Some(soft_meta_datas.conf.currency().to_string()); - ws2p_module.conf = Some(conf.clone()); ws2p_module.ws2p_endpoints = ws2p_endpoints; // Create ws2p main thread channel @@ -326,7 +355,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { if ws2p_module.my_head.is_none() { ws2p_module.my_head = Some(heads::generate_my_head( &key_pair, - &conf.clone(), + NodeUUID(soft_meta_datas.conf.my_node_id()), soft_meta_datas.soft_name, soft_meta_datas.soft_version, ¤t_blockstamp, @@ -412,7 +441,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { ); ws2p_module.my_head = Some(heads::generate_my_head( &key_pair, - &conf.clone(), + NodeUUID(soft_meta_datas.conf.my_node_id()), soft_meta_datas.soft_name, soft_meta_datas.soft_version, ¤t_blockstamp, @@ -465,7 +494,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { ws2p_module.my_head = Some(heads::generate_my_head( &key_pair, - &conf.clone(), + NodeUUID(soft_meta_datas.conf.my_node_id()), soft_meta_datas.soft_name, soft_meta_datas.soft_version, ¤t_blockstamp, @@ -788,7 +817,7 @@ impl DuniterModule<DuRsConf, DuniterMessage> for WS2PModule { current_blockstamp ); // New WS2P connection wave - if connected_nodes.len() < ws2p_module.conf.clone().unwrap().outcoming_quota + if connected_nodes.len() < ws2p_module.conf.clone().outcoming_quota && (SystemTime::now() .duration_since(last_ws2p_connecting_wave) .unwrap()