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/object/src/lib.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/object/src/lib.rs')
| -rw-r--r-- | vendor/object/src/lib.rs | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/vendor/object/src/lib.rs b/vendor/object/src/lib.rs deleted file mode 100644 index e22fecbe..00000000 --- a/vendor/object/src/lib.rs +++ /dev/null @@ -1,109 +0,0 @@ -//! # `object` -//! -//! The `object` crate provides a unified interface to working with object files -//! across platforms. It supports reading relocatable object files and executable files, -//! and writing relocatable object files and some executable files. -//! -//! ## Raw struct definitions -//! -//! Raw structs are defined for: [ELF](elf), [Mach-O](macho), [PE/COFF](pe), -//! [XCOFF](xcoff), [archive]. -//! Types and traits for zerocopy support are defined in the [`pod`] and [`endian`] modules. -//! -//! ## Unified read API -//! -//! The [`read`] module provides a unified read API using the [`read::Object`] trait. -//! There is an implementation of this trait for [`read::File`], which allows reading any -//! file format, as well as implementations for each file format. -//! -//! ## Low level read API -//! -//! The [`read#modules`] submodules define helpers that operate on the raw structs. -//! These can be used instead of the unified API, or in conjunction with it to access -//! details that are not available via the unified API. -//! -//! ## Unified write API -//! -//! The [`mod@write`] module provides a unified write API for relocatable object files -//! using [`write::Object`]. This does not support writing executable files. -//! -//! ## Low level write API -//! -//! The [`mod@write#modules`] submodules define helpers for writing the raw structs. -//! -//! ## Build API -//! -//! The [`mod@build`] submodules define helpers for building object files, either from -//! scratch or by modifying existing files. -//! -//! ## Shared definitions -//! -//! The crate provides a number of definitions that are used by both the read and write -//! APIs. These are defined at the top level module, but none of these are the main entry -//! points of the crate. - -#![deny(missing_docs)] -#![deny(missing_debug_implementations)] -#![no_std] -#![warn(rust_2018_idioms)] -// Style. -#![allow(clippy::collapsible_else_if)] -#![allow(clippy::collapsible_if)] -#![allow(clippy::collapsible_match)] -#![allow(clippy::comparison_chain)] -#![allow(clippy::field_reassign_with_default)] -#![allow(clippy::manual_flatten)] -#![allow(clippy::match_like_matches_macro)] -#![allow(clippy::needless_lifetimes)] -#![allow(clippy::single_match)] -#![allow(clippy::type_complexity)] -// Occurs due to fallible iteration. -#![allow(clippy::should_implement_trait)] -// Unit errors are converted to other types by callers. -#![allow(clippy::result_unit_err)] - -#[cfg(feature = "cargo-all")] -compile_error!("'--all-features' is not supported; use '--features all' instead"); - -#[cfg(any(feature = "read_core", feature = "write_core"))] -#[allow(unused_imports)] -#[macro_use] -extern crate alloc; - -#[cfg(feature = "std")] -#[allow(unused_imports)] -#[macro_use] -extern crate std; - -mod common; -pub use common::*; - -#[macro_use] -pub mod endian; -pub use endian::*; - -#[macro_use] -pub mod pod; -pub use pod::*; - -#[cfg(feature = "read_core")] -pub mod read; -#[cfg(feature = "read_core")] -pub use read::*; - -#[cfg(feature = "write_core")] -pub mod write; - -#[cfg(feature = "build_core")] -pub mod build; - -#[cfg(feature = "archive")] -pub mod archive; -#[cfg(feature = "elf")] -pub mod elf; -#[cfg(feature = "macho")] -pub mod macho; -#[cfg(any(feature = "coff", feature = "pe"))] -pub mod pe; -#[cfg(feature = "xcoff")] -pub mod xcoff; |
