--- gecko-dev-5f2c1701846a54c484d7dd46a291b796f5a67cac/third_party/rust/quinn-udp/.cargo-checksum.json.~1~	2024-11-07 00:11:55.000000000 -0500
+++ gecko-dev-5f2c1701846a54c484d7dd46a291b796f5a67cac/third_party/rust/quinn-udp/.cargo-checksum.json	2024-11-07 18:46:10.309173135 -0500
@@ -1 +1 @@
-{"files":{"Cargo.toml":"865febc6bb7b0a6f4d0758779480f829f96fcd6a614b64db05b5ea53e902fd5c","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"8e81067cac9fbe675619c3314d5aa06d99cf54c332812a837a227eeab41c92e1","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"9672bd2003d779c95d11a85d05a5dac5d421a9d5dcd9f1475de94aca93f23f73","src/unix.rs":"b8e595499055115d15bfb95259c0c585934adf55f61e365bcc9fc47ab8fa9cdd","src/windows.rs":"ab1928d18bed62162a0f2c96158d808d7a2962045ab47c9efa0ecf60e2a2c060","tests/tests.rs":"3ab6c02756098d3933542baff06fa1f2ad6bba11852466f6843b8a42a9cc97c0"},"package":"e346e016eacfff12233c243718197ca12f148c84e1e84268a896699b41c71780"}
\ No newline at end of file
+{"files":{"Cargo.toml":"865febc6bb7b0a6f4d0758779480f829f96fcd6a614b64db05b5ea53e902fd5c","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"4b2d0aca6789fa39e03d6738e869ea0988cceba210ca34ebb59c15c463e93a04","benches/throughput.rs":"095137508f85b68174978ff968cade74587751484402ca09269ffc2631d97f34","build.rs":"8e81067cac9fbe675619c3314d5aa06d99cf54c332812a837a227eeab41c92e1","src/cmsg/mod.rs":"63d6ea7126341fededdaef14260a7eed715ad3f507d4da586dbab814f581a54d","src/cmsg/unix.rs":"7917bce2f3c8e844eca2e4cfea82669b2a31cf311321dc42532626db4ee42de8","src/cmsg/windows.rs":"6fb936ec4a283efc5796872e777441e3039c40589073865644a8ef7936af4f4b","src/fallback.rs":"6378c177db7ba0eb88115b63f1ec9e17b05f53b1daae2c1e215520f103145585","src/lib.rs":"9672bd2003d779c95d11a85d05a5dac5d421a9d5dcd9f1475de94aca93f23f73","src/unix.rs":"6eb78083fddc5ff2f2389d939daf212f01292baf1bfb1007767a622afe88d3a3","src/windows.rs":"ab1928d18bed62162a0f2c96158d808d7a2962045ab47c9efa0ecf60e2a2c060","tests/tests.rs":"3ab6c02756098d3933542baff06fa1f2ad6bba11852466f6843b8a42a9cc97c0"},"package":"e346e016eacfff12233c243718197ca12f148c84e1e84268a896699b41c71780"}
--- gecko-dev-5f2c1701846a54c484d7dd46a291b796f5a67cac/third_party/rust/quinn-udp/src/unix.rs.~1~	2024-11-07 00:11:55.000000000 -0500
+++ gecko-dev-5f2c1701846a54c484d7dd46a291b796f5a67cac/third_party/rust/quinn-udp/src/unix.rs	2024-11-07 18:44:30.898973342 -0500
@@ -1,4 +1,4 @@
-#[cfg(not(any(apple, target_os = "openbsd", target_os = "solaris")))]
+#[cfg(not(any(apple, target_os = "openbsd", target_os = "solaris", target_os = "illumos")))]
 use std::ptr;
 use std::{
     io::{self, IoSliceMut},
@@ -92,6 +92,7 @@
             || cfg!(apple)
             || cfg!(target_os = "android")
             || cfg!(target_os = "solaris")
+            || cfg!(target_os = "illumos")
         {
             cmsg_platform_space +=
                 unsafe { libc::CMSG_SPACE(mem::size_of::<libc::in6_pktinfo>() as _) as usize };
@@ -114,7 +115,7 @@
 
         // mac and ios do not support IP_RECVTOS on dual-stack sockets :(
         // older macos versions also don't have the flag and will error out if we don't ignore it
-        #[cfg(not(any(target_os = "openbsd", target_os = "netbsd", target_os = "solaris")))]
+        #[cfg(not(any(target_os = "openbsd", target_os = "netbsd", target_os = "solaris", target_os = "illumos")))]
         if is_ipv4 || !io.only_v6()? {
             if let Err(_err) =
                 set_socket_option(&*io, libc::IPPROTO_IP, libc::IP_RECVTOS, OPTION_ON)
@@ -163,7 +164,7 @@
                 )?;
             }
         }
-        #[cfg(any(bsd, apple, target_os = "solaris"))]
+        #[cfg(any(bsd, apple, target_os = "solaris", target_os = "illumos"))]
         // IP_RECVDSTADDR == IP_SENDSRCADDR on FreeBSD
         // macOS uses only IP_RECVDSTADDR, no IP_SENDSRCADDR on macOS (the same on Solaris)
         // macOS also supports IP_PKTINFO
@@ -445,7 +446,7 @@
     Ok(())
 }
 
-#[cfg(not(any(apple, target_os = "openbsd", target_os = "solaris")))]
+#[cfg(not(any(apple, target_os = "openbsd", target_os = "solaris", target_os = "illumos")))]
 fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) -> io::Result<usize> {
     let mut names = [MaybeUninit::<libc::sockaddr_storage>::uninit(); BATCH_SIZE];
     let mut ctrls = [cmsg::Aligned(MaybeUninit::<[u8; CMSG_LEN]>::uninit()); BATCH_SIZE];
@@ -512,7 +513,7 @@
     Ok(msg_count as usize)
 }
 
-#[cfg(any(target_os = "openbsd", target_os = "netbsd", apple_slow))]
+#[cfg(any(target_os = "openbsd", target_os = "netbsd", apple_slow, target_os = "illumos"))]
 fn recv(io: SockRef<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta]) -> io::Result<usize> {
     let mut name = MaybeUninit::<libc::sockaddr_storage>::uninit();
     let mut ctrl = cmsg::Aligned(MaybeUninit::<[u8; CMSG_LEN]>::uninit());
@@ -600,7 +601,7 @@
                     };
                     encoder.push(libc::IPPROTO_IP, libc::IP_PKTINFO, pktinfo);
                 }
-                #[cfg(any(bsd, apple, target_os = "solaris"))]
+                #[cfg(any(bsd, apple, target_os = "solaris", target_os = "illumos"))]
                 {
                     if encode_src_ip {
                         let addr = libc::in_addr {
@@ -677,7 +678,7 @@
                 ecn_bits = cmsg::decode::<u8, libc::cmsghdr>(cmsg);
             },
             // FreeBSD uses IP_RECVTOS here, and we can be liberal because cmsgs are opt-in.
-            #[cfg(not(any(target_os = "openbsd", target_os = "netbsd", target_os = "solaris")))]
+            #[cfg(not(any(target_os = "openbsd", target_os = "netbsd", target_os = "solaris", target_os = "illumos")))]
             (libc::IPPROTO_IP, libc::IP_RECVTOS) => unsafe {
                 ecn_bits = cmsg::decode::<u8, libc::cmsghdr>(cmsg);
             },
