Struct zbus_polkit::policykit1::Subject
source · [−]pub struct Subject {
pub subject_kind: String,
pub subject_details: HashMap<String, OwnedValue>,
}
Expand description
This struct describes subjects such as UNIX processes. It is typically used to check if a given process is authorized for an action.
The following kinds of subjects are known:
-
Unix Process.
subject_kind
should be set tounix-process
with keyspid
(of typeuint32
) andstart-time
(of typeuint64
). -
Unix Session.
subject_kind
should be set tounix-session
with the keysession-id
(of typestring
). -
System Bus Name.
subject_kind
should be set tosystem-bus-name
with the keyname
(of typestring
).
Fields
subject_kind: String
The type of the subject.
subject_details: HashMap<String, OwnedValue>
Details about the subject. Depending of the value of subject_kind
, a set of well-defined
key/value pairs are guaranteed to be available.
Implementations
sourceimpl Subject
impl Subject
sourcepub fn new_for_owner(
pid: u32,
start_time: Option<u64>,
uid: Option<u32>
) -> Result<Self, Error>
pub fn new_for_owner(
pid: u32,
start_time: Option<u64>,
uid: Option<u32>
) -> Result<Self, Error>
Create a Subject
for pid
, start_time
& uid
.
Arguments
-
pid
- The process ID -
start_time
- The start time forpid
orNone
to look it up in e.g./proc
-
uid
- The (real, not effective) uid of the owner ofpid
orNone
to look it up in e.g./proc
sourcepub fn new_for_message_header(
message_header: &MessageHeader<'_>
) -> Result<Self, Error>
pub fn new_for_message_header(
message_header: &MessageHeader<'_>
) -> Result<Self, Error>
Create a Subject
for a message for querying if the sender of a Message is permitted to
execute an action.
Arguments
message_header
- The header of the message which caused an authentication to be necessary.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Subject
impl<'de> Deserialize<'de> for Subject
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Subject
impl Send for Subject
impl Sync for Subject
impl Unpin for Subject
impl UnwindSafe for Subject
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<'de, T> DynamicDeserialize<'de> for Twhere
T: Type + Deserialize<'de> + ?Sized,
impl<'de, T> DynamicDeserialize<'de> for Twhere
T: Type + Deserialize<'de> + ?Sized,
type Deserializer = PhantomData<T>
type Deserializer = PhantomData<T>
A DeserializeSeed implementation for this type.
sourcefn deserializer_for_signature<S>(
signature: S
) -> Result<<T as DynamicDeserialize<'de>>::Deserializer, Error>where
S: TryInto<Signature<'de>>,
<S as TryInto<Signature<'de>>>::Error: Into<Error>,
fn deserializer_for_signature<S>(
signature: S
) -> Result<<T as DynamicDeserialize<'de>>::Deserializer, Error>where
S: TryInto<Signature<'de>>,
<S as TryInto<Signature<'de>>>::Error: Into<Error>,
Get a deserializer compatible with this signature.
sourceimpl<T> DynamicType for Twhere
T: Type + ?Sized,
impl<T> DynamicType for Twhere
T: Type + ?Sized,
sourcefn dynamic_signature(&self) -> Signature<'_>
fn dynamic_signature(&self) -> Signature<'_>
Get the signature for the implementing type. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more