diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/security-framework-sys/src/import_export.rs | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (diff) | |
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based
authorization system with SpiceDB's relation-based authorization.
Key changes:
- Migrate from Rust to Go implementation
- Replace Cedar policies with SpiceDB schema and relationships
- Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks
- Update build system and dependencies for Go ecosystem
- Maintain Envoy integration for external authorization
This change enables more flexible permission modeling through SpiceDB's
Google Zanzibar inspired relation-based system, supporting complex
hierarchical permissions that were difficult to express in Cedar.
Breaking change: Existing Cedar policies and Rust-based configuration
will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/security-framework-sys/src/import_export.rs')
| -rw-r--r-- | vendor/security-framework-sys/src/import_export.rs | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/vendor/security-framework-sys/src/import_export.rs b/vendor/security-framework-sys/src/import_export.rs deleted file mode 100644 index cd32f571..00000000 --- a/vendor/security-framework-sys/src/import_export.rs +++ /dev/null @@ -1,86 +0,0 @@ -use core_foundation_sys::array::CFArrayRef; -#[cfg(target_os = "macos")] -use core_foundation_sys::base::CFTypeRef; -use core_foundation_sys::base::OSStatus; -use core_foundation_sys::data::CFDataRef; -use core_foundation_sys::dictionary::CFDictionaryRef; -use core_foundation_sys::string::CFStringRef; -#[cfg(target_os = "macos")] -use std::os::raw::c_uint; - -#[cfg(target_os = "macos")] -use crate::base::{SecAccessRef, SecKeychainRef}; - -#[cfg(target_os = "macos")] -pub type SecExternalFormat = u32; -#[cfg(target_os = "macos")] -pub type SecExternalItemType = u32; -#[cfg(target_os = "macos")] -pub type SecItemImportExportFlags = u32; -#[cfg(target_os = "macos")] -pub type SecKeyImportExportFlags = u32; - -#[cfg(target_os = "macos")] -pub const kSecKeyImportOnlyOne: SecKeyImportExportFlags = 1; -#[cfg(target_os = "macos")] -pub const kSecKeySecurePassphrase: SecKeyImportExportFlags = 2; -#[cfg(target_os = "macos")] -pub const kSecKeyNoAccessControl: SecKeyImportExportFlags = 4; - -#[cfg(target_os = "macos")] -pub const SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION: c_uint = 0; - -#[repr(C)] -#[derive(Copy, Clone)] -#[cfg(target_os = "macos")] -pub struct SecItemImportExportKeyParameters { - pub version: c_uint, - pub flags: SecKeyImportExportFlags, - pub passphrase: CFTypeRef, - pub alertTitle: CFStringRef, - pub alertPrompt: CFStringRef, - pub accessRef: SecAccessRef, - pub keyUsage: CFArrayRef, - pub keyAttributes: CFArrayRef, -} - -extern "C" { - #[cfg(target_os = "macos")] - pub fn SecItemImport( - importedData: CFDataRef, - fileNameOrExtension: CFStringRef, - inputFormat: *mut SecExternalFormat, - itemType: *mut SecExternalItemType, - flags: SecItemImportExportFlags, - keyParams: *const SecItemImportExportKeyParameters, - importKeychain: SecKeychainRef, - outItems: *mut CFArrayRef, - ) -> OSStatus; - - #[cfg(target_os = "macos")] - pub fn SecItemExport( - secItemOrArray: CFTypeRef, - outputFormat: SecExternalFormat, - flags: SecItemImportExportFlags, - keyParams: *const SecItemImportExportKeyParameters, - exportedData: *mut CFDataRef, - ) -> OSStatus; - - pub static kSecImportExportPassphrase: CFStringRef; - #[cfg(target_os = "macos")] - pub static kSecImportExportKeychain: CFStringRef; - #[cfg(target_os = "macos")] - pub static kSecImportExportAccess: CFStringRef; - - pub static kSecImportItemLabel: CFStringRef; - pub static kSecImportItemKeyID: CFStringRef; - pub static kSecImportItemTrust: CFStringRef; - pub static kSecImportItemCertChain: CFStringRef; - pub static kSecImportItemIdentity: CFStringRef; - - pub fn SecPKCS12Import( - pkcs12_data: CFDataRef, - options: CFDictionaryRef, - items: *mut CFArrayRef, - ) -> OSStatus; -} |
