2021-06-02 01:42:40 +02:00
|
|
|
//! The Kanidmd server library. This implements all of the internal components of the server
|
|
|
|
//! which is used to process authentication, store identities and enforce access controls.
|
|
|
|
|
2021-06-29 06:23:39 +02:00
|
|
|
#![recursion_limit = "512"]
|
2020-09-06 00:44:35 +02:00
|
|
|
#![deny(warnings)]
|
2019-09-04 03:06:37 +02:00
|
|
|
#![warn(unused_extern_crates)]
|
2021-12-16 01:13:03 +01:00
|
|
|
#![deny(clippy::todo)]
|
|
|
|
#![deny(clippy::unimplemented)]
|
2020-08-01 12:31:05 +02:00
|
|
|
#![deny(clippy::unwrap_used)]
|
|
|
|
#![deny(clippy::expect_used)]
|
2021-12-16 01:13:03 +01:00
|
|
|
#![deny(clippy::panic)]
|
2020-08-01 12:31:05 +02:00
|
|
|
#![deny(clippy::unreachable)]
|
|
|
|
#![deny(clippy::await_holding_lock)]
|
|
|
|
#![deny(clippy::needless_pass_by_value)]
|
|
|
|
#![deny(clippy::trivially_copy_pass_by_ref)]
|
2019-09-04 03:06:37 +02:00
|
|
|
|
2021-02-17 09:36:28 +01:00
|
|
|
#[cfg(all(jemallocator, test))]
|
2021-02-10 06:08:22 +01:00
|
|
|
#[global_allocator]
|
|
|
|
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
|
|
|
|
|
2021-04-14 01:56:40 +02:00
|
|
|
#[macro_use]
|
|
|
|
extern crate rusqlite;
|
2021-12-17 04:54:13 +01:00
|
|
|
#[macro_use]
|
|
|
|
extern crate tracing;
|
2019-09-04 03:06:37 +02:00
|
|
|
#[macro_use]
|
|
|
|
extern crate lazy_static;
|
|
|
|
|
2020-01-09 11:07:14 +01:00
|
|
|
// This has to be before 'be' so the import order works
|
2019-09-04 03:06:37 +02:00
|
|
|
#[macro_use]
|
2021-02-23 09:10:59 +01:00
|
|
|
pub mod macros;
|
|
|
|
|
2022-02-20 03:43:38 +01:00
|
|
|
pub mod crypto;
|
2021-02-23 09:10:59 +01:00
|
|
|
pub mod utils;
|
2019-09-04 03:06:37 +02:00
|
|
|
#[macro_use]
|
2020-06-18 02:30:42 +02:00
|
|
|
pub mod audit;
|
2020-02-29 05:02:14 +01:00
|
|
|
pub mod be;
|
2019-09-04 03:06:37 +02:00
|
|
|
pub mod constants;
|
2020-02-29 05:02:14 +01:00
|
|
|
pub mod credential;
|
2021-02-23 09:10:59 +01:00
|
|
|
pub mod entry;
|
|
|
|
pub mod event;
|
|
|
|
pub mod filter;
|
2021-05-26 08:11:00 +02:00
|
|
|
pub mod identity;
|
2022-02-20 03:43:38 +01:00
|
|
|
pub mod interval;
|
|
|
|
pub mod ldap;
|
2019-09-04 03:06:37 +02:00
|
|
|
mod modify;
|
2021-12-16 01:13:03 +01:00
|
|
|
pub(crate) mod value;
|
|
|
|
pub(crate) mod valueset;
|
2019-09-04 03:06:37 +02:00
|
|
|
#[macro_use]
|
|
|
|
mod plugins;
|
|
|
|
mod access;
|
2022-02-20 03:43:38 +01:00
|
|
|
pub mod actors;
|
2021-02-23 09:10:59 +01:00
|
|
|
pub mod idm;
|
2020-03-22 02:31:02 +01:00
|
|
|
mod repl;
|
2022-02-20 03:43:38 +01:00
|
|
|
pub mod schema;
|
2021-02-23 09:10:59 +01:00
|
|
|
pub mod server;
|
2022-02-20 03:43:38 +01:00
|
|
|
pub mod status;
|
2019-09-04 03:06:37 +02:00
|
|
|
|
|
|
|
pub mod config;
|
2021-04-25 03:35:02 +02:00
|
|
|
|
2021-08-19 03:04:24 +02:00
|
|
|
/// A prelude of imports that should be imported by all other Kanidm modules to
|
2021-06-02 01:42:40 +02:00
|
|
|
/// help make imports cleaner.
|
2021-04-25 03:35:02 +02:00
|
|
|
pub mod prelude {
|
2021-05-26 08:11:00 +02:00
|
|
|
pub use crate::utils::duration_from_epoch_now;
|
2021-04-25 03:35:02 +02:00
|
|
|
pub use kanidm_proto::v1::OperationError;
|
|
|
|
pub use smartstring::alias::String as AttrString;
|
2021-06-29 06:23:39 +02:00
|
|
|
pub use url::Url;
|
2021-04-25 03:35:02 +02:00
|
|
|
pub use uuid::Uuid;
|
|
|
|
|
2022-02-20 03:43:38 +01:00
|
|
|
pub use crate::tagged_event;
|
|
|
|
pub use crate::tracing_tree::EventTag;
|
|
|
|
|
2021-04-25 03:35:02 +02:00
|
|
|
pub use crate::constants::*;
|
2022-02-20 03:43:38 +01:00
|
|
|
pub use crate::filter::{
|
|
|
|
f_and, f_andnot, f_eq, f_id, f_inc, f_lt, f_or, f_pres, f_self, f_spn_name, f_sub,
|
|
|
|
};
|
|
|
|
pub use crate::filter::{Filter, FilterInvalid, FC};
|
|
|
|
pub use crate::modify::{m_pres, m_purge, m_remove};
|
|
|
|
pub use crate::modify::{Modify, ModifyList};
|
2021-06-29 06:23:39 +02:00
|
|
|
|
2021-04-25 03:35:02 +02:00
|
|
|
pub use crate::entry::{
|
|
|
|
Entry, EntryCommitted, EntryInit, EntryInvalid, EntryInvalidCommitted, EntryNew,
|
|
|
|
EntryReduced, EntrySealed, EntrySealedCommitted, EntryTuple, EntryValid,
|
|
|
|
};
|
2021-05-26 08:11:00 +02:00
|
|
|
pub use crate::identity::Identity;
|
2021-04-25 03:35:02 +02:00
|
|
|
pub use crate::server::{
|
|
|
|
QueryServer, QueryServerReadTransaction, QueryServerTransaction,
|
|
|
|
QueryServerWriteTransaction,
|
|
|
|
};
|
|
|
|
pub use crate::value::{IndexType, PartialValue, SyntaxType, Value};
|
2021-09-15 00:24:37 +02:00
|
|
|
pub use crate::valueset::ValueSet;
|
2021-08-19 03:04:24 +02:00
|
|
|
pub use crate::{
|
|
|
|
admin_error, admin_info, admin_warn, filter_error, filter_info, filter_trace, filter_warn,
|
|
|
|
perf_trace, request_error, request_info, request_trace, request_warn, security_access,
|
2021-10-17 13:28:04 +02:00
|
|
|
security_critical, security_error, security_info, spanned,
|
2021-08-19 03:04:24 +02:00
|
|
|
};
|
2021-04-25 03:35:02 +02:00
|
|
|
}
|
2021-08-19 03:04:24 +02:00
|
|
|
|
|
|
|
pub mod tracing_tree;
|