diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index b7dceb34..4602cf5f 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -22,67 +22,75 @@ jobs: # - win-gnu - no-default-features - protoc + - linux-32 include: - build: msrv os: ubuntu-latest rust: 1.81.0 + target: x86_64-unknown-linux-gnu args: "--features=magic-module,rules-profiling" rust_flags: "-Awarnings" - experimental: false - build: stable os: ubuntu-latest rust: stable + target: x86_64-unknown-linux-gnu args: "--features=magic-module,rules-profiling" rust_flags: "-Awarnings" - experimental: false - build: nightly os: ubuntu-latest rust: nightly + target: x86_64-unknown-linux-gnu args: "--features=magic-module,rules-profiling" # Link is currently failing with rust-lld (rust-lang/rust#124129) # Disable rust-lld with -Zlinker-features=-lld # See: https://github.com/dtolnay/linkme/commit/d13709bfd2c1278b4c8b6c846e2017b623923c0c rust_flags: "-Awarnings -Zlinker-features=-lld" - experimental: true - build: macos os: macos-latest rust: stable + target: aarch64-apple-darwin args: "--features=rules-profiling" rust_flags: "-Awarnings" - experimental: false - build: win-msvc os: windows-latest rust: stable + target: x86_64-win7-windows-msvc args: "--features=rules-profiling" rust_flags: "-Awarnings" - experimental: false # Tests for the `stable-x86_64-pc-windows-gnu` toolchain disabled # due to https://github.com/VirusTotal/yara-x/issues/29 # # - build: win-gnu # os: windows-latest + # target: x86_64-win7-windows-gnu # rust: stable-x86_64-gnu # args: "" - # experimental: false - build: no-default-features os: ubuntu-latest rust: stable + target: x86_64-unknown-linux-gnu args: "--package yara-x --no-default-features --features=test_proto2-module,test_proto3-module,string-module,time-module,hash-module,macho-module,magic-module,math-module,lnk-module,elf-module,pe-module,dotnet-module,console-module" rust_flags: "-Awarnings" - experimental: false - build: protoc os: ubuntu-latest rust: stable + target: x86_64-unknown-linux-gnu args: "--package yara-x --features=protoc,magic-module" rust_flags: "-Awarnings" - experimental: false + + - build: 32bits + os: ubuntu-latest + rust: stable + target: i686-unknown-linux-gnu + args: "" + rust_flags: "-Awarnings" steps: - name: Checkout sources @@ -101,7 +109,7 @@ jobs: if: runner.os == 'Linux' run: | sudo apt-get update - sudo apt-get install -y libmagic-dev + sudo apt-get install -y libmagic-dev gcc-multilib - name: Install protoc if: matrix.build == 'protoc' @@ -113,6 +121,7 @@ jobs: uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} + target: ${{ matrix.target }} - name: Build run: cargo build --all-targets ${{ matrix.args }} diff --git a/Cargo.lock b/Cargo.lock index 147cdd62..21e83e98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,15 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli 0.31.1", +] + [[package]] name = "adler2" version = "2.0.0" @@ -679,20 +688,35 @@ dependencies = [ "libc", ] +[[package]] +name = "cranelift-assembler-x64" +version = "0.117.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cfe6623686c144ff0705124658a3fe24ffd6b51f4d3cc685be7c457bb80957f" +dependencies = [ + "cranelift-assembler-x64-meta", +] + +[[package]] +name = "cranelift-assembler-x64-meta" +version = "0.117.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb684a2a67a63bcbe9e7e4523315f761a74f22b9b245286d49cd160e2387845" + [[package]] name = "cranelift-bforest" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4" +checksum = "77cd25a918ebcf4901b53b1d3385373b8baf04d1dbf55fb192f565b3a4038781" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-bitset" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34" +checksum = "5bce48ef25def3927022ddb3fbb92f25055907e9ccd909130f333434b0b633e7" dependencies = [ "serde", "serde_derive", @@ -700,11 +724,13 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e" +checksum = "4e0f8b1a8f5dfab4c2cd44f42dc6d841479ec34265ddb67f697a6b68811d8d3c" dependencies = [ + "arbitrary", "bumpalo", + "cranelift-assembler-x64", "cranelift-bforest", "cranelift-bitset", "cranelift-codegen-meta", @@ -713,8 +739,9 @@ dependencies = [ "cranelift-entity", "cranelift-isle", "gimli 0.31.1", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "log", + "pulley-interpreter", "regalloc2", "rustc-hash 2.1.1", "serde", @@ -724,33 +751,35 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8" +checksum = "cb608b4f9920e3a07d7f44fbd7d02efc9d782630536626876d744cb55ef37353" dependencies = [ + "cranelift-assembler-x64", "cranelift-codegen-shared", + "pulley-interpreter", ] [[package]] name = "cranelift-codegen-shared" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb" +checksum = "33c9bbfa7a2034f2b6ebc33cb93bd24ba744bc19750d4f34060262796521920b" [[package]] name = "cranelift-control" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef" +checksum = "eda989a29bab4ba6f73b4a1ed7e83b7a75d2ee307131fda3888a42230a093f29" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323" +checksum = "a8775fb979bb0175f7cf1201710d3088da39306ea6f9bc0ed644c62581c8dec6" dependencies = [ "cranelift-bitset", "serde", @@ -759,9 +788,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57" +checksum = "90c392014191f466b56f68c2ffdc364e018475a2f1bc3719632ebbcb4e2371db" dependencies = [ "cranelift-codegen", "log", @@ -771,15 +800,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d" +checksum = "6a0c37080ac9fa2c89d61ce9bad44f6fac2cb66fddd49b844c34c682d20c5ada" [[package]] name = "cranelift-native" -version = "0.116.1" +version = "0.117.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7" +checksum = "75608598905a76b373e666938964ef38aff3f6811f7419b8d3ebebd165e856a6" dependencies = [ "cranelift-codegen", "libc", @@ -2675,13 +2704,12 @@ dependencies = [ [[package]] name = "pulley-interpreter" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d95f8575df49a2708398182f49a888cf9dc30210fb1fd2df87c889edcee75d" +checksum = "8e0be993b3f717f723eb3469ba144aa27f991da510d349c7d6e2dd1d67ad5549" dependencies = [ "cranelift-bitset", "log", - "sptr", "wasmtime-math", ] @@ -3711,12 +3739,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "unindent" version = "0.2.3" @@ -3896,12 +3918,12 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.221.3" +version = "0.224.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc8444fe4920de80a4fe5ab564fff2ae58b6b73166b89751f8c6c93509da32e5" +checksum = "1ab7a13a23790fe91ea4eb7526a1f3131001d874e3e00c2976c48861f2e82920" dependencies = [ "leb128", - "wasmparser 0.221.3", + "wasmparser 0.224.1", ] [[package]] @@ -3920,9 +3942,9 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.221.3" +version = "0.224.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06bfa36ab3ac2be0dee563380147a5b81ba10dd8885d7fbbc9eb574be67d185" +checksum = "04f17a5917c2ddd3819e84c661fae0d6ba29d7b9c1f0e96c708c65a9c4188e11" dependencies = [ "bitflags 2.8.0", "hashbrown 0.15.2", @@ -3933,27 +3955,28 @@ dependencies = [ [[package]] name = "wasmprinter" -version = "0.221.3" +version = "0.224.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7343c42a97f2926c7819ff81b64012092ae954c5d83ddd30c9fcdefd97d0b283" +checksum = "0095b53a3b09cbc2f90f789ea44aa1b17ecc2dad8b267e657c7391f3ded6293d" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.221.3", + "wasmparser 0.224.1", ] [[package]] name = "wasmtime" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69" +checksum = "f04d49cd2edc59f88d5a0f05e85ae75dd4260edc762d79e5433c5ce80e387b75" dependencies = [ + "addr2line", "anyhow", "bitflags 2.8.0", "bumpalo", "cc", "cfg-if", - "hashbrown 0.14.5", + "hashbrown 0.15.2", "indexmap 2.7.1", "libc", "log", @@ -3972,9 +3995,8 @@ dependencies = [ "smallvec", "sptr", "target-lexicon 0.13.2", - "wasmparser 0.221.3", + "wasmparser 0.224.1", "wasmtime-asm-macros", - "wasmtime-component-macro", "wasmtime-cranelift", "wasmtime-environ", "wasmtime-fiber", @@ -3987,39 +4009,18 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f178b0d125201fbe9f75beaf849bd3e511891f9e45ba216a5b620802ccf64f2" +checksum = "b4f50d32909442b4ac5424ddcf3886fa2d22b9812dd478a96efce47ea7a4d30d" dependencies = [ "cfg-if", ] -[[package]] -name = "wasmtime-component-macro" -version = "29.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d74de6592ed945d0a602f71243982a304d5d02f1e501b638addf57f42d57dfaf" -dependencies = [ - "anyhow", - "proc-macro2", - "quote", - "syn 2.0.98", - "wasmtime-component-util", - "wasmtime-wit-bindgen", - "wit-parser", -] - -[[package]] -name = "wasmtime-component-util" -version = "29.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707dc7b3c112ab5a366b30cfe2fb5b2f8e6a0f682f16df96a5ec582bfe6f056e" - [[package]] name = "wasmtime-cranelift" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "366be722674d4bf153290fbcbc4d7d16895cc82fb3e869f8d550ff768f9e9e87" +checksum = "0dff3735f6c727125866edd50fb5868485d512c287c34e066702c727bebb2c8b" dependencies = [ "anyhow", "cfg-if", @@ -4032,19 +4033,20 @@ dependencies = [ "itertools 0.12.1", "log", "object", + "pulley-interpreter", "smallvec", "target-lexicon 0.13.2", "thiserror 1.0.69", - "wasmparser 0.221.3", + "wasmparser 0.224.1", "wasmtime-environ", "wasmtime-versioned-export-macros", ] [[package]] name = "wasmtime-environ" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdadc1af7097347aa276a4f008929810f726b5b46946971c660b6d421e9994ad" +checksum = "ab728ce6673153c22513b31396bc674181462bbb64cd26a6a66038d4f0f270e4" dependencies = [ "anyhow", "cranelift-bitset", @@ -4058,16 +4060,16 @@ dependencies = [ "serde_derive", "smallvec", "target-lexicon 0.13.2", - "wasm-encoder 0.221.3", - "wasmparser 0.221.3", + "wasm-encoder 0.224.1", + "wasmparser 0.224.1", "wasmprinter", ] [[package]] name = "wasmtime-fiber" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccba90d4119f081bca91190485650730a617be1fff5228f8c4757ce133d21117" +checksum = "0a76287941c3b3216f198cc40de33ae972e5322226413bc12292f09fae6e9097" dependencies = [ "anyhow", "cc", @@ -4080,9 +4082,9 @@ dependencies = [ [[package]] name = "wasmtime-jit-icache-coherence" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec5e8552e01692e6c2e5293171704fed8abdec79d1a6995a0870ab190e5747d1" +checksum = "e3921f73ddfd16103ff872ba40135ca70851d5e17d276a68e221c7ea1e4156dc" dependencies = [ "anyhow", "cfg-if", @@ -4092,42 +4094,30 @@ dependencies = [ [[package]] name = "wasmtime-math" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29210ec2aa25e00f4d54605cedaf080f39ec01a872c5bd520ad04c67af1dde17" +checksum = "8fdb2b447038e8984dd95d4135ad1f1bf02e2847915df64cd50a9f5276db7c48" dependencies = [ "libm", ] [[package]] name = "wasmtime-slab" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb5821a96fa04ac14bc7b158bb3d5cd7729a053db5a74dad396cd513a5e5ccf" +checksum = "bd3f9ff8c57443c76d90f7cbc855381b2bc6f5c9bb6a2c0d003ed9fc784a9311" [[package]] name = "wasmtime-versioned-export-macros" -version = "29.0.1" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b" +checksum = "e57521560d629a8d7df31907bbc68a9e79e9e331f1b5855e20e8797675ab127e" dependencies = [ "proc-macro2", "quote", "syn 2.0.98", ] -[[package]] -name = "wasmtime-wit-bindgen" -version = "29.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6" -dependencies = [ - "anyhow", - "heck 0.5.0", - "indexmap 2.7.1", - "wit-parser", -] - [[package]] name = "web-sys" version = "0.3.77" @@ -4481,24 +4471,6 @@ dependencies = [ "bitflags 2.8.0", ] -[[package]] -name = "wit-parser" -version = "0.221.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "896112579ed56b4a538b07a3d16e562d101ff6265c46b515ce0c701eef16b2ac" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.7.1", - "log", - "semver 1.0.25", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser 0.221.3", -] - [[package]] name = "wyz" version = "0.5.1" diff --git a/Cargo.toml b/Cargo.toml index 915677b9..f1f92744 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ keywords = ["pattern-matching", "cybersecurity", "forensics", "malware", "yara"] # .github/workflows/tests.yaml # .github/workflows/code_health.yaml # -rust-version = "1.81.0" +rust-version = "1.82.0" [workspace] members = [ @@ -104,7 +104,7 @@ thiserror = "2.0.3" tlsh-fixed = "0.1.1" uuid = "1.13.2" walrus = "0.23.3" -wasmtime = { version = "29.0.1", default-features = false } +wasmtime = { version = "30.0.0", default-features = false } x509-parser = "0.17.0" yaml-rust = "0.4.5" yansi = "1.0.1" diff --git a/lib/fuzz/Cargo.lock b/lib/fuzz/Cargo.lock index bad3ebe0..49ba6002 100644 --- a/lib/fuzz/Cargo.lock +++ b/lib/fuzz/Cargo.lock @@ -75,9 +75,9 @@ checksum = "ca6c635b3aa665c649ad1415f1573c85957dfa47690ec27aebe7ec17efe3c643" [[package]] name = "asn1-rs" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +checksum = "607495ec7113b178fbba7a6166a27f99e774359ef4823adbefd756b5b81d7970" dependencies = [ "asn1-rs-derive", "asn1-rs-impl", @@ -85,15 +85,15 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.11", "time", ] [[package]] name = "asn1-rs-derive" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", @@ -259,18 +259,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88c1d02b72b6c411c0a2e92b25ed791ad5d071184193c08a34aa0fdcdf000b72" +checksum = "e15d04a0ce86cb36ead88ad68cf693ffd6cda47052b9e0ac114bc47fd9cd23c4" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-bitset" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "720b93bd86ebbb23ebfb2db1ed44d54b2ecbdbb2d034d485bc64aa605ee787ab" +checksum = "7c6e3969a7ce267259ce244b7867c5d3bc9e65b0a87e81039588dfdeaede9f34" dependencies = [ "serde", "serde_derive", @@ -278,9 +278,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed3d2d9914d30b460eedd7fd507720203023997bef71452ce84873f9c93537c" +checksum = "2c22032c4cb42558371cf516bb47f26cdad1819d3475c133e93c49f50ebf304e" dependencies = [ "bumpalo", "cranelift-bforest", @@ -302,33 +302,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "888c188d32263ec9e048873ff0b68c700933600d553f4412417916828be25f8e" +checksum = "c904bc71c61b27fc57827f4a1379f29de64fe95653b620a3db77d59655eee0b8" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddd5f4114d04ce7e073dd74e2ad16541fc61970726fcc8b2d5644a154ee4127" +checksum = "40180f5497572f644ce88c255480981ae2ec1d7bb4d8e0c0136a13b87a2f2ceb" [[package]] name = "cranelift-control" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92cc4c98d6a4256a1600d93ccd3536f3e77da9b4ca2c279de786ac22876e67d6" +checksum = "26d132c6d0bd8a489563472afc171759da0707804a65ece7ceb15a8c6d7dd5ef" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760af4b5e051b5f82097a27274b917e3751736369fa73660513488248d27f23d" +checksum = "4b2d0d9618275474fbf679dd018ac6e009acbd6ae6850f6a67be33fb3b00b323" dependencies = [ "cranelift-bitset", "serde", @@ -337,9 +337,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0bf77ec0f470621655ec7539860b5c620d4f91326654ab21b075b83900f8831" +checksum = "4fac41e16729107393174b0c9e3730fb072866100e1e64e80a1a963b2e484d57" dependencies = [ "cranelift-codegen", "log", @@ -349,15 +349,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b665d0a6932c421620be184f9fc7f7adaf1b0bc2fa77bb7ac5177c49abf645b" +checksum = "1ca20d576e5070044d0a72a9effc2deacf4d6aa650403189d8ea50126483944d" [[package]] name = "cranelift-native" -version = "0.115.1" +version = "0.116.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2e75d1bd43dfec10924798f15e6474f1dbf63b0024506551aa19394dbe72ab" +checksum = "b8dee82f3f1f2c4cba9177f1cc5e350fe98764379bcd29340caa7b01f85076c7" dependencies = [ "cranelift-codegen", "libc", @@ -474,9 +474,9 @@ dependencies = [ [[package]] name = "der-parser" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ "asn1-rs", "displaydoc", @@ -1179,9 +1179,9 @@ dependencies = [ [[package]] name = "oid-registry" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +checksum = "264c56d1492c13e769662197fb6b94e0a52abe52d27efac374615799a4bf453d" dependencies = [ "asn1-rs", ] @@ -1385,13 +1385,14 @@ dependencies = [ [[package]] name = "pulley-interpreter" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8324e531de91a3c25021a30fb7862d39cc516b61fbb801176acb5ff279ea887b" +checksum = "62d95f8575df49a2708398182f49a888cf9dc30210fb1fd2df87c889edcee75d" dependencies = [ "cranelift-bitset", "log", "sptr", + "wasmtime-math", ] [[package]] @@ -1578,6 +1579,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "rustversion" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" + [[package]] name = "ryu" version = "1.0.18" @@ -1750,6 +1757,19 @@ dependencies = [ "syn", ] +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + [[package]] name = "subtle" version = "2.6.1" @@ -1786,9 +1806,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.16" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" +checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" [[package]] name = "tempfile" @@ -2038,9 +2058,9 @@ dependencies = [ [[package]] name = "wasmtime" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd30973c65eceb0f37dfcc430d83abd5eb24015fdfcab6912f52949287e04f0" +checksum = "11976a250672556d1c4c04c6d5d7656ac9192ac9edc42a4587d6c21460010e69" dependencies = [ "anyhow", "bitflags", @@ -2050,7 +2070,6 @@ dependencies = [ "hashbrown 0.14.5", "indexmap 2.7.1", "libc", - "libm", "log", "mach2", "memfd", @@ -2073,6 +2092,7 @@ dependencies = [ "wasmtime-environ", "wasmtime-fiber", "wasmtime-jit-icache-coherence", + "wasmtime-math", "wasmtime-slab", "wasmtime-versioned-export-macros", "windows-sys 0.59.0", @@ -2080,18 +2100,18 @@ dependencies = [ [[package]] name = "wasmtime-asm-macros" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c21dd30d1f3f93ee390ac1a7ec304ecdbfdab6390e1add41a1f52727b0992b" +checksum = "1f178b0d125201fbe9f75beaf849bd3e511891f9e45ba216a5b620802ccf64f2" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-component-macro" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f948a6ef3119d52c9f12936970de28ddf3f9bea04bc65571f4a92d2e5ab38f4" +checksum = "d74de6592ed945d0a602f71243982a304d5d02f1e501b638addf57f42d57dfaf" dependencies = [ "anyhow", "proc-macro2", @@ -2104,15 +2124,15 @@ dependencies = [ [[package]] name = "wasmtime-component-util" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9275aa01ceaaa2fa6c0ecaa5267518d80b9d6e9ae7c7ea42f4c6e073e6a69ef" +checksum = "707dc7b3c112ab5a366b30cfe2fb5b2f8e6a0f682f16df96a5ec582bfe6f056e" [[package]] name = "wasmtime-cranelift" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0701a44a323267aae4499672dae422b266cee3135a23b640972ec8c0e10a44a2" +checksum = "366be722674d4bf153290fbcbc4d7d16895cc82fb3e869f8d550ff768f9e9e87" dependencies = [ "anyhow", "cfg-if", @@ -2135,9 +2155,9 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "264c968c1b81d340355ece2be0bc31a10f567ccb6ce08512c3b7d10e26f3cbe5" +checksum = "cdadc1af7097347aa276a4f008929810f726b5b46946971c660b6d421e9994ad" dependencies = [ "anyhow", "cranelift-bitset", @@ -2158,9 +2178,9 @@ dependencies = [ [[package]] name = "wasmtime-fiber" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78505221fd5bd7b07b4e1fa2804edea49dc231e626ad6861adc8f531812973e6" +checksum = "ccba90d4119f081bca91190485650730a617be1fff5228f8c4757ce133d21117" dependencies = [ "anyhow", "cc", @@ -2173,9 +2193,9 @@ dependencies = [ [[package]] name = "wasmtime-jit-icache-coherence" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bedb677ca1b549d98f95e9e1f9251b460090d99a2c196a0614228c064bf2e59" +checksum = "ec5e8552e01692e6c2e5293171704fed8abdec79d1a6995a0870ab190e5747d1" dependencies = [ "anyhow", "cfg-if", @@ -2183,17 +2203,26 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime-math" +version = "29.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29210ec2aa25e00f4d54605cedaf080f39ec01a872c5bd520ad04c67af1dde17" +dependencies = [ + "libm", +] + [[package]] name = "wasmtime-slab" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "564905638c132c275d365c1fa074f0b499790568f43148d29de84ccecfb5cb31" +checksum = "fcb5821a96fa04ac14bc7b158bb3d5cd7729a053db5a74dad396cd513a5e5ccf" [[package]] name = "wasmtime-versioned-export-macros" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e91092e6cf77390eeccee273846a9327f3e8f91c3c6280f60f37809f0e62d29" +checksum = "86ff86db216dc0240462de40c8290887a613dddf9685508eb39479037ba97b5b" dependencies = [ "proc-macro2", "quote", @@ -2202,9 +2231,9 @@ dependencies = [ [[package]] name = "wasmtime-wit-bindgen" -version = "28.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f38f7a5eb2f06f53fe943e7fb8bf4197f7cf279f1bc52c0ce56e9d3ffd750a4" +checksum = "8358319c2dd1e4db79e3c1c5d3a5af84956615343f9f89f4e4996a36816e06e6" dependencies = [ "anyhow", "heck", @@ -2401,9 +2430,9 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" +checksum = "4569f339c0c402346d4a75a9e39cf8dad310e287eef1ff56d4c68e5067f53460" dependencies = [ "asn1-rs", "data-encoding", @@ -2412,7 +2441,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror 1.0.69", + "thiserror 2.0.11", "time", ] @@ -2424,7 +2453,7 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yara-x" -version = "0.12.0" +version = "0.13.0" dependencies = [ "aho-corasick", "annotate-snippets", @@ -2461,6 +2490,7 @@ dependencies = [ "protobuf", "protobuf-codegen", "protobuf-parse", + "regex", "regex-automata", "regex-syntax 0.8.5", "roxmltree", @@ -2471,6 +2501,7 @@ dependencies = [ "sha1", "sha2", "smallvec", + "strum_macros", "thiserror 2.0.11", "tlsh-fixed", "uuid", @@ -2493,7 +2524,7 @@ dependencies = [ [[package]] name = "yara-x-macros" -version = "0.12.0" +version = "0.13.0" dependencies = [ "darling", "proc-macro2", @@ -2503,7 +2534,7 @@ dependencies = [ [[package]] name = "yara-x-parser" -version = "0.12.0" +version = "0.13.0" dependencies = [ "ascii_tree", "bitflags", @@ -2520,7 +2551,7 @@ dependencies = [ [[package]] name = "yara-x-proto" -version = "0.12.0" +version = "0.13.0" dependencies = [ "protobuf", "protobuf-codegen", diff --git a/lib/src/compiler/ir/tests/mod.rs b/lib/src/compiler/ir/tests/mod.rs index a7d07555..bb0d6980 100644 --- a/lib/src/compiler/ir/tests/mod.rs +++ b/lib/src/compiler/ir/tests/mod.rs @@ -1,10 +1,7 @@ -use std::fs; -use std::io::BufWriter; use std::mem::size_of; use crate::compiler::{Expr, IR}; use crate::types::TypeValue; -use crate::Compiler; #[test] fn expr_size() { @@ -82,8 +79,18 @@ fn children() { assert_eq!(children.next(), None); } + +// This test is run only in 64-bits systems because the IR tree shows the hash +// of each node, which will be either 32 or 64 bits long, depending on the +// system. +#[cfg(target_pointer_width = "64")] #[test] fn ir() { + use std::fs; + use std::io::BufWriter; + + use crate::Compiler; + let files: Vec<_> = globwalk::glob("src/compiler/ir/tests/testdata/*.in") .unwrap() .flatten()