diff --git a/.editorconfig b/.editorconfig index 874a0087..9341c7b9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,3 +9,6 @@ insert_final_newline = true [*.dm] indent_style = tab + +[*.yml] +indent_size = 2 diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 3d76971a..35100767 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -28,7 +28,7 @@ jobs: - name: Build (release) (default features) run: cargo build --target i686-pc-windows-msvc --locked --release - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Windows Build path: | @@ -39,8 +39,8 @@ jobs: build-linux: runs-on: ubuntu-latest env: - BYOND_MAJOR: 514 - BYOND_MINOR: 1585 + BYOND_MAJOR: 515 + BYOND_MINOR: 1636 PKG_CONFIG_ALLOW_CROSS: 1 steps: @@ -72,7 +72,7 @@ jobs: - name: Build (release) (default features) run: cargo build --target i686-unknown-linux-gnu --locked --release - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: Linux Build path: | diff --git a/Cargo.lock b/Cargo.lock index 4847c35b..72eac249 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,6 +87,15 @@ dependencies = [ "libc", ] +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "arc-swap" version = "1.7.1" @@ -132,12 +141,6 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bigdecimal" version = "0.4.3" @@ -435,9 +438,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "core-foundation" @@ -464,6 +467,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + [[package]] name = "crc32fast" version = "1.4.0" @@ -617,6 +635,12 @@ dependencies = [ "adler32", ] +[[package]] +name = "deflate64" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83ace6c86376be0b6cdcf3fb41882e81d94b31587573d1cfa9d01cd06bba210d" + [[package]] name = "deprecate-until" version = "0.1.1" @@ -638,6 +662,17 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "derive_arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", +] + [[package]] name = "derive_utils" version = "0.14.1" @@ -747,6 +782,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", + "libz-ng-sys", "libz-sys", "miniz_oxide", ] @@ -1784,6 +1820,16 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libz-ng-sys" +version = "1.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5" +dependencies = [ + "cmake", + "libc", +] + [[package]] name = "libz-sys" version = "1.1.16" @@ -1826,6 +1872,16 @@ dependencies = [ "hashbrown 0.14.3", ] +[[package]] +name = "lzma-rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" +dependencies = [ + "byteorder", + "crc", +] + [[package]] name = "md-5" version = "0.10.6" @@ -1967,7 +2023,7 @@ dependencies = [ "thiserror", "time", "uuid", - "zstd 0.13.1", + "zstd", ] [[package]] @@ -2163,17 +2219,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core", - "subtle", -] - [[package]] name = "pathfinding" version = "4.9.1" @@ -2191,14 +2236,12 @@ dependencies = [ [[package]] name = "pbkdf2" -version = "0.11.0" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest", "hmac", - "password-hash", - "sha2", ] [[package]] @@ -2590,7 +2633,7 @@ dependencies = [ [[package]] name = "rust-g" -version = "3.1.0" +version = "3.2.0" dependencies = [ "aho-corasick", "base64 0.22.0", @@ -3046,18 +3089,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", "quote", @@ -3278,6 +3321,12 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "typed-arena" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" + [[package]] name = "typenum" version = "1.17.0" @@ -3719,31 +3768,38 @@ checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" [[package]] name = "zip" -version = "0.6.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "f21968e6da56f847a155a89581ba846507afa14854e041f3053edb6ddd19f807" dependencies = [ "aes", + "arbitrary", "byteorder", "bzip2", "constant_time_eq", "crc32fast", "crossbeam-utils", + "deflate64", "flate2", "hmac", + "lzma-rs", "pbkdf2", "sha1", "time", - "zstd 0.11.2+zstd.1.5.2", + "zopfli", + "zstd", ] [[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" +name = "zopfli" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "5c1f48f3508a3a3f2faee01629564400bc12260f6214a056d06a3aaaa6ef0736" dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", + "crc32fast", + "log", + "simd-adler32", + "typed-arena", ] [[package]] @@ -3752,17 +3808,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" dependencies = [ - "zstd-safe 7.1.0", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", + "zstd-safe", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 99551722..89f1054d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "rust-g" edition = "2021" -version = "3.1.0" +version = "3.2.0" authors = [ "Bjorn Neergaard ", "Tad Hardesty ", @@ -54,7 +54,7 @@ lazy_static = { version = "1.4", optional = true } once_cell = { version = "1.19", optional = true } mysql = { git = "https://github.com/ZeWaka/rust-mysql-simple.git", tag = "v25.0.0", default_features = false, optional = true } dashmap = { version = "5.5", optional = true, features = ["rayon", "serde"] } -zip = { version = "0.6", optional = true } +zip = { version = "1.1", optional = true } rand = { version = "0.8", optional = true } toml-dep = { version = "0.8.12", package = "toml", optional = true } aho-corasick = { version = "1.1", optional = true } diff --git a/src/byond.rs b/src/byond.rs index 5c489037..8eb777ac 100644 --- a/src/byond.rs +++ b/src/byond.rs @@ -117,6 +117,7 @@ pub fn set_panic_hook() { }); } +#[allow(dead_code)] // Used depending on feature set /// Utility for BYOND functions to catch panic unwinds safely and return a Result, as expected. /// Usage: catch_panic(|| internal_safe_function(arguments)) pub fn catch_panic(f: F) -> Result