mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-26 19:03:27 +00:00
Fix results of getting UNIX names
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
98c17a3d1b
commit
5445a26ec5
@ -48,9 +48,17 @@ impl From<UnixSocketAddrBound> for UnixSocketAddr {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<UnixSocketAddrBound> for SocketAddr {
|
||||
fn from(value: UnixSocketAddrBound) -> Self {
|
||||
let unix_socket_addr = UnixSocketAddr::from(value);
|
||||
SocketAddr::Unix(unix_socket_addr)
|
||||
impl From<Option<UnixSocketAddrBound>> for UnixSocketAddr {
|
||||
fn from(value: Option<UnixSocketAddrBound>) -> Self {
|
||||
match value {
|
||||
Some(addr) => addr.into(),
|
||||
None => Self::Unnamed,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Into<UnixSocketAddr>> From<T> for SocketAddr {
|
||||
fn from(value: T) -> Self {
|
||||
SocketAddr::Unix(value.into())
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,7 @@ use super::{connected::Connected, endpoint::Endpoint, UnixStreamSocket};
|
||||
use crate::{
|
||||
events::{IoEvents, Observer},
|
||||
fs::{file_handle::FileLike, path::Dentry, utils::Inode},
|
||||
net::socket::{
|
||||
unix::addr::{UnixSocketAddr, UnixSocketAddrBound},
|
||||
SocketAddr,
|
||||
},
|
||||
net::socket::{unix::addr::UnixSocketAddrBound, SocketAddr},
|
||||
prelude::*,
|
||||
process::signal::{Pollee, Poller},
|
||||
};
|
||||
@ -36,10 +33,7 @@ impl Listener {
|
||||
Connected::new(local_endpoint)
|
||||
};
|
||||
|
||||
let peer_addr = match connected.peer_addr() {
|
||||
None => SocketAddr::Unix(UnixSocketAddr::Path(String::new())),
|
||||
Some(addr) => SocketAddr::from(addr.clone()),
|
||||
};
|
||||
let peer_addr = connected.peer_addr().cloned().into();
|
||||
|
||||
let socket = UnixStreamSocket::new_connected(connected, false);
|
||||
|
||||
|
@ -278,11 +278,7 @@ impl Socket for UnixStreamSocket {
|
||||
State::Connected(connected) => connected.addr().cloned(),
|
||||
};
|
||||
|
||||
addr.map(Into::<SocketAddr>::into)
|
||||
.ok_or(Error::with_message(
|
||||
Errno::EINVAL,
|
||||
"the socket does not bind to addr",
|
||||
))
|
||||
Ok(addr.into())
|
||||
}
|
||||
|
||||
fn peer_addr(&self) -> Result<SocketAddr> {
|
||||
@ -291,10 +287,7 @@ impl Socket for UnixStreamSocket {
|
||||
_ => return_errno_with_message!(Errno::ENOTCONN, "the socket is not connected"),
|
||||
};
|
||||
|
||||
match peer_addr {
|
||||
None => Ok(SocketAddr::Unix(UnixSocketAddr::Path(String::new()))),
|
||||
Some(peer_addr) => Ok(SocketAddr::from(peer_addr)),
|
||||
}
|
||||
Ok(peer_addr.into())
|
||||
}
|
||||
|
||||
fn sendmsg(
|
||||
|
Reference in New Issue
Block a user