diff --git a/Cargo.lock b/Cargo.lock index d762cd49c..9640fd275 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -202,19 +202,21 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "aws-config" -version = "0.56.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6b3804dca60326e07205179847f17a4fce45af3a1106939177ad41ac08a6de" +checksum = "80c950a809d39bc9480207cb1cfc879ace88ea7e3a4392a8e9999e45d6e5692e" dependencies = [ "aws-credential-types", "aws-http", + "aws-runtime", "aws-sdk-sso", + "aws-sdk-ssooidc", "aws-sdk-sts", "aws-smithy-async", - "aws-smithy-client", "aws-smithy-http", - "aws-smithy-http-tower", "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", "aws-smithy-types", "aws-types", "bytes", @@ -222,52 +224,46 @@ dependencies = [ "hex", "http", "hyper", - "ring 0.16.20", + "ring 0.17.6", "time", "tokio", - "tower", "tracing", "zeroize", ] [[package]] name = "aws-credential-types" -version = "0.56.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201" +checksum = "8c1317e1a3514b103cf7d5828bbab3b4d30f56bd22d684f8568bc51b6cfbbb1c" dependencies = [ "aws-smithy-async", + "aws-smithy-runtime-api", "aws-smithy-types", - "fastrand", - "tokio", - "tracing", "zeroize", ] [[package]] name = "aws-http" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e626370f9ba806ae4c439e49675fd871f5767b093075cdf4fef16cac42ba900" +checksum = "361c4310fdce94328cc2d1ca0c8a48c13f43009c61d3367585685a50ca8c66b6" dependencies = [ - "aws-credential-types", - "aws-smithy-http", + "aws-smithy-runtime-api", "aws-smithy-types", "aws-types", "bytes", "http", "http-body", - "lazy_static", - "percent-encoding", "pin-project-lite", "tracing", ] [[package]] name = "aws-runtime" -version = "0.56.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ac5cf0ff19c1bca0cea7932e11b239d1025a45696a4f44f72ea86e2b8bdd07" +checksum = "1ed7ef604a15fd0d4d9e43701295161ea6b504b63c44990ead352afea2bc15e9" dependencies = [ "aws-credential-types", "aws-http", @@ -287,9 +283,9 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "0.33.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73018483d9cb78e1a0d4dcbc94327b01d532e7cb28f26c5bceff97f8f0e4c6eb" +checksum = "9dcafc2fe52cc30b2d56685e2fa6a879ba50d79704594852112337a472ddbd24" dependencies = [ "aws-credential-types", "aws-http", @@ -297,7 +293,6 @@ dependencies = [ "aws-sigv4", "aws-smithy-async", "aws-smithy-checksums", - "aws-smithy-client", "aws-smithy-eventstream", "aws-smithy-http", "aws-smithy-json", @@ -312,22 +307,42 @@ dependencies = [ "once_cell", "percent-encoding", "regex", - "tokio-stream", "tracing", "url", ] [[package]] name = "aws-sdk-sso" -version = "0.30.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903f888ff190e64f6f5c83fb0f8d54f9c20481f1dc26359bb8896f5d99908949" +checksum = "0619ab97a5ca8982e7de073cdc66f93e5f6a1b05afc09e696bec1cb3607cd4df" +dependencies = [ + "aws-credential-types", + "aws-http", + "aws-runtime", + "aws-smithy-async", + "aws-smithy-http", + "aws-smithy-json", + "aws-smithy-runtime", + "aws-smithy-runtime-api", + "aws-smithy-types", + "aws-types", + "bytes", + "http", + "regex", + "tracing", +] + +[[package]] +name = "aws-sdk-ssooidc" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04b9f5474cc0f35d829510b2ec8c21e352309b46bf9633c5a81fb9321e9b1c7" dependencies = [ "aws-credential-types", "aws-http", "aws-runtime", "aws-smithy-async", - "aws-smithy-client", "aws-smithy-http", "aws-smithy-json", "aws-smithy-runtime", @@ -337,21 +352,19 @@ dependencies = [ "bytes", "http", "regex", - "tokio-stream", "tracing", ] [[package]] name = "aws-sdk-sts" -version = "0.30.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47ad6bf01afc00423d781d464220bf69fb6a674ad6629cbbcb06d88cdc2be82" +checksum = "5700da387716ccfc30b27f44b008f457e1baca5b0f05b6b95455778005e3432a" dependencies = [ "aws-credential-types", "aws-http", "aws-runtime", "aws-smithy-async", - "aws-smithy-client", "aws-smithy-http", "aws-smithy-json", "aws-smithy-query", @@ -367,42 +380,49 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "0.56.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b28f4910bb956b7ab320b62e98096402354eca976c587d1eeccd523d9bac03" +checksum = "380adcc8134ad8bbdfeb2ace7626a869914ee266322965276cbc54066186d236" dependencies = [ + "aws-credential-types", "aws-smithy-eventstream", "aws-smithy-http", + "aws-smithy-runtime-api", + "aws-smithy-types", "bytes", + "crypto-bigint 0.5.5", "form_urlencoded", "hex", "hmac", "http", "once_cell", + "p256", "percent-encoding", "regex", + "ring 0.17.6", "sha2", + "subtle", "time", "tracing", + "zeroize", ] [[package]] name = "aws-smithy-async" -version = "0.56.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cdb73f85528b9d19c23a496034ac53703955a59323d581c06aa27b4e4e247af" +checksum = "3e37ca17d25fe1e210b6d4bdf59b81caebfe99f986201a1228cb5061233b4b13" dependencies = [ "futures-util", "pin-project-lite", "tokio", - "tokio-stream", ] [[package]] name = "aws-smithy-checksums" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb15946af1b8d3beeff53ad991d9bff68ac22426b6d40372b958a75fa61eaed" +checksum = "c5a373ec01aede3dd066ec018c1bc4e8f5dd11b2c11c59c8eef1a5c68101f397" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -419,35 +439,11 @@ dependencies = [ "tracing", ] -[[package]] -name = "aws-smithy-client" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c27b2756264c82f830a91cb4d2d485b2d19ad5bea476d9a966e03d27f27ba59a" -dependencies = [ - "aws-smithy-async", - "aws-smithy-http", - "aws-smithy-http-tower", - "aws-smithy-types", - "bytes", - "fastrand", - "http", - "http-body", - "hyper", - "hyper-rustls", - "lazy_static", - "pin-project-lite", - "rustls", - "tokio", - "tower", - "tracing", -] - [[package]] name = "aws-smithy-eventstream" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850233feab37b591b7377fd52063aa37af615687f5896807abe7f49bd4e1d25b" +checksum = "1c669e1e5fc0d79561bf7a122b118bd50c898758354fe2c53eb8f2d31507cbc3" dependencies = [ "aws-smithy-types", "bytes", @@ -456,57 +452,39 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cdcf365d8eee60686885f750a34c190e513677db58bbc466c44c588abf4199" +checksum = "5b1de8aee22f67de467b2e3d0dd0fb30859dc53f579a63bd5381766b987db644" dependencies = [ "aws-smithy-eventstream", + "aws-smithy-runtime-api", "aws-smithy-types", "bytes", "bytes-utils", "futures-core", "http", "http-body", - "hyper", "once_cell", "percent-encoding", "pin-project-lite", "pin-utils", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "aws-smithy-http-tower" -version = "0.56.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822de399d0ce62829a69dfa8c5cd08efdbe61a7426b953e2268f8b8b52a607bd" -dependencies = [ - "aws-smithy-http", - "aws-smithy-types", - "bytes", - "http", - "http-body", - "pin-project-lite", - "tower", "tracing", ] [[package]] name = "aws-smithy-json" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1e7ab8fa7ad10c193af7ae56d2420989e9f4758bf03601a342573333ea34f" +checksum = "6a46dd338dc9576d6a6a5b5a19bd678dcad018ececee11cf28ecd7588bd1a55c" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-query" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28556a3902091c1f768a34f6c998028921bdab8d47d92586f363f14a4a32d047" +checksum = "feb5b8c7a86d4b6399169670723b7e6f21a39fc833a30f5c5a2f997608178129" dependencies = [ "aws-smithy-types", "urlencoding", @@ -514,74 +492,86 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "0.56.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745e096b3553e7e0f40622aa04971ce52765af82bebdeeac53aa6fc82fe801e6" +checksum = "273479291efc55e7b0bce985b139d86b6031adb8e50f65c1f712f20ba38f6388" dependencies = [ "aws-smithy-async", - "aws-smithy-client", "aws-smithy-http", "aws-smithy-runtime-api", "aws-smithy-types", "bytes", "fastrand", + "h2", "http", "http-body", + "hyper", + "hyper-rustls", "once_cell", "pin-project-lite", "pin-utils", + "rustls", "tokio", "tracing", ] [[package]] name = "aws-smithy-runtime-api" -version = "0.56.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d0ae0c9cfd57944e9711ea610b48a963fb174a53aabacc08c5794a594b1d02" +checksum = "c6cebff0d977b6b6feed2fd07db52aac58ba3ccaf26cdd49f1af4add5061bef9" dependencies = [ "aws-smithy-async", - "aws-smithy-http", "aws-smithy-types", "bytes", "http", + "pin-project-lite", "tokio", "tracing", + "zeroize", ] [[package]] name = "aws-smithy-types" -version = "0.56.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d90dbc8da2f6be461fa3c1906b20af8f79d14968fe47f2b7d29d086f62a51728" +checksum = "d7f48b3f27ddb40ab19892a5abda331f403e3cb877965e4e51171447807104af" dependencies = [ "base64-simd", + "bytes", + "bytes-utils", + "futures-core", + "http", + "http-body", "itoa", "num-integer", + "pin-project-lite", + "pin-utils", "ryu", "serde", "time", + "tokio", + "tokio-util", ] [[package]] name = "aws-smithy-xml" -version = "0.56.1" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01d2dedcdd8023043716cfeeb3c6c59f2d447fce365d8e194838891794b23b6" +checksum = "0ec40d74a67fd395bc3f6b4ccbdf1543672622d905ef3f979689aea5b730cb95" dependencies = [ "xmlparser", ] [[package]] name = "aws-types" -version = "0.56.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85aa0451bf8af1bf22a4f028d5d28054507a14be43cb8ac0597a8471fba9edfe" +checksum = "8403fc56b1f3761e8efe45771ddc1165e47ec3417c68e68a4519b5cb030159ca" dependencies = [ "aws-credential-types", "aws-smithy-async", - "aws-smithy-client", - "aws-smithy-http", + "aws-smithy-runtime-api", "aws-smithy-types", "http", "rustc_version 0.4.0", @@ -673,6 +663,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + [[package]] name = "base64" version = "0.21.5" @@ -689,6 +685,12 @@ dependencies = [ "vsimd", ] +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + [[package]] name = "better_scoped_tls" version = "0.1.1" @@ -750,9 +752,9 @@ dependencies = [ [[package]] name = "breakpad-symbols" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d74d84f4b64599b9ce996914673a5b4d60181c3895c7eb26369459ccc41fb37d" +checksum = "b002797414ffc34425bdf5b21a9e50d102013292625749eeba0a59923176ab05" dependencies = [ "async-trait", "cachemap2", @@ -956,9 +958,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.8" +version = "4.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275f18819641850fa26c89acc84d465c1bf91ce57bc2748b28c420473352f64" +checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272" dependencies = [ "clap_builder", "clap_derive", @@ -966,9 +968,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.8" +version = "4.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cdf1b148b25c1e1f7a42225e30a0d99a615cd4637eae7365548dd4529b95bc" +checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1" dependencies = [ "anstream", "anstyle", @@ -1022,6 +1024,12 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "const-oid" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" + [[package]] name = "core-foundation" version = "0.9.3" @@ -1141,6 +1149,28 @@ dependencies = [ "winapi", ] +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "rand_core", + "subtle", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -1214,6 +1244,16 @@ dependencies = [ "uuid", ] +[[package]] +name = "der" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "deranged" version = "0.3.9" @@ -1283,6 +1323,18 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0bc8fbe9441c17c9f46f75dfe27fa1ddb6c68a461ccaed0481419219d4f10d3" +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der", + "elliptic-curve", + "rfc6979", + "signature", +] + [[package]] name = "either" version = "1.9.0" @@ -1298,6 +1350,26 @@ dependencies = [ "string_cache", ] +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct", + "crypto-bigint 0.4.9", + "der", + "digest", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + [[package]] name = "elsa" version = "1.9.0" @@ -1348,12 +1420,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1389,6 +1461,16 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "ff" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" +dependencies = [ + "rand_core", + "subtle", +] + [[package]] name = "filetime" version = "0.2.22" @@ -1627,6 +1709,17 @@ dependencies = [ "scroll", ] +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + [[package]] name = "h2" version = "0.3.22" @@ -1960,9 +2053,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" dependencies = [ "either", ] @@ -2025,9 +2118,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -2040,7 +2133,7 @@ checksum = "155c4d7e39ad04c172c5e3a99c434ea3b4a7ba7960b38ecd562b270b097cce09" dependencies = [ "base64", "pem", - "ring 0.17.5", + "ring 0.17.6", "serde", "serde_json", "simple_asn1", @@ -2182,18 +2275,18 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" -version = "0.5.10" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" dependencies = [ "libc", ] [[package]] name = "memmap2" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" +checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375" dependencies = [ "libc", ] @@ -2225,13 +2318,13 @@ dependencies = [ [[package]] name = "minidump" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e20da5c0aab8b6d683d8a15ca70db468d3f6ddfe38269837c22c7bab7ba2627c" +checksum = "5c671544a05d0e8daa3018c8fb6687c11935c4ae8f122de8f2386c2896b4e9b8" dependencies = [ "debugid", "encoding_rs", - "memmap2 0.5.10", + "memmap2 0.8.0", "minidump-common", "num-traits", "range-map", @@ -2244,9 +2337,9 @@ dependencies = [ [[package]] name = "minidump-common" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b23ab3a13de24f89fa3060579288f142ac4d138d37eec8a398ba59b0ca4d577" +checksum = "3dbc11dfb55b3b7b5684fb16d98e0fc9d1e93a64d6b00bf383eabfc4541aaac2" dependencies = [ "bitflags 2.4.1", "debugid", @@ -2259,15 +2352,15 @@ dependencies = [ [[package]] name = "minidump-processor" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e402963e1997711e1cc491a35fc2c4a4822d4eb95d939e0401c72cb9faacb19f" +checksum = "76b49bde7c0ae9a7142c540c27c7fc29db2288fd9614f11a9ce57badeb74af43" dependencies = [ "async-trait", "breakpad-symbols", "debugid", "futures-util", - "memmap2 0.5.10", + "memmap2 0.8.0", "minidump", "minidump-common", "minidump-unwind", @@ -2281,9 +2374,9 @@ dependencies = [ [[package]] name = "minidump-unwind" -version = "0.18.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bfe80a00f234a23ae2e42336e0b7e40d6b1c330712777bb7e2c7bebb6c3bf80" +checksum = "63aef4cd2e018881680b152296ae28e674242823faa1767b417b6669a1896cdc" dependencies = [ "async-trait", "breakpad-symbols", @@ -2607,6 +2700,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" +dependencies = [ + "ecdsa", + "elliptic-curve", + "sha2", +] + [[package]] name = "parking_lot" version = "0.11.2" @@ -2798,6 +2902,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.27" @@ -3148,6 +3262,17 @@ dependencies = [ "quick-error", ] +[[package]] +name = "rfc6979" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" +dependencies = [ + "crypto-bigint 0.4.9", + "hmac", + "zeroize", +] + [[package]] name = "ring" version = "0.16.20" @@ -3165,9 +3290,9 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" +checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" dependencies = [ "cc", "getrandom", @@ -3227,7 +3352,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", - "ring 0.17.5", + "ring 0.17.6", "rustls-webpki", "sct", ] @@ -3259,7 +3384,7 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.5", + "ring 0.17.6", "untrusted 0.9.0", ] @@ -3331,10 +3456,24 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.5", + "ring 0.17.6", "untrusted 0.9.0", ] +[[package]] +name = "sec1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "security-framework" version = "2.9.2" @@ -3660,6 +3799,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "digest", + "rand_core", +] + [[package]] name = "similar" version = "2.3.0" @@ -3784,6 +3933,16 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -4000,9 +4159,9 @@ dependencies = [ [[package]] name = "symbolic" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c95bb608dafe99d26a0299c52cfd476f1e3862b8e97231b6baebc41cc8194e3" +checksum = "8e070f3ea3406e07af36aeac8ff3168da67dc5e5455e477f4b4b1e3e2308035d" dependencies = [ "symbolic-cfi", "symbolic-common", @@ -4016,9 +4175,9 @@ dependencies = [ [[package]] name = "symbolic-cfi" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cb576274e18007e588230c0bd582cf008d961a6c4ed0c5b1dd057277c62141" +checksum = "d1b1f972f548f1b1c995f502fcfe10f03834e3b79d41b6f3a8a913c6be1c4afb" dependencies = [ "symbolic-common", "symbolic-debuginfo", @@ -4027,12 +4186,12 @@ dependencies = [ [[package]] name = "symbolic-common" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39eac77836da383d35edbd9ff4585b4fc1109929ff641232f2e9a1aefdfc9e91" +checksum = "9ba238da6058509cda85e388e8bf1caf522894ec38da490de9694fab9238c715" dependencies = [ "debugid", - "memmap2 0.8.0", + "memmap2 0.9.0", "serde", "stable_deref_trait", "uuid", @@ -4040,9 +4199,9 @@ dependencies = [ [[package]] name = "symbolic-debuginfo" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739b8e5adb84c9f7658e9fdd533002c0384af3ff7fc34874634faf670290030a" +checksum = "fcb5c577d361d8f4d19fc6f6835d0f079899d34bb8499320a41fc27311b35711" dependencies = [ "debugid", "dmsort", @@ -4072,9 +4231,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee1608a1d13061fb0e307a316de29f6c6e737b05459fe6bbf5dd8d7837c4fb7" +checksum = "9b7f36fed2b0d1f3db882e5edb9d1b6595dd8cc095f52f265b17291f09062b70" dependencies = [ "cc", "cpp_demangle", @@ -4085,9 +4244,9 @@ dependencies = [ [[package]] name = "symbolic-il2cpp" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61323ed9e8e03a5894802a0d8b0863669bd29a46c9b0520ff32c7f47d23572d" +checksum = "5d8be09c5c82a5060f11dd7ca680873f35d16b810519ee4785447b3b6a2d21b5" dependencies = [ "indexmap", "serde_json", @@ -4097,9 +4256,9 @@ dependencies = [ [[package]] name = "symbolic-ppdb" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac3a6629c83a0249f2561b89eede30014700828336c0b78a209d1f87c78613a" +checksum = "1cb9986b9d312ff0ad684d089121e9b96e101a66676afae886127dfa5c872e41" dependencies = [ "flate2", "indexmap", @@ -4113,9 +4272,9 @@ dependencies = [ [[package]] name = "symbolic-sourcemapcache" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca12d0f101ca883cdcb34e3e3b07d9c9b4a2c82618b7701837da8bbc8d9b414f" +checksum = "28650912f55d9b53f98bf3cf108d85d245d06644e82cb9b9f54e42009a6ffe4d" dependencies = [ "itertools", "js-source-scopes", @@ -4128,9 +4287,9 @@ dependencies = [ [[package]] name = "symbolic-symcache" -version = "12.7.0" +version = "12.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327aac613f25658f9b35b692d084597aaafaa106df4e2030c16fe88fc1b10b10" +checksum = "fbe650e3e3e53103df15a27bfd42e985e92ae60620933dd400f215fdd4f02e54" dependencies = [ "indexmap", "symbolic-common", @@ -4261,7 +4420,7 @@ dependencies = [ "gcp_auth", "humantime", "humantime-serde", - "idna 0.4.0", + "idna 0.5.0", "ipnetwork", "jsonwebtoken", "moka", @@ -4575,6 +4734,7 @@ dependencies = [ "mio 0.8.9", "num_cpus", "pin-project-lite", + "signal-hook-registry", "socket2 0.5.5", "tokio-macros", "windows-sys 0.48.0", @@ -5074,9 +5234,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5084,9 +5244,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", @@ -5099,9 +5259,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if", "js-sys", @@ -5111,9 +5271,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5121,9 +5281,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", @@ -5134,9 +5294,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wasm-split" @@ -5190,9 +5350,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.113.3" +version = "0.118.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286049849b5a5bd09a8773171be96824afabffc7cc3df6caaf33a38db6cd07ae" +checksum = "ebbb91574de0011ded32b14db12777e7dd5e9ea2f9d7317a1ab51a9495c75924" dependencies = [ "indexmap", "semver 1.0.20", @@ -5210,9 +5370,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.65" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" dependencies = [ "js-sys", "wasm-bindgen", @@ -5294,6 +5454,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -5324,6 +5493,21 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -5336,6 +5520,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -5348,6 +5538,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -5360,6 +5556,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -5372,6 +5574,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -5384,6 +5592,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -5396,6 +5610,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -5408,6 +5628,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" version = "0.5.19" diff --git a/Cargo.toml b/Cargo.toml index fbf7a1cc3..a7b417aec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,8 @@ default-members = ["crates/symbolicator", "crates/symbolicli", "crates/symsorter [profile.release] # For release builds, we do want line-only debug information to be able to symbolicate panic stack traces. debug = 1 +codegen-units = 1 +lto = true [profile.local] # For running a local symbolicator, we want the best of both worlds: a fast executable, with quick diff --git a/Dockerfile b/Dockerfile index 59f9e86c4..47565678a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,13 +18,14 @@ FROM symbolicator-chef AS symbolicator-build RUN apt-get update \ && apt-get upgrade -y \ - && apt-get install -y --no-install-recommends build-essential ca-certificates curl libssl-dev pkg-config git zip \ + && apt-get install -y --no-install-recommends build-essential ca-certificates curl libssl-dev pkg-config git zip clang mold \ # below required for sentry-native cmake clang libcurl4-openssl-dev \ && rm -rf /var/lib/apt/lists/* ARG SYMBOLICATOR_FEATURES=symbolicator-crash ENV SYMBOLICATOR_FEATURES=${SYMBOLICATOR_FEATURES} +ENV RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=/usr/bin/mold" COPY --from=symbolicator-planner /work/recipe.json recipe.json diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 7688ab3c2..4e23fbe07 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -44,7 +44,7 @@ steps: waitFor: ["builder"] entrypoint: "bash" args: - - '-c' + - "-c" - |- cp /opt/symbolicator-debug.zip /opt/symbolicator.src.zip . @@ -55,7 +55,7 @@ steps: waitFor: ["builder-extract-difs"] entrypoint: "bash" args: - - '-c' + - "-c" - |- gsutil -m cp \ ./symbolicator-debug.zip ./symbolicator.src.zip \ @@ -111,7 +111,7 @@ images: timeout: 3600s options: # Run on bigger machines - machineType: "N1_HIGHCPU_8" + machineType: "E2_HIGHCPU_32" secrets: - kmsKeyName: projects/sentryio/locations/global/keyRings/service-credentials/cryptoKeys/cloudbuild secretEnv: diff --git a/crates/process-event/Cargo.toml b/crates/process-event/Cargo.toml index 40a10f604..caa7cf3d2 100644 --- a/crates/process-event/Cargo.toml +++ b/crates/process-event/Cargo.toml @@ -12,4 +12,4 @@ clap = { version = "4.3.2", features = ["derive"] } reqwest = { version = "0.11.0", features = ["blocking", "json", "multipart", "trust-dns"] } serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -symbolic-common = "12.4.0" +symbolic-common = "12.7.1" diff --git a/crates/symbolicator-js/Cargo.toml b/crates/symbolicator-js/Cargo.toml index 6b6d2f522..b51f1c0e6 100644 --- a/crates/symbolicator-js/Cargo.toml +++ b/crates/symbolicator-js/Cargo.toml @@ -18,7 +18,7 @@ sentry = { version = "0.31.7", features = ["tracing"] } serde = { version = "1.0.137", features = ["derive", "rc"] } serde_json = "1.0.81" sha2 = "0.10.6" -symbolic = { version = "12.4.0", features = ["common-serde", "sourcemapcache"] } +symbolic = { version = "12.7.1", features = ["common-serde", "sourcemapcache"] } symbolicator-service = { path = "../symbolicator-service" } symbolicator-sources = { path = "../symbolicator-sources" } tempfile = "3.2.0" diff --git a/crates/symbolicator-native/Cargo.toml b/crates/symbolicator-native/Cargo.toml index 8f0c7891e..7bc350330 100644 --- a/crates/symbolicator-native/Cargo.toml +++ b/crates/symbolicator-native/Cargo.toml @@ -12,15 +12,15 @@ apple-crash-report-parser = "0.5.1" async-trait = "0.1.53" chrono = { version = "0.4.19", features = ["serde"] } futures = "0.3.12" -minidump = "0.18.0" -minidump-processor = "0.18.0" -minidump-unwind = "0.18.0" +minidump = "0.19.1" +minidump-processor = "0.19.1" +minidump-unwind = "0.19.1" moka = { version = "0.12.1", features = ["future", "sync"] } once_cell = "1.18.0" regex = "1.5.5" sentry = { version = "0.31.7", features = ["tracing"] } serde = { version = "1.0.137", features = ["derive", "rc"] } -symbolic = { version = "12.4.0", features = ["cfi", "common-serde", "debuginfo", "demangle", "symcache", "il2cpp", "ppdb"] } +symbolic = { version = "12.7.1", features = ["cfi", "common-serde", "debuginfo", "demangle", "symcache", "il2cpp", "ppdb"] } symbolicator-service = { path = "../symbolicator-service" } symbolicator-sources = { path = "../symbolicator-sources" } tempfile = "3.2.0" diff --git a/crates/symbolicator-service/Cargo.toml b/crates/symbolicator-service/Cargo.toml index 83115a3a0..46bfa4529 100644 --- a/crates/symbolicator-service/Cargo.toml +++ b/crates/symbolicator-service/Cargo.toml @@ -10,10 +10,10 @@ https = [] [dependencies] anyhow = "1.0.57" -aws-config = "0.56.0" -aws-sdk-s3 = "0.33.0" -aws-types = "0.56.0" -aws-credential-types = { version = "0.56.0", features = ["hardcoded-credentials"] } +aws-config = { version = "1.0.1", features = ["behavior-version-latest"] } +aws-credential-types = { version = "1.0.1", features = ["hardcoded-credentials"] } +aws-sdk-s3 = "1.4.0" +aws-types = "1.0.1" cadence = "0.29.0" chrono = { version = "0.4.19", features = ["serde"] } filetime = "0.2.16" @@ -22,7 +22,7 @@ futures = "0.3.12" gcp_auth = "0.9.0" humantime = "2.1.0" humantime-serde = "1.1.1" -idna = "0.4.0" +idna = "0.5.0" ipnetwork = "0.20.0" jsonwebtoken = "9.1.0" moka = { version = "0.12.1", features = ["future", "sync"] } @@ -34,7 +34,7 @@ serde = { version = "1.0.137", features = ["derive", "rc"] } serde_json = "1.0.81" serde_yaml = "0.9.14" sha2 = "0.10.6" -symbolic = { version = "12.4.0", features = ["cfi", "common-serde", "debuginfo", "symcache"] } +symbolic = { version = "12.7.1", features = ["cfi", "common-serde", "debuginfo", "symcache"] } symbolicator-sources = { path = "../symbolicator-sources" } tempfile = "3.2.0" thiserror = "1.0.31" diff --git a/crates/symbolicator-service/src/caching/memory.rs b/crates/symbolicator-service/src/caching/memory.rs index c0b95b71b..f279da712 100644 --- a/crates/symbolicator-service/src/caching/memory.rs +++ b/crates/symbolicator-service/src/caching/memory.rs @@ -223,7 +223,7 @@ impl Cacher { if let Some(cache_dir) = self.config.cache_dir() { // Cache is enabled, write it! - let mut cache_path = cache_dir.join(&cache_path); + let cache_path = cache_dir.join(&cache_path); sentry::configure_scope(|scope| { scope.set_extra( @@ -258,6 +258,7 @@ impl Cacher { #[cfg(debug_assertions)] { + let mut cache_path = cache_path; // NOTE: we only create the metadata file once, but do not regularly touch it for now cache_path.set_extension("txt"); if let Err(err) = std::fs::write(cache_path, key.metadata()) { diff --git a/crates/symbolicator-service/src/download/s3.rs b/crates/symbolicator-service/src/download/s3.rs index 06cdb6228..93ec31920 100644 --- a/crates/symbolicator-service/src/download/s3.rs +++ b/crates/symbolicator-service/src/download/s3.rs @@ -11,9 +11,7 @@ use aws_sdk_s3::error::ProvideErrorMetadata; use aws_sdk_s3::error::SdkError; use aws_sdk_s3::Client; pub use aws_sdk_s3::Error as S3Error; -use futures::TryStreamExt; -use reqwest::StatusCode; - +use futures::TryStreamExt as _; use symbolicator_sources::{AwsCredentialsProvider, S3Region, S3RemoteFile, S3SourceKey}; use tokio::fs::File; @@ -146,7 +144,7 @@ impl S3Downloader { // NOTE: leaving the credentials empty as our unit / integration tests do // leads to a `AuthorizationHeaderMalformed` error. - if matches!(status, StatusCode::FORBIDDEN | StatusCode::UNAUTHORIZED) + if matches!(status.as_u16(), 401 | 403) || code == Some("AuthorizationHeaderMalformed") { let details = @@ -162,10 +160,6 @@ impl S3Downloader { S3Error::NoSuchBucket(_) | S3Error::NoSuchKey(_) | S3Error::NotFound(_) => { Err(CacheError::NotFound) } - S3Error::Unhandled(unhandled) => { - let details = unhandled.to_string(); - Err(CacheError::DownloadError(details)) - } _ => { tracing::error!( error = &err as &dyn std::error::Error, @@ -179,21 +173,26 @@ impl S3Downloader { } }; - let stream = if response.content_length == 0 { + if response.content_length == Some(0) { tracing::debug!("Empty response from s3:{}{}", &bucket, &key); return Err(CacheError::NotFound); - } else { - response - .body - .map_err(|err| CacheError::download_error(&err)) - }; - let future = super::download_stream(source_name, stream, destination); + } - let timeout = content_length_timeout(response.content_length, self.timeouts.streaming); + let timeout = response + .content_length + .map(|cl| content_length_timeout(cl, self.timeouts.streaming)); - tokio::time::timeout(timeout, future) - .await - .map_err(|_| CacheError::Timeout(timeout))? + let mut body = std::pin::pin!(response.body); + let stream = futures::stream::poll_fn(move |cx| body.as_mut().poll_next(cx)) + .map_err(|err| CacheError::download_error(&err)); + let future = super::download_stream(source_name, stream, destination); + + match timeout { + Some(timeout) => tokio::time::timeout(timeout, future) + .await + .map_err(|_| CacheError::Timeout(timeout))?, + None => future.await, + } } } diff --git a/crates/symbolicator-sources/Cargo.toml b/crates/symbolicator-sources/Cargo.toml index f383345c2..7b9c148ce 100644 --- a/crates/symbolicator-sources/Cargo.toml +++ b/crates/symbolicator-sources/Cargo.toml @@ -8,10 +8,10 @@ license = "MIT" [dependencies] anyhow = "1.0.68" -aws-types = "0.56.0" +aws-types = "1.0.1" glob = "0.3.0" serde = { version = "1.0.137", features = ["derive", "rc"] } -symbolic = "12.4.0" +symbolic = "12.7.1" url = { version = "2.2.0", features = ["serde"] } [dev-dependencies] diff --git a/crates/symbolicator/Cargo.toml b/crates/symbolicator/Cargo.toml index ca4545291..60b7c295b 100644 --- a/crates/symbolicator/Cargo.toml +++ b/crates/symbolicator/Cargo.toml @@ -20,7 +20,7 @@ hostname = "0.3.1" sentry = { version = "0.31.7", features = ["anyhow", "debug-images", "tracing", "tower", "tower-http"] } serde = { version = "1.0.137", features = ["derive", "rc"] } serde_json = "1.0.81" -symbolic = "12.4.0" +symbolic = "12.7.1" symbolicator-crash = { path = "../symbolicator-crash", optional = true } symbolicator-js = { path = "../symbolicator-js" } symbolicator-native = { path = "../symbolicator-native" } diff --git a/crates/symbolicli/Cargo.toml b/crates/symbolicli/Cargo.toml index 1b75fab9a..d014ffcbc 100644 --- a/crates/symbolicli/Cargo.toml +++ b/crates/symbolicli/Cargo.toml @@ -14,7 +14,7 @@ reqwest = { version = "0.11.12", features = ["json"] } serde = { version = "1.0.137", features = ["derive", "rc"] } serde_json = "1.0.81" serde_yaml = "0.9.14" -symbolic = "12.4.0" +symbolic = "12.7.1" symbolicator-js = { path = "../symbolicator-js" } symbolicator-native = { path = "../symbolicator-native" } symbolicator-service = { path = "../symbolicator-service" } diff --git a/crates/symsorter/Cargo.toml b/crates/symsorter/Cargo.toml index 7dced93cc..f997d7d92 100644 --- a/crates/symsorter/Cargo.toml +++ b/crates/symsorter/Cargo.toml @@ -15,7 +15,7 @@ rayon = "1.5.2" regex = "1.5.5" serde = { version = "1.0.137", features = ["derive"] } serde_json = "1.0.81" -symbolic = { version = "12.4.0", features = ["debuginfo-serde"] } +symbolic = { version = "12.7.1", features = ["debuginfo-serde"] } walkdir = "2.3.1" # NOTE: zip:0.6 by default depends on a version of zstd which conflicts with our other dependencies zip = { version = "0.6.2", default-features = false, features = ["deflate", "bzip2"] } diff --git a/gocd/templates/jsonnetfile.json b/gocd/templates/jsonnetfile.json index ee33323c7..6d6772533 100644 --- a/gocd/templates/jsonnetfile.json +++ b/gocd/templates/jsonnetfile.json @@ -8,7 +8,8 @@ "subdir": "libs" } }, - "version": "v2.5" + + "version": "v2.7" } ], "legacyImports": true diff --git a/gocd/templates/jsonnetfile.lock.json b/gocd/templates/jsonnetfile.lock.json index 3b149ec28..73b632366 100644 --- a/gocd/templates/jsonnetfile.lock.json +++ b/gocd/templates/jsonnetfile.lock.json @@ -10,6 +10,8 @@ }, "version": "3bf82872351389af174fdc471e29768dc381b850", "sum": "LHNV5r7rjuh9F06UtMawnq9Zn2RICJYEWSUIJ8OUqxg=" + "version": "97af8955747da4f68ce4f70a5128b4e53956e9b2", + "sum": "qQiTUU6BkUbKBGblpBppxFBewhIqqQaWlz01ZTGEpi4=" } ], "legacyImports": false