diff --git a/Cargo.lock b/Cargo.lock index 436e1c2b0..d305c29af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -762,7 +762,7 @@ dependencies = [ "log 0.4.28", "pin-project-lite", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "serde_json", "serde_repr", "serde_urlencoded", @@ -1487,7 +1487,7 @@ dependencies = [ [[package]] name = "em-app" -version = "0.5.1" +version = "0.5.2" dependencies = [ "aws-nitro-enclaves-nsm-api", "b64-ct", @@ -1500,7 +1500,7 @@ dependencies = [ "sdkms", "serde", "serde_bytes", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "serde_json", "sgx-isa 0.4.1", "sgx_pkix 0.2.2", @@ -1513,22 +1513,22 @@ dependencies = [ [[package]] name = "em-client" -version = "4.0.1" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "987ea4131ab7c1fd254b26131b1198b333a822efd1c498acce803c704c8d5603" +checksum = "a89c67a846bc4d226b730d258f02444b88aca1af0b994eebdee9f9c5dbeac5b3" dependencies = [ - "base64 0.10.1", - "bitflags 1.2.1", + "base64 0.22.1", + "bitflags 2.11.0", "chrono", - "futures 0.1.30", + "futures 0.3.31", "hyper 0.10.16", "lazy_static", - "log 0.3.9", + "log 0.4.28", "mbedtls", - "mime 0.2.6", + "mime 0.3.17", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_ignored", + "serde_derive 1.0.228", + "serde_ignored 0.1.13", "serde_json", "url 1.7.2", "uuid 0.6.5", @@ -1548,8 +1548,8 @@ dependencies = [ "log 0.3.9", "mime 0.2.6", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_ignored", + "serde_derive 1.0.228", + "serde_ignored 0.0.4", "serde_json", "url 1.7.2", "uuid 0.6.5", @@ -1772,7 +1772,7 @@ dependencies = [ "num_cpus", "os_str_bytes 7.1.1", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "sgx-isa 0.4.1", "sgxs", "sgxs-loaders", @@ -2844,7 +2844,7 @@ dependencies = [ "rs-libc 0.2.3", "rustc_version", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "yasna 0.2.2", ] @@ -2938,9 +2938,9 @@ dependencies = [ [[package]] name = "mime" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "minimal-lexical" @@ -3960,7 +3960,7 @@ dependencies = [ "ipnet", "js-sys", "log 0.4.28", - "mime 0.3.16", + "mime 0.3.17", "native-tls", "once_cell", "percent-encoding 2.3.2", @@ -4293,7 +4293,7 @@ dependencies = [ "compiler_builtins", "rustc-std-workspace-alloc", "rustc-std-workspace-core", - "serde_derive 1.0.204 (git+https://github.com/fortanix/serde.git?branch=master)", + "serde_derive 1.0.204", ] [[package]] @@ -4326,11 +4326,19 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive 1.0.228", +] + [[package]] name = "serde_derive" version = "1.0.204" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +source = "git+https://github.com/fortanix/serde.git?branch=master#9cfa84e8e697b7d671f452d90101eb49c81abf76" dependencies = [ "proc-macro2 1.0.95", "quote 1.0.41", @@ -4339,8 +4347,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" -source = "git+https://github.com/fortanix/serde.git?branch=master#9cfa84e8e697b7d671f452d90101eb49c81abf76" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2 1.0.95", "quote 1.0.41", @@ -4356,6 +4365,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_ignored" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bd3f48c729e9aeaa96372bcd24b6b7f10b7b614f1f2250cc20702d070b1ff" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_json" version = "1.0.143" @@ -4414,7 +4432,7 @@ dependencies = [ "schemars 0.9.0", "schemars 1.1.0", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "serde_json", "serde_with_macros", "time 0.3.41", @@ -4566,7 +4584,7 @@ dependencies = [ "report-test", "reqwest", "serde", - "serde_derive 1.0.204 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.228", "serde_yaml", "sgx-isa 0.4.1", "sgxs", diff --git a/em-app/Cargo.toml b/em-app/Cargo.toml index dfbe7397f..0b3429726 100644 --- a/em-app/Cargo.toml +++ b/em-app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "em-app" -version = "0.5.1" +version = "0.5.2" authors = ["fortanix.com"] license = "MPL-2.0" edition = "2018" @@ -11,7 +11,7 @@ keywords = [ "sgx" ] [dependencies] b64-ct = "0.1.3" -em-client = { version = "4.0.0", default-features = false, features = ["client"] } +em-client = { version = "4.0.2", default-features = false, features = ["client"] } em-node-agent-client = "1.0.0" hyper = { version = "0.10", default-features = false } mbedtls = { version = ">=0.12.0, <0.14.0", default-features = false, features = ["rdrand", "std", "ssl"] } diff --git a/em-app/src/utils.rs b/em-app/src/utils.rs index a5b736da3..a72a90b23 100644 --- a/em-app/src/utils.rs +++ b/em-app/src/utils.rs @@ -61,10 +61,18 @@ pub fn get_runtime_configuration( } config.push_cert(cert, key).map_err(|e| format!("TLS configuration failed: {:?}", e))?; - - let ssl = MbedSSLClient::new_with_sni(Arc::new(config), true, Some(format!("nodes.{}", server))); + + let base_path = if sever.starts_with("ccm.") && server.ends_with("fortanix.com") { + format!("nodes.{}", server) + } else { + server.to_owned() + }; + + + let ssl = MbedSSLClient::new_with_sni(Arc::new(config), true, Some(base_path)); let connector = HttpsConnector::new(ssl); - let client = Client::try_new_with_connector(&format!("https://{}:{}/v1/runtime/app_configs", server, port), None, connector).map_err(|e| format!("EM SaaS request failed: {:?}", e))?; + let mut client = Client::try_new_with_connector(&format!("https://{}:{}", base_path, port), None, connector).map_err(|e| format!("EM SaaS request failed: {:?}", e))?; + client.set_use_new_paths(true); let response = client.get_runtime_application_config(expected_hash).map_err(|e| format!("Failed requesting workflow config response: {:?}", e))?; Ok(response)