From 31dfb8474314c71220168a9f6130349aa6f9953b Mon Sep 17 00:00:00 2001 From: Edouard Oger Date: Mon, 12 Aug 2019 14:59:33 -0400 Subject: [PATCH] Use rust-ece with rc_crypto dynamic backend --- Cargo.lock | 129 +------ DEPENDENCIES.md | 79 ----- components/fxa-client/Cargo.toml | 1 - .../fxa-client/src/commands/send_tab.rs | 18 +- components/push/src/crypto.rs | 15 +- components/support/rc_crypto/Cargo.toml | 3 +- .../rc_crypto/src/{ece.rs => ece_crypto.rs} | 323 ++++++++---------- components/support/rc_crypto/src/lib.rs | 18 +- megazords/fenix/DEPENDENCIES.md | 252 -------------- megazords/full/DEPENDENCIES.md | 252 -------------- megazords/ios/DEPENDENCIES.md | 252 -------------- megazords/lockbox/DEPENDENCIES.md | 252 -------------- 12 files changed, 172 insertions(+), 1422 deletions(-) rename components/support/rc_crypto/src/{ece.rs => ece_crypto.rs} (68%) diff --git a/Cargo.lock b/Cargo.lock index d257d501c6..bfc740663c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -154,25 +154,6 @@ dependencies = [ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "block-buffer" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "block-padding" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "bstr" version = "0.2.5" @@ -189,11 +170,6 @@ name = "bumpalo" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "byte-tools" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "byteorder" version = "1.3.2" @@ -345,7 +321,7 @@ dependencies = [ "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -489,15 +465,6 @@ dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "crypto-mac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", - "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "csv" version = "1.1.1" @@ -551,14 +518,6 @@ name = "difference" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "digest" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "dirs" version = "1.0.5" @@ -585,18 +544,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "ece" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hkdf 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)", - "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -665,11 +621,6 @@ dependencies = [ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "fallible-iterator" version = "0.2.0" @@ -806,7 +757,6 @@ dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "mockiato 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)", "prost 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "prost-build 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "prost-derive 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -842,14 +792,6 @@ dependencies = [ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "generic-array" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "getrandom" version = "0.1.6" @@ -906,24 +848,6 @@ name = "hex" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "hkdf" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "hmac" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "http" version = "0.1.17" @@ -1489,9 +1413,12 @@ dependencies = [ ] [[package]] -name = "opaque-debug" -version = "0.2.2" +name = "once_cell" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "openssl" @@ -2040,7 +1967,7 @@ name = "rc_crypto" version = "0.1.0" dependencies = [ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ece 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "ece 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-support 0.1.0", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2048,7 +1975,6 @@ dependencies = [ "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "libsqlite3-sys 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", "nss 0.1.0", - "openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2329,17 +2255,6 @@ dependencies = [ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "sha2" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "shlex" version = "0.1.1" @@ -2424,11 +2339,6 @@ dependencies = [ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "subtle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "syn" version = "0.15.42" @@ -2736,11 +2646,6 @@ dependencies = [ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "typenum" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "ucd-util" version = "0.1.5" @@ -3088,11 +2993,8 @@ dependencies = [ "checksum bindgen 0.51.0 (registry+https://github.com/rust-lang/crates.io-index)" = "18270cdd7065ec045a6bb4bdcd5144d14a78b3aedb3bc5111e688773ac8b9ad0" "checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" -"checksum block-padding 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6d4dc3af3ee2e12f3e5d224e5e1e3d73668abbeb69e566d361f7d5563a4fdf09" "checksum bstr 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1152b4e64186c1ec1c3e3e800254423a12450765ae0f04b08a791482e325f44b" "checksum bumpalo 2.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2cd43d82f27d68911e6ee11ee791fb248f138f5d69424dc02e098d4f152b0b05" -"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" "checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" @@ -3122,18 +3024,16 @@ dependencies = [ "checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9" "checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" -"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d" "checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c" "checksum ctor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3b4c17619643c1252b5f690084b82639dd7fac141c57c8e77a00e0148132092c" "checksum ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7dfd2d8b4c82121dfdff120f818e09fc4380b0b7e17a742081a89b94853e87f" "checksum dialoguer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "116f66c4e7b19af0d52857aa4ff710cc3b4781d9c16616e31540bc55ec57ba8c" "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" -"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" "checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" "checksum dogear 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c01a457f8d6689260111be60774bfb68e558b41bc89b866ebc3bbed60ba255cb" "checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" -"checksum ece 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c4912abb05a6a79d8298fe869eace1e64167cb3e22f6a12f3de040aaecd4cac7" +"checksum ece 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "19fde666cab66cd7337643234b85f8273d2a4fa9823df46473de68940b67e5b0" "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" "checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd" "checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed" @@ -3141,7 +3041,6 @@ dependencies = [ "checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9" "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" -"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fallible-iterator 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" "checksum fallible-streaming-iterator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" "checksum find-places-db 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "156072cf5b7e3974da51941bf050f5b8ab5a8df56ad5c1adbd8c07e9d9455b95" @@ -3156,15 +3055,12 @@ dependencies = [ "checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869" "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" "checksum getrandom 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e65cce4e5084b14874c4e7097f38cab54f47ee554f9194673456ea379dcc4c55" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" "checksum h2 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "a539b63339fbbb00e081e84b6e11bd1d9634a82d91da2984a18ac74a8823f392" "checksum hawk 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7afdba594720e9250e3d3609ec309f8adb26fa18ce39834aeb6724a30bc2431c" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" -"checksum hkdf 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "35e8f9d776bbe83f1ff24951f7cc19140fb7ff8d0378463c4c4955f6b0d3e503" -"checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695" "checksum http 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "eed324f0f0daf6ec10c474f150505af2c143f251722bf9dbd1261bd1f2ee2c1a" "checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" "checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9" @@ -3215,7 +3111,7 @@ dependencies = [ "checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" "checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef" "checksum once_cell 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37" -"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409" +"checksum once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1824583b0e4dc0c1716eea4fb51a9ca2634943f0b07fd929e79af6aeb5a513cc" "checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15" "checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" "checksum openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)" = "b5ba300217253bcc5dc68bed23d782affa45000193866e025329aa8a7a9f05b8" @@ -3292,7 +3188,6 @@ dependencies = [ "checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704" "checksum serde_test 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)" = "55e58fb0c7749459855f68963b027c89d2be287205f1ccdeb255d38642351eaa" "checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" -"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" "checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" @@ -3305,7 +3200,6 @@ dependencies = [ "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" "checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7" "checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107" -"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee" "checksum syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)" = "eadc09306ca51a40555dd6fc2b415538e9e18bc9f870e47b1a524a79fe2dcf5e" "checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" "checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" @@ -3331,7 +3225,6 @@ dependencies = [ "checksum toml 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b8c96d7873fa7ef8bdeb3a9cda3ac48389b4154f32b9803b4bc26220b677b039" "checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" "checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b" -"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa9b3b49edd3468c0e6565d85783f51af95212b6fa3986a5500954f00b460874" "checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33" "checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6" diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 31ad9742a2..f5a4ee0066 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -13,7 +13,6 @@ the details of which are reproduced below. * [MIT License: bytes](#mit-license-bytes) * [MIT License: caseless](#mit-license-caseless) * [MIT License: clap](#mit-license-clap) -* [MIT License: generic-array](#mit-license-generic-array) * [MIT License: h2](#mit-license-h2) * [MIT License: http-body](#mit-license-http-body) * [MIT License: hyper](#mit-license-hyper) @@ -49,7 +48,6 @@ the details of which are reproduced below. * [BSD-3-Clause License: bindgen](#bsd-3-clause-license-bindgen) * [BSD-3-Clause License: protobuf](#bsd-3-clause-license-protobuf) * [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher) -* [BSD-3-Clause License: subtle](#bsd-3-clause-license-subtle) * [OpenSSL License](#openssl-license) * [Optional Notice: SQlite](#optional-notice-sqlite) * [Optional Notice: zlib](#optional-notice-zlib) @@ -448,9 +446,6 @@ The following text applies to code linked from these dependendencies: [backtrace](https://github.com/rust-lang/backtrace-rs), [base64](https://github.com/alicemaz/rust-base64), [bitflags](https://github.com/bitflags/bitflags), -[block-buffer](https://github.com/RustCrypto/utils), -[block-padding](https://github.com/RustCrypto/utils), -[byte-tools](https://github.com/RustCrypto/utils), [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion), [cc](https://github.com/alexcrichton/cc-rs), [cexpr](https://github.com/jethrogb/rust-cexpr), @@ -465,8 +460,6 @@ The following text applies to code linked from these dependendencies: [crossbeam-epoch](https://github.com/crossbeam-rs/crossbeam), [crossbeam-queue](https://github.com/crossbeam-rs/crossbeam), [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam), -[crypto-mac](https://github.com/RustCrypto/traits), -[digest](https://github.com/RustCrypto/traits), [dogear](https://github.com/mozilla/dogear), [dtoa](https://github.com/dtolnay/dtoa), [either](https://github.com/bluss/either), @@ -475,7 +468,6 @@ The following text applies to code linked from these dependendencies: [error-chain](https://github.com/rust-lang-nursery/error-chain), [failure](https://github.com/rust-lang-nursery/failure), [failure_derive](https://github.com/withoutboats/failure_derive), -[fake-simd](https://github.com/RustCrypto/utils), [fallible-iterator](https://github.com/sfackler/rust-fallible-iterator), [fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator), [fixedbitset](https://github.com/bluss/fixedbitset), @@ -490,8 +482,6 @@ The following text applies to code linked from these dependendencies: [glob](https://github.com/rust-lang/glob), [heck](https://github.com/withoutboats/heck), [hex](https://github.com/KokaKiwi/rust-hex), -[hkdf](https://github.com/RustCrypto/KDFs/), -[hmac](https://github.com/RustCrypto/MACs), [http](https://github.com/hyperium/http), [httparse](https://github.com/seanmonstar/httparse), [humantime](None), @@ -516,7 +506,6 @@ The following text applies to code linked from these dependendencies: [nodrop](https://github.com/bluss/arrayvec), [num_cpus](https://github.com/seanmonstar/num_cpus), [once_cell](https://github.com/matklad/once_cell), -[opaque-debug](https://github.com/RustCrypto/utils), [openssl-probe](https://github.com/alexcrichton/openssl-probe), [openssl](https://github.com/sfackler/rust-openssl), [parking_lot](https://github.com/Amanieu/parking_lot), @@ -560,7 +549,6 @@ The following text applies to code linked from these dependendencies: [serde_derive](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json), [serde_urlencoded](https://github.com/nox/serde_urlencoded), -[sha2](https://github.com/RustCrypto/hashes), [shlex](https://github.com/comex/rust-shlex), [siphasher](https://github.com/jedisct1/rust-siphash), [smallbitvec](https://github.com/servo/smallbitvec), @@ -572,7 +560,6 @@ The following text applies to code linked from these dependendencies: [thread_local](https://github.com/Amanieu/thread_local-rs), [time](https://github.com/rust-lang/time), [toml](https://github.com/alexcrichton/toml-rs), -[typenum](https://github.com/paholg/typenum), [ucd-util](https://github.com/BurntSushi/ucd-generate), [unicase](https://github.com/seanmonstar/unicase), [unicode-bidi](https://github.com/servo/unicode-bidi), @@ -1009,35 +996,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: generic-array - -The following text applies to code linked from these dependendencies: -[generic-array](https://github.com/fizyk20/generic-array.git) - -``` -The MIT License (MIT) - -Copyright (c) 2015 Bartłomiej Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ``` ------------- ## MIT License: h2 @@ -2197,43 +2155,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -------------- -## BSD-3-Clause License: subtle - -The following text applies to code linked from these dependendencies: -[subtle](https://github.com/dalek-cryptography/subtle) - -``` -Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ``` ------------- ## OpenSSL License diff --git a/components/fxa-client/Cargo.toml b/components/fxa-client/Cargo.toml index f4ebb12a75..1b96107179 100644 --- a/components/fxa-client/Cargo.toml +++ b/components/fxa-client/Cargo.toml @@ -13,7 +13,6 @@ failure = "0.1.3" hex = "0.3.2" lazy_static = "1.0.0" log = "0.4" -openssl = { version = "0.10.24", optional = true } prost = "0.5" prost-derive = "0.5" serde = { version = "1.0.98", features = ["rc"] } diff --git a/components/fxa-client/src/commands/send_tab.rs b/components/fxa-client/src/commands/send_tab.rs index c908a396aa..782a8e141f 100644 --- a/components/fxa-client/src/commands/send_tab.rs +++ b/components/fxa-client/src/commands/send_tab.rs @@ -15,10 +15,8 @@ /// then sent to the target device. use crate::{device::Device, error::*, scoped_keys::ScopedKey, scopes}; use hex; -use rc_crypto::ece::{ - self, Aes128GcmEceWebPushImpl, EcKeyComponents, LocalKeyPair, LocalKeyPairImpl, - RemotePublicKey, RemotePublicKeyImpl, WebPushParams, -}; +use rc_crypto::ece::{self, Aes128GcmEceWebPush, EcKeyComponents, WebPushParams}; +use rc_crypto::ece_crypto::{RcCryptoLocalKeyPair, RcCryptoRemotePublicKey}; use serde_derive::*; use sync15::{EncryptedPayload, KeyBundle}; @@ -32,10 +30,10 @@ pub struct EncryptedSendTabPayload { impl EncryptedSendTabPayload { pub(crate) fn decrypt(self, keys: &PrivateSendTabKeysV1) -> Result { + rc_crypto::ensure_initialized(); let encrypted = base64::decode_config(&self.encrypted, base64::URL_SAFE_NO_PAD)?; - let private_key = LocalKeyPairImpl::from_raw_components(&keys.p256key)?; - let decrypted = - Aes128GcmEceWebPushImpl::decrypt(&private_key, &keys.auth_secret, &encrypted)?; + let private_key = RcCryptoLocalKeyPair::from_raw_components(&keys.p256key)?; + let decrypted = Aes128GcmEceWebPush::decrypt(&private_key, &keys.auth_secret, &encrypted)?; Ok(serde_json::from_slice(&decrypted)?) } } @@ -55,11 +53,12 @@ impl SendTabPayload { } } fn encrypt(&self, keys: PublicSendTabKeys) -> Result { + rc_crypto::ensure_initialized(); let bytes = serde_json::to_vec(&self)?; let public_key = base64::decode_config(&keys.public_key, base64::URL_SAFE_NO_PAD)?; - let public_key = RemotePublicKeyImpl::from_raw(&public_key)?; + let public_key = RcCryptoRemotePublicKey::from_raw(&public_key)?; let auth_secret = base64::decode_config(&keys.auth_secret, base64::URL_SAFE_NO_PAD)?; - let encrypted = Aes128GcmEceWebPushImpl::encrypt( + let encrypted = Aes128GcmEceWebPush::encrypt( &public_key, &auth_secret, &bytes, @@ -109,6 +108,7 @@ impl PrivateSendTabKeys { impl PrivateSendTabKeys { pub fn from_random() -> Result { + rc_crypto::ensure_initialized(); let (key_pair, auth_secret) = ece::generate_keypair_and_auth_secret()?; Ok(Self { p256key: key_pair.raw_components()?, diff --git a/components/push/src/crypto.rs b/components/push/src/crypto.rs index 00dafe5a2f..7a7105607b 100644 --- a/components/push/src/crypto.rs +++ b/components/push/src/crypto.rs @@ -4,9 +4,9 @@ use crate::error; use rc_crypto::ece::{ - Aes128GcmEceWebPushImpl, AesGcmEceWebPushImpl, AesGcmEncryptedBlock, EcKeyComponents, - LocalKeyPair, LocalKeyPairImpl, + Aes128GcmEceWebPush, AesGcmEceWebPush, AesGcmEncryptedBlock, EcKeyComponents, LocalKeyPair, }; +use rc_crypto::ece_crypto::RcCryptoLocalKeyPair; use rc_crypto::rand; use serde_derive::*; @@ -50,8 +50,8 @@ impl Key { } } - pub fn key_pair(&self) -> error::Result { - LocalKeyPairImpl::from_raw_components(&self.p256key).map_err(|e| { + pub fn key_pair(&self) -> error::Result { + RcCryptoLocalKeyPair::from_raw_components(&self.p256key).map_err(|e| { error::ErrorKind::CryptoError(format!( "Could not re-create key from components: {:?}", e @@ -139,7 +139,7 @@ fn extract_value(string: Option<&str>, target: &str) -> Option> { impl Cryptography for Crypto { /// Generate a new cryptographic Key fn generate_key() -> error::Result { - let key = LocalKeyPairImpl::generate_random().map_err(|e| { + let key = RcCryptoLocalKeyPair::generate_random().map_err(|e| { error::ErrorKind::CryptoError(format!("Could not generate key: {:?}", e)) })?; let components = key.raw_components().map_err(|e| { @@ -173,6 +173,7 @@ impl Cryptography for Crypto { salt: Option<&str>, dh: Option<&str>, ) -> error::Result { + rc_crypto::ensure_initialized(); // convert the private key into something useful. let d_salt = extract_value(salt, "salt"); let d_dh = extract_value(dh, "dh"); @@ -216,12 +217,12 @@ impl Cryptography for Crypto { .into()); } }; - AesGcmEceWebPushImpl::decrypt(&key.key_pair()?, &key.auth, &block) + AesGcmEceWebPush::decrypt(&key.key_pair()?, &key.auth, &block) .map_err(|_| error::ErrorKind::CryptoError("Decryption error".to_owned()).into()) } fn decrypt_aes128gcm(key: &Key, content: &[u8]) -> error::Result> { - Aes128GcmEceWebPushImpl::decrypt(&key.key_pair()?, &key.auth, &content) + Aes128GcmEceWebPush::decrypt(&key.key_pair()?, &key.auth, &content) .map_err(|_| error::ErrorKind::CryptoError("Decryption error".to_owned()).into()) } } diff --git a/components/support/rc_crypto/Cargo.toml b/components/support/rc_crypto/Cargo.toml index 5c2c61fcf2..547361abf2 100644 --- a/components/support/rc_crypto/Cargo.toml +++ b/components/support/rc_crypto/Cargo.toml @@ -16,8 +16,7 @@ error-support = { path = "../error" } nss = { path = "nss" } libsqlite3-sys = { version = "0.15.0", features = ["bundled"] } hawk = { version = "3.0.0", default-features = false, optional = true } -ece = { version = "1.0.1", optional = true } +ece = { version = "1.1.0", default-features = false, features = ["serializable-keys"], optional = true } [dev-dependencies] hex = "0.3.2" -openssl-sys = "0.9.48" diff --git a/components/support/rc_crypto/src/ece.rs b/components/support/rc_crypto/src/ece_crypto.rs similarity index 68% rename from components/support/rc_crypto/src/ece.rs rename to components/support/rc_crypto/src/ece_crypto.rs index a84fc91d05..3e5526ffd4 100644 --- a/components/support/rc_crypto/src/ece.rs +++ b/components/support/rc_crypto/src/ece_crypto.rs @@ -7,55 +7,22 @@ use crate::{ agreement::{self, Curve, EcKey}, digest, hkdf, hmac, rand, }; -use ece::{ - Aes128GcmEceWebPush, AesGcmEceWebPush, Crypto, ErrorKind, Result, - ECE_WEBPUSH_AUTH_SECRET_LENGTH, -}; -pub use ece::{ - AesGcmEncryptedBlock, EcKeyComponents, Error, LocalKeyPair, RemotePublicKey, WebPushParams, -}; +use ece::crypto::{Cryptographer, EcKeyComponents, LocalKeyPair, RemotePublicKey}; -// Can't `impl From> for ece::Result` -// because we don't own either struct :-( -fn convert(r: crate::Result) -> Result { - match r { - Ok(v) => Ok(v), - Err(_) => Err(ErrorKind::CryptoError.into()), +impl From for ece::Error { + fn from(_: crate::Error) -> Self { + ece::ErrorKind::CryptoError.into() } } -pub struct RemotePublicKeyImpl { - raw: Vec, -} - -impl RemotePublicKeyImpl { - fn _from_raw(bytes: &[u8]) -> crate::Result { - Ok(RemotePublicKeyImpl { - raw: bytes.to_owned(), - }) - } - - fn _as_raw(&self) -> crate::Result> { - Ok(self.raw.to_vec()) - } -} - -impl ece::crypto_backend::RemotePublicKey for RemotePublicKeyImpl { - fn from_raw(bytes: &[u8]) -> Result { - convert(Self::_from_raw(bytes)) - } - - fn as_raw(&self) -> Result> { - convert(self._as_raw()) - } -} - -pub struct LocalKeyPairImpl { +pub struct RcCryptoLocalKeyPair { wrapped: agreement::KeyPair, } +// SECKEYPrivateKeyStr and SECKEYPublicKeyStr are Sync. +unsafe impl Sync for RcCryptoLocalKeyPair {} -impl LocalKeyPairImpl { - fn _from_raw_components(components: &EcKeyComponents) -> crate::Result { +impl RcCryptoLocalKeyPair { + pub fn from_raw_components(components: &EcKeyComponents) -> Result { let ec_key = EcKey::new( Curve::P256, components.private_key(), @@ -63,198 +30,158 @@ impl LocalKeyPairImpl { ); let priv_key = agreement::PrivateKey::::import(&ec_key)?; let wrapped = agreement::KeyPair::::from_private_key(priv_key)?; - Ok(LocalKeyPairImpl { wrapped }) + Ok(RcCryptoLocalKeyPair { wrapped }) } - fn _raw_components(&self) -> crate::Result { - let ec_key = self.wrapped.private_key().export()?; - Ok(EcKeyComponents::new( - ec_key.private_key(), - ec_key.public_key(), - )) + pub fn generate_random() -> Result { + let wrapped = agreement::KeyPair::::generate(&agreement::ECDH_P256)?; + Ok(RcCryptoLocalKeyPair { wrapped }) } - fn agree(&self, peer: &RemotePublicKeyImpl) -> crate::Result> { + fn agree(&self, peer: &RcCryptoRemotePublicKey) -> Result, ece::Error> { self.wrapped .private_key() - .agree_static(&agreement::ECDH_P256, &peer._as_raw()?)? + .agree_static(&agreement::ECDH_P256, &peer.as_raw()?)? .derive(|z| Ok(z.to_vec())) } +} - fn _generate_random() -> crate::Result { - let wrapped = agreement::KeyPair::::generate(&agreement::ECDH_P256)?; - Ok(LocalKeyPairImpl { wrapped }) +impl LocalKeyPair for RcCryptoLocalKeyPair { + fn raw_components(&self) -> Result { + let ec_key = self.wrapped.private_key().export()?; + Ok(EcKeyComponents::new( + ec_key.private_key(), + ec_key.public_key(), + )) } - fn _pub_as_raw(&self) -> crate::Result> { + fn pub_as_raw(&self) -> Result, ece::Error> { let bytes = self.wrapped.public_key().to_bytes()?; Ok(bytes.to_vec()) } -} -impl ece::crypto_backend::LocalKeyPair for LocalKeyPairImpl { - fn generate_random() -> Result { - convert(Self::_generate_random()) + fn as_any(&self) -> &dyn std::any::Any { + self } +} +pub struct RcCryptoRemotePublicKey { + raw: Vec, +} - fn from_raw_components(components: &EcKeyComponents) -> Result { - convert(Self::_from_raw_components(components)) +impl RcCryptoRemotePublicKey { + pub fn from_raw(bytes: &[u8]) -> Result { + Ok(RcCryptoRemotePublicKey { + raw: bytes.to_owned(), + }) } +} - fn raw_components(&self) -> Result { - convert(self._raw_components()) +impl RemotePublicKey for RcCryptoRemotePublicKey { + fn as_raw(&self) -> Result, ece::Error> { + Ok(self.raw.to_vec()) } - fn pub_as_raw(&self) -> Result> { - convert(self._pub_as_raw()) + fn as_any(&self) -> &dyn std::any::Any { + self } } -pub struct CryptoImpl; +pub(crate) struct RcCryptoCryptographer; + +impl Cryptographer for RcCryptoCryptographer { + fn generate_ephemeral_keypair(&self) -> Result, ece::Error> { + Ok(Box::new(RcCryptoLocalKeyPair::generate_random()?)) + } -impl CryptoImpl { - fn _generate_ephemeral_keypair() -> crate::Result { - Ok(LocalKeyPairImpl::_generate_random()?) + fn import_key_pair( + &self, + components: &EcKeyComponents, + ) -> Result, ece::Error> { + Ok(Box::new(RcCryptoLocalKeyPair::from_raw_components( + components, + )?)) } - fn _compute_ecdh_secret( - remote: &RemotePublicKeyImpl, - local: &LocalKeyPairImpl, - ) -> crate::Result> { + fn import_public_key(&self, raw: &[u8]) -> Result, ece::Error> { + Ok(Box::new(RcCryptoRemotePublicKey::from_raw(raw)?)) + } + + fn compute_ecdh_secret( + &self, + remote: &dyn RemotePublicKey, + local: &dyn LocalKeyPair, + ) -> Result, ece::Error> { + let local_any = local.as_any(); + let local = local_any.downcast_ref::().unwrap(); + let remote_any = remote.as_any(); + let remote = remote_any + .downcast_ref::() + .unwrap(); Ok(local.agree(&remote)?) } - fn _hkdf_sha256(salt: &[u8], secret: &[u8], info: &[u8], len: usize) -> crate::Result> { + fn hkdf_sha256( + &self, + salt: &[u8], + secret: &[u8], + info: &[u8], + len: usize, + ) -> Result, ece::Error> { let salt = hmac::SigningKey::new(&digest::SHA256, &salt); let mut out = vec![0u8; len]; hkdf::extract_and_expand(&salt, &secret, &info, &mut out)?; Ok(out) } - fn _aes_gcm_128_encrypt( + fn aes_gcm_128_encrypt( + &self, key: &[u8], iv: &[u8], data: &[u8], - tag_len: usize, - ) -> crate::Result> { + ) -> Result, ece::Error> { let key = aead::SealingKey::new(&aead::AES_128_GCM, key)?; let nonce = aead::Nonce::try_assume_unique_for_key(&aead::AES_128_GCM, iv)?; - // XXX TODO: tag_len is always fixed. - assert!(tag_len == aead::AES_128_GCM.tag_len()); Ok(aead::seal(&key, nonce, aead::Aad::empty(), data)?) } - fn _aes_gcm_128_decrypt( + fn aes_gcm_128_decrypt( + &self, key: &[u8], iv: &[u8], - data: &[u8], - tag: &[u8], - ) -> crate::Result> { + ciphertext_and_tag: &[u8], + ) -> Result, ece::Error> { let key = aead::OpeningKey::new(&aead::AES_128_GCM, key)?; let nonce = aead::Nonce::try_assume_unique_for_key(&aead::AES_128_GCM, iv)?; - // XXX TODO: is it necessary to receive `data` and `tag` separately? - let mut ciphertext = vec![0u8; data.len() + tag.len()]; - ciphertext[0..data.len()].copy_from_slice(&data); - ciphertext[data.len()..].copy_from_slice(&tag); - Ok(aead::open(&key, nonce, aead::Aad::empty(), &ciphertext)?) + Ok(aead::open( + &key, + nonce, + aead::Aad::empty(), + &ciphertext_and_tag, + )?) } - fn _random(dest: &mut [u8]) -> crate::Result<()> { + fn random_bytes(&self, dest: &mut [u8]) -> Result<(), ece::Error> { Ok(rand::fill(dest)?) } } -impl ece::crypto_backend::Crypto for CryptoImpl { - type RemotePublicKey = RemotePublicKeyImpl; - type LocalKeyPair = LocalKeyPairImpl; - - fn generate_ephemeral_keypair() -> Result { - convert(Self::_generate_ephemeral_keypair()) - } - - fn compute_ecdh_secret( - remote: &Self::RemotePublicKey, - local: &Self::LocalKeyPair, - ) -> Result> { - convert(Self::_compute_ecdh_secret(remote, local)) - } - - fn hkdf_sha256(salt: &[u8], secret: &[u8], info: &[u8], len: usize) -> Result> { - convert(Self::_hkdf_sha256(salt, secret, info, len)) - } - - fn aes_gcm_128_encrypt(key: &[u8], iv: &[u8], data: &[u8], tag_len: usize) -> Result> { - convert(Self::_aes_gcm_128_encrypt(key, iv, data, tag_len)) - } - - fn aes_gcm_128_decrypt(key: &[u8], iv: &[u8], data: &[u8], tag: &[u8]) -> Result> { - convert(Self::_aes_gcm_128_decrypt(key, iv, data, tag)) - } - - fn random(dest: &mut [u8]) -> ece::Result<()> { - convert(Self::_random(dest)) - } -} - -pub type Aes128GcmEceWebPushImpl = Aes128GcmEceWebPush; -pub type AesGcmEceWebPushImpl = AesGcmEceWebPush; - -/// Generate a local ECE key pair and auth nonce. -pub fn generate_keypair_and_auth_secret( -) -> Result<(LocalKeyPairImpl, [u8; ECE_WEBPUSH_AUTH_SECRET_LENGTH])> { - let local_key_pair = LocalKeyPairImpl::generate_random()?; - let mut auth_secret = [0u8; ECE_WEBPUSH_AUTH_SECRET_LENGTH]; - CryptoImpl::random(&mut auth_secret)?; - Ok((local_key_pair, auth_secret)) -} - -/// Encrypt a block using default AES128GCM encoding. -/// -/// param remote_pub &[u8] - The remote public key -/// param remote_auth &u8 - The remote authorization token -/// param salt &[u8] - The locally generated random salt -/// param data &[u8] - The data to encrypt -/// -pub fn encrypt(remote_pub: &[u8], remote_auth: &[u8], salt: &[u8], data: &[u8]) -> Result> { - let remote_key = RemotePublicKeyImpl::from_raw(remote_pub)?; - let local_key = CryptoImpl::generate_ephemeral_keypair()?; - // Pick a random size to pad to. - // It's a sampled random, endianness doesn't really matter here. - // XXX TODO: could we pick too much padding here, and fail with EncryptPadding error? - let mut padr = [0u8; 2]; - CryptoImpl::random(&mut padr)?; - let pad = ((usize::from(padr[0]) + (usize::from(padr[1]) << 8)) % 4095) + 1; - let params = WebPushParams::new(4096, pad, Vec::from(salt)); - Ok(Aes128GcmEceWebPushImpl::encrypt_with_keys( - &local_key, - &remote_key, - &remote_auth, - data, - params, - )?) -} - -/// Decrypt a block using default AES128GCM encoding. -/// -/// param components &str - The locally generated private key components. -/// param auth &str - The locally generated auth token (this value was shared with the encryptor) -/// param data &[u8] - The encrypted data block -/// -pub fn decrypt(components: &EcKeyComponents, auth: &[u8], data: &[u8]) -> Result> { - let priv_key = LocalKeyPairImpl::from_raw_components(components).unwrap(); - Aes128GcmEceWebPushImpl::decrypt(&priv_key, &auth, data) +// Please call `rc_crypto::ensure_initialized()` instead of calling +// this function directly. +pub(crate) fn init() { + ece::crypto::set_cryptographer(&crate::ece_crypto::RcCryptoCryptographer) + .expect("Failed to initialize `ece` cryptographer!") } #[cfg(test)] mod tests { use super::*; + use ece::*; // Copy-pasta from the tests in the ECE crate. - - fn generate_keys() -> Result<(LocalKeyPairImpl, LocalKeyPairImpl)> { - let local_key = LocalKeyPairImpl::generate_random()?; - let remote_key = LocalKeyPairImpl::generate_random()?; - Ok((local_key, remote_key)) + fn generate_keys() -> Result<(Box, Box)> { + let local_key = RcCryptoLocalKeyPair::generate_random()?; + let remote_key = RcCryptoLocalKeyPair::generate_random()?; + Ok((Box::new(local_key), Box::new(remote_key))) } #[allow(clippy::too_many_arguments)] @@ -271,14 +198,14 @@ mod tests { let private_key = hex::decode(private_key).unwrap(); let public_key = hex::decode(public_key).unwrap(); let ec_key = EcKeyComponents::new(private_key, public_key); - let local_key_pair = LocalKeyPairImpl::from_raw_components(&ec_key)?; + let local_key_pair = RcCryptoLocalKeyPair::from_raw_components(&ec_key)?; let remote_pub_key = hex::decode(remote_pub_key).unwrap(); - let remote_pub_key = RemotePublicKeyImpl::from_raw(&remote_pub_key)?; + let remote_pub_key = RcCryptoRemotePublicKey::from_raw(&remote_pub_key).unwrap(); let auth_secret = hex::decode(auth_secret).unwrap(); let salt = hex::decode(salt).unwrap(); let plaintext = plaintext.as_bytes(); let params = WebPushParams::new(rs, pad_length, salt); - let ciphertext = Aes128GcmEceWebPushImpl::encrypt_with_keys( + let ciphertext = Aes128GcmEceWebPush::encrypt_with_keys( &local_key_pair, &remote_pub_key, &auth_secret, @@ -307,33 +234,38 @@ mod tests { #[test] fn test_e2e() { + crate::ensure_initialized(); let (local_key, remote_key) = generate_keys().unwrap(); let plaintext = b"When I grow up, I want to be a watermelon"; let mut auth_secret = vec![0u8; 16]; - CryptoImpl::random(&mut auth_secret).unwrap(); - let remote_public = - RemotePublicKeyImpl::from_raw(&remote_key.pub_as_raw().unwrap()).unwrap(); + RcCryptoCryptographer + .random_bytes(&mut auth_secret) + .unwrap(); + let remote_public = RcCryptoCryptographer + .import_public_key(&remote_key.pub_as_raw().unwrap()) + .unwrap(); let params = WebPushParams::default(); - let ciphertext = Aes128GcmEceWebPushImpl::encrypt_with_keys( - &local_key, - &remote_public, + let ciphertext = Aes128GcmEceWebPush::encrypt_with_keys( + &*local_key, + &*remote_public, &auth_secret, plaintext, params, ) .unwrap(); let decrypted = - Aes128GcmEceWebPushImpl::decrypt(&remote_key, &auth_secret, &ciphertext).unwrap(); + Aes128GcmEceWebPush::decrypt(&*remote_key, &auth_secret, &ciphertext).unwrap(); assert_eq!(decrypted, plaintext.to_vec()); } #[test] fn test_conv_fn() -> Result<()> { + crate::ensure_initialized(); let (local_key, auth) = generate_keypair_and_auth_secret()?; let plaintext = b"Mary had a little lamb, with some nice mint jelly"; let mut salt = vec![0u8; 16]; - CryptoImpl::random(&mut salt)?; - let encoded = encrypt(&local_key.pub_as_raw()?, &auth, &salt, plaintext)?; + RcCryptoCryptographer.random_bytes(&mut salt)?; + let encoded = encrypt(&local_key.pub_as_raw()?, &auth, &salt, plaintext).unwrap(); let decoded = decrypt(&local_key.raw_components()?, &auth, &encoded)?; assert_eq!(decoded, plaintext.to_vec()); Ok(()) @@ -341,6 +273,7 @@ mod tests { #[test] fn try_encrypt_ietf_rfc() { + crate::ensure_initialized(); let ciphertext = try_encrypt( "c9f58f89813e9f8e872e71f42aa64e1757c9254dcc62b72ddc010bb4043ea11c", "04fe33f4ab0dea71914db55823f73b54948f41306d920732dbb9a59a53286482200e597a7b7bc260ba1c227998580992e93973002f3012a28ae8f06bbb78e5ec0f", @@ -356,6 +289,7 @@ mod tests { #[test] fn try_encrypt_rs_24_pad_6() { + crate::ensure_initialized(); let ciphertext = try_encrypt( "0f28beaf7e27793c03638dc2973a15b0016e1b367cbffda8861ab175f31bce02", "0430efcb1eb043b805e4e44bab35f82513c33fedb28700f7e568ac8b61e8d835665a51eb6679b2db228a10c0c3fe5077062848d9bb3d60279f93ce35484728aa1f", @@ -371,6 +305,7 @@ mod tests { #[test] fn try_encrypt_rs_18_pad_31() { + crate::ensure_initialized(); // This test is also interesting because the data length (54) is a // multiple of rs (18). We'll allocate memory to hold 4 records, but only // write 3. @@ -389,6 +324,7 @@ mod tests { #[test] fn test_decrypt_rs_24_pad_0() { + crate::ensure_initialized(); let plaintext = try_decrypt( "c899d11d32e2b7e6fe7498786f50f23b98ace5397ad261de39ba6449ecc12cad", "04b3fc72e4365cbeb5c78862396eb5e66fd905b483a1b3eac04695f4b802e5b493c5e3b70eb427b6c728b2b204fc255fa218cb45f34d235242705e0d1ea87236e0", @@ -400,6 +336,7 @@ mod tests { #[test] fn test_decrypt_rs_49_pad_84_ciphertext_len_falls_on_record_boundary() { + crate::ensure_initialized(); let plaintext = try_decrypt( "67004a4ea820deed8e49db5e9480e63d3ea3cce1ae8e1a60609713d527d001ef", "04014e8f14b92da07ce083b93f96367e87b217a47f7ef2ee93a9d343aa063e575a9f30d59c690c6a39b3fc815b150ca7dd149601741337b53507a51f41b173a721", @@ -411,6 +348,7 @@ mod tests { #[test] fn test_decrypt_ietf_rfc() { + crate::ensure_initialized(); let plaintext = try_decrypt( "ab5757a70dd4a53e553a6bbf71ffefea2874ec07a6b379e3c48f895a02dc33de", "042571b2becdfde360551aaf1ed0f4cd366c11cebe555f89bcb7b186a53339173168ece2ebe018597bd30479b86e3c8f8eced577ca59187e9246990db682008b0e", @@ -422,6 +360,7 @@ mod tests { #[test] fn test_decrypt_rs_18_pad_0() { + crate::ensure_initialized(); let plaintext = try_decrypt( "27433fab8970b3cb5284b61183efb46286562cd2a7330d8cae960911a5571d0c", "04515d4326355652399da24b2be9241e633b5cf14faf0cf3a6fd60317b954c0a2f4848548004b27b0cf7480bc810c6bec03a8fb79c8ea00fc8b05e00f8834563ef", @@ -433,6 +372,7 @@ mod tests { #[test] fn test_decrypt_missing_header_block() { + crate::ensure_initialized(); let err = try_decrypt( "1be83f38332ef09681faf3f307b1ff2e10cab78cc7cdab683ac0ee92ac3f6ee1", "04dba991ca215343f36bdd3e857cafde3d18bf57f1835b2833bad414f0884162051ac96a0b24490037d07cf528e4e18e100a1a64eb744748544bf1e220dabacf2c", @@ -442,12 +382,13 @@ mod tests { .unwrap_err(); match err.kind() { ErrorKind::HeaderTooShort => {} - _ => panic!("Expected HeaderTooShort error"), + _ => panic!("Unexpected error type!"), }; } #[test] fn test_decrypt_truncated_sender_key() { + crate::ensure_initialized(); let err = try_decrypt( "ce88e8e0b3057a4752eb4c8fa931eb621c302da5ad03b81af459cf6735560cae", "04a325d99084c40de0ce722a042c448d94a32691721ca79e3cf745e78c69886194b02cea19224176795a9d4dbbb2073af2ccd6fa6f0a4c7c4968556be502a3ba81", @@ -457,12 +398,13 @@ mod tests { .unwrap_err(); match err.kind() { ErrorKind::InvalidKeyLength => {} - _ => panic!("Expected InvalidKeyLength error"), + _ => panic!("Unexpected error type!"), }; } #[test] fn test_decrypt_truncated_auth_secret() { + crate::ensure_initialized(); let err = try_decrypt( "60c7636a517de7039a0ac2d0e3064400794c78e7e049398129a227cee0f9a801", "04fdd04128a85c05896d7f81fe118bdcb887b9f3c1ff4183adc4c824d128607300e986b2dfb5a610e5af43e408a00730584f93e3dfddfc44737d5f08fb2d6f8916", @@ -470,13 +412,14 @@ mod tests { "8115f4988b8c392a7bacb43c8f1ac5650000001241041994483c541e9bc39a6af03ff713aa7745c284e138a42a2435b797b20c4b698cf5118b4f8555317c190eabebfab749c164d3f6bdebe0d441719131a357d8890a13c4dbd4b16ff3dd5a83f7c91ad6e040ac42730a7f0b3cd3245e9f8d6ff31c751d410cfd" ).unwrap_err(); match err.kind() { - ErrorKind::CryptoError => {} - _ => panic!("Expected CryptoError"), + ece::ErrorKind::CryptoError => {} + _ => panic!("Unexpected error type!"), }; } #[test] fn test_decrypt_early_final_record() { + crate::ensure_initialized(); let err = try_decrypt( "5dda1d918bc407ba3cda12cb8014d49aa7e0269002820304466bc80034ca9240", "04c95c6520dad11e8f6a1bf8031a40c2a4ee1045c1903be06a1dfa7f829cceb2de02481ae6bd0476121b12c5532d0b231788077efa0683a5bfe0d62339b251cb35", @@ -485,7 +428,7 @@ mod tests { ).unwrap_err(); match err.kind() { ErrorKind::DecryptPadding => {} - _ => panic!("Expected DecryptPadding error"), + _ => panic!("Unexpected error type!"), }; } } diff --git a/components/support/rc_crypto/src/lib.rs b/components/support/rc_crypto/src/lib.rs index 51b02950ed..5ad2134b40 100644 --- a/components/support/rc_crypto/src/lib.rs +++ b/components/support/rc_crypto/src/lib.rs @@ -29,7 +29,7 @@ pub mod agreement; pub mod constant_time; pub mod digest; #[cfg(feature = "ece")] -pub mod ece; +pub mod ece_crypto; mod error; #[cfg(feature = "hawk")] mod hawk_crypto; @@ -42,18 +42,17 @@ pub mod rand; #[cfg(feature = "hawk")] pub use hawk; +// Expose `ece` if the ece feature is on. This avoids consumers needing to +// configure this separately, which is more or less trivial to do incorrectly. +#[cfg(feature = "ece")] +pub use ece; + pub use crate::error::{Error, ErrorKind, Result}; // So we link against the SQLite lib imported by parent crates // such as places and logins. #[allow(unused_extern_crates)] extern crate libsqlite3_sys; -// For some reason when running `cargo test --all` we use -// the sqlcipher version of `libsqlite3_sys`, which has a -// dependency on OpenSSL. -#[cfg(test)] -#[allow(unused_extern_crates)] -extern crate openssl_sys; /// Only required to be called if you intend to use this library in conjunction /// with the `hawk` crate. @@ -62,6 +61,9 @@ pub fn ensure_initialized() { #[cfg(feature = "hawk")] { static INIT_ONCE: std::sync::Once = std::sync::Once::new(); - INIT_ONCE.call_once(crate::hawk_crypto::init); + INIT_ONCE.call_once(|| { + crate::hawk_crypto::init(); + crate::ece_crypto::init(); + }); } } diff --git a/megazords/fenix/DEPENDENCIES.md b/megazords/fenix/DEPENDENCIES.md index b601bd2534..a0dbb46ff2 100644 --- a/megazords/fenix/DEPENDENCIES.md +++ b/megazords/fenix/DEPENDENCIES.md @@ -13,11 +13,9 @@ the details of which are reproduced below. * [MIT License: bytes](#mit-license-bytes) * [MIT License: caseless](#mit-license-caseless) * [MIT License: clap](#mit-license-clap) -* [MIT License: generic-array](#mit-license-generic-array) * [MIT License: libsqlite3-sys, rusqlite](#mit-license-libsqlite3-sys-rusqlite) * [MIT License: matches](#mit-license-matches) * [MIT License: nom](#mit-license-nom) -* [MIT License: openssl-sys](#mit-license-openssl-sys) * [MIT License: spin](#mit-license-spin) * [MIT License: strsim](#mit-license-strsim) * [MIT License: synstructure](#mit-license-synstructure) @@ -30,8 +28,6 @@ the details of which are reproduced below. * [BSD-3-Clause License: bindgen](#bsd-3-clause-license-bindgen) * [BSD-3-Clause License: protobuf](#bsd-3-clause-license-protobuf) * [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher) -* [BSD-3-Clause License: subtle](#bsd-3-clause-license-subtle) -* [OpenSSL License](#openssl-license) * [Optional Notice: SQlite](#optional-notice-sqlite) ------------- ## Mozilla Public License 2.0 @@ -427,34 +423,24 @@ The following text applies to code linked from these dependendencies: [backtrace](https://github.com/rust-lang/backtrace-rs), [base64](https://github.com/alicemaz/rust-base64), [bitflags](https://github.com/bitflags/bitflags), -[block-buffer](https://github.com/RustCrypto/utils), -[block-padding](https://github.com/RustCrypto/utils), -[byte-tools](https://github.com/RustCrypto/utils), [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion), [cc](https://github.com/alexcrichton/cc-rs), [cexpr](https://github.com/jethrogb/rust-cexpr), [cfg-if](https://github.com/alexcrichton/cfg-if), [clang-sys](https://github.com/KyleMayes/clang-sys), -[crypto-mac](https://github.com/RustCrypto/traits), -[digest](https://github.com/RustCrypto/traits), [dogear](https://github.com/mozilla/dogear), [either](https://github.com/bluss/either), [env_logger](https://github.com/sebasmagri/env_logger/), [failure](https://github.com/rust-lang-nursery/failure), [failure_derive](https://github.com/withoutboats/failure_derive), -[fake-simd](https://github.com/RustCrypto/utils), [fallible-iterator](https://github.com/sfackler/rust-fallible-iterator), [fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator), [fixedbitset](https://github.com/bluss/fixedbitset), -[foreign-types-shared](https://github.com/sfackler/foreign-types), -[foreign-types](https://github.com/sfackler/foreign-types), [fxhash](https://github.com/cbreeden/fxhash), [getrandom](https://github.com/rust-random/getrandom), [glob](https://github.com/rust-lang/glob), [heck](https://github.com/withoutboats/heck), [hex](https://github.com/KokaKiwi/rust-hex), -[hkdf](https://github.com/RustCrypto/KDFs/), -[hmac](https://github.com/RustCrypto/MACs), [humantime](None), [idna](https://github.com/servo/rust-url/), [iovec](https://github.com/carllerche/iovec), @@ -469,8 +455,6 @@ The following text applies to code linked from these dependendencies: [lru-cache](https://github.com/contain-rs/lru-cache), [multimap](https://github.com/havarnov/multimap), [once_cell](https://github.com/matklad/once_cell), -[opaque-debug](https://github.com/RustCrypto/utils), -[openssl](https://github.com/sfackler/rust-openssl), [parking_lot](https://github.com/Amanieu/parking_lot), [parking_lot_core](https://github.com/Amanieu/parking_lot), [peeking_take_while](https://github.com/fitzgen/peeking_take_while), @@ -507,7 +491,6 @@ The following text applies to code linked from these dependendencies: [serde](https://github.com/serde-rs/serde), [serde_derive](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json), -[sha2](https://github.com/RustCrypto/hashes), [shlex](https://github.com/comex/rust-shlex), [smallbitvec](https://github.com/servo/smallbitvec), [smallvec](https://github.com/servo/rust-smallvec), @@ -516,7 +499,6 @@ The following text applies to code linked from these dependendencies: [thread_local](https://github.com/Amanieu/thread_local-rs), [time](https://github.com/rust-lang/time), [toml](https://github.com/alexcrichton/toml-rs), -[typenum](https://github.com/paholg/typenum), [ucd-util](https://github.com/BurntSushi/ucd-generate), [unicode-bidi](https://github.com/servo/unicode-bidi), [unicode-normalization](https://github.com/unicode-rs/unicode-normalization), @@ -951,35 +933,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: generic-array - -The following text applies to code linked from these dependendencies: -[generic-array](https://github.com/fizyk20/generic-array.git) - -``` -The MIT License (MIT) - -Copyright (c) 2015 Bartłomiej Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ``` ------------- ## MIT License: libsqlite3-sys, rusqlite @@ -1072,40 +1025,6 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: openssl-sys - -The following text applies to code linked from these dependendencies: -[openssl-sys](https://github.com/sfackler/rust-openssl) - -``` -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ``` ------------- ## MIT License: spin @@ -1557,177 +1476,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -------------- -## BSD-3-Clause License: subtle - -The following text applies to code linked from these dependendencies: -[subtle](https://github.com/dalek-cryptography/subtle) - -``` -Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -``` -------------- -## OpenSSL License - -The following text applies to code linked from these dependendencies: -[openssl](https://www.openssl.org/source/) - -``` - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - - ``` ------------- ## Optional Notice: SQlite diff --git a/megazords/full/DEPENDENCIES.md b/megazords/full/DEPENDENCIES.md index b601bd2534..a0dbb46ff2 100644 --- a/megazords/full/DEPENDENCIES.md +++ b/megazords/full/DEPENDENCIES.md @@ -13,11 +13,9 @@ the details of which are reproduced below. * [MIT License: bytes](#mit-license-bytes) * [MIT License: caseless](#mit-license-caseless) * [MIT License: clap](#mit-license-clap) -* [MIT License: generic-array](#mit-license-generic-array) * [MIT License: libsqlite3-sys, rusqlite](#mit-license-libsqlite3-sys-rusqlite) * [MIT License: matches](#mit-license-matches) * [MIT License: nom](#mit-license-nom) -* [MIT License: openssl-sys](#mit-license-openssl-sys) * [MIT License: spin](#mit-license-spin) * [MIT License: strsim](#mit-license-strsim) * [MIT License: synstructure](#mit-license-synstructure) @@ -30,8 +28,6 @@ the details of which are reproduced below. * [BSD-3-Clause License: bindgen](#bsd-3-clause-license-bindgen) * [BSD-3-Clause License: protobuf](#bsd-3-clause-license-protobuf) * [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher) -* [BSD-3-Clause License: subtle](#bsd-3-clause-license-subtle) -* [OpenSSL License](#openssl-license) * [Optional Notice: SQlite](#optional-notice-sqlite) ------------- ## Mozilla Public License 2.0 @@ -427,34 +423,24 @@ The following text applies to code linked from these dependendencies: [backtrace](https://github.com/rust-lang/backtrace-rs), [base64](https://github.com/alicemaz/rust-base64), [bitflags](https://github.com/bitflags/bitflags), -[block-buffer](https://github.com/RustCrypto/utils), -[block-padding](https://github.com/RustCrypto/utils), -[byte-tools](https://github.com/RustCrypto/utils), [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion), [cc](https://github.com/alexcrichton/cc-rs), [cexpr](https://github.com/jethrogb/rust-cexpr), [cfg-if](https://github.com/alexcrichton/cfg-if), [clang-sys](https://github.com/KyleMayes/clang-sys), -[crypto-mac](https://github.com/RustCrypto/traits), -[digest](https://github.com/RustCrypto/traits), [dogear](https://github.com/mozilla/dogear), [either](https://github.com/bluss/either), [env_logger](https://github.com/sebasmagri/env_logger/), [failure](https://github.com/rust-lang-nursery/failure), [failure_derive](https://github.com/withoutboats/failure_derive), -[fake-simd](https://github.com/RustCrypto/utils), [fallible-iterator](https://github.com/sfackler/rust-fallible-iterator), [fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator), [fixedbitset](https://github.com/bluss/fixedbitset), -[foreign-types-shared](https://github.com/sfackler/foreign-types), -[foreign-types](https://github.com/sfackler/foreign-types), [fxhash](https://github.com/cbreeden/fxhash), [getrandom](https://github.com/rust-random/getrandom), [glob](https://github.com/rust-lang/glob), [heck](https://github.com/withoutboats/heck), [hex](https://github.com/KokaKiwi/rust-hex), -[hkdf](https://github.com/RustCrypto/KDFs/), -[hmac](https://github.com/RustCrypto/MACs), [humantime](None), [idna](https://github.com/servo/rust-url/), [iovec](https://github.com/carllerche/iovec), @@ -469,8 +455,6 @@ The following text applies to code linked from these dependendencies: [lru-cache](https://github.com/contain-rs/lru-cache), [multimap](https://github.com/havarnov/multimap), [once_cell](https://github.com/matklad/once_cell), -[opaque-debug](https://github.com/RustCrypto/utils), -[openssl](https://github.com/sfackler/rust-openssl), [parking_lot](https://github.com/Amanieu/parking_lot), [parking_lot_core](https://github.com/Amanieu/parking_lot), [peeking_take_while](https://github.com/fitzgen/peeking_take_while), @@ -507,7 +491,6 @@ The following text applies to code linked from these dependendencies: [serde](https://github.com/serde-rs/serde), [serde_derive](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json), -[sha2](https://github.com/RustCrypto/hashes), [shlex](https://github.com/comex/rust-shlex), [smallbitvec](https://github.com/servo/smallbitvec), [smallvec](https://github.com/servo/rust-smallvec), @@ -516,7 +499,6 @@ The following text applies to code linked from these dependendencies: [thread_local](https://github.com/Amanieu/thread_local-rs), [time](https://github.com/rust-lang/time), [toml](https://github.com/alexcrichton/toml-rs), -[typenum](https://github.com/paholg/typenum), [ucd-util](https://github.com/BurntSushi/ucd-generate), [unicode-bidi](https://github.com/servo/unicode-bidi), [unicode-normalization](https://github.com/unicode-rs/unicode-normalization), @@ -951,35 +933,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: generic-array - -The following text applies to code linked from these dependendencies: -[generic-array](https://github.com/fizyk20/generic-array.git) - -``` -The MIT License (MIT) - -Copyright (c) 2015 Bartłomiej Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ``` ------------- ## MIT License: libsqlite3-sys, rusqlite @@ -1072,40 +1025,6 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: openssl-sys - -The following text applies to code linked from these dependendencies: -[openssl-sys](https://github.com/sfackler/rust-openssl) - -``` -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ``` ------------- ## MIT License: spin @@ -1557,177 +1476,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -------------- -## BSD-3-Clause License: subtle - -The following text applies to code linked from these dependendencies: -[subtle](https://github.com/dalek-cryptography/subtle) - -``` -Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -``` -------------- -## OpenSSL License - -The following text applies to code linked from these dependendencies: -[openssl](https://www.openssl.org/source/) - -``` - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - - ``` ------------- ## Optional Notice: SQlite diff --git a/megazords/ios/DEPENDENCIES.md b/megazords/ios/DEPENDENCIES.md index 55f1ed893d..4db02d89d7 100644 --- a/megazords/ios/DEPENDENCIES.md +++ b/megazords/ios/DEPENDENCIES.md @@ -12,7 +12,6 @@ the details of which are reproduced below. * [MIT License: bytes](#mit-license-bytes) * [MIT License: caseless](#mit-license-caseless) * [MIT License: clap](#mit-license-clap) -* [MIT License: generic-array](#mit-license-generic-array) * [MIT License: h2](#mit-license-h2) * [MIT License: http-body](#mit-license-http-body) * [MIT License: hyper](#mit-license-hyper) @@ -23,7 +22,6 @@ the details of which are reproduced below. * [MIT License: miniz_oxide, miniz_oxide_c_api](#mit-license-miniz_oxide-miniz_oxide_c_api) * [MIT License: mio](#mit-license-mio) * [MIT License: nom](#mit-license-nom) -* [MIT License: openssl-sys](#mit-license-openssl-sys) * [MIT License: owning_ref](#mit-license-owning_ref) * [MIT License: phf, phf_codegen, phf_generator, phf_shared](#mit-license-phf-phf_codegen-phf_generator-phf_shared) * [MIT License: slab, string](#mit-license-slab-string) @@ -43,8 +41,6 @@ the details of which are reproduced below. * [BSD-3-Clause License: adler32](#bsd-3-clause-license-adler32) * [BSD-3-Clause License: bindgen](#bsd-3-clause-license-bindgen) * [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher) -* [BSD-3-Clause License: subtle](#bsd-3-clause-license-subtle) -* [OpenSSL License](#openssl-license) * [Optional Notice: SQlite](#optional-notice-sqlite) * [Optional Notice: zlib](#optional-notice-zlib) ------------- @@ -442,9 +438,6 @@ The following text applies to code linked from these dependendencies: [backtrace](https://github.com/rust-lang/backtrace-rs), [base64](https://github.com/alicemaz/rust-base64), [bitflags](https://github.com/bitflags/bitflags), -[block-buffer](https://github.com/RustCrypto/utils), -[block-padding](https://github.com/RustCrypto/utils), -[byte-tools](https://github.com/RustCrypto/utils), [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion), [cc](https://github.com/alexcrichton/cc-rs), [cexpr](https://github.com/jethrogb/rust-cexpr), @@ -459,8 +452,6 @@ The following text applies to code linked from these dependendencies: [crossbeam-epoch](https://github.com/crossbeam-rs/crossbeam), [crossbeam-queue](https://github.com/crossbeam-rs/crossbeam), [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam), -[crypto-mac](https://github.com/RustCrypto/traits), -[digest](https://github.com/RustCrypto/traits), [dogear](https://github.com/mozilla/dogear), [dtoa](https://github.com/dtolnay/dtoa), [either](https://github.com/bluss/either), @@ -469,14 +460,11 @@ The following text applies to code linked from these dependendencies: [error-chain](https://github.com/rust-lang-nursery/error-chain), [failure](https://github.com/rust-lang-nursery/failure), [failure_derive](https://github.com/withoutboats/failure_derive), -[fake-simd](https://github.com/RustCrypto/utils), [fallible-iterator](https://github.com/sfackler/rust-fallible-iterator), [fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator), [fixedbitset](https://github.com/bluss/fixedbitset), [flate2](https://github.com/alexcrichton/flate2-rs), [fnv](https://github.com/servo/rust-fnv), -[foreign-types-shared](https://github.com/sfackler/foreign-types), -[foreign-types](https://github.com/sfackler/foreign-types), [futures-cpupool](https://github.com/alexcrichton/futures-rs), [futures](https://github.com/rust-lang-nursery/futures-rs), [fxhash](https://github.com/cbreeden/fxhash), @@ -484,8 +472,6 @@ The following text applies to code linked from these dependendencies: [glob](https://github.com/rust-lang/glob), [heck](https://github.com/withoutboats/heck), [hex](https://github.com/KokaKiwi/rust-hex), -[hkdf](https://github.com/RustCrypto/KDFs/), -[hmac](https://github.com/RustCrypto/MACs), [http](https://github.com/hyperium/http), [httparse](https://github.com/seanmonstar/httparse), [humantime](None), @@ -508,8 +494,6 @@ The following text applies to code linked from these dependendencies: [nodrop](https://github.com/bluss/arrayvec), [num_cpus](https://github.com/seanmonstar/num_cpus), [once_cell](https://github.com/matklad/once_cell), -[opaque-debug](https://github.com/RustCrypto/utils), -[openssl](https://github.com/sfackler/rust-openssl), [parking_lot](https://github.com/Amanieu/parking_lot), [parking_lot_core](https://github.com/Amanieu/parking_lot), [peeking_take_while](https://github.com/fitzgen/peeking_take_while), @@ -551,7 +535,6 @@ The following text applies to code linked from these dependendencies: [serde_derive](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json), [serde_urlencoded](https://github.com/nox/serde_urlencoded), -[sha2](https://github.com/RustCrypto/hashes), [shlex](https://github.com/comex/rust-shlex), [siphasher](https://github.com/jedisct1/rust-siphash), [smallbitvec](https://github.com/servo/smallbitvec), @@ -563,7 +546,6 @@ The following text applies to code linked from these dependendencies: [thread_local](https://github.com/Amanieu/thread_local-rs), [time](https://github.com/rust-lang/time), [toml](https://github.com/alexcrichton/toml-rs), -[typenum](https://github.com/paholg/typenum), [ucd-util](https://github.com/BurntSushi/ucd-generate), [unicase](https://github.com/seanmonstar/unicase), [unicode-bidi](https://github.com/servo/unicode-bidi), @@ -968,35 +950,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: generic-array - -The following text applies to code linked from these dependendencies: -[generic-array](https://github.com/fizyk20/generic-array.git) - -``` -The MIT License (MIT) - -Copyright (c) 2015 Bartłomiej Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ``` ------------- ## MIT License: h2 @@ -1303,40 +1256,6 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: openssl-sys - -The following text applies to code linked from these dependendencies: -[openssl-sys](https://github.com/sfackler/rust-openssl) - -``` -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ``` ------------- ## MIT License: owning_ref @@ -2011,177 +1930,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -------------- -## BSD-3-Clause License: subtle - -The following text applies to code linked from these dependendencies: -[subtle](https://github.com/dalek-cryptography/subtle) - -``` -Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -``` -------------- -## OpenSSL License - -The following text applies to code linked from these dependendencies: -[openssl](https://www.openssl.org/source/) - -``` - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - - ``` ------------- ## Optional Notice: SQlite diff --git a/megazords/lockbox/DEPENDENCIES.md b/megazords/lockbox/DEPENDENCIES.md index 04b624b294..de72e27e78 100644 --- a/megazords/lockbox/DEPENDENCIES.md +++ b/megazords/lockbox/DEPENDENCIES.md @@ -11,11 +11,9 @@ the details of which are reproduced below. * [MIT License: atty](#mit-license-atty) * [MIT License: bytes](#mit-license-bytes) * [MIT License: clap](#mit-license-clap) -* [MIT License: generic-array](#mit-license-generic-array) * [MIT License: libsqlite3-sys, rusqlite](#mit-license-libsqlite3-sys-rusqlite) * [MIT License: matches](#mit-license-matches) * [MIT License: nom](#mit-license-nom) -* [MIT License: openssl-sys](#mit-license-openssl-sys) * [MIT License: spin](#mit-license-spin) * [MIT License: strsim](#mit-license-strsim) * [MIT License: synstructure](#mit-license-synstructure) @@ -28,8 +26,6 @@ the details of which are reproduced below. * [BSD-3-Clause License: bindgen](#bsd-3-clause-license-bindgen) * [BSD-3-Clause License: protobuf](#bsd-3-clause-license-protobuf) * [BSD-3-Clause License: sqlcipher](#bsd-3-clause-license-sqlcipher) -* [BSD-3-Clause License: subtle](#bsd-3-clause-license-subtle) -* [OpenSSL License](#openssl-license) * [Optional Notice: SQlite](#optional-notice-sqlite) ------------- ## Mozilla Public License 2.0 @@ -425,33 +421,23 @@ The following text applies to code linked from these dependendencies: [backtrace](https://github.com/rust-lang/backtrace-rs), [base64](https://github.com/alicemaz/rust-base64), [bitflags](https://github.com/bitflags/bitflags), -[block-buffer](https://github.com/RustCrypto/utils), -[block-padding](https://github.com/RustCrypto/utils), -[byte-tools](https://github.com/RustCrypto/utils), [c2-chacha](https://github.com/cryptocorrosion/cryptocorrosion), [cc](https://github.com/alexcrichton/cc-rs), [cexpr](https://github.com/jethrogb/rust-cexpr), [cfg-if](https://github.com/alexcrichton/cfg-if), [clang-sys](https://github.com/KyleMayes/clang-sys), -[crypto-mac](https://github.com/RustCrypto/traits), -[digest](https://github.com/RustCrypto/traits), [either](https://github.com/bluss/either), [env_logger](https://github.com/sebasmagri/env_logger/), [failure](https://github.com/rust-lang-nursery/failure), [failure_derive](https://github.com/withoutboats/failure_derive), -[fake-simd](https://github.com/RustCrypto/utils), [fallible-iterator](https://github.com/sfackler/rust-fallible-iterator), [fallible-streaming-iterator](https://github.com/sfackler/fallible-streaming-iterator), [fixedbitset](https://github.com/bluss/fixedbitset), -[foreign-types-shared](https://github.com/sfackler/foreign-types), -[foreign-types](https://github.com/sfackler/foreign-types), [fxhash](https://github.com/cbreeden/fxhash), [getrandom](https://github.com/rust-random/getrandom), [glob](https://github.com/rust-lang/glob), [heck](https://github.com/withoutboats/heck), [hex](https://github.com/KokaKiwi/rust-hex), -[hkdf](https://github.com/RustCrypto/KDFs/), -[hmac](https://github.com/RustCrypto/MACs), [humantime](None), [idna](https://github.com/servo/rust-url/), [iovec](https://github.com/carllerche/iovec), @@ -466,8 +452,6 @@ The following text applies to code linked from these dependendencies: [lru-cache](https://github.com/contain-rs/lru-cache), [multimap](https://github.com/havarnov/multimap), [once_cell](https://github.com/matklad/once_cell), -[opaque-debug](https://github.com/RustCrypto/utils), -[openssl](https://github.com/sfackler/rust-openssl), [parking_lot](https://github.com/Amanieu/parking_lot), [parking_lot_core](https://github.com/Amanieu/parking_lot), [peeking_take_while](https://github.com/fitzgen/peeking_take_while), @@ -504,7 +488,6 @@ The following text applies to code linked from these dependendencies: [serde](https://github.com/serde-rs/serde), [serde_derive](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json), -[sha2](https://github.com/RustCrypto/hashes), [shlex](https://github.com/comex/rust-shlex), [smallvec](https://github.com/servo/rust-smallvec), [syn](https://github.com/dtolnay/syn), @@ -512,7 +495,6 @@ The following text applies to code linked from these dependendencies: [thread_local](https://github.com/Amanieu/thread_local-rs), [time](https://github.com/rust-lang/time), [toml](https://github.com/alexcrichton/toml-rs), -[typenum](https://github.com/paholg/typenum), [ucd-util](https://github.com/BurntSushi/ucd-generate), [unicode-bidi](https://github.com/servo/unicode-bidi), [unicode-normalization](https://github.com/unicode-rs/unicode-normalization), @@ -885,35 +867,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: generic-array - -The following text applies to code linked from these dependendencies: -[generic-array](https://github.com/fizyk20/generic-array.git) - -``` -The MIT License (MIT) - -Copyright (c) 2015 Bartłomiej Kamiński - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ``` ------------- ## MIT License: libsqlite3-sys, rusqlite @@ -1006,40 +959,6 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -``` -------------- -## MIT License: openssl-sys - -The following text applies to code linked from these dependendencies: -[openssl-sys](https://github.com/sfackler/rust-openssl) - -``` -Copyright (c) 2014 Alex Crichton - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without -limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software -is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - ``` ------------- ## MIT License: spin @@ -1491,177 +1410,6 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` -------------- -## BSD-3-Clause License: subtle - -The following text applies to code linked from these dependendencies: -[subtle](https://github.com/dalek-cryptography/subtle) - -``` -Copyright (c) 2016-2017 Isis Agora Lovecruft, Henry de Valence. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -``` -------------- -## OpenSSL License - -The following text applies to code linked from these dependendencies: -[openssl](https://www.openssl.org/source/) - -``` - - LICENSE ISSUES - ============== - - The OpenSSL toolkit stays under a double license, i.e. both the conditions of - the OpenSSL License and the original SSLeay license apply to the toolkit. - See below for the actual license texts. - - OpenSSL License - --------------- - -/* ==================================================================== - * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - Original SSLeay License - ----------------------- - -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - - ``` ------------- ## Optional Notice: SQlite