From c59bb8db39be7a5c0a1282857bb9152e71259b78 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 20 Apr 2023 07:03:49 -0700 Subject: [PATCH] Update several dependencies. (#6171) This updates to rustix 0.37.13, which contains some features we can use to implement more features in wasi-common for the wasi-sockets API. This also pulls in several other updates to avoid having multiple versions of rustix. This does introduce multiple versions of windows-sys, as the errno and tokio crates are currently using 0.45 while rustix and other dependencies have updated to 0.48; PRs updating these are already in flight so this will hopefully be resolved soon. It also includes cap-std 1.0.14, which disables the use of `openat2` and `statx` on Android, fixing a bug where some Android devices crash the process when those syscalls are executed. --- Cargo.lock | 238 +++++++++++------- Cargo.toml | 6 +- cranelift/jit/src/backend.rs | 4 +- crates/runtime/src/mmap.rs | 4 +- .../src/bin/unlink_file_trailing_slashes.rs | 3 +- crates/wasi-common/cap-std-sync/Cargo.toml | 2 +- deny.toml | 2 +- supply-chain/audits.toml | 193 ++++++++++++++ supply-chain/config.toml | 4 - supply-chain/imports.lock | 12 + 10 files changed, 367 insertions(+), 101 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 29166cbdd7..12fa99a744 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -74,9 +74,9 @@ dependencies = [ [[package]] name = "ambient-authority" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8ad6edb4840b78c5c3d88de606b22252d552b55f3a4699fbb10fc070ec3049" +checksum = "e9d4ee0d472d1cd2e28c97dfa124b3d8d992e10eb0a035f33f5d12e3a177ba3b" [[package]] name = "anes" @@ -251,21 +251,21 @@ dependencies = [ [[package]] name = "cap-fs-ext" -version = "1.0.5" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff40fd8a96d57a204080e5debd621342612f6d6b60901201a51f518baf72691d" +checksum = "e1742f5106155d46a41eac5f730ee189bf92fde6ae109fbf2cdb67176726ca5d" dependencies = [ "cap-primitives", "cap-std", "io-lifetimes", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "cap-primitives" -version = "1.0.5" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9554a7698c8db4b7777f01b2237de111c5ecea169efb1190004d9069ceb289aa" +checksum = "42068f579028e856717d61423645c85d2d216dde8eff62c9b30140e725c79177" dependencies = [ "ambient-authority", "fs-set-times", @@ -274,15 +274,15 @@ dependencies = [ "ipnet", "maybe-owned", "rustix", - "windows-sys", + "windows-sys 0.48.0", "winx", ] [[package]] name = "cap-rand" -version = "1.0.1" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dcd5285cc063c837f10d80010a29eda2f22fe4ce507229a03a7886f074ee6fd" +checksum = "d3be2ededc13f42a5921c08e565b854cb5ff9b88753e2c6ec12c58a24e7e8d4e" dependencies = [ "ambient-authority", "rand 0.8.5", @@ -290,22 +290,21 @@ dependencies = [ [[package]] name = "cap-std" -version = "1.0.5" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7b68a8ac703cc7bed0a46666a04b386cca214844897a69f599dcd82ea59422c" +checksum = "559ad6fab5fedcc9bd5877160e1433fcd481f8af615068d6ca49472b1201cc6c" dependencies = [ "cap-primitives", "io-extras", "io-lifetimes", - "ipnet", "rustix", ] [[package]] name = "cap-tempfile" -version = "1.0.1" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad935d619cca685eb3a93e31f27c5217e0d2fd90ae47977ff178039084e19c34" +checksum = "92372a5de78a858f20c22a8dbe3ea55e1cc2daeb82016a3150dab8cf51ea3235" dependencies = [ "cap-std", "rand 0.8.5", @@ -315,9 +314,9 @@ dependencies = [ [[package]] name = "cap-time-ext" -version = "1.0.5" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "472931750f90fbf0731c886c2937521e25772942577a182e7ace5bc561d10e3b" +checksum = "2a74e04cd32787bfa3a911af745b0fd5d99d4c3fc16c64449e1622c06fa27c8e" dependencies = [ "cap-primitives", "once_cell", @@ -533,7 +532,7 @@ version = "0.0.0" dependencies = [ "anyhow", "arbitrary", - "env_logger 0.9.0", + "env_logger 0.10.0", "wasmtime", ] @@ -737,7 +736,7 @@ dependencies = [ "region", "target-lexicon", "wasmtime-jit-icache-coherence", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1193,12 +1192,12 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "atty", "humantime 2.1.0", + "is-terminal", "log", "regex", "termcolor", @@ -1206,13 +1205,13 @@ dependencies = [ [[package]] name = "errno" -version = "0.2.8" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -1254,13 +1253,13 @@ dependencies = [ [[package]] name = "fd-lock" -version = "3.0.10" +version = "3.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ef1a30ae415c3a691a4f41afddc2dbcd6d70baf338368d85ebc1e8ed92cedb9" +checksum = "39ae6b3d9530211fb3b12a95374b8b0823be812f53d09e18c5675c0146b09642" dependencies = [ "cfg-if", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1275,11 +1274,11 @@ dependencies = [ [[package]] name = "file-per-thread-logger" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e16290574b39ee41c71aeb90ae960c504ebaf1e2a1c87bd52aa56ed6e1a02f" +checksum = "84f2e425d9790201ba4af4630191feac6dcc98765b118d4d18e91d23c2353866" dependencies = [ - "env_logger 0.9.0", + "env_logger 0.10.0", "log", ] @@ -1328,13 +1327,13 @@ dependencies = [ [[package]] name = "fs-set-times" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "857cf27edcb26c2a36d84b2954019573d335bb289876113aceacacdca47a4fd4" +checksum = "7833d0f115a013d51c55950a3b09d30e4b057be9961b709acb9b5b17a1108861" dependencies = [ "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1694,22 +1693,23 @@ dependencies = [ [[package]] name = "io-extras" -version = "0.17.2" +version = "0.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79107d6e60d78351e11f0a2dc9d0eaf304a7efb592e92603783afb8479c7d97" +checksum = "fde93d48f0d9277f977a333eca8313695ddd5301dc96f7e02aeddcb0dd99096f" dependencies = [ "io-lifetimes", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "io-lifetimes" -version = "1.0.5" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" dependencies = [ + "hermit-abi 0.3.0", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1720,14 +1720,14 @@ checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" [[package]] name = "is-terminal" -version = "0.4.3" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e18b0a45d56fe973d6db23972bf5bc46f988a4a2385deac9cc29572f09daef" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi 0.3.0", "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1735,7 +1735,7 @@ name = "isle-fuzz" version = "0.0.0" dependencies = [ "cranelift-isle", - "env_logger 0.9.0", + "env_logger 0.10.0", "libfuzzer-sys", "log", ] @@ -1746,7 +1746,7 @@ version = "0.0.0" dependencies = [ "clap", "cranelift-isle", - "env_logger 0.9.0", + "env_logger 0.10.0", ] [[package]] @@ -1831,9 +1831,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.133" +version = "0.2.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966" +checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" [[package]] name = "libfuzzer-sys" @@ -1864,9 +1864,9 @@ checksum = "c7ce35d4899fa3c0558d4f5082c98927789a01024270711cf113999b66ced65a" [[package]] name = "linux-raw-sys" -version = "0.1.3" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" +checksum = "9b085a4f2cde5781fc4b1717f2e86c62f5cda49de7ba99a7c2eae02b61c9064c" [[package]] name = "listenfd" @@ -1921,9 +1921,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memfd" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" +checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ "rustix", ] @@ -1973,7 +1973,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -2676,9 +2676,9 @@ checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" [[package]] name = "rustix" -version = "0.36.8" +version = "0.37.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "f79bef90eb6d984c72722595b5b1348ab39275a5e5123faca6863bf07d75a4e0" dependencies = [ "bitflags", "errno", @@ -2687,7 +2687,7 @@ dependencies = [ "libc", "linux-raw-sys", "once_cell", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2984,9 +2984,9 @@ dependencies = [ [[package]] name = "system-interface" -version = "0.25.4" +version = "0.25.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f355df185d945435f24c51fda9bf01bea6acb6c0b753e1241e5cc05413a659d4" +checksum = "7e1ab6a74e204b606bf397944fa991f3b01046113cc0a4ac269be3ef067cc24b" dependencies = [ "bitflags", "cap-fs-ext", @@ -2994,7 +2994,7 @@ dependencies = [ "fd-lock", "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.48.0", "winx", ] @@ -3137,7 +3137,7 @@ dependencies = [ "pin-project-lite", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] @@ -3406,7 +3406,7 @@ dependencies = [ "tempfile", "tracing", "wasi-common", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3424,7 +3424,7 @@ dependencies = [ "tracing", "wasmtime", "wiggle", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3700,7 +3700,7 @@ dependencies = [ "wasmtime-wasi", "wasmtime-winch", "wat", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3734,7 +3734,7 @@ version = "9.0.0" dependencies = [ "anyhow", "cap-std", - "env_logger 0.9.0", + "env_logger 0.10.0", "once_cell", "wasi-cap-std-sync", "wasi-common", @@ -3770,7 +3770,7 @@ dependencies = [ "sha2 0.10.2", "tempfile", "toml", - "windows-sys", + "windows-sys 0.48.0", "zstd", ] @@ -3785,7 +3785,7 @@ dependencies = [ "component-macro-test", "component-test-util", "criterion", - "env_logger 0.9.0", + "env_logger 0.10.0", "filecheck", "humantime 2.1.0", "libc", @@ -3820,7 +3820,7 @@ dependencies = [ "wasmtime-wast", "wast 56.0.0", "wat", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3898,7 +3898,7 @@ dependencies = [ "atty", "clap", "cranelift-entity", - "env_logger 0.9.0", + "env_logger 0.10.0", "gimli", "indexmap", "log", @@ -3920,7 +3920,7 @@ version = "0.0.0" dependencies = [ "arbitrary", "component-fuzz-util", - "env_logger 0.9.0", + "env_logger 0.10.0", "libfuzzer-sys", "wasmparser", "wasmprinter", @@ -3950,7 +3950,7 @@ dependencies = [ "cfg-if", "rustix", "wasmtime-asm-macros", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3988,7 +3988,7 @@ dependencies = [ "arbitrary", "component-fuzz-util", "component-test-util", - "env_logger 0.9.0", + "env_logger 0.10.0", "log", "rand 0.8.5", "rayon", @@ -4027,7 +4027,7 @@ dependencies = [ "wasmtime-jit-debug", "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4045,7 +4045,7 @@ version = "9.0.0" dependencies = [ "cfg-if", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4070,7 +4070,7 @@ dependencies = [ "wasmtime-environ", "wasmtime-fiber", "wasmtime-jit-debug", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4288,7 +4288,7 @@ name = "wiggle-test" version = "0.0.0" dependencies = [ "anyhow", - "env_logger 0.9.0", + "env_logger 0.10.0", "proptest", "thiserror", "tracing", @@ -4405,7 +4405,16 @@ version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets", + "windows-targets 0.42.1", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", ] [[package]] @@ -4414,13 +4423,28 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.1", + "windows_aarch64_msvc 0.42.1", + "windows_i686_gnu 0.42.1", + "windows_i686_msvc 0.42.1", + "windows_x86_64_gnu 0.42.1", + "windows_x86_64_gnullvm 0.42.1", + "windows_x86_64_msvc 0.42.1", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", ] [[package]] @@ -4429,36 +4453,72 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + [[package]] name = "windows_aarch64_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + [[package]] name = "windows_i686_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + [[package]] name = "windows_i686_msvc" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + [[package]] name = "windows_x86_64_gnu" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + [[package]] name = "windows_x86_64_msvc" version = "0.42.1" @@ -4466,14 +4526,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" [[package]] -name = "winx" -version = "0.35.0" +name = "windows_x86_64_msvc" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "129cd8ee937d535e1a239d9d3c9c0525af0454bc0967d9211a251be062513520" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winx" +version = "0.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c52a121f0fbf9320d5f2a9a5d82f6cb7557eda5e8b47fc3e7f359ec866ae960" dependencies = [ "bitflags", "io-lifetimes", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 0e3cfa7f71..d6249952c5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -183,9 +183,9 @@ wasm-encoder = "0.25.0" wasm-smith = "0.12.6" wasm-mutate = "0.2.23" wit-parser = "0.7.0" -windows-sys = "0.45.0" -env_logger = "0.9" -rustix = "0.36.7" +windows-sys = "0.48.0" +env_logger = "0.10" +rustix = "0.37.13" log = { version = "0.4.8", default-features = false } object = { version = "0.30.3", default-features = false, features = ['read_core', 'elf', 'std'] } gimli = { version = "0.27.0", default-features = false, features = ['read', 'std'] } diff --git a/cranelift/jit/src/backend.rs b/cranelift/jit/src/backend.rs index 7defa0de73..ce00451f46 100644 --- a/cranelift/jit/src/backend.rs +++ b/cranelift/jit/src/backend.rs @@ -931,7 +931,7 @@ fn lookup_with_dlsym(name: &str) -> Option<*const u8> { #[cfg(windows)] fn lookup_with_dlsym(name: &str) -> Option<*const u8> { use std::os::windows::io::RawHandle; - use windows_sys::Win32::Foundation::HINSTANCE; + use windows_sys::Win32::Foundation::HMODULE; use windows_sys::Win32::System::LibraryLoader; const UCRTBASE: &[u8] = b"ucrtbase.dll\0"; @@ -948,7 +948,7 @@ fn lookup_with_dlsym(name: &str) -> Option<*const u8> { ]; for handle in &handles { - let addr = LibraryLoader::GetProcAddress(*handle as HINSTANCE, c_str_ptr.cast()); + let addr = LibraryLoader::GetProcAddress(*handle as HMODULE, c_str_ptr.cast()); match addr { None => continue, Some(addr) => return Some(addr as *const u8), diff --git a/crates/runtime/src/mmap.rs b/crates/runtime/src/mmap.rs index 82d0a39f05..4932429f99 100644 --- a/crates/runtime/src/mmap.rs +++ b/crates/runtime/src/mmap.rs @@ -137,7 +137,7 @@ impl Mmap { 0, 0, len, - ); + ) as *mut std::ffi::c_void; let err = io::Error::last_os_error(); CloseHandle(mapping); if ptr.is_null() { @@ -492,7 +492,7 @@ impl Drop for Mmap { let r = unsafe { VirtualFree(self.ptr as *mut c_void, 0, MEM_RELEASE) }; assert_ne!(r, 0); } else { - let r = unsafe { UnmapViewOfFile(self.ptr as *mut c_void) }; + let r = unsafe { UnmapViewOfFile(self.ptr as MEMORYMAPPEDVIEW_HANDLE) }; assert_ne!(r, 0); } } diff --git a/crates/test-programs/wasi-tests/src/bin/unlink_file_trailing_slashes.rs b/crates/test-programs/wasi-tests/src/bin/unlink_file_trailing_slashes.rs index bedecd9aad..2417b5efa0 100644 --- a/crates/test-programs/wasi-tests/src/bin/unlink_file_trailing_slashes.rs +++ b/crates/test-programs/wasi-tests/src/bin/unlink_file_trailing_slashes.rs @@ -33,8 +33,7 @@ unsafe fn test_unlink_file_trailing_slashes(dir_fd: wasi::Fd) { assert_errno!( wasi::path_unlink_file(dir_fd, "file/") .expect_err("unlink_file with a trailing slash should fail"), - unix => wasi::ERRNO_NOTDIR, - windows => wasi::ERRNO_NOENT + wasi::ERRNO_NOTDIR ); // Test that unlinking it with no trailing flash succeeds. diff --git a/crates/wasi-common/cap-std-sync/Cargo.toml b/crates/wasi-common/cap-std-sync/Cargo.toml index c2508d940b..ec82216132 100644 --- a/crates/wasi-common/cap-std-sync/Cargo.toml +++ b/crates/wasi-common/cap-std-sync/Cargo.toml @@ -19,7 +19,7 @@ cap-std = { workspace = true } cap-fs-ext = "1.0.0" cap-time-ext = "1.0.0" cap-rand = { workspace = true } -fs-set-times = "0.18.0" +fs-set-times = "0.19.0" system-interface = { version = "0.25.0", features = ["cap_std_impls"] } tracing = { workspace = true } io-lifetimes = { workspace = true } diff --git a/deny.toml b/deny.toml index 9863e0d28e..d38aeacfe4 100644 --- a/deny.toml +++ b/deny.toml @@ -60,5 +60,5 @@ skip-tree = [ # The native-tls crate hasn't kept up with updates to the underlying # windows-sys, while the rest of the ecosystem has. This duplicated # dependency appears to be benign. - { name = "windows-sys", depth = 2 }, + { name = "windows-sys", depth = 3 }, ] diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml index 35a86e4e1f..880531e497 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml @@ -140,6 +140,12 @@ who = "Chris Fallin " criteria = "safe-to-deploy" delta = "0.7.6 -> 0.8.2" +[[audits.ambient-authority]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.0.2" +notes = "Contains no unsafe code, no IO, no build.rs." + [[audits.anes]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -265,6 +271,12 @@ criteria = "safe-to-deploy" delta = "1.0.1 -> 1.0.5" notes = "The Bytecode Alliance is the author of this crate." +[[audits.cap-fs-ext]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.5 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cap-primitives]] who = "Dan Gohman " criteria = "safe-to-deploy" @@ -283,6 +295,12 @@ criteria = "safe-to-deploy" delta = "1.0.1 -> 1.0.5" notes = "The Bytecode Alliance is the author of this crate." +[[audits.cap-primitives]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.5 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cap-rand]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -295,6 +313,12 @@ criteria = "safe-to-deploy" version = "1.0.1" notes = "The Bytecode Alliance is the author of this crate" +[[audits.cap-rand]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.1 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cap-std]] who = "Dan Gohman " criteria = "safe-to-deploy" @@ -313,6 +337,12 @@ criteria = "safe-to-deploy" delta = "1.0.1 -> 1.0.5" notes = "The Bytecode Alliance is the author of this crate." +[[audits.cap-std]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.5 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cap-tempfile]] who = "Dan Gohman " criteria = "safe-to-run" @@ -325,6 +355,12 @@ criteria = "safe-to-run" version = "1.0.1" notes = "The Bytecode Alliance is the author of this crate" +[[audits.cap-tempfile]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.1 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cap-time-ext]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -343,6 +379,12 @@ criteria = "safe-to-deploy" delta = "1.0.1 -> 1.0.5" notes = "The Bytecode Alliance is the author of this crate." +[[audits.cap-time-ext]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.5 -> 1.0.14" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.cargo-platform]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -460,6 +502,18 @@ who = "Benjamin Bouvier " criteria = "safe-to-deploy" delta = "0.9.0 -> 0.10.3" +[[audits.errno]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.3.0" +notes = "This crate uses libc and windows-sys APIs to get and set the raw OS error value." + +[[audits.errno]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.3.0 -> 0.3.1" +notes = "Just a dependency version bump and a bug fix for redox" + [[audits.fd-lock]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -472,6 +526,12 @@ criteria = "safe-to-deploy" delta = "3.0.9 -> 3.0.10" notes = "Just a dependency version bump" +[[audits.fd-lock]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "3.0.10 -> 3.0.12" +notes = "Just a dependency version bump" + [[audits.file-per-thread-logger]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -482,6 +542,12 @@ are only created when requested by the application, however, and otherwise only does its stated purpose. """ +[[audits.file-per-thread-logger]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.1.5 -> 0.1.6" +notes = "Just a dependency version bump" + [[audits.foreign-types]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -515,6 +581,12 @@ criteria = "safe-to-deploy" delta = "0.18.0 -> 0.18.1" notes = "The Bytecode Alliance is the author of this crate." +[[audits.fs-set-times]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.18.1 -> 0.19.1" +notes = "Just a dependency version bump" + [[audits.futures]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -638,6 +710,12 @@ criteria = "safe-to-deploy" delta = "0.17.0 -> 0.17.2" notes = "The Bytecode Alliance is the author of this crate." +[[audits.io-extras]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.17.2 -> 0.17.4" +notes = "Just a dependency version bump" + [[audits.io-lifetimes]] who = "Dan Gohman " criteria = "safe-to-deploy" @@ -650,6 +728,12 @@ criteria = "safe-to-deploy" delta = "1.0.3 -> 1.0.5" notes = "The Bytecode Alliance is the author of this crate." +[[audits.io-lifetimes]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "1.0.5 -> 1.0.10" +notes = "I am the maintainer of this crate." + [[audits.is-terminal]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -662,6 +746,15 @@ criteria = "safe-to-deploy" version = "0.4.1" notes = "Contains only unsafe code for interacting with the crate's intended purpose." +[[audits.is-terminal]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.4.7" +notes = """ +The is-terminal implementation code is now sync'd up with the prototype +implementation in the Rust standard library. +""" + [[audits.is-terminal]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -686,6 +779,22 @@ criteria = "safe-to-deploy" version = "0.2.5" notes = "I am the author of this crate." +[[audits.libc]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.2.133 -> 0.2.141" +notes = """ +I have performed a very rough survey of the changes and didn't see anything +obviously out of place, or that looks like a silent ABI break on a platform +Wasmtime supports. I didn't check all the new struct layouts, constants, +function signatures, and so on for ABI conformance though. + +This crate is maintained by the Rust project and is a dependency of the Rust +standard library itself. It contains tests that generate C source files to +ensure that the ABI it describes matches the ABI described by the C header +files in the correspond to match. +""" + [[audits.libfuzzer-sys]] who = "Nick Fitzgerald " criteria = "safe-to-run" @@ -714,6 +823,12 @@ criteria = "safe-to-deploy" version = "0.1.3" notes = "I am the author of this crate." +[[audits.linux-raw-sys]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.3.3" +notes = "I am the author of this crate." + [[audits.memfd]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -733,6 +848,12 @@ The only changes from 0.6.1 were from my own PR which updated memfd to newer dependencies. """ +[[audits.memfd]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.6.2 -> 0.6.3" +notes = "Just a dependency version bump and documentation update" + [[audits.memoffset]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -936,6 +1057,12 @@ criteria = "safe-to-deploy" version = "0.36.7" notes = "The Bytecode Alliance is the author of this crate." +[[audits.rustix]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.37.13" +notes = "The Bytecode Alliance is the author of this crate." + [[audits.rustix]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1007,6 +1134,12 @@ criteria = "safe-to-deploy" delta = "0.25.0 -> 0.25.4" notes = "The Bytecode Alliance is the author of this crate." +[[audits.system-interface]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.25.4 -> 0.25.6" +notes = "Just a dependency version bump" + [[audits.tinyvec]] who = "Alex Crichton " criteria = "safe-to-deploy" @@ -1766,6 +1899,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows-sys]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows-sys]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1778,12 +1917,24 @@ criteria = "safe-to-deploy" version = "0.42.1" notes = "This is a Windows API bindings library maintained by Microsoft themselves. Additionally, this particular crate is empty and just collects a bunch of dependencies, which are not exported, so I don't understand why it exists at all." +[[audits.windows-targets]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves. It just provides the import libs needed by windows-sys." + [[audits.windows_aarch64_gnullvm]] who = "Dan Gohman " criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_aarch64_gnullvm]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_aarch64_gnullvm]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1796,6 +1947,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_aarch64_msvc]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_aarch64_msvc]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1808,6 +1965,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_i686_gnu]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_i686_gnu]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1820,6 +1983,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_i686_msvc]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_i686_msvc]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1832,6 +2001,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_x86_64_gnu]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_x86_64_gnu]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1844,6 +2019,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_x86_64_gnullvm]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_x86_64_gnullvm]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1856,6 +2037,12 @@ criteria = "safe-to-deploy" version = "0.42.0" notes = "This is a Windows API bindings library maintained by Microsoft themselves." +[[audits.windows_x86_64_msvc]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +version = "0.48.0" +notes = "This is a Windows API bindings library maintained by Microsoft themselves." + [[audits.windows_x86_64_msvc]] who = "Pat Hickey " criteria = "safe-to-deploy" @@ -1874,6 +2061,12 @@ criteria = "safe-to-deploy" delta = "0.34.0 -> 0.35.0" notes = "Dan Gohman, a Bytecode Alliance core contributor, is the author of this crate." +[[audits.winx]] +who = "Dan Gohman " +criteria = "safe-to-deploy" +delta = "0.35.0 -> 0.35.1" +notes = "Just a dependency version bump" + [[audits.wit-parser]] who = "Alex Crichton " criteria = "safe-to-deploy" diff --git a/supply-chain/config.toml b/supply-chain/config.toml index 109e240318..e55a9947d3 100644 --- a/supply-chain/config.toml +++ b/supply-chain/config.toml @@ -261,10 +261,6 @@ criteria = "safe-to-deploy" version = "0.9.0" criteria = "safe-to-deploy" -[[exemptions.errno]] -version = "0.2.8" -criteria = "safe-to-deploy" - [[exemptions.errno-dragonfly]] version = "0.1.2" criteria = "safe-to-deploy" diff --git a/supply-chain/imports.lock b/supply-chain/imports.lock index ba42273596..d18118ac36 100644 --- a/supply-chain/imports.lock +++ b/supply-chain/imports.lock @@ -166,6 +166,18 @@ version = "0.8.31" notes = "I, Henri Sivonen, wrote encoding_rs for Gecko and have reviewed contributions by others. There are two caveats to the certification: 1) The crate does things that are documented to be UB but that do not appear to actually be UB due to integer types differing from the general rule; https://github.com/hsivonen/encoding_rs/issues/79 . 2) It would be prudent to re-review the code that reinterprets buffers of integers as SIMD vectors; see https://github.com/hsivonen/encoding_rs/issues/87 ." aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml" +[[audits.mozilla.audits.env_logger]] +who = "Mike Hommey " +criteria = "safe-to-deploy" +delta = "0.9.0 -> 0.9.3" +aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml" + +[[audits.mozilla.audits.env_logger]] +who = "Nicolas Silva " +criteria = "safe-to-deploy" +delta = "0.9.3 -> 0.10.0" +aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml" + [[audits.mozilla.audits.flagset]] who = "Ryan Hunt " criteria = "safe-to-deploy"