Struct SecAccess

Source
#[repr(C)]
pub struct SecAccess { /* private fields */ }
Available on crate feature SecBase only.
Expand description

Contains information about an access.

See also Apple’s documentation

Implementations§

Source§

impl SecAccess

Source

pub unsafe fn create( descriptor: &CFString, trustedlist: Option<&CFArray>, access_ref: NonNull<*mut SecAccess>, ) -> i32

👎Deprecated: SecKeychain is deprecated
Available on crate feature SecAccess only.

Creates a new SecAccessRef that is set to the currently designated system default configuration of a (newly created) security object. Note that the precise nature of this default may change between releases.

Parameter descriptor: The name of the item as it should appear in security dialogs

Parameter trustedlist: A CFArray of TrustedApplicationRefs, specifying which applications should be allowed to access an item without triggering confirmation dialogs. If NULL, defaults to (just) the application creating the item. To set no applications, pass a CFArray with no elements.

Parameter accessRef: On return, a pointer to the new access reference.

Returns: A result code. See “Security Error Codes” (SecBase.h).

Source

pub unsafe fn create_from_owner_and_acl( owner: NonNull<CSSM_ACL_OWNER_PROTOTYPE>, acl_count: uint32, acls: NonNull<CSSM_ACL_ENTRY_INFO>, access_ref: NonNull<*mut SecAccess>, ) -> i32

👎Deprecated: CSSM is not supported
Available on crate features SecAccess and SecAsn1Types and cssmconfig and cssmtype only.

Creates a new SecAccessRef using the owner and access control list you provide.

Parameter owner: A pointer to a CSSM access control list owner.

Parameter aclCount: An unsigned 32-bit integer representing the number of items in the access control list.

Parameter acls: A pointer to the access control list.

Parameter accessRef: On return, a pointer to the new access reference.

Returns: A result code. See “Security Error Codes” (SecBase.h).

For 10.7 and later please use the SecAccessCreateWithOwnerAndACL API

Source

pub unsafe fn with_owner_and_acl( user_id: uid_t, group_id: gid_t, owner_type: SecAccessOwnerType, acls: Option<&CFArray>, error: *mut *mut CFError, ) -> Option<CFRetained<SecAccess>>

👎Deprecated: SecKeychain is deprecated
Available on crate features SecAccess and libc only.

Creates a new SecAccessRef using either for a user or a group with a list of ACLs

Parameter userId: An user id that specifies the user to associate with this SecAccessRef.

Parameter groupId: A group id that specifies the group to associate with this SecAccessRef.

Parameter ownerType: Specifies the how the ownership of the new SecAccessRef is defined.

Parameter acls: A CFArrayRef of the ACLs to associate with this SecAccessRef

Parameter error: Optionally a pointer to a CFErrorRef to return any errors with may have occured

Returns: A pointer to the new access reference.

Source

pub unsafe fn get_owner_and_acl( self: &SecAccess, owner: NonNull<CSSM_ACL_OWNER_PROTOTYPE_PTR>, acl_count: NonNull<uint32>, acls: NonNull<CSSM_ACL_ENTRY_INFO_PTR>, ) -> i32

👎Deprecated: CSSM is not supported
Available on crate features SecAccess and SecAsn1Types and cssmconfig and cssmtype only.

Retrieves the owner and the access control list of a given access.

Parameter accessRef: A reference to the access from which to retrieve the information.

Parameter owner: On return, a pointer to the access control list owner.

Parameter aclCount: On return, a pointer to an unsigned 32-bit integer representing the number of items in the access control list.

Parameter acls: On return, a pointer to the access control list.

Returns: A result code. See “Security Error Codes” (SecBase.h).

For 10.7 and later please use the SecAccessCopyOwnerAndACL API

Source

pub unsafe fn copy_owner_and_acl( self: &SecAccess, user_id: *mut uid_t, group_id: *mut gid_t, owner_type: *mut SecAccessOwnerType, acl_list: *mut *const CFArray, ) -> i32

👎Deprecated: SecKeychain is deprecated
Available on crate features SecAccess and libc only.

Retrieves the owner and the access control list of a given access.

Parameter accessRef: A reference to the access from which to retrieve the information.

Parameter userId: On return, the user id of the owner

Parameter groupId: On return, the group id of the owner

Parameter ownerType: On return, the type of owner for this AccessRef

Parameter aclList: On return, a pointer to a new created CFArray of SecACL instances. The caller is responsible for calling CFRelease on this array.

Returns: A result code. See “Security Error Codes” (SecBase.h).

Source

pub unsafe fn copy_acl_list( self: &SecAccess, acl_list: NonNull<*const CFArray>, ) -> i32

👎Deprecated: SecKeychain is deprecated
Available on crate feature SecAccess only.

Copies all the access control lists of a given access.

Parameter accessRef: A reference to the access from which to retrieve the information.

Parameter aclList: On return, a pointer to a new created CFArray of SecACL instances. The caller is responsible for calling CFRelease on this array.

Returns: A result code. See “Security Error Codes” (SecBase.h).

Source

pub unsafe fn copy_selected_acl_list( self: &SecAccess, action: CSSM_ACL_AUTHORIZATION_TAG, acl_list: NonNull<*const CFArray>, ) -> i32

👎Deprecated: CSSM is not supported
Available on crate features SecAccess and cssmconfig and cssmtype only.

Copies selected access control lists from a given access.

Parameter accessRef: A reference to the access from which to retrieve the information.

Parameter action: An authorization tag specifying what action with which to select the action control lists.

Parameter aclList: On return, a pointer to the selected access control lists.

Returns: A result code. See “Security Error Codes” (SecBase.h).

For 10.7 and later please use the SecAccessCopyMatchingACLList API

Source

pub unsafe fn matching_acl_list( self: &SecAccess, authorization_tag: &CFType, ) -> Option<CFRetained<CFArray>>

👎Deprecated: SecKeychain is deprecated
Available on crate feature SecAccess only.

Copies selected access control lists from a given access.

Parameter accessRef: A reference to the access from which to retrieve the information.

Parameter authorizationTag: An authorization tag specifying what action with which to select the action control lists.

Returns: A pointer to the selected access control lists.

Methods from Deref<Target = CFType>§

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: ConcreteType,

Available on crate feature SecCustomTransform only.

Attempt to downcast the type to that of type T.

This is the reference-variant. Use CFRetained::downcast if you want to convert a retained type. See also ConcreteType for more details on which types support being converted to.

Source

pub fn retain_count(&self) -> usize

Available on crate feature SecCustomTransform only.

Get the reference count of the object.

This function may be useful for debugging. You normally do not use this function otherwise.

Beware that some things (like CFNumbers, small CFStrings etc.) may not have a normal retain count for optimization purposes, and can return usize::MAX in that case.

Trait Implementations§

Source§

impl AsRef<AnyObject> for SecAccess

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CFType> for SecAccess

Source§

fn as_ref(&self) -> &CFType

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<SecAccess> for SecAccess

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for SecAccess

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFType> for SecAccess

Source§

fn borrow(&self) -> &CFType

Immutably borrows from an owned value. Read more
Source§

impl ConcreteType for SecAccess

Available on crate feature SecAccess only.
Source§

fn type_id() -> CFTypeID

Returns the type identifier of SecAccess instances.

Returns: The CFTypeID of SecAccess instances.

Source§

impl Debug for SecAccess

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for SecAccess

Source§

type Target = CFType

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for SecAccess

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for SecAccess

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl PartialEq for SecAccess

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for SecAccess

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Type for SecAccess

Source§

fn retain(&self) -> CFRetained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

fn as_concrete_TypeRef(&self) -> &Self

👎Deprecated: this is redundant
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::retain
Helper for easier transition from the core-foundation crate. Read more
Source§

fn as_CFTypeRef(&self) -> &CFType
where Self: AsRef<CFType>,

👎Deprecated: this is redundant (CF types deref to CFType)
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::from_raw
Helper for easier transition from the core-foundation crate. Read more
Source§

impl Eq for SecAccess

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,