diff --git a/Cargo.lock b/Cargo.lock index 30b707f44e..0863ba0463 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,8 +17,6 @@ checksum = "8f27d075294830fcab6f66e320dab524bc6d048f4a151698e153205559113772" [[package]] name = "activitypub_federation" version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b86eea7a032da501fe07b04a83c10716ea732c45e6943d7f045bc053aca03f2a" dependencies = [ "activitystreams-kinds", "actix-web", @@ -32,6 +30,7 @@ dependencies = [ "futures", "futures-core", "http 0.2.12", + "http 1.1.0", "http-signature-normalization", "http-signature-normalization-reqwest", "httpdate", @@ -41,8 +40,8 @@ dependencies = [ "pin-project-lite", "rand", "regex", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", + "reqwest 0.12.7", + "reqwest-middleware", "rsa", "serde", "serde_json", @@ -250,7 +249,7 @@ dependencies = [ "pin-project-lite", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls", "tokio-util", "tracing", ] @@ -633,7 +632,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower", "tower-layer", "tower-service", @@ -769,7 +768,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", "syn 2.0.66", "which", @@ -942,7 +941,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2341,16 +2340,16 @@ dependencies = [ [[package]] name = "http-signature-normalization-reqwest" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cfb84663420ec12c4422820bfdf5e8e5e57467892587f43ac432e73ebce880" +checksum = "b8822f7eab343cae1ce3bd3b6d0b9b58c72adaf3463627cfe150f8f5406f27aa" dependencies = [ "async-trait", - "base64 0.13.1", + "base64 0.22.1", "http-signature-normalization", "httpdate", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", + "reqwest 0.12.7", + "reqwest-middleware", "sha2", "thiserror", "tokio", @@ -2421,33 +2420,20 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.29", - "rustls 0.21.12", - "tokio", - "tokio-rustls 0.24.1", -] - -[[package]] -name = "hyper-rustls" -version = "0.26.0" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", "hyper 1.3.1", "hyper-util", - "rustls 0.22.4", + "rustls", "rustls-pki-types", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls", "tower-service", + "webpki-roots", ] [[package]] @@ -2800,8 +2786,8 @@ dependencies = [ "once_cell", "pretty_assertions", "regex", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", + "reqwest 0.12.7", + "reqwest-middleware", "rosetta-i18n", "serde", "serde_with", @@ -2853,7 +2839,7 @@ dependencies = [ "futures", "html2md", "html2text", - "http 0.2.12", + "http 1.1.0", "itertools 0.13.0", "lemmy_api_common", "lemmy_db_schema", @@ -2863,7 +2849,7 @@ dependencies = [ "moka", "once_cell", "pretty_assertions", - "reqwest 0.11.27", + "reqwest 0.12.7", "serde", "serde_json", "serde_with", @@ -2915,7 +2901,7 @@ dependencies = [ "once_cell", "pretty_assertions", "regex", - "rustls 0.23.10", + "rustls", "serde", "serde_json", "serde_with", @@ -3007,7 +2993,7 @@ dependencies = [ "mockall", "moka", "once_cell", - "reqwest 0.11.27", + "reqwest 0.12.7", "serde_json", "serial_test", "test-context", @@ -3028,14 +3014,15 @@ dependencies = [ "anyhow", "chrono", "futures", + "http 1.1.0", "lemmy_api_common", "lemmy_db_schema", "lemmy_db_views", "lemmy_db_views_actor", "lemmy_utils", "once_cell", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", + "reqwest 0.12.7", + "reqwest-middleware", "rss", "serde", "tokio", @@ -3067,23 +3054,24 @@ dependencies = [ "lemmy_federate", "lemmy_routes", "lemmy_utils", - "opentelemetry 0.19.0", + "opentelemetry 0.24.0", "opentelemetry-otlp 0.12.0", + "opentelemetry_sdk 0.24.1", "pict-rs", "pretty_assertions", "prometheus", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", - "reqwest-tracing 0.4.8", - "rustls 0.23.10", + "reqwest 0.12.7", + "reqwest-middleware", + "reqwest-tracing", + "rustls", "serde_json", "serial_test", "tokio", "tracing", "tracing-actix-web", "tracing-error", - "tracing-log 0.2.0", - "tracing-opentelemetry 0.19.0", + "tracing-log", + "tracing-opentelemetry 0.24.0", "tracing-subscriber", "url", ] @@ -3101,15 +3089,15 @@ dependencies = [ "enum-map", "futures", "html2text", - "http 0.2.12", + "http 1.1.0", "itertools 0.13.0", "lettre", "markdown-it", "once_cell", "pretty_assertions", "regex", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", + "reqwest 0.12.7", + "reqwest-middleware", "rosetta-build", "rosetta-i18n", "serde", @@ -3146,13 +3134,13 @@ dependencies = [ "nom", "percent-encoding", "quoted_printable", - "rustls 0.23.10", + "rustls", "rustls-pemfile 2.1.2", "socket2", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls", "url", - "webpki-roots 0.26.2", + "webpki-roots", ] [[package]] @@ -3168,7 +3156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3451,16 +3439,6 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3739,23 +3717,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "opentelemetry" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf9b1c4e9a6c4de793c632496fa490bdc0e1eea73f0c91394f7b6990935d22" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand", - "thiserror", -] - [[package]] name = "opentelemetry" version = "0.19.0" @@ -3780,6 +3741,20 @@ dependencies = [ "thiserror", ] +[[package]] +name = "opentelemetry" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c365a63eec4f55b7efeceb724f1336f26a9cf3427b70e59e2cd2a5b947fba96" +dependencies = [ + "futures-core", + "futures-sink", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", +] + [[package]] name = "opentelemetry-otlp" version = "0.12.0" @@ -3875,8 +3850,6 @@ dependencies = [ "percent-encoding", "rand", "thiserror", - "tokio", - "tokio-stream", ] [[package]] @@ -3901,6 +3874,27 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "opentelemetry_sdk" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692eac490ec80f24a17828d49b40b60f5aeaccdfe6a503f939713afd22bc28df" +dependencies = [ + "async-trait", + "futures-channel", + "futures-executor", + "futures-util", + "glob", + "once_cell", + "opentelemetry 0.24.0", + "percent-encoding", + "rand", + "serde_json", + "thiserror", + "tokio", + "tokio-stream", +] + [[package]] name = "ordered-float" version = "4.2.0" @@ -3973,7 +3967,7 @@ dependencies = [ "libc", "redox_syscall 0.5.1", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4121,10 +4115,10 @@ dependencies = [ "opentelemetry_sdk 0.23.0", "pin-project-lite", "refinery", - "reqwest 0.12.4", - "reqwest-middleware 0.3.1", - "reqwest-tracing 0.5.0", - "rustls 0.23.10", + "reqwest 0.12.7", + "reqwest-middleware", + "reqwest-tracing", + "rustls", "rustls-channel-resolver", "rustls-pemfile 2.1.2", "rusty-s3", @@ -4146,12 +4140,12 @@ dependencies = [ "tracing", "tracing-actix-web", "tracing-error", - "tracing-log 0.2.0", + "tracing-log", "tracing-opentelemetry 0.24.0", "tracing-subscriber", "url", "uuid", - "webpki-roots 0.26.2", + "webpki-roots", ] [[package]] @@ -4520,6 +4514,54 @@ dependencies = [ "memchr", ] +[[package]] +name = "quinn" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.0.0", + "rustls", + "socket2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6" +dependencies = [ + "bytes", + "rand", + "ring", + "rustc-hash 2.0.0", + "rustls", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +dependencies = [ + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "quote" version = "1.0.36" @@ -4714,7 +4756,6 @@ version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "async-compression", "base64 0.21.7", "bytes", "encoding_rs", @@ -4724,53 +4765,48 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "hyper 0.14.29", - "hyper-rustls 0.24.2", "hyper-tls", "ipnet", "js-sys", "log", "mime", - "mime_guess", "native-tls", "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.12", "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", - "tokio-rustls 0.24.1", - "tokio-util", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", - "webpki-roots 0.25.4", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ + "async-compression", "base64 0.22.1", "bytes", + "futures-channel", "futures-core", "futures-util", "http 1.1.0", "http-body 1.0.0", "http-body-util", "hyper 1.3.1", - "hyper-rustls 0.26.0", + "hyper-rustls", "hyper-util", "ipnet", "js-sys", @@ -4779,15 +4815,16 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.22.4", + "quinn", + "rustls", "rustls-pemfile 2.1.2", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls", "tokio-util", "tower-service", "url", @@ -4795,35 +4832,20 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.2", - "winreg 0.52.0", + "webpki-roots", + "windows-registry", ] [[package]] name = "reqwest-middleware" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" -dependencies = [ - "anyhow", - "async-trait", - "http 0.2.12", - "reqwest 0.11.27", - "serde", - "task-local-extensions", - "thiserror", -] - -[[package]] -name = "reqwest-middleware" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45d100244a467870f6cb763c4484d010a6bed6bd610b3676e3825d93fb4cfbd" +checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", "http 1.1.0", - "reqwest 0.12.4", + "reqwest 0.12.7", "serde", "thiserror", "tower-service", @@ -4831,36 +4853,20 @@ dependencies = [ [[package]] name = "reqwest-tracing" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190838e54153d7a7e2ea98851304b3ce92daeabf14c54d32b01b84a3e636f683" -dependencies = [ - "anyhow", - "async-trait", - "getrandom", - "matchit 0.7.3", - "opentelemetry 0.16.0", - "reqwest 0.11.27", - "reqwest-middleware 0.2.5", - "task-local-extensions", - "tracing", - "tracing-opentelemetry 0.16.0", -] - -[[package]] -name = "reqwest-tracing" -version = "0.5.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b253954a1979e02eabccd7e9c3d61d8f86576108baa160775e7f160bb4e800a3" +checksum = "bfdd9bfa64c72233d8dd99ab7883efcdefe9e16d46488ecb9228b71a2e2ceb45" dependencies = [ "anyhow", "async-trait", "getrandom", "http 1.1.0", "matchit 0.8.2", - "reqwest 0.12.4", - "reqwest-middleware 0.3.1", + "opentelemetry 0.24.0", + "reqwest 0.12.7", + "reqwest-middleware", "tracing", + "tracing-opentelemetry 0.25.0", ] [[package]] @@ -4969,6 +4975,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.4.0" @@ -4991,32 +5003,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls" -version = "0.22.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" -dependencies = [ - "log", - "ring", - "rustls-pki-types", - "rustls-webpki 0.102.4", - "subtle", - "zeroize", -] - [[package]] name = "rustls" version = "0.23.10" @@ -5028,7 +5014,7 @@ dependencies = [ "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki", "subtle", "zeroize", ] @@ -5040,7 +5026,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fede2a247359da6b4998f7723ec6468c2d6a577a5d8c17e54f21806426ad2290" dependencies = [ "nanorand", - "rustls 0.23.10", + "rustls", ] [[package]] @@ -5068,16 +5054,6 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted 0.9.0", -] - [[package]] name = "rustls-webpki" version = "0.102.4" @@ -5164,16 +5140,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted 0.9.0", -] - [[package]] name = "sdd" version = "0.2.0" @@ -5659,6 +5625,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + [[package]] name = "syntect" version = "5.2.0" @@ -5708,15 +5683,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" -[[package]] -name = "task-local-extensions" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" -dependencies = [ - "pin-utils", -] - [[package]] name = "tempfile" version = "3.10.1" @@ -5963,10 +5929,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8e98c31c29b2666fb28720739e11476166be4ead1610a37dcd7414bb124413a" dependencies = [ "aws-lc-rs", - "rustls 0.23.10", + "rustls", "tokio", "tokio-postgres", - "tokio-rustls 0.26.0", + "tokio-rustls", "x509-cert", ] @@ -5977,41 +5943,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04fb792ccd6bbcd4bba408eb8a292f70fc4a3589e5d793626f45190e6454b6ab" dependencies = [ "ring", - "rustls 0.23.10", + "rustls", "tokio", "tokio-postgres", - "tokio-rustls 0.26.0", + "tokio-rustls", "x509-certificate", ] -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" -dependencies = [ - "rustls 0.22.4", - "rustls-pki-types", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.10", + "rustls", "rustls-pki-types", "tokio", ] @@ -6301,17 +6246,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -6325,45 +6259,36 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffbf13a0f8b054a4e59df3a173b818e9c6177c02789871f2073977fd0062076" -dependencies = [ - "opentelemetry 0.16.0", - "tracing", - "tracing-core", - "tracing-log 0.1.4", - "tracing-subscriber", -] - -[[package]] -name = "tracing-opentelemetry" -version = "0.19.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00a39dcf9bfc1742fa4d6215253b33a6e474be78275884c216fc2a06267b3600" +checksum = "f68803492bf28ab40aeccaecc7021096bd256baf7ca77c3d425d89b35a7be4e4" dependencies = [ + "js-sys", "once_cell", - "opentelemetry 0.19.0", + "opentelemetry 0.23.0", + "opentelemetry_sdk 0.23.0", + "smallvec", "tracing", "tracing-core", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", + "web-time", ] [[package]] name = "tracing-opentelemetry" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f68803492bf28ab40aeccaecc7021096bd256baf7ca77c3d425d89b35a7be4e4" +checksum = "a9784ed4da7d921bc8df6963f8c80a0e4ce34ba6ba76668acadd3edbd985ff3b" dependencies = [ "js-sys", "once_cell", - "opentelemetry 0.23.0", - "opentelemetry_sdk 0.23.0", + "opentelemetry 0.24.0", + "opentelemetry_sdk 0.24.1", "smallvec", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-subscriber", "web-time", ] @@ -6395,7 +6320,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", "tracing-serde", ] @@ -6482,15 +6407,6 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.15" @@ -6771,12 +6687,6 @@ dependencies = [ "url", ] -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "webpki-roots" version = "0.26.2" @@ -6846,7 +6756,37 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", ] [[package]] @@ -6864,7 +6804,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6884,18 +6824,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -6906,9 +6846,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -6918,9 +6858,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -6930,15 +6870,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -6948,9 +6888,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -6960,9 +6900,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -6972,9 +6912,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -6984,9 +6924,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -7016,16 +6956,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "x509-cert" version = "0.2.5" diff --git a/Cargo.toml b/Cargo.toml index ca0598f825..a604b4ee68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,9 +42,10 @@ embed-pictrs = ["pict-rs"] console = [ "console-subscriber", "opentelemetry", + "opentelemetry_sdk", "opentelemetry-otlp", "tracing-opentelemetry", - "reqwest-tracing/opentelemetry_0_16", + "reqwest-tracing/opentelemetry_0_24", ] json-log = ["tracing-subscriber/json"] default = [] @@ -99,7 +100,7 @@ lemmy_db_views = { version = "=0.19.5", path = "./crates/db_views" } lemmy_db_views_actor = { version = "=0.19.5", path = "./crates/db_views_actor" } lemmy_db_views_moderator = { version = "=0.19.5", path = "./crates/db_views_moderator" } lemmy_federate = { version = "=0.19.5", path = "./crates/federate" } -activitypub_federation = { version = "0.5.8", default-features = false, features = [ +activitypub_federation = { path = "../activitypub-federation-rust", default-features = false, features = [ "actix-web", ] } diesel = "2.1.6" @@ -121,14 +122,14 @@ tracing-error = "0.2.0" tracing-log = "0.2.0" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } url = { version = "2.5.0", features = ["serde"] } -reqwest = { version = "0.11.27", default-features = false, features = [ +reqwest = { version = "0.12.7", default-features = false, features = [ "json", "blocking", "gzip", "rustls-tls", ] } -reqwest-middleware = "0.2.5" -reqwest-tracing = "0.4.8" +reqwest-middleware = "0.3.3" +reqwest-tracing = "0.5.3" clokwerk = "0.4.0" doku = { version = "0.21.1", features = ["url-2"] } bcrypt = "0.15.1" @@ -153,10 +154,11 @@ strum = "0.26.2" strum_macros = "0.26.4" itertools = "0.13.0" futures = "0.3.30" -http = "0.2.12" +http = "1.0" rosetta-i18n = "0.1.3" -opentelemetry = { version = "0.19.0", features = ["rt-tokio"] } -tracing-opentelemetry = { version = "0.19.0" } +opentelemetry = "0.24.0" +opentelemetry_sdk = { version = "0.24.0", features = ["rt-tokio"] } +tracing-opentelemetry = { version = "0.24.0" } ts-rs = { version = "7.1.1", features = [ "serde-compat", "chrono-impl", @@ -200,6 +202,7 @@ clokwerk = { workspace = true } serde_json = { workspace = true } tracing-opentelemetry = { workspace = true, optional = true } opentelemetry = { workspace = true, optional = true } +opentelemetry_sdk = { workspace = true, optional = true } console-subscriber = { version = "0.3.0", optional = true } opentelemetry-otlp = { version = "0.12.0", optional = true } pict-rs = { version = "0.5.15", optional = true } diff --git a/crates/apub/src/http/mod.rs b/crates/apub/src/http/mod.rs index 6303dd1b04..a01afe6767 100644 --- a/crates/apub/src/http/mod.rs +++ b/crates/apub/src/http/mod.rs @@ -11,7 +11,6 @@ use activitypub_federation::{ FEDERATION_CONTENT_TYPE, }; use actix_web::{web, web::Bytes, HttpRequest, HttpResponse}; -use http::{header::LOCATION, StatusCode}; use lemmy_api_common::context::LemmyContext; use lemmy_db_schema::{ newtypes::DbUrl, @@ -76,14 +75,14 @@ fn create_apub_tombstone_response>(id: T) -> LemmyResult HttpResponse { let mut res = HttpResponse::PermanentRedirect(); - res.insert_header((LOCATION, url.as_str())); + res.insert_header((actix_web::http::header::LOCATION, url.as_str())); res.finish() } diff --git a/crates/routes/Cargo.toml b/crates/routes/Cargo.toml index 0d18e4f1fb..69b771727c 100644 --- a/crates/routes/Cargo.toml +++ b/crates/routes/Cargo.toml @@ -34,4 +34,5 @@ once_cell = { workspace = true } tracing = { workspace = true } tokio = { workspace = true } urlencoding = { workspace = true } +http.workspace = true rss = "2.0.8" diff --git a/crates/routes/src/images.rs b/crates/routes/src/images.rs index 10ffb57de2..58d34f065f 100644 --- a/crates/routes/src/images.rs +++ b/crates/routes/src/images.rs @@ -1,3 +1,4 @@ +use activitypub_federation::actix_web::http_compat; use actix_web::{ body::BodyStream, http::{ @@ -110,7 +111,7 @@ fn adapt_request( const INVALID_HEADERS: &[HeaderName] = &[ACCEPT_ENCODING, HOST]; let client_request = client - .request(request.method().clone(), url) + .request(http_compat::method(request.method()), url) .timeout(REQWEST_TIMEOUT); request @@ -120,7 +121,7 @@ fn adapt_request( if INVALID_HEADERS.contains(key) { client_req } else { - client_req.header(key, value) + client_req.header(key.as_str(), value.as_bytes()) } }) } @@ -167,7 +168,7 @@ async fn upload( } } - Ok(HttpResponse::build(status).json(images)) + Ok(HttpResponse::build(StatusCode::from_u16(status.as_u16())?).json(images)) } async fn full_res( @@ -210,14 +211,14 @@ async fn image( let res = client_req.send().await?; - if res.status() == StatusCode::NOT_FOUND { + if res.status() == http::StatusCode::NOT_FOUND { return Ok(HttpResponse::NotFound().finish()); } - let mut client_res = HttpResponse::build(res.status()); + let mut client_res = HttpResponse::build(StatusCode::from_u16(res.status().as_u16())?); for (name, value) in res.headers().iter().filter(|(h, _)| *h != "connection") { - client_res.insert_header((name.clone(), value.clone())); + client_res.insert_header((name.as_str(), value.as_bytes())); } Ok(client_res.body(BodyStream::new(res.bytes_stream()))) @@ -246,7 +247,10 @@ async fn delete( LocalImage::delete_by_alias(&mut context.pool(), &file).await?; - Ok(HttpResponse::build(res.status()).body(BodyStream::new(res.bytes_stream()))) + Ok( + HttpResponse::build(StatusCode::from_u16(res.status().as_u16())?) + .body(BodyStream::new(res.bytes_stream())), + ) } pub async fn image_proxy( diff --git a/crates/routes/src/webfinger.rs b/crates/routes/src/webfinger.rs index f2a67c0fce..c5b7024cd1 100644 --- a/crates/routes/src/webfinger.rs +++ b/crates/routes/src/webfinger.rs @@ -84,7 +84,7 @@ async fn get_webfinger_response( Ok( HttpResponse::Ok() - .content_type(&WEBFINGER_CONTENT_TYPE) + .content_type(WEBFINGER_CONTENT_TYPE.as_bytes()) .json(json), ) } diff --git a/crates/utils/src/error.rs b/crates/utils/src/error.rs index b848916b22..d90ad42420 100644 --- a/crates/utils/src/error.rs +++ b/crates/utils/src/error.rs @@ -230,13 +230,13 @@ cfg_if! { } impl actix_web::error::ResponseError for LemmyError { - fn status_code(&self) -> http::StatusCode { + fn status_code(&self) -> actix_web::http::StatusCode { if self.error_type == LemmyErrorType::IncorrectLogin { - return http::StatusCode::UNAUTHORIZED; + return actix_web::http::StatusCode::UNAUTHORIZED; } match self.inner.downcast_ref::() { - Some(diesel::result::Error::NotFound) => http::StatusCode::NOT_FOUND, - _ => http::StatusCode::BAD_REQUEST, + Some(diesel::result::Error::NotFound) => actix_web::http::StatusCode::NOT_FOUND, + _ => actix_web::http::StatusCode::BAD_REQUEST, } } diff --git a/src/session_middleware.rs b/src/session_middleware.rs index a72d84920f..f00009d106 100644 --- a/src/session_middleware.rs +++ b/src/session_middleware.rs @@ -9,7 +9,7 @@ use core::future::Ready; use futures_util::future::LocalBoxFuture; use lemmy_api::{local_user_view_from_jwt, read_auth_token}; use lemmy_api_common::context::LemmyContext; -use reqwest::header::HeaderValue; +use actix_web::http::header::HeaderValue; use std::{future::ready, rc::Rc}; #[derive(Clone)] diff --git a/src/telemetry.rs b/src/telemetry.rs index a7a1ac8093..647ff936af 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -1,10 +1,8 @@ use console_subscriber::ConsoleLayer; use lemmy_utils::error::LemmyResult; -use opentelemetry::{ - sdk::{propagation::TraceContextPropagator, Resource}, - KeyValue, -}; +use opentelemetry::KeyValue; use opentelemetry_otlp::WithExportConfig; +use opentelemetry_sdk::{propagation::TraceContextPropagator, Resource}; use tracing::{subscriber::set_global_default, Subscriber}; use tracing_subscriber::{filter::Targets, layer::SubscriberExt, registry::LookupSpan, Layer}; @@ -25,7 +23,7 @@ where let tracer = opentelemetry_otlp::new_pipeline() .tracing() .with_trace_config( - opentelemetry::sdk::trace::config() + opentelemetry_sdk::trace::config() .with_resource(Resource::new(vec![KeyValue::new("service.name", "lemmy")])), ) .with_exporter( @@ -33,7 +31,7 @@ where .tonic() .with_endpoint(opentelemetry_url), ) - .install_batch(opentelemetry::runtime::Tokio)?; + .install_batch(opentelemetry_sdk::runtime::Tokio)?; let otel_layer = tracing_opentelemetry::layer() .with_tracer(tracer)