[package] name = "openpxe-core" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true description = "Shared types, config, and arch detection for OpenPXE" [lints] workspace = true [dependencies] serde.workspace = true serde_json.workspace = true toml.workspace = true figment.workspace = true thiserror.workspace = true anyhow.workspace = true tracing.workspace = true tracing-subscriber.workspace = true time.workspace = true uuid.workspace = true parking_lot.workspace = true tokio = { workspace = true, features = ["sync", "rt", "macros", "time"] } # bcrypt for the admin Forms auth (v0.4.5). Already in the workspace # for per-ISO boot passwords; just re-exported here. bcrypt.workspace = true # v0.5.1: pure-Rust SAML 2.0 SP. bergshamra = XML-DSig verify + exclusive # c14n (no OpenSSL/C). roxmltree/quick-xml parse + build SAML XML; # x509-parser pulls the IdP signing cert out of metadata; flate2+base64 # encode the HTTP-Redirect binding's SAMLRequest. bergshamra.workspace = true roxmltree.workspace = true quick-xml.workspace = true x509-parser.workspace = true flate2.workspace = true base64.workspace = true [dev-dependencies] tempfile = "3.12" # v0.5.4: figment's `Jail` (hermetic env/file sandbox) for the config # loader tests lives behind the `test` feature. figment = { workspace = true, features = ["test"] } # v0.5.1: generate a throwaway self-signed signing cert/key so SAML # verification tests can produce genuinely signed SAMLResponses. rcgen = "0.13"