[]Struct sspi::PackageCapabilities

pub struct PackageCapabilities { /* fields omitted */ }

Set of bit flags that describes the capabilities of the security package. It is possible to combine them.

MSDN

Methods

impl PackageCapabilities

pub const INTEGRITY: PackageCapabilities

The security package supports the make_signature (TBI) and verify_signature (TBI) functions.

pub const PRIVACY: PackageCapabilities

The security package supports the encrypt_message and decrypt_message functions.

pub const TOKEN_ONLY: PackageCapabilities

The package is interested only in the security-token portion of messages, and will ignore any other buffers. This is a performance-related issue.

pub const DATAGRAM: PackageCapabilities

Supports datagram-style authentication. For more information, see SSPI Context Semantics.

pub const CONNECTION: PackageCapabilities

Supports connection-oriented style authentication. For more information, see SSPI Context Semantics.

pub const MULTI_REQUIRED: PackageCapabilities

Multiple legs are required for authentication.

pub const CLIENT_ONLY: PackageCapabilities

Server authentication support is not provided.

pub const EXTENDED_ERROR: PackageCapabilities

Supports extended error handling. For more information, see Extended Error Information.

pub const IMPERSONATION: PackageCapabilities

Supports Windows impersonation in server contexts.

pub const ACCEPT_WIN32_NAME: PackageCapabilities

Understands Windows principal and target names.

pub const STREAM: PackageCapabilities

Supports stream semantics. For more information, see SSPI Context Semantics.

pub const NEGOTIABLE: PackageCapabilities

Can be used by the Microsoft Negotiate security package.

pub const GSS_COMPATIBLE: PackageCapabilities

Supports GSS compatibility.

pub const LOGON: PackageCapabilities

Supports LsaLogonUser.

pub const ASCII_BUFFERS: PackageCapabilities

Token buffers are in ASCII characters format.

pub const FRAGMENT: PackageCapabilities

Supports separating large tokens into smaller buffers so that applications can make repeated calls to initialize_security_context and accept_security_context with the smaller buffers to complete authentication.

pub const MUTUAL_AUTH: PackageCapabilities

Supports mutual authentication.

pub const DELEGATION: PackageCapabilities

Supports delegation.

pub const READONLY_WITH_CHECKSUM: PackageCapabilities

The security package supports using a checksum instead of in-place encryption when calling the encrypt_message function.

pub const RESTRICTED_TOKENS: PackageCapabilities

Supports callers with restricted tokens.

pub const NEGO_EXTENDER: PackageCapabilities

The security package extends the Microsoft Negotiate security package. There can be at most one package of this type.

pub const NEGOTIABLE2: PackageCapabilities

This package is negotiated by the package of type NEGO_EXTENDER.

pub const APP_CONTAINER_PASSTHROUGH: PackageCapabilities

This package receives all calls from app container apps.

pub const APP_CONTAINER_CHECKS: PackageCapabilities

This package receives calls from app container apps if one of the following checks succeeds:

  • Caller has default credentials capability
  • The target is a proxy server
  • The caller has supplied credentials

pub const fn empty() -> PackageCapabilities

Returns an empty set of flags

pub const fn all() -> PackageCapabilities

Returns the set containing all flags.

pub const fn bits(&self) -> u32

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u32) -> Option<PackageCapabilities>

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u32) -> PackageCapabilities

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const fn is_empty(&self) -> bool

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool

Returns true if all flags are currently set.

pub const fn intersects(&self, other: PackageCapabilities) -> bool

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: PackageCapabilities) -> bool

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: PackageCapabilities)

Inserts the specified flags in-place.

pub fn remove(&mut self, other: PackageCapabilities)

Removes the specified flags in-place.

pub fn toggle(&mut self, other: PackageCapabilities)

Toggles the specified flags in-place.

pub fn set(&mut self, other: PackageCapabilities, value: bool)

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Extend<PackageCapabilities> for PackageCapabilities

impl Clone for PackageCapabilities

impl Copy for PackageCapabilities

impl Eq for PackageCapabilities

impl Ord for PackageCapabilities

impl PartialEq<PackageCapabilities> for PackageCapabilities

impl PartialOrd<PackageCapabilities> for PackageCapabilities

impl Debug for PackageCapabilities

impl Sub<PackageCapabilities> for PackageCapabilities

type Output = PackageCapabilities

The resulting type after applying the - operator.

fn sub(self, other: PackageCapabilities) -> PackageCapabilities

Returns the set difference of the two sets of flags.

impl SubAssign<PackageCapabilities> for PackageCapabilities

fn sub_assign(&mut self, other: PackageCapabilities)

Disables all flags enabled in the set.

impl Not for PackageCapabilities

type Output = PackageCapabilities

The resulting type after applying the ! operator.

fn not(self) -> PackageCapabilities

Returns the complement of this set of flags.

impl BitAnd<PackageCapabilities> for PackageCapabilities

type Output = PackageCapabilities

The resulting type after applying the & operator.

fn bitand(self, other: PackageCapabilities) -> PackageCapabilities

Returns the intersection between the two sets of flags.

impl BitOr<PackageCapabilities> for PackageCapabilities

type Output = PackageCapabilities

The resulting type after applying the | operator.

fn bitor(self, other: PackageCapabilities) -> PackageCapabilities

Returns the union of the two sets of flags.

impl BitXor<PackageCapabilities> for PackageCapabilities

type Output = PackageCapabilities

The resulting type after applying the ^ operator.

fn bitxor(self, other: PackageCapabilities) -> PackageCapabilities

Returns the left flags, but with all the right flags toggled.

impl BitAndAssign<PackageCapabilities> for PackageCapabilities

fn bitand_assign(&mut self, other: PackageCapabilities)

Disables all flags disabled in the set.

impl BitOrAssign<PackageCapabilities> for PackageCapabilities

fn bitor_assign(&mut self, other: PackageCapabilities)

Adds the set of flags.

impl BitXorAssign<PackageCapabilities> for PackageCapabilities

fn bitxor_assign(&mut self, other: PackageCapabilities)

Toggles the set of flags.

impl Hash for PackageCapabilities

impl FromIterator<PackageCapabilities> for PackageCapabilities

impl Octal for PackageCapabilities

impl Binary for PackageCapabilities

impl LowerHex for PackageCapabilities

impl UpperHex for PackageCapabilities

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self