From b3a06b9a38e919e6fbc5a6919ec1dc5b5f257c61 Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Thu, 7 Mar 2019 20:29:17 -0800 Subject: [PATCH] Migrate examples into a subcrate Fuchsia doesn't support yet mio, and there is unfortunately no way to run the rustls on Fuchsia as the crate is currently setup. Unfortunately there is no way to make dev-dependencies optional (see https://github.com/rust-lang/cargo/issues/1596), so this patch migrates the examples into a subcrate so we can compile the rustls tests without mio. --- .travis.yml | 1 + Cargo.toml | 37 ----------- examples/Cargo.toml | 64 +++++++++++++++++++ examples/{ => examples}/internal/bench.rs | 0 examples/{ => examples}/internal/bogo_shim.rs | 0 .../{ => examples}/internal/trytls_shim.rs | 0 examples/{ => examples}/simple_0rtt_client.rs | 0 examples/{ => examples}/simpleclient.rs | 0 examples/{ => examples}/tlsclient.rs | 0 examples/{ => examples}/tlsserver.rs | 0 examples/{ => examples}/util/mod.rs | 0 src/msgs/message_test.rs | 3 +- 12 files changed, 67 insertions(+), 38 deletions(-) create mode 100644 examples/Cargo.toml rename examples/{ => examples}/internal/bench.rs (100%) rename examples/{ => examples}/internal/bogo_shim.rs (100%) rename examples/{ => examples}/internal/trytls_shim.rs (100%) rename examples/{ => examples}/simple_0rtt_client.rs (100%) rename examples/{ => examples}/simpleclient.rs (100%) rename examples/{ => examples}/tlsclient.rs (100%) rename examples/{ => examples}/tlsserver.rs (100%) rename examples/{ => examples}/util/mod.rs (100%) diff --git a/.travis.yml b/.travis.yml index 6c37632c..50d8ef50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,5 +30,6 @@ script: - ( cd bogo && ./runme ) - cargo build --no-default-features - cargo test --no-default-features --no-run + - ( cd examples && cargo build --examples --all-features ) - if [[ "$COVERAGE" == "1" ]]; then ./admin/coverage ; fi - if [[ "$COVERAGE" == "1" ]]; then coveralls-lcov final.info ; fi diff --git a/Cargo.toml b/Cargo.toml index 2dbad57a..5100de27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,44 +25,7 @@ dangerous_configuration = [] quic = [] [dev-dependencies] -ct-logs = "0.5" -docopt = "1.0" env_logger = "0.6.1" -log = "0.4" -mio = "0.6" regex = "1.0" -serde = "1.0" -serde_derive = "1.0" tempfile = "3.0" -vecio = "0.1" webpki-roots = "0.16" - -[[example]] -name = "bogo_shim" -path = "examples/internal/bogo_shim.rs" -required-features = ["dangerous_configuration", "quic"] - -[[example]] -name = "trytls_shim" -path = "examples/internal/trytls_shim.rs" - -[[example]] -name = "bench" -path = "examples/internal/bench.rs" - -[[example]] -name = "tlsclient" -path = "examples/tlsclient.rs" - -[[example]] -name = "tlsserver" -path = "examples/tlsserver.rs" - -[[example]] -name = "simpleclient" -path = "examples/simpleclient.rs" - -[[example]] -name = "simple_0rtt_client" -path = "examples/simple_0rtt_client.rs" -required-features = ["logging"] diff --git a/examples/Cargo.toml b/examples/Cargo.toml new file mode 100644 index 00000000..7fc46722 --- /dev/null +++ b/examples/Cargo.toml @@ -0,0 +1,64 @@ +[package] +name = "rustls-examples" +version = "0.15.1" +edition = "2018" +authors = ["Joseph Birr-Pixton "] +license = "Apache-2.0/ISC/MIT" +readme = "README.md" +description = "Rustls is a modern TLS library written in Rust." +homepage = "https://github.com/ctz/rustls" +repository = "https://github.com/ctz/rustls" +categories = ["network-programming", "cryptography"] + +[features] +default = ["logging"] +logging = ["log"] +dangerous_configuration = ["rustls/dangerous_configuration"] +quic = ["rustls/quic"] + +[dependencies] +base64 = "0.10" +log = { version = "0.4.0", optional = true } +rustls = { path = ".." } +sct = "0.5" +webpki = "0.19" + +[dev-dependencies] +ct-logs = "0.5" +docopt = "1.0" +env_logger = "0.6" +mio = "0.6" +serde = "1.0" +serde_derive = "1.0" +vecio = "0.1" +webpki-roots = "0.16" + +[[example]] +name = "bogo_shim" +path = "examples/internal/bogo_shim.rs" +required-features = ["dangerous_configuration", "quic"] + +[[example]] +name = "trytls_shim" +path = "examples/internal/trytls_shim.rs" + +[[example]] +name = "bench" +path = "examples/internal/bench.rs" + +[[example]] +name = "tlsclient" +path = "examples/tlsclient.rs" + +[[example]] +name = "tlsserver" +path = "examples/tlsserver.rs" + +[[example]] +name = "simpleclient" +path = "examples/simpleclient.rs" + +[[example]] +name = "simple_0rtt_client" +path = "examples/simple_0rtt_client.rs" +required-features = ["logging"] diff --git a/examples/internal/bench.rs b/examples/examples/internal/bench.rs similarity index 100% rename from examples/internal/bench.rs rename to examples/examples/internal/bench.rs diff --git a/examples/internal/bogo_shim.rs b/examples/examples/internal/bogo_shim.rs similarity index 100% rename from examples/internal/bogo_shim.rs rename to examples/examples/internal/bogo_shim.rs diff --git a/examples/internal/trytls_shim.rs b/examples/examples/internal/trytls_shim.rs similarity index 100% rename from examples/internal/trytls_shim.rs rename to examples/examples/internal/trytls_shim.rs diff --git a/examples/simple_0rtt_client.rs b/examples/examples/simple_0rtt_client.rs similarity index 100% rename from examples/simple_0rtt_client.rs rename to examples/examples/simple_0rtt_client.rs diff --git a/examples/simpleclient.rs b/examples/examples/simpleclient.rs similarity index 100% rename from examples/simpleclient.rs rename to examples/examples/simpleclient.rs diff --git a/examples/tlsclient.rs b/examples/examples/tlsclient.rs similarity index 100% rename from examples/tlsclient.rs rename to examples/examples/tlsclient.rs diff --git a/examples/tlsserver.rs b/examples/examples/tlsserver.rs similarity index 100% rename from examples/tlsserver.rs rename to examples/examples/tlsserver.rs diff --git a/examples/util/mod.rs b/examples/examples/util/mod.rs similarity index 100% rename from examples/util/mod.rs rename to examples/examples/util/mod.rs diff --git a/src/msgs/message_test.rs b/src/msgs/message_test.rs index 0da8fa1e..63315cc7 100644 --- a/src/msgs/message_test.rs +++ b/src/msgs/message_test.rs @@ -27,7 +27,8 @@ fn can_read_safari_client_hello() { .filter(None, log::LevelFilter::Trace) .try_init(); - let bytes = b"\x16\x03\x01\x00\xeb\x01\x00\x00\xe7\x03\x03\xb6\x1f\xe4\x3a\x55\ + let bytes = b"\ + \x16\x03\x01\x00\xeb\x01\x00\x00\xe7\x03\x03\xb6\x1f\xe4\x3a\x55\ \x90\x3e\xc0\x28\x9c\x12\xe0\x5c\x84\xea\x90\x1b\xfb\x11\xfc\xbd\ \x25\x55\xda\x9f\x51\x93\x1b\x8d\x92\x66\xfd\x00\x00\x2e\xc0\x2c\ \xc0\x2b\xc0\x24\xc0\x23\xc0\x0a\xc0\x09\xcc\xa9\xc0\x30\xc0\x2f\