diff options
Diffstat (limited to 'devel/busd/files/patch-zbus')
-rw-r--r-- | devel/busd/files/patch-zbus | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/devel/busd/files/patch-zbus b/devel/busd/files/patch-zbus deleted file mode 100644 index 194aa47b6311..000000000000 --- a/devel/busd/files/patch-zbus +++ /dev/null @@ -1,114 +0,0 @@ -https://github.com/dbus2/zbus/pull/757 - ---- cargo-crates/zbus-4.2.0/src/connection/handshake/client.rs.orig 2006-07-24 01:21:28 UTC -+++ cargo-crates/zbus-4.2.0/src/connection/handshake/client.rs -@@ -95,21 +95,16 @@ impl Client { - #[instrument(skip(self))] - #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] - async fn send_zero_byte(&mut self) -> Result<()> { -- let written = self -- .common -- .socket_mut() -- .write_mut() -- .send_zero_byte() -- .await -- .map_err(|e| { -- Error::Handshake(format!("Could not send zero byte with credentials: {}", e)) -- }) -- .and_then(|n| match n { -- None => Err(Error::Handshake( -- "Could not send zero byte with credentials".to_string(), -- )), -- Some(n) => Ok(n), -- })?; -+ let write = self.common.socket_mut().write_mut(); -+ -+ let written = match write.send_zero_byte().await.map_err(|e| { -+ Error::Handshake(format!("Could not send zero byte with credentials: {}", e)) -+ })? { -+ // This likely means that the socket type is unable to send SCM_CREDS. -+ // Let's try to send the 0 byte as a regular message. -+ None => write.sendmsg(&[0], &[]).await?, -+ Some(n) => n, -+ }; - - if written != 1 { - return Err(Error::Handshake( ---- cargo-crates/zbus-4.2.0/src/connection/handshake/common.rs.orig 2006-07-24 01:21:28 UTC -+++ cargo-crates/zbus-4.2.0/src/connection/handshake/common.rs -@@ -122,17 +122,13 @@ impl Common { - if self.first_command { - // The first command is sent by the client so we can assume it's the server. - self.first_command = false; -- // leading 0 is sent separately for `freebsd` and `dragonfly`. -- #[cfg(not(any(target_os = "freebsd", target_os = "dragonfly")))] -- { -- if self.recv_buffer[0] != b'\0' { -- return Err(Error::Handshake( -- "First client byte is not NUL!".to_string(), -- )); -- } -- -- start_index = 1; -+ if self.recv_buffer[0] != b'\0' { -+ return Err(Error::Handshake( -+ "First client byte is not NUL!".to_string(), -+ )); - } -+ -+ start_index = 1; - }; - - let line_bytes = self.recv_buffer.drain(..=lf_index); ---- cargo-crates/zbus-4.2.0/src/connection/socket/tcp.rs.orig 2006-07-24 01:21:28 UTC -+++ cargo-crates/zbus-4.2.0/src/connection/socket/tcp.rs -@@ -26,32 +26,25 @@ impl ReadHalf for Arc<Async<TcpStream>> { - } - } - -+ #[cfg(windows)] - async fn peer_credentials(&mut self) -> io::Result<crate::fdo::ConnectionCredentials> { -- #[cfg(windows)] -- let creds = { -- let stream = self.clone(); -- crate::Task::spawn_blocking( -- move || { -- use crate::win32::{tcp_stream_get_peer_pid, ProcessToken}; -+ let stream = self.clone(); -+ crate::Task::spawn_blocking( -+ move || { -+ use crate::win32::{tcp_stream_get_peer_pid, ProcessToken}; - -- let pid = tcp_stream_get_peer_pid(stream.get_ref())? as _; -- let sid = ProcessToken::open(if pid != 0 { Some(pid as _) } else { None }) -- .and_then(|process_token| process_token.sid())?; -- io::Result::Ok( -- crate::fdo::ConnectionCredentials::default() -- .set_process_id(pid) -- .set_windows_sid(sid), -- ) -- }, -- "peer credentials", -- ) -- .await -- }?; -- -- #[cfg(not(windows))] -- let creds = crate::fdo::ConnectionCredentials::default(); -- -- Ok(creds) -+ let pid = tcp_stream_get_peer_pid(stream.get_ref())? as _; -+ let sid = ProcessToken::open(if pid != 0 { Some(pid as _) } else { None }) -+ .and_then(|process_token| process_token.sid())?; -+ io::Result::Ok( -+ crate::fdo::ConnectionCredentials::default() -+ .set_process_id(pid) -+ .set_windows_sid(sid), -+ ) -+ }, -+ "peer credentials", -+ ) -+ .await - } - } - |