Rollup merge of #122147 - kadiwa4:private_impl_mods, r=workingjubilee

Make `std::os::unix::ucred` module private

Tracking issue: #42839

Currently, this unstable module exists: [`std::os::unix::ucred`](https://doc.rust-lang.org/stable/std/os/unix/ucred/index.html).
All it does is provide `UCred` (which is also available from `std::os::unix::net`), `impl_*` (which is probably a mishap and should be private) and `peer_cred` (which is undocumented but has a documented counterpart at `std::os::unix::net::UnixStream::peer_cred`).

This PR makes the entire `ucred` module private and moves it into `net`, because that's where it is used.

I hope it's fine to simply remove it without a deprecation phase. Otherwise, I can add back a deprecated reexport module `std::os::unix::ucred`.

`@rustbot` label: -T-libs +T-libs-api
This commit is contained in:
Guillaume Gomez 2024-03-07 18:32:51 +01:00 committed by GitHub
commit 92d7e02bb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 49 additions and 53 deletions

View File

@ -95,22 +95,6 @@ mod platform {
pub mod raw; pub mod raw;
pub mod thread; pub mod thread;
#[unstable(feature = "peer_credentials_unix_socket", issue = "42839", reason = "unstable")]
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "watchos",
target_os = "macos",
target_os = "netbsd",
target_os = "openbsd",
target_os = "nto",
))]
pub mod ucred;
/// A prelude for conveniently writing platform-specific code. /// A prelude for conveniently writing platform-specific code.
/// ///
/// Includes all extension traits, and some important type definitions. /// Includes all extension traits, and some important type definitions.

View File

@ -12,6 +12,20 @@
mod stream; mod stream;
#[cfg(all(test, not(target_os = "emscripten")))] #[cfg(all(test, not(target_os = "emscripten")))]
mod tests; mod tests;
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "watchos",
target_os = "macos",
target_os = "netbsd",
target_os = "openbsd",
target_os = "nto",
))]
mod ucred;
#[stable(feature = "unix_socket", since = "1.10.0")] #[stable(feature = "unix_socket", since = "1.10.0")]
pub use self::addr::*; pub use self::addr::*;
@ -24,3 +38,18 @@
pub use self::listener::*; pub use self::listener::*;
#[stable(feature = "unix_socket", since = "1.10.0")] #[stable(feature = "unix_socket", since = "1.10.0")]
pub use self::stream::*; pub use self::stream::*;
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "watchos",
target_os = "macos",
target_os = "netbsd",
target_os = "openbsd",
target_os = "nto",
))]
#[unstable(feature = "peer_credentials_unix_socket", issue = "42839", reason = "unstable")]
pub use self::ucred::*;

View File

@ -1,3 +1,16 @@
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "macos",
target_os = "watchos",
target_os = "netbsd",
target_os = "openbsd"
))]
use super::{peer_cred, UCred};
#[cfg(any(doc, target_os = "android", target_os = "linux"))] #[cfg(any(doc, target_os = "android", target_os = "linux"))]
use super::{recv_vectored_with_ancillary_from, send_vectored_with_ancillary_to, SocketAncillary}; use super::{recv_vectored_with_ancillary_from, send_vectored_with_ancillary_to, SocketAncillary};
use super::{sockaddr_un, SocketAddr}; use super::{sockaddr_un, SocketAddr};
@ -5,40 +18,12 @@
use crate::io::{self, IoSlice, IoSliceMut}; use crate::io::{self, IoSlice, IoSliceMut};
use crate::net::Shutdown; use crate::net::Shutdown;
use crate::os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd}; use crate::os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "macos",
target_os = "watchos",
target_os = "netbsd",
target_os = "openbsd"
))]
use crate::os::unix::ucred;
use crate::path::Path; use crate::path::Path;
use crate::sys::cvt; use crate::sys::cvt;
use crate::sys::net::Socket; use crate::sys::net::Socket;
use crate::sys_common::{AsInner, FromInner}; use crate::sys_common::{AsInner, FromInner};
use crate::time::Duration; use crate::time::Duration;
#[unstable(feature = "peer_credentials_unix_socket", issue = "42839", reason = "unstable")]
#[cfg(any(
target_os = "android",
target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "ios",
target_os = "tvos",
target_os = "macos",
target_os = "watchos",
target_os = "netbsd",
target_os = "openbsd"
))]
pub use ucred::UCred;
/// A Unix stream socket. /// A Unix stream socket.
/// ///
/// # Examples /// # Examples
@ -247,7 +232,7 @@ pub fn peer_addr(&self) -> io::Result<SocketAddr> {
target_os = "openbsd" target_os = "openbsd"
))] ))]
pub fn peer_cred(&self) -> io::Result<UCred> { pub fn peer_cred(&self) -> io::Result<UCred> {
ucred::peer_cred(self) peer_cred(self)
} }
/// Sets the read timeout for the socket. /// Sets the read timeout for the socket.

View File

@ -1,5 +1,3 @@
//! Unix peer credentials.
// NOTE: Code in this file is heavily based on work done in PR 13 from the tokio-uds repository on // NOTE: Code in this file is heavily based on work done in PR 13 from the tokio-uds repository on
// GitHub. // GitHub.
// //
@ -26,7 +24,7 @@ pub struct UCred {
} }
#[cfg(any(target_os = "android", target_os = "linux"))] #[cfg(any(target_os = "android", target_os = "linux"))]
pub use self::impl_linux::peer_cred; pub(super) use self::impl_linux::peer_cred;
#[cfg(any( #[cfg(any(
target_os = "dragonfly", target_os = "dragonfly",
@ -34,13 +32,13 @@ pub struct UCred {
target_os = "openbsd", target_os = "openbsd",
target_os = "netbsd" target_os = "netbsd"
))] ))]
pub use self::impl_bsd::peer_cred; pub(super) use self::impl_bsd::peer_cred;
#[cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos"))] #[cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos"))]
pub use self::impl_mac::peer_cred; pub(super) use self::impl_mac::peer_cred;
#[cfg(any(target_os = "linux", target_os = "android"))] #[cfg(any(target_os = "linux", target_os = "android"))]
pub mod impl_linux { mod impl_linux {
use super::UCred; use super::UCred;
use crate::os::unix::io::AsRawFd; use crate::os::unix::io::AsRawFd;
use crate::os::unix::net::UnixStream; use crate::os::unix::net::UnixStream;
@ -82,7 +80,7 @@ pub fn peer_cred(socket: &UnixStream) -> io::Result<UCred> {
target_os = "netbsd", target_os = "netbsd",
target_os = "nto", target_os = "nto",
))] ))]
pub mod impl_bsd { mod impl_bsd {
use super::UCred; use super::UCred;
use crate::io; use crate::io;
use crate::os::unix::io::AsRawFd; use crate::os::unix::io::AsRawFd;
@ -99,7 +97,7 @@ pub fn peer_cred(socket: &UnixStream) -> io::Result<UCred> {
} }
#[cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos"))] #[cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos", target_os = "watchos"))]
pub mod impl_mac { mod impl_mac {
use super::UCred; use super::UCred;
use crate::os::unix::io::AsRawFd; use crate::os::unix::io::AsRawFd;
use crate::os::unix::net::UnixStream; use crate::os::unix::net::UnixStream;