-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ScmCredentials netbsd implementation. #88025
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
1114c27
to
e848628
Compare
r? @joshtriplett perhaps? |
Does the same implementation work on other bsd's like openbsd and freebsd? If so can you add it to those platforms too? |
I wish that was the case :-) but for example freebsd is a different beast in that regard. |
I'm not the right person to review non-trivial BSD changes, in general. I think someone else should take a look at this. Who are the BSD target maintainers? |
do not know if there is a dedicated one for netbsd, being low tier platform. |
@devnexen All new targets, even tier 3 targets, are supposed to have at least one maintainer. That isn't necessarily the case for older targets, but we should work towards identifying maintainers for existing targets, or considering the possibility of deprecation if there are zero people available to maintain them. |
I see often contributions by unique individuals, no recurring patterns. I know who are the freebsd team and the most visible openbsd expert but netbsd, hard to know... |
@Mark-Simulacrum any clue who should review BSD changes? |
r? @Amanieu |
@devnexen Have you tried running the Other than that the code looks fine to me. |
e848628
to
58be4c6
Compare
This comment has been minimized.
This comment has been minimized.
58be4c6
to
7345b93
Compare
@Amanieu after rebasing relevant tests pass. |
@@ -252,11 +313,15 @@ impl<'a> Iterator for ScmRights<'a> { | |||
/// This control message contains unix credentials. | |||
/// | |||
/// The level is equal to `SOL_SOCKET` and the type is equal to `SCM_CREDENTIALS` or `SCM_CREDS`. | |||
#[cfg(any(doc, target_os = "android", target_os = "linux",))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want ScmCredentials
to appear in the docs even on unsupported targets. That's what the fake libc
module is for.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The best way to achieve that is probably to have a separate definition when building docs on an unsupported target:
#[cfg(all(doc, not(target_os = "linux", target_os = "android", target_os = "netbsd"))]
#[unstable(feature = "unix_socket_ancillary_data", issue = "76915")]
#[derive(Clone)]
pub struct SocketCred(());
7345b93
to
26d7676
Compare
@@ -15,6 +15,7 @@ use crate::sys::net::Socket; | |||
mod libc { | |||
pub use libc::c_int; | |||
pub struct ucred; | |||
pub struct sockcred; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is no longer needed. Also in the cfg above you should exclude netbsd.
#[derive(Clone)] | ||
pub struct SocketCred(libc::sockcred); | ||
|
||
#[cfg(any(target_os = "android", target_os = "linux",))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add doc
here so the methods appear in the docs.
1f6dbf1
to
ed6e070
Compare
This comment has been minimized.
This comment has been minimized.
ed6e070
to
1b62b52
Compare
@@ -234,6 +245,62 @@ impl SocketCred { | |||
} | |||
} | |||
|
|||
#[doc(cfg(target_os = "netbsd"))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line is not needed.
1b62b52
to
23e6314
Compare
@bors r+ rollup=iffy |
📌 Commit 23e6314 has been approved by |
Rollup of 8 pull requests Successful merges: - rust-lang#88025 (ScmCredentials netbsd implementation.) - rust-lang#95473 (track individual proc-macro expansions in the self-profiler) - rust-lang#95547 (caution against ptr-to-int transmutes) - rust-lang#95585 (Explain why `&T` is cloned when `T` is not `Clone`) - rust-lang#95591 (Use revisions to track NLL test output (part 1)) - rust-lang#95663 (diagnostics: give a special note for unsafe fn / Fn/FnOnce/FnMut) - rust-lang#95673 (:arrow_up: rust-analyzer) - rust-lang#95681 (resolve: Fix resolution of empty paths passed from rustdoc) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
No description provided.