From 3ad4aa82cbfd8e3976e0fba389a77ddcec58c812 Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Mon, 20 Apr 2026 17:50:58 +0200 Subject: [PATCH] v0.16.0 --- .github/DISCUSSION_TEMPLATE/issue-triage.yml | 4 +- crates/common/src/config/mailstore/scripts.rs | 3 + crates/common/src/lib.rs | 2 +- crates/coordinator/src/lib.rs | 2 +- crates/dav/src/lib.rs | 2 +- crates/directory/src/lib.rs | 2 +- crates/email/src/lib.rs | 2 +- crates/groupware/src/lib.rs | 2 +- crates/http-proto/src/lib.rs | 2 +- crates/http/src/lib.rs | 2 +- crates/imap/src/lib.rs | 2 +- crates/jmap/src/lib.rs | 2 +- crates/jmap/src/registry/mapping/sieve.rs | 2 +- crates/jmap/src/registry/query.rs | 9 + crates/main/src/main.rs | 2 +- crates/managesieve/src/lib.rs | 2 +- crates/migration/src/lib.rs | 2 +- crates/pop3/src/lib.rs | 2 +- crates/registry/src/lib.rs | 2 +- crates/registry/src/schema/properties.rs | 2 +- crates/registry/src/schema/properties_impl.rs | 6 +- crates/registry/src/schema/structs.rs | 4 +- crates/registry/src/schema/structs_impl.rs | 12 +- crates/services/src/lib.rs | 2 +- crates/smtp/src/lib.rs | 2 +- crates/spam-filter/src/lib.rs | 2 +- crates/store/src/backend/postgres/lookup.rs | 5 +- crates/store/src/backend/postgres/search.rs | 4 +- crates/store/src/lib.rs | 2 +- crates/trc/src/lib.rs | 2 +- crates/utils/src/lib.rs | 2 +- install.sh | 434 +++++--- install.sh.new | 993 ------------------ resources/schema/schema.json.gz | Bin 138746 -> 138749 bytes resources/schema/schema.json.sha256 | 2 +- tests/Cargo.toml | 2 +- tests/docker/docker-compose.yml | 6 +- tests/src/automation/dns.rs | 2 +- tests/src/directory/integration.rs | 1 + tests/src/directory/ldap.rs | 2 + tests/src/directory/oidc.rs | 1 + tests/src/directory/sql.rs | 1 + tests/src/directory/synchronization.rs | 1 + 43 files changed, 337 insertions(+), 1201 deletions(-) delete mode 100644 install.sh.new diff --git a/.github/DISCUSSION_TEMPLATE/issue-triage.yml b/.github/DISCUSSION_TEMPLATE/issue-triage.yml index 12091e7e..c0a8fdfe 100644 --- a/.github/DISCUSSION_TEMPLATE/issue-triage.yml +++ b/.github/DISCUSSION_TEMPLATE/issue-triage.yml @@ -59,10 +59,10 @@ body: label: Stalwart Version description: What version of Stalwart are you running? options: + - v0.16.x - v0.15.x - v0.14.x - - v0.13.x - - v0.12.x or lower + - v0.13.x or lower validations: required: true - type: dropdown diff --git a/crates/common/src/config/mailstore/scripts.rs b/crates/common/src/config/mailstore/scripts.rs index 2f75fd2a..57e6c580 100644 --- a/crates/common/src/config/mailstore/scripts.rs +++ b/crates/common/src/config/mailstore/scripts.rs @@ -31,6 +31,7 @@ pub struct Scripting { pub untrusted_compiler: Compiler, pub untrusted_runtime: Runtime, pub trusted_runtime: Runtime, + pub trusted_compiler: Compiler, pub from_addr: IfBlock, pub from_name: IfBlock, pub return_path: IfBlock, @@ -176,6 +177,7 @@ impl Scripting { untrusted_compiler, untrusted_runtime, trusted_runtime, + trusted_compiler, untrusted_scripts, trusted_scripts, from_addr: bp.compile_expr( @@ -210,6 +212,7 @@ impl Clone for Scripting { sign: self.sign.clone(), trusted_scripts: self.trusted_scripts.clone(), untrusted_scripts: self.untrusted_scripts.clone(), + trusted_compiler: self.trusted_compiler.clone(), } } } diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index b4971a69..9e880859 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use crate::auth::{AccessTokenInner, EmailAddress}; use crate::manager::application::WebApplications; diff --git a/crates/coordinator/src/lib.rs b/crates/coordinator/src/lib.rs index 9d9a5115..3abbde90 100644 --- a/crates/coordinator/src/lib.rs +++ b/crates/coordinator/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] #[allow(unused_imports)] use std::sync::Arc; diff --git a/crates/dav/src/lib.rs b/crates/dav/src/lib.rs index 3adfc0ab..61b105d5 100644 --- a/crates/dav/src/lib.rs +++ b/crates/dav/src/lib.rs @@ -3,7 +3,7 @@ * * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod calendar; pub mod card; diff --git a/crates/directory/src/lib.rs b/crates/directory/src/lib.rs index 3c576bde..c225df71 100644 --- a/crates/directory/src/lib.rs +++ b/crates/directory/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use crate::backend::oidc::OpenIdDirectory; use backend::{ldap::LdapDirectory, sql::SqlDirectory}; diff --git a/crates/email/src/lib.rs b/crates/email/src/lib.rs index 42da9acb..815803d7 100644 --- a/crates/email/src/lib.rs +++ b/crates/email/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod cache; pub mod identity; diff --git a/crates/groupware/src/lib.rs b/crates/groupware/src/lib.rs index 0001a113..38602c22 100644 --- a/crates/groupware/src/lib.rs +++ b/crates/groupware/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use calcard::common::timezone::Tz; use common::DavResources; diff --git a/crates/http-proto/src/lib.rs b/crates/http-proto/src/lib.rs index f4fffffb..628b5436 100644 --- a/crates/http-proto/src/lib.rs +++ b/crates/http-proto/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod context; pub mod request; diff --git a/crates/http/src/lib.rs b/crates/http/src/lib.rs index 10f30703..f5adc5b6 100644 --- a/crates/http/src/lib.rs +++ b/crates/http/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod api; pub mod auth; diff --git a/crates/imap/src/lib.rs b/crates/imap/src/lib.rs index 4a56ead0..b2a83d5e 100644 --- a/crates/imap/src/lib.rs +++ b/crates/imap/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use std::sync::LazyLock; diff --git a/crates/jmap/src/lib.rs b/crates/jmap/src/lib.rs index 94414cb6..62fde961 100644 --- a/crates/jmap/src/lib.rs +++ b/crates/jmap/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod addressbook; pub mod api; diff --git a/crates/jmap/src/registry/mapping/sieve.rs b/crates/jmap/src/registry/mapping/sieve.rs index 04aae17e..dbd5dd20 100644 --- a/crates/jmap/src/registry/mapping/sieve.rs +++ b/crates/jmap/src/registry/mapping/sieve.rs @@ -20,7 +20,7 @@ pub(crate) async fn validate_sieve_script( if let Err(err) = server .core .sieve - .untrusted_compiler + .trusted_compiler .compile(script.as_bytes()) { return Ok(Err(SetError::invalid_properties() diff --git a/crates/jmap/src/registry/query.rs b/crates/jmap/src/registry/query.rs index 732fa42c..14044c40 100644 --- a/crates/jmap/src/registry/query.rs +++ b/crates/jmap/src/registry/query.rs @@ -397,6 +397,15 @@ impl RegistryQueryFilters for QueryRequest { max_results: usize, external_filter: Option, ) -> trc::Result { + #[cfg(feature = "test_mode")] + let comparator = self + .sort + .take() + .unwrap_or_default() + .into_iter() + .next() + .unwrap_or_else(|| Comparator::ascending(RegistryComparator::Property(Property::Id))); + #[cfg(not(feature = "test_mode"))] let comparator = self .sort .take() diff --git a/crates/main/src/main.rs b/crates/main/src/main.rs index 3c77bea3..d71e341e 100644 --- a/crates/main/src/main.rs +++ b/crates/main/src/main.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] #![warn(clippy::cast_possible_truncation)] #![warn(clippy::cast_possible_wrap)] #![warn(clippy::cast_sign_loss)] diff --git a/crates/managesieve/src/lib.rs b/crates/managesieve/src/lib.rs index fb665dff..0237a695 100644 --- a/crates/managesieve/src/lib.rs +++ b/crates/managesieve/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod core; pub mod op; diff --git a/crates/migration/src/lib.rs b/crates/migration/src/lib.rs index 483b59ef..3066afb8 100644 --- a/crates/migration/src/lib.rs +++ b/crates/migration/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use crate::v016::migrate_v0_16; use common::{DATABASE_SCHEMA_VERSION, Server}; diff --git a/crates/pop3/src/lib.rs b/crates/pop3/src/lib.rs index 3ca6c6d0..d800fd7e 100644 --- a/crates/pop3/src/lib.rs +++ b/crates/pop3/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use std::{net::IpAddr, sync::Arc}; diff --git a/crates/registry/src/lib.rs b/crates/registry/src/lib.rs index 1710fae9..0772aef0 100644 --- a/crates/registry/src/lib.rs +++ b/crates/registry/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod jmap; pub mod pickle; diff --git a/crates/registry/src/schema/properties.rs b/crates/registry/src/schema/properties.rs index 8cc4cb91..864549d8 100644 --- a/crates/registry/src/schema/properties.rs +++ b/crates/registry/src/schema/properties.rs @@ -447,7 +447,6 @@ pub enum Property { Directory = 12, DirectoryId = 104, DisableCapabilities = 711, - DisableLanguages = 666, DisabledPermissions = 629, DiscardAfter = 872, Disposition = 747, @@ -1047,6 +1046,7 @@ pub enum Property { Subscribe = 368, Sum = 494, Summary = 808, + SupportedLanguages = 666, Tag = 748, Tags = 746, TaskTypes = 189, diff --git a/crates/registry/src/schema/properties_impl.rs b/crates/registry/src/schema/properties_impl.rs index 603f9e6f..b9b3d500 100644 --- a/crates/registry/src/schema/properties_impl.rs +++ b/crates/registry/src/schema/properties_impl.rs @@ -600,7 +600,6 @@ impl EnumImpl for Property { b"directory" => Property::Directory, b"directoryId" => Property::DirectoryId, b"disableCapabilities" => Property::DisableCapabilities, - b"disableLanguages" => Property::DisableLanguages, b"disabledPermissions" => Property::DisabledPermissions, b"discardAfter" => Property::DiscardAfter, b"disposition" => Property::Disposition, @@ -1200,6 +1199,7 @@ impl EnumImpl for Property { b"subscribe" => Property::Subscribe, b"sum" => Property::Sum, b"summary" => Property::Summary, + b"supportedLanguages" => Property::SupportedLanguages, b"tag" => Property::Tag, b"tags" => Property::Tags, b"taskTypes" => Property::TaskTypes, @@ -1479,7 +1479,6 @@ impl EnumImpl for Property { Property::Directory => "directory", Property::DirectoryId => "directoryId", Property::DisableCapabilities => "disableCapabilities", - Property::DisableLanguages => "disableLanguages", Property::DisabledPermissions => "disabledPermissions", Property::DiscardAfter => "discardAfter", Property::Disposition => "disposition", @@ -2079,6 +2078,7 @@ impl EnumImpl for Property { Property::Subscribe => "subscribe", Property::Sum => "sum", Property::Summary => "summary", + Property::SupportedLanguages => "supportedLanguages", Property::Tag => "tag", Property::Tags => "tags", Property::TaskTypes => "taskTypes", @@ -2362,7 +2362,6 @@ impl EnumImpl for Property { 12 => Some(Property::Directory), 104 => Some(Property::DirectoryId), 711 => Some(Property::DisableCapabilities), - 666 => Some(Property::DisableLanguages), 629 => Some(Property::DisabledPermissions), 872 => Some(Property::DiscardAfter), 747 => Some(Property::Disposition), @@ -2962,6 +2961,7 @@ impl EnumImpl for Property { 368 => Some(Property::Subscribe), 494 => Some(Property::Sum), 808 => Some(Property::Summary), + 666 => Some(Property::SupportedLanguages), 748 => Some(Property::Tag), 746 => Some(Property::Tags), 189 => Some(Property::TaskTypes), diff --git a/crates/registry/src/schema/structs.rs b/crates/registry/src/schema/structs.rs index 24642375..f974651e 100644 --- a/crates/registry/src/schema/structs.rs +++ b/crates/registry/src/schema/structs.rs @@ -3436,8 +3436,8 @@ pub struct Search { pub index_batch_size: u64, #[serde(rename = "defaultLanguage")] pub default_language: Locale, - #[serde(rename = "disableLanguages")] - pub disable_languages: Map, + #[serde(rename = "supportedLanguages")] + pub supported_languages: Map, #[serde(rename = "indexCalendar")] pub index_calendar: bool, #[serde(rename = "indexCalendarFields")] diff --git a/crates/registry/src/schema/structs_impl.rs b/crates/registry/src/schema/structs_impl.rs index 25c04a99..fe0d334a 100644 --- a/crates/registry/src/schema/structs_impl.rs +++ b/crates/registry/src/schema/structs_impl.rs @@ -25923,7 +25923,7 @@ impl Pickle for Search { fn pickle(&self, out: &mut Vec) { self.index_batch_size.pickle(out); self.default_language.pickle(out); - self.disable_languages.pickle(out); + self.supported_languages.pickle(out); self.index_calendar.pickle(out); self.index_calendar_fields.pickle(out); self.index_contacts.pickle(out); @@ -25938,7 +25938,7 @@ impl Pickle for Search { let mut this = Self::default(); this.index_batch_size = Pickle::unpickle(stream)?; this.default_language = Pickle::unpickle(stream)?; - this.disable_languages = Pickle::unpickle(stream)?; + this.supported_languages = Pickle::unpickle(stream)?; this.index_calendar = Pickle::unpickle(stream)?; this.index_calendar_fields = Pickle::unpickle(stream)?; this.index_contacts = Pickle::unpickle(stream)?; @@ -25956,7 +25956,7 @@ impl Default for Search { Self { index_batch_size: 100u64, default_language: Locale::EnUS, - disable_languages: Default::default(), + supported_languages: Map::new(vec![Locale::EnUS]), index_calendar: true, index_calendar_fields: Map::new(vec![ SearchCalendarField::Title, @@ -26014,8 +26014,8 @@ impl IntoValue for Search { self.default_language.into_value(), ); map.insert_unchecked( - Property::DisableLanguages, - self.disable_languages.into_value(), + Property::SupportedLanguages, + self.supported_languages.into_value(), ); map.insert_unchecked(Property::IndexCalendar, self.index_calendar.into_value()); map.insert_unchecked( @@ -26050,7 +26050,7 @@ impl RegistryJsonPropertyPatch for Search { match pointer.next_property() { Some(Property::IndexBatchSize) => self.index_batch_size.patch(pointer, value), Some(Property::DefaultLanguage) => self.default_language.patch(pointer, value), - Some(Property::DisableLanguages) => self.disable_languages.patch(pointer, value), + Some(Property::SupportedLanguages) => self.supported_languages.patch(pointer, value), Some(Property::IndexCalendar) => self.index_calendar.patch(pointer, value), Some(Property::IndexCalendarFields) => self.index_calendar_fields.patch(pointer, value), Some(Property::IndexContacts) => self.index_contacts.patch(pointer, value), diff --git a/crates/services/src/lib.rs b/crates/services/src/lib.rs index 9032d87b..b249b46b 100644 --- a/crates/services/src/lib.rs +++ b/crates/services/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use broadcast::publisher::spawn_broadcast_publisher; use common::{ diff --git a/crates/smtp/src/lib.rs b/crates/smtp/src/lib.rs index 1fde369d..bf1cb5b0 100644 --- a/crates/smtp/src/lib.rs +++ b/crates/smtp/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] use common::{ Inner, diff --git a/crates/spam-filter/src/lib.rs b/crates/spam-filter/src/lib.rs index b4ca6df2..8a6cbfce 100644 --- a/crates/spam-filter/src/lib.rs +++ b/crates/spam-filter/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod analysis; pub mod modules; diff --git a/crates/store/src/backend/postgres/lookup.rs b/crates/store/src/backend/postgres/lookup.rs index 71374798..30b052f9 100644 --- a/crates/store/src/backend/postgres/lookup.rs +++ b/crates/store/src/backend/postgres/lookup.rs @@ -33,10 +33,7 @@ impl PostgresStore { .await .map_or_else(|e| Err(into_error(e)), |r| Ok(T::from_exec(r as usize))), QueryType::Exists => { - let rows = conn - .query_raw(&s, params.into_iter()) - .await - .map_err(into_error)?; + let rows = conn.query_raw(&s, params).await.map_err(into_error)?; pin_mut!(rows); rows.try_next() .await diff --git a/crates/store/src/backend/postgres/search.rs b/crates/store/src/backend/postgres/search.rs index 866f254d..8c5405f7 100644 --- a/crates/store/src/backend/postgres/search.rs +++ b/crates/store/src/backend/postgres/search.rs @@ -432,7 +432,7 @@ fn pg_lang(lang: &Language) -> Option<&'static str> { Language::Japanese => None, Language::Hebrew => None, Language::Yiddish => Some("yiddish"), - Language::Polish => Some("polish"), + Language::Polish => None, Language::Amharic => None, Language::Javanese => None, Language::Korean => None, @@ -443,7 +443,7 @@ fn pg_lang(lang: &Language) -> Option<&'static str> { Language::Turkish => Some("turkish"), Language::Dutch => Some("dutch"), Language::Hungarian => Some("hungarian"), - Language::Czech => Some("czech"), + Language::Czech => None, Language::Greek => Some("greek"), Language::Bulgarian => None, Language::Belarusian => None, diff --git a/crates/store/src/lib.rs b/crates/store/src/lib.rs index 18bbe6a5..9c3829f9 100644 --- a/crates/store/src/lib.rs +++ b/crates/store/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod backend; pub mod build; diff --git a/crates/trc/src/lib.rs b/crates/trc/src/lib.rs index 70923db5..cefa91b1 100644 --- a/crates/trc/src/lib.rs +++ b/crates/trc/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod atomics; pub mod event; diff --git a/crates/utils/src/lib.rs b/crates/utils/src/lib.rs index 63476e94..69f6e20d 100644 --- a/crates/utils/src/lib.rs +++ b/crates/utils/src/lib.rs @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ -#![deny(clippy::large_futures)] +#![warn(clippy::large_futures)] pub mod bimap; pub mod cache; diff --git a/install.sh b/install.sh index 4f6c8356..535bb732 100644 --- a/install.sh +++ b/install.sh @@ -19,136 +19,259 @@ main() { need_cmd uname need_cmd mktemp need_cmd chmod + need_cmd chown need_cmd mkdir need_cmd rm - need_cmd rmdir need_cmd tar + need_cmd cp + need_cmd hostname - # Make sure we are running as root - if [ "$(id -u)" -ne 0 ] ; then + # Require root + if [ "$(id -u)" -ne 0 ]; then err "❌ Install failed: This program needs to run as root." fi # Detect OS - local _os="unknown" - local _uname="$(uname)" + local _os _uname _account + _uname="$(uname)" _account="stalwart" - if [ "${_uname}" = "Linux" ]; then - _os="linux" - elif [ "${_uname}" = "Darwin" ]; then - _os="macos" - _account="_stalwart" - fi + case "$_uname" in + Linux) _os="linux" ;; + Darwin) _os="macos"; _account="_stalwart" ;; + *) err "❌ Install failed: Unsupported OS: $_uname" ;; + esac - # Read arguments - local _dir="/opt/stalwart" - - # Default component setting + # Parse arguments local _component="stalwart" - - # Loop through the arguments - for arg in "$@"; do - case "$arg" in + local _prefix="" + while [ $# -gt 0 ]; do + case "$1" in --fdb) _component="stalwart-foundationdb" ;; + -h|--help) + print_usage + exit 0 + ;; + --*|-*) + err "❌ Unknown flag: $1 (try --help)" + ;; *) - if [ -n "$arg" ]; then - _dir=$arg + if [ -n "$_prefix" ]; then + err "❌ Only one prefix argument is allowed, got: $_prefix $1" fi + _prefix="$1" ;; esac + shift done - # Detect platform architecture + # Derive install paths — FHS by default, self-contained under a custom prefix + local _bin_dir _bin_file _conf_dir _log_dir _data_dir _env_file _config_file + if [ -z "$_prefix" ]; then + _bin_dir="/usr/local/bin" + _conf_dir="/etc/stalwart" + _log_dir="/var/log/stalwart" + _data_dir="/var/lib/stalwart" + else + _bin_dir="${_prefix}/bin" + _conf_dir="${_prefix}/etc" + _log_dir="${_prefix}/logs" + _data_dir="${_prefix}/data" + fi + _bin_file="${_bin_dir}/stalwart" + _config_file="${_conf_dir}/config.json" + _env_file="${_conf_dir}/stalwart.env" + + # Detect architecture get_architecture || return 1 local _arch="$RETVAL" assert_nz "$_arch" "arch" + # Create service account + create_account "$_os" "$_account" + # Create directories - ensure mkdir -p "$_dir" "$_dir/bin" "$_dir/etc" "$_dir/logs" + ensure mkdir -p "$_bin_dir" "$_conf_dir" "$_log_dir" "$_data_dir" - # Download latest binary + # Download and install the binary say "⏳ Downloading ${_component} for ${_arch}..." - local _file="${_dir}/bin/stalwart.tar.gz" - local _url="${BASE_URL}/${_component}-${_arch}.tar.gz" - ensure mkdir -p "$_dir" - ensure downloader "$_url" "$_file" "$_arch" - ensure tar zxvf "$_file" -C "$_dir/bin" + local _tmp _tar _src_name + _tmp="$(mktemp -d)" + _tar="${_tmp}/stalwart.tar.gz" + ensure downloader "${BASE_URL}/${_component}-${_arch}.tar.gz" "$_tar" "$_arch" + ensure tar zxf "$_tar" -C "$_tmp" + _src_name="stalwart" if [ "$_component" = "stalwart-foundationdb" ]; then - ignore mv "$_dir/bin/stalwart-foundationdb" "$_dir/bin/stalwart" + _src_name="stalwart-foundationdb" fi - ignore chmod +x "$_dir/bin/stalwart" - ignore rm "$_file" + ensure cp "${_tmp}/${_src_name}" "$_bin_file" + ensure chmod 0755 "$_bin_file" + ensure rm -rf "$_tmp" - # Create system account - if ! id -u ${_account} > /dev/null 2>&1; then - say "🖥️ Creating '${_account}' account..." - if [ "${_os}" = "macos" ]; then - local _last_uid="$(dscacheutil -q user | grep uid | awk '{print $2}' | sort -n | tail -n 1)" - local _last_gid="$(dscacheutil -q group | grep gid | awk '{print $2}' | sort -n | tail -n 1)" - local _uid="$((_last_uid+1))" - local _gid="$((_last_gid+1))" - - ensure dscl /Local/Default -create Groups/_stalwart - ensure dscl /Local/Default -create Groups/_stalwart Password \* - ensure dscl /Local/Default -create Groups/_stalwart PrimaryGroupID $_gid - ensure dscl /Local/Default -create Groups/_stalwart RealName "Stalwart service" - ensure dscl /Local/Default -create Groups/_stalwart RecordName _stalwart stalwart - - ensure dscl /Local/Default -create Users/_stalwart - ensure dscl /Local/Default -create Users/_stalwart NFSHomeDirectory /Users/_stalwart - ensure dscl /Local/Default -create Users/_stalwart Password \* - ensure dscl /Local/Default -create Users/_stalwart PrimaryGroupID $_gid - ensure dscl /Local/Default -create Users/_stalwart RealName "Stalwart service" - ensure dscl /Local/Default -create Users/_stalwart RecordName _stalwart stalwart - ensure dscl /Local/Default -create Users/_stalwart UniqueID $_uid - ensure dscl /Local/Default -create Users/_stalwart UserShell /bin/bash - - ensure dscl /Local/Default -delete /Users/_stalwart AuthenticationAuthority - ensure dscl /Local/Default -delete /Users/_stalwart PasswordPolicyOptions - else - ensure useradd ${_account} -s /usr/sbin/nologin -M -r -U - fi + # Create env file if absent (preserve user edits on reinstall) + if [ ! -e "$_env_file" ]; then + say "📝 Writing env file at ${_env_file}..." + write_env_file "$_env_file" fi - # Run init - ignore $_dir/bin/stalwart --init "$_dir" - - # Set permissions + # Ownership and permissions say "🔐 Setting permissions..." - ensure chown -R ${_account}:${_account} "$_dir" - ensure chmod -R 755 "$_dir" - ensure chmod 700 "$_dir/etc/config.toml" + ensure chown "${_account}:${_account}" "$_conf_dir" "$_log_dir" "$_data_dir" + ensure chmod 0750 "$_conf_dir" "$_log_dir" "$_data_dir" + ensure chown "root:${_account}" "$_env_file" + ensure chmod 0640 "$_env_file" - # Create service file + # Install and start the service say "🚀 Starting service..." - if [ "${_os}" = "linux" ]; then - local _issystemdlinux=$(command -v systemctl) - if [ -n "$_issystemdlinux" ]; then - create_service_linux_systemd "$_dir" - else - create_service_linux_initd "$_dir" - fi - elif [ "${_os}" = "macos" ]; then - create_service_macos "$_dir" - fi + local _service_type="" + case "$_os" in + linux) + if check_cmd systemctl; then + create_service_linux_systemd "$_bin_file" "$_config_file" "$_env_file" "$_account" + _service_type="systemd" + else + create_service_linux_initd "$_bin_file" "$_config_file" "$_env_file" "$_account" + _service_type="initd" + fi + ;; + macos) + create_service_macos "$_bin_file" "$_config_file" "$_env_file" "$_account" + _service_type="launchd" + ;; + esac - # Installation complete - local _host=$(hostname -f) - say "🎉 Installation complete! Continue the setup at http://$_host:8080/login" + # Completion message + local _host + _host="$(hostname -f 2>/dev/null || hostname)" + say "" + say "🎉 Installation complete!" + say "" + say "Stalwart is running in bootstrap mode. A temporary administrator" + say "password was generated at startup and printed to the service logs." + say "" + say "👉 To find the password, inspect the service logs:" + case "$_service_type" in + systemd) + say " journalctl -u stalwart -n 200 | grep -A8 'bootstrap mode'" + ;; + initd) + say " grep -A8 'bootstrap mode' /var/log/syslog 2>/dev/null \\" + say " || grep -A8 'bootstrap mode' /var/log/messages" + ;; + launchd) + say " sudo log show --predicate 'process == \"stalwart\"' --last 5m" + ;; + esac + say "" + say " Or set STALWART_RECOVERY_ADMIN=admin: in" + say " ${_env_file} and restart the service to pin a credential." + say "" + say " Finish setup at: http://${_host}:8080/admin" + say "" return 0 } -# Functions to create service files +print_usage() { + cat <<'EOF' +Usage: install.sh [--fdb] [PREFIX] + +Install Stalwart into standard FHS paths or under a custom prefix. + +Options: + --fdb Install the FoundationDB build. + -h, --help Show this help. + +With no PREFIX, Stalwart is installed under standard FHS paths: + binary /usr/local/bin/stalwart + config /etc/stalwart/config.json (created by the daemon on first run) + env /etc/stalwart/stalwart.env + logs /var/log/stalwart/ + data /var/lib/stalwart/ + +When PREFIX is provided, a self-contained layout is used instead: + binary $PREFIX/bin/stalwart + config $PREFIX/etc/config.json + env $PREFIX/etc/stalwart.env + logs $PREFIX/logs/ + data $PREFIX/data/ +EOF +} + +write_env_file() { + cat > "$1" <<'EOF' +# Environment variables for the Stalwart service. +# Uncomment and edit an entry to override its default. + +# Override the hostname used in HTTP responses +#STALWART_HOSTNAME=mail.example.com + +# Enable bootstrap / recovery mode on startup. Accepted: 1, true. Default: false. +#STALWART_RECOVERY_MODE=true + +# Log level while in recovery mode. Default: info. +#STALWART_RECOVERY_MODE_LOG_LEVEL=debug + +# HTTP port used in recovery mode. Default: 8080. +#STALWART_RECOVERY_MODE_PORT=9090 + +# Fixed administrator credentials — format: username:password +# Default: a temporary random password is generated and printed to the logs. +#STALWART_RECOVERY_ADMIN=admin:changeme + +# Cluster role assigned to this node. Must match a role name defined in the +# cluster registry. Leave unset for a standalone (non-clustered) deployment. +#STALWART_ROLE=primary + +# Push-notification shard this node is responsible for, when running in a +# cluster. +#STALWART_PUSH_SHARD=1 +EOF +} + +create_account() { + local _os="$1" + local _account="$2" + if id -u "$_account" > /dev/null 2>&1; then + return 0 + fi + say "🖥️ Creating '${_account}' account..." + if [ "$_os" = "macos" ]; then + local _last_uid _last_gid _uid _gid + _last_uid="$(dscacheutil -q user | grep uid | awk '{print $2}' | sort -n | tail -n 1)" + _last_gid="$(dscacheutil -q group | grep gid | awk '{print $2}' | sort -n | tail -n 1)" + _uid="$((_last_uid+1))" + _gid="$((_last_gid+1))" + + ensure dscl /Local/Default -create Groups/_stalwart + ensure dscl /Local/Default -create Groups/_stalwart Password \* + ensure dscl /Local/Default -create Groups/_stalwart PrimaryGroupID $_gid + ensure dscl /Local/Default -create Groups/_stalwart RealName "Stalwart service" + ensure dscl /Local/Default -create Groups/_stalwart RecordName _stalwart stalwart + + ensure dscl /Local/Default -create Users/_stalwart + ensure dscl /Local/Default -create Users/_stalwart NFSHomeDirectory /var/empty + ensure dscl /Local/Default -create Users/_stalwart Password \* + ensure dscl /Local/Default -create Users/_stalwart PrimaryGroupID $_gid + ensure dscl /Local/Default -create Users/_stalwart RealName "Stalwart service" + ensure dscl /Local/Default -create Users/_stalwart RecordName _stalwart stalwart + ensure dscl /Local/Default -create Users/_stalwart UniqueID $_uid + ensure dscl /Local/Default -create Users/_stalwart UserShell /usr/bin/false + + ensure dscl /Local/Default -delete /Users/_stalwart AuthenticationAuthority + ensure dscl /Local/Default -delete /Users/_stalwart PasswordPolicyOptions + else + ensure useradd "$_account" -s /usr/sbin/nologin -M -r -U + fi +} + create_service_linux_systemd() { - local _dir="$1" - cat < /etc/systemd/system/stalwart.service + local _bin="$1" _config="$2" _env="$3" _user="$4" + cat > /etc/systemd/system/stalwart.service < /etc/init.d/stalwart + local _bin="$1" _config="$2" _env="$3" _user="$4" + cat > /etc/init.d/stalwart < /dev/null \ + start-stop-daemon --start --quiet --pidfile \$PIDFILE --exec \$DAEMON --test > /dev/null \\ || return 1 - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ - --background --make-pidfile --chuid stalwart:stalwart \ - -- $DAEMON_ARGS \ + start-stop-daemon --start --quiet --pidfile \$PIDFILE --exec \$DAEMON \\ + --background --make-pidfile --chuid ${_user}:${_user} \\ + -- \$DAEMON_ARGS \\ || return 2 } do_stop() { - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=INT/30/KILL/5 --pidfile $PIDFILE --name stalwart - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" + start-stop-daemon --stop --quiet --retry=INT/30/KILL/5 --pidfile \$PIDFILE --name stalwart + RETVAL="\$?" + [ "\$RETVAL" = 2 ] && return 2 + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec \$DAEMON + [ "\$?" = 2 ] && return 2 + rm -f \$PIDFILE + return "\$RETVAL" } -case "$1" in +case "\$1" in start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting Stalwart Server" "stalwart" + [ "\$VERBOSE" != no ] && log_daemon_msg "Starting Stalwart Server" "stalwart" do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + case "\$?" in + 0|1) [ "\$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "\$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping Stalwart Server" "stalwart" + [ "\$VERBOSE" != no ] && log_daemon_msg "Stopping Stalwart Server" "stalwart" do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + case "\$?" in + 0|1) [ "\$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "\$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) - status_of_proc "$DAEMON" "stalwart" && exit 0 || exit $? + status_of_proc "\$DAEMON" "stalwart" && exit 0 || exit \$? ;; restart) log_daemon_msg "Restarting Stalwart Server" "stalwart" do_stop - case "$?" in + case "\$?" in 0|1) do_start - case "$?" in + case "\$?" in 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start + *) log_end_msg 1 ;; esac ;; *) - # Failed to stop log_end_msg 1 ;; esac @@ -290,34 +398,40 @@ esac exit 0 EOF chmod +x /etc/init.d/stalwart - - cat < /etc/default/stalwart -# Configuration for Stalwart init script being run during -# the boot sequence - -# Set to 'yes' to enable additional verbosity -#VERBOSE=no -EOF update-rc.d stalwart defaults service stalwart start } create_service_macos() { - local _dir="$1" - cat < /Library/LaunchAgents/stalwart.mail.plist + local _bin="$1" _config="$2" _env="$3" _user="$4" + local _plist="/Library/LaunchDaemons/stalwart.plist" + + # Remove any legacy LaunchAgent from a prior install + if [ -f /Library/LaunchAgents/stalwart.mail.plist ]; then + launchctl unload /Library/LaunchAgents/stalwart.mail.plist 2>/dev/null || true + rm -f /Library/LaunchAgents/stalwart.mail.plist + fi + + # launchd has no EnvironmentFile equivalent — wrap with sh to source the env file + cat > "$_plist" < Label - stalwart.mail + stalwart ServiceDescription Stalwart + UserName + ${_user} + GroupName + ${_user} ProgramArguments - __PATH__/bin/stalwart - --config=__PATH__/etc/config.toml + /bin/sh + -c + set -a; if [ -r "${_env}" ]; then . "${_env}"; fi; set +a; exec "${_bin}" --config="${_config}" RunAtLoad @@ -326,9 +440,11 @@ create_service_macos() { EOF - launchctl load /Library/LaunchAgents/stalwart.mail.plist - launchctl enable system/stalwart.mail - launchctl start system/stalwart.mail + chmod 0644 "$_plist" + chown root:wheel "$_plist" + launchctl bootout system "$_plist" 2>/dev/null || true + launchctl bootstrap system "$_plist" + launchctl enable system/stalwart } diff --git a/install.sh.new b/install.sh.new deleted file mode 100644 index 535bb732..00000000 --- a/install.sh.new +++ /dev/null @@ -1,993 +0,0 @@ -#!/usr/bin/env sh -# shellcheck shell=dash - -# -# SPDX-FileCopyrightText: 2020 Stalwart Labs LLC -# -# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL -# - -# Stalwart install script -- based on the rustup installation script. - -set -e -set -u - -readonly BASE_URL="https://github.com/stalwartlabs/stalwart/releases/latest/download" - -main() { - downloader --check - need_cmd uname - need_cmd mktemp - need_cmd chmod - need_cmd chown - need_cmd mkdir - need_cmd rm - need_cmd tar - need_cmd cp - need_cmd hostname - - # Require root - if [ "$(id -u)" -ne 0 ]; then - err "❌ Install failed: This program needs to run as root." - fi - - # Detect OS - local _os _uname _account - _uname="$(uname)" - _account="stalwart" - case "$_uname" in - Linux) _os="linux" ;; - Darwin) _os="macos"; _account="_stalwart" ;; - *) err "❌ Install failed: Unsupported OS: $_uname" ;; - esac - - # Parse arguments - local _component="stalwart" - local _prefix="" - while [ $# -gt 0 ]; do - case "$1" in - --fdb) - _component="stalwart-foundationdb" - ;; - -h|--help) - print_usage - exit 0 - ;; - --*|-*) - err "❌ Unknown flag: $1 (try --help)" - ;; - *) - if [ -n "$_prefix" ]; then - err "❌ Only one prefix argument is allowed, got: $_prefix $1" - fi - _prefix="$1" - ;; - esac - shift - done - - # Derive install paths — FHS by default, self-contained under a custom prefix - local _bin_dir _bin_file _conf_dir _log_dir _data_dir _env_file _config_file - if [ -z "$_prefix" ]; then - _bin_dir="/usr/local/bin" - _conf_dir="/etc/stalwart" - _log_dir="/var/log/stalwart" - _data_dir="/var/lib/stalwart" - else - _bin_dir="${_prefix}/bin" - _conf_dir="${_prefix}/etc" - _log_dir="${_prefix}/logs" - _data_dir="${_prefix}/data" - fi - _bin_file="${_bin_dir}/stalwart" - _config_file="${_conf_dir}/config.json" - _env_file="${_conf_dir}/stalwart.env" - - # Detect architecture - get_architecture || return 1 - local _arch="$RETVAL" - assert_nz "$_arch" "arch" - - # Create service account - create_account "$_os" "$_account" - - # Create directories - ensure mkdir -p "$_bin_dir" "$_conf_dir" "$_log_dir" "$_data_dir" - - # Download and install the binary - say "⏳ Downloading ${_component} for ${_arch}..." - local _tmp _tar _src_name - _tmp="$(mktemp -d)" - _tar="${_tmp}/stalwart.tar.gz" - ensure downloader "${BASE_URL}/${_component}-${_arch}.tar.gz" "$_tar" "$_arch" - ensure tar zxf "$_tar" -C "$_tmp" - _src_name="stalwart" - if [ "$_component" = "stalwart-foundationdb" ]; then - _src_name="stalwart-foundationdb" - fi - ensure cp "${_tmp}/${_src_name}" "$_bin_file" - ensure chmod 0755 "$_bin_file" - ensure rm -rf "$_tmp" - - # Create env file if absent (preserve user edits on reinstall) - if [ ! -e "$_env_file" ]; then - say "📝 Writing env file at ${_env_file}..." - write_env_file "$_env_file" - fi - - # Ownership and permissions - say "🔐 Setting permissions..." - ensure chown "${_account}:${_account}" "$_conf_dir" "$_log_dir" "$_data_dir" - ensure chmod 0750 "$_conf_dir" "$_log_dir" "$_data_dir" - ensure chown "root:${_account}" "$_env_file" - ensure chmod 0640 "$_env_file" - - # Install and start the service - say "🚀 Starting service..." - local _service_type="" - case "$_os" in - linux) - if check_cmd systemctl; then - create_service_linux_systemd "$_bin_file" "$_config_file" "$_env_file" "$_account" - _service_type="systemd" - else - create_service_linux_initd "$_bin_file" "$_config_file" "$_env_file" "$_account" - _service_type="initd" - fi - ;; - macos) - create_service_macos "$_bin_file" "$_config_file" "$_env_file" "$_account" - _service_type="launchd" - ;; - esac - - # Completion message - local _host - _host="$(hostname -f 2>/dev/null || hostname)" - say "" - say "🎉 Installation complete!" - say "" - say "Stalwart is running in bootstrap mode. A temporary administrator" - say "password was generated at startup and printed to the service logs." - say "" - say "👉 To find the password, inspect the service logs:" - case "$_service_type" in - systemd) - say " journalctl -u stalwart -n 200 | grep -A8 'bootstrap mode'" - ;; - initd) - say " grep -A8 'bootstrap mode' /var/log/syslog 2>/dev/null \\" - say " || grep -A8 'bootstrap mode' /var/log/messages" - ;; - launchd) - say " sudo log show --predicate 'process == \"stalwart\"' --last 5m" - ;; - esac - say "" - say " Or set STALWART_RECOVERY_ADMIN=admin: in" - say " ${_env_file} and restart the service to pin a credential." - say "" - say " Finish setup at: http://${_host}:8080/admin" - say "" - - return 0 -} - -print_usage() { - cat <<'EOF' -Usage: install.sh [--fdb] [PREFIX] - -Install Stalwart into standard FHS paths or under a custom prefix. - -Options: - --fdb Install the FoundationDB build. - -h, --help Show this help. - -With no PREFIX, Stalwart is installed under standard FHS paths: - binary /usr/local/bin/stalwart - config /etc/stalwart/config.json (created by the daemon on first run) - env /etc/stalwart/stalwart.env - logs /var/log/stalwart/ - data /var/lib/stalwart/ - -When PREFIX is provided, a self-contained layout is used instead: - binary $PREFIX/bin/stalwart - config $PREFIX/etc/config.json - env $PREFIX/etc/stalwart.env - logs $PREFIX/logs/ - data $PREFIX/data/ -EOF -} - -write_env_file() { - cat > "$1" <<'EOF' -# Environment variables for the Stalwart service. -# Uncomment and edit an entry to override its default. - -# Override the hostname used in HTTP responses -#STALWART_HOSTNAME=mail.example.com - -# Enable bootstrap / recovery mode on startup. Accepted: 1, true. Default: false. -#STALWART_RECOVERY_MODE=true - -# Log level while in recovery mode. Default: info. -#STALWART_RECOVERY_MODE_LOG_LEVEL=debug - -# HTTP port used in recovery mode. Default: 8080. -#STALWART_RECOVERY_MODE_PORT=9090 - -# Fixed administrator credentials — format: username:password -# Default: a temporary random password is generated and printed to the logs. -#STALWART_RECOVERY_ADMIN=admin:changeme - -# Cluster role assigned to this node. Must match a role name defined in the -# cluster registry. Leave unset for a standalone (non-clustered) deployment. -#STALWART_ROLE=primary - -# Push-notification shard this node is responsible for, when running in a -# cluster. -#STALWART_PUSH_SHARD=1 -EOF -} - -create_account() { - local _os="$1" - local _account="$2" - if id -u "$_account" > /dev/null 2>&1; then - return 0 - fi - say "🖥️ Creating '${_account}' account..." - if [ "$_os" = "macos" ]; then - local _last_uid _last_gid _uid _gid - _last_uid="$(dscacheutil -q user | grep uid | awk '{print $2}' | sort -n | tail -n 1)" - _last_gid="$(dscacheutil -q group | grep gid | awk '{print $2}' | sort -n | tail -n 1)" - _uid="$((_last_uid+1))" - _gid="$((_last_gid+1))" - - ensure dscl /Local/Default -create Groups/_stalwart - ensure dscl /Local/Default -create Groups/_stalwart Password \* - ensure dscl /Local/Default -create Groups/_stalwart PrimaryGroupID $_gid - ensure dscl /Local/Default -create Groups/_stalwart RealName "Stalwart service" - ensure dscl /Local/Default -create Groups/_stalwart RecordName _stalwart stalwart - - ensure dscl /Local/Default -create Users/_stalwart - ensure dscl /Local/Default -create Users/_stalwart NFSHomeDirectory /var/empty - ensure dscl /Local/Default -create Users/_stalwart Password \* - ensure dscl /Local/Default -create Users/_stalwart PrimaryGroupID $_gid - ensure dscl /Local/Default -create Users/_stalwart RealName "Stalwart service" - ensure dscl /Local/Default -create Users/_stalwart RecordName _stalwart stalwart - ensure dscl /Local/Default -create Users/_stalwart UniqueID $_uid - ensure dscl /Local/Default -create Users/_stalwart UserShell /usr/bin/false - - ensure dscl /Local/Default -delete /Users/_stalwart AuthenticationAuthority - ensure dscl /Local/Default -delete /Users/_stalwart PasswordPolicyOptions - else - ensure useradd "$_account" -s /usr/sbin/nologin -M -r -U - fi -} - -create_service_linux_systemd() { - local _bin="$1" _config="$2" _env="$3" _user="$4" - cat > /etc/systemd/system/stalwart.service < /etc/init.d/stalwart < /dev/null \\ - || return 1 - start-stop-daemon --start --quiet --pidfile \$PIDFILE --exec \$DAEMON \\ - --background --make-pidfile --chuid ${_user}:${_user} \\ - -- \$DAEMON_ARGS \\ - || return 2 -} - -do_stop() -{ - start-stop-daemon --stop --quiet --retry=INT/30/KILL/5 --pidfile \$PIDFILE --name stalwart - RETVAL="\$?" - [ "\$RETVAL" = 2 ] && return 2 - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec \$DAEMON - [ "\$?" = 2 ] && return 2 - rm -f \$PIDFILE - return "\$RETVAL" -} - -case "\$1" in - start) - [ "\$VERBOSE" != no ] && log_daemon_msg "Starting Stalwart Server" "stalwart" - do_start - case "\$?" in - 0|1) [ "\$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "\$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "\$VERBOSE" != no ] && log_daemon_msg "Stopping Stalwart Server" "stalwart" - do_stop - case "\$?" in - 0|1) [ "\$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "\$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - status) - status_of_proc "\$DAEMON" "stalwart" && exit 0 || exit \$? - ;; - restart) - log_daemon_msg "Restarting Stalwart Server" "stalwart" - do_stop - case "\$?" in - 0|1) - do_start - case "\$?" in - 0) log_end_msg 0 ;; - *) log_end_msg 1 ;; - esac - ;; - *) - log_end_msg 1 - ;; - esac - ;; - *) - echo "Usage: /etc/init.d/stalwart {start|stop|status|restart}" >&2 - exit 3 - ;; -esac - -exit 0 -EOF - chmod +x /etc/init.d/stalwart - update-rc.d stalwart defaults - service stalwart start -} - -create_service_macos() { - local _bin="$1" _config="$2" _env="$3" _user="$4" - local _plist="/Library/LaunchDaemons/stalwart.plist" - - # Remove any legacy LaunchAgent from a prior install - if [ -f /Library/LaunchAgents/stalwart.mail.plist ]; then - launchctl unload /Library/LaunchAgents/stalwart.mail.plist 2>/dev/null || true - rm -f /Library/LaunchAgents/stalwart.mail.plist - fi - - # launchd has no EnvironmentFile equivalent — wrap with sh to source the env file - cat > "$_plist" < - - - - Label - stalwart - ServiceDescription - Stalwart - UserName - ${_user} - GroupName - ${_user} - ProgramArguments - - /bin/sh - -c - set -a; if [ -r "${_env}" ]; then . "${_env}"; fi; set +a; exec "${_bin}" --config="${_config}" - - RunAtLoad - - KeepAlive - - - -EOF - chmod 0644 "$_plist" - chown root:wheel "$_plist" - launchctl bootout system "$_plist" 2>/dev/null || true - launchctl bootstrap system "$_plist" - launchctl enable system/stalwart -} - - -get_architecture() { - local _ostype _cputype _bitness _arch _clibtype - _ostype="$(uname -s)" - _cputype="$(uname -m)" - _clibtype="gnu" - - if [ "$_ostype" = Linux ]; then - if [ "$(uname -o)" = Android ]; then - _ostype=Android - fi - if ldd --version 2>&1 | grep -q 'musl'; then - _clibtype="musl" - fi - fi - - if [ "$_ostype" = Darwin ] && [ "$_cputype" = i386 ]; then - # Darwin `uname -m` lies - if sysctl hw.optional.x86_64 | grep -q ': 1'; then - _cputype=x86_64 - fi - fi - - if [ "$_ostype" = SunOS ]; then - # Both Solaris and illumos presently announce as "SunOS" in "uname -s" - # so use "uname -o" to disambiguate. We use the full path to the - # system uname in case the user has coreutils uname first in PATH, - # which has historically sometimes printed the wrong value here. - if [ "$(/usr/bin/uname -o)" = illumos ]; then - _ostype=illumos - fi - - # illumos systems have multi-arch userlands, and "uname -m" reports the - # machine hardware name; e.g., "i86pc" on both 32- and 64-bit x86 - # systems. Check for the native (widest) instruction set on the - # running kernel: - if [ "$_cputype" = i86pc ]; then - _cputype="$(isainfo -n)" - fi - fi - - case "$_ostype" in - - Android) - _ostype=linux-android - ;; - - Linux) - check_proc - _ostype=unknown-linux-$_clibtype - _bitness=$(get_bitness) - ;; - - FreeBSD) - _ostype=unknown-freebsd - ;; - - NetBSD) - _ostype=unknown-netbsd - ;; - - DragonFly) - _ostype=unknown-dragonfly - ;; - - Darwin) - _ostype=apple-darwin - ;; - - illumos) - _ostype=unknown-illumos - ;; - - MINGW* | MSYS* | CYGWIN* | Windows_NT) - _ostype=pc-windows-gnu - ;; - - *) - err "unrecognized OS type: $_ostype" - ;; - - esac - - case "$_cputype" in - - i386 | i486 | i686 | i786 | x86) - _cputype=i686 - ;; - - xscale | arm) - _cputype=arm - if [ "$_ostype" = "linux-android" ]; then - _ostype=linux-androideabi - fi - ;; - - armv6l) - _cputype=arm - if [ "$_ostype" = "linux-android" ]; then - _ostype=linux-androideabi - else - _ostype="${_ostype}eabihf" - fi - ;; - - armv7l | armv8l) - _cputype=armv7 - if [ "$_ostype" = "linux-android" ]; then - _ostype=linux-androideabi - else - _ostype="${_ostype}eabihf" - fi - ;; - - aarch64 | arm64) - _cputype=aarch64 - ;; - - x86_64 | x86-64 | x64 | amd64) - _cputype=x86_64 - ;; - - mips) - _cputype=$(get_endianness mips '' el) - ;; - - mips64) - if [ "$_bitness" -eq 64 ]; then - # only n64 ABI is supported for now - _ostype="${_ostype}abi64" - _cputype=$(get_endianness mips64 '' el) - fi - ;; - - ppc) - _cputype=powerpc - ;; - - ppc64) - _cputype=powerpc64 - ;; - - ppc64le) - _cputype=powerpc64le - ;; - - s390x) - _cputype=s390x - ;; - riscv64) - _cputype=riscv64gc - ;; - *) - err "unknown CPU type: $_cputype" - - esac - - # Detect 64-bit linux with 32-bit userland - if [ "${_ostype}" = unknown-linux-gnu ] && [ "${_bitness}" -eq 32 ]; then - case $_cputype in - x86_64) - if [ -n "${RUSTUP_CPUTYPE:-}" ]; then - _cputype="$RUSTUP_CPUTYPE" - else { - # 32-bit executable for amd64 = x32 - if is_host_amd64_elf; then { - echo "This host is running an x32 userland; as it stands, x32 support is poor," 1>&2 - echo "and there isn't a native toolchain -- you will have to install" 1>&2 - echo "multiarch compatibility with i686 and/or amd64, then select one" 1>&2 - echo "by re-running this script with the RUSTUP_CPUTYPE environment variable" 1>&2 - echo "set to i686 or x86_64, respectively." 1>&2 - echo 1>&2 - echo "You will be able to add an x32 target after installation by running" 1>&2 - echo " rustup target add x86_64-unknown-linux-gnux32" 1>&2 - exit 1 - }; else - _cputype=i686 - fi - }; fi - ;; - mips64) - _cputype=$(get_endianness mips '' el) - ;; - powerpc64) - _cputype=powerpc - ;; - aarch64) - _cputype=armv7 - if [ "$_ostype" = "linux-android" ]; then - _ostype=linux-androideabi - else - _ostype="${_ostype}eabihf" - fi - ;; - riscv64gc) - err "riscv64 with 32-bit userland unsupported" - ;; - esac - fi - - # Detect armv7 but without the CPU features Rust needs in that build, - # and fall back to arm. - # See https://github.com/rust-lang/rustup.rs/issues/587. - if [ "$_ostype" = "unknown-linux-gnueabihf" ] && [ "$_cputype" = armv7 ]; then - if ensure grep '^Features' /proc/cpuinfo | grep -q -v neon; then - # At least one processor does not have NEON. - _cputype=arm - fi - fi - - _arch="${_cputype}-${_ostype}" - - RETVAL="$_arch" -} - -check_proc() { - # Check for /proc by looking for the /proc/self/exe link - # This is only run on Linux - if ! test -L /proc/self/exe ; then - err "fatal: Unable to find /proc/self/exe. Is /proc mounted? Installation cannot proceed without /proc." - fi -} - -get_bitness() { - need_cmd head - # Architecture detection without dependencies beyond coreutils. - # ELF files start out "\x7fELF", and the following byte is - # 0x01 for 32-bit and - # 0x02 for 64-bit. - # The printf builtin on some shells like dash only supports octal - # escape sequences, so we use those. - local _current_exe_head - _current_exe_head=$(head -c 5 /proc/self/exe ) - if [ "$_current_exe_head" = "$(printf '\177ELF\001')" ]; then - echo 32 - elif [ "$_current_exe_head" = "$(printf '\177ELF\002')" ]; then - echo 64 - else - err "unknown platform bitness" - fi -} - -is_host_amd64_elf() { - need_cmd head - need_cmd tail - # ELF e_machine detection without dependencies beyond coreutils. - # Two-byte field at offset 0x12 indicates the CPU, - # but we're interested in it being 0x3E to indicate amd64, or not that. - local _current_exe_machine - _current_exe_machine=$(head -c 19 /proc/self/exe | tail -c 1) - [ "$_current_exe_machine" = "$(printf '\076')" ] -} - -get_endianness() { - local cputype=$1 - local suffix_eb=$2 - local suffix_el=$3 - - # detect endianness without od/hexdump, like get_bitness() does. - need_cmd head - need_cmd tail - - local _current_exe_endianness - _current_exe_endianness="$(head -c 6 /proc/self/exe | tail -c 1)" - if [ "$_current_exe_endianness" = "$(printf '\001')" ]; then - echo "${cputype}${suffix_el}" - elif [ "$_current_exe_endianness" = "$(printf '\002')" ]; then - echo "${cputype}${suffix_eb}" - else - err "unknown platform endianness" - fi -} - -say() { - printf '%s\n' "$1" -} - -err() { - say "$1" >&2 - exit 1 -} - -need_cmd() { - if ! check_cmd "$1"; then - err "need '$1' (command not found)" - fi -} - -check_cmd() { - command -v "$1" > /dev/null 2>&1 -} - -assert_nz() { - if [ -z "$1" ]; then err "assert_nz $2"; fi -} - -# Run a command that should never fail. If the command fails execution -# will immediately terminate with an error showing the failing -# command. -ensure() { - if ! "$@"; then err "command failed: $*"; fi -} - -# This wraps curl or wget. Try curl first, if not installed, -# use wget instead. -downloader() { - local _dld - local _ciphersuites - local _err - local _status - local _retry - if check_cmd curl; then - _dld=curl - elif check_cmd wget; then - _dld=wget - else - _dld='curl or wget' # to be used in error message of need_cmd - fi - - if [ "$1" = --check ]; then - need_cmd "$_dld" - elif [ "$_dld" = curl ]; then - check_curl_for_retry_support - _retry="$RETVAL" - get_ciphersuites_for_curl - _ciphersuites="$RETVAL" - if [ -n "$_ciphersuites" ]; then - _err=$(curl $_retry --proto '=https' --tlsv1.2 --ciphers "$_ciphersuites" --silent --show-error --fail --location "$1" --output "$2" 2>&1) - _status=$? - else - echo "Warning: Not enforcing strong cipher suites for TLS, this is potentially less secure" - if ! check_help_for "$3" curl --proto --tlsv1.2; then - echo "Warning: Not enforcing TLS v1.2, this is potentially less secure" - _err=$(curl $_retry --silent --show-error --fail --location "$1" --output "$2" 2>&1) - _status=$? - else - _err=$(curl $_retry --proto '=https' --tlsv1.2 --silent --show-error --fail --location "$1" --output "$2" 2>&1) - _status=$? - fi - fi - if [ -n "$_err" ]; then - if echo "$_err" | grep -q 404; then - err "❌ Binary for platform '$3' not found, this platform may be unsupported." - else - echo "$_err" >&2 - fi - fi - return $_status - elif [ "$_dld" = wget ]; then - if [ "$(wget -V 2>&1|head -2|tail -1|cut -f1 -d" ")" = "BusyBox" ]; then - echo "Warning: using the BusyBox version of wget. Not enforcing strong cipher suites for TLS or TLS v1.2, this is potentially less secure" - _err=$(wget "$1" -O "$2" 2>&1) - _status=$? - else - get_ciphersuites_for_wget - _ciphersuites="$RETVAL" - if [ -n "$_ciphersuites" ]; then - _err=$(wget --https-only --secure-protocol=TLSv1_2 --ciphers "$_ciphersuites" "$1" -O "$2" 2>&1) - _status=$? - else - echo "Warning: Not enforcing strong cipher suites for TLS, this is potentially less secure" - if ! check_help_for "$3" wget --https-only --secure-protocol; then - echo "Warning: Not enforcing TLS v1.2, this is potentially less secure" - _err=$(wget "$1" -O "$2" 2>&1) - _status=$? - else - _err=$(wget --https-only --secure-protocol=TLSv1_2 "$1" -O "$2" 2>&1) - _status=$? - fi - fi - fi - if [ -n "$_err" ]; then - if echo "$_err" | grep -q ' 404 Not Found'; then - err "❌ Binary for platform '$3' not found, this platform may be unsupported." - else - echo "$_err" >&2 - fi - fi - return $_status - else - err "Unknown downloader" # should not reach here - fi -} - -# Check if curl supports the --retry flag, then pass it to the curl invocation. -check_curl_for_retry_support() { - local _retry_supported="" - # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. - if check_help_for "notspecified" "curl" "--retry"; then - _retry_supported="--retry 3" - fi - - RETVAL="$_retry_supported" - -} - -check_help_for() { - local _arch - local _cmd - local _arg - _arch="$1" - shift - _cmd="$1" - shift - - local _category - if "$_cmd" --help | grep -q 'For all options use the manual or "--help all".'; then - _category="all" - else - _category="" - fi - - case "$_arch" in - - *darwin*) - if check_cmd sw_vers; then - case $(sw_vers -productVersion) in - 10.*) - # If we're running on macOS, older than 10.13, then we always - # fail to find these options to force fallback - if [ "$(sw_vers -productVersion | cut -d. -f2)" -lt 13 ]; then - # Older than 10.13 - echo "Warning: Detected macOS platform older than 10.13" - return 1 - fi - ;; - 11.*) - # We assume Big Sur will be OK for now - ;; - *) - # Unknown product version, warn and continue - echo "Warning: Detected unknown macOS major version: $(sw_vers -productVersion)" - echo "Warning TLS capabilities detection may fail" - ;; - esac - fi - ;; - - esac - - for _arg in "$@"; do - if ! "$_cmd" --help $_category | grep -q -- "$_arg"; then - return 1 - fi - done - - true # not strictly needed -} - -# Return cipher suite string specified by user, otherwise return strong TLS 1.2-1.3 cipher suites -# if support by local tools is detected. Detection currently supports these curl backends: -# GnuTLS and OpenSSL (possibly also LibreSSL and BoringSSL). Return value can be empty. -get_ciphersuites_for_curl() { - if [ -n "${RUSTUP_TLS_CIPHERSUITES-}" ]; then - # user specified custom cipher suites, assume they know what they're doing - RETVAL="$RUSTUP_TLS_CIPHERSUITES" - return - fi - - local _openssl_syntax="no" - local _gnutls_syntax="no" - local _backend_supported="yes" - if curl -V | grep -q ' OpenSSL/'; then - _openssl_syntax="yes" - elif curl -V | grep -iq ' LibreSSL/'; then - _openssl_syntax="yes" - elif curl -V | grep -iq ' BoringSSL/'; then - _openssl_syntax="yes" - elif curl -V | grep -iq ' GnuTLS/'; then - _gnutls_syntax="yes" - else - _backend_supported="no" - fi - - local _args_supported="no" - if [ "$_backend_supported" = "yes" ]; then - # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. - if check_help_for "notspecified" "curl" "--tlsv1.2" "--ciphers" "--proto"; then - _args_supported="yes" - fi - fi - - local _cs="" - if [ "$_args_supported" = "yes" ]; then - if [ "$_openssl_syntax" = "yes" ]; then - _cs=$(get_strong_ciphersuites_for "openssl") - elif [ "$_gnutls_syntax" = "yes" ]; then - _cs=$(get_strong_ciphersuites_for "gnutls") - fi - fi - - RETVAL="$_cs" -} - -# Return cipher suite string specified by user, otherwise return strong TLS 1.2-1.3 cipher suites -# if support by local tools is detected. Detection currently supports these wget backends: -# GnuTLS and OpenSSL (possibly also LibreSSL and BoringSSL). Return value can be empty. -get_ciphersuites_for_wget() { - if [ -n "${RUSTUP_TLS_CIPHERSUITES-}" ]; then - # user specified custom cipher suites, assume they know what they're doing - RETVAL="$RUSTUP_TLS_CIPHERSUITES" - return - fi - - local _cs="" - if wget -V | grep -q '\-DHAVE_LIBSSL'; then - # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. - if check_help_for "notspecified" "wget" "TLSv1_2" "--ciphers" "--https-only" "--secure-protocol"; then - _cs=$(get_strong_ciphersuites_for "openssl") - fi - elif wget -V | grep -q '\-DHAVE_LIBGNUTLS'; then - # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. - if check_help_for "notspecified" "wget" "TLSv1_2" "--ciphers" "--https-only" "--secure-protocol"; then - _cs=$(get_strong_ciphersuites_for "gnutls") - fi - fi - - RETVAL="$_cs" -} - -# Return strong TLS 1.2-1.3 cipher suites in OpenSSL or GnuTLS syntax. TLS 1.2 -# excludes non-ECDHE and non-AEAD cipher suites. DHE is excluded due to bad -# DH params often found on servers (see RFC 7919). Sequence matches or is -# similar to Firefox 68 ESR with weak cipher suites disabled via about:config. -# $1 must be openssl or gnutls. -get_strong_ciphersuites_for() { - if [ "$1" = "openssl" ]; then - # OpenSSL is forgiving of unknown values, no problems with TLS 1.3 values on versions that don't support it yet. - echo "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384" - elif [ "$1" = "gnutls" ]; then - # GnuTLS isn't forgiving of unknown values, so this may require a GnuTLS version that supports TLS 1.3 even if wget doesn't. - # Begin with SECURE128 (and higher) then remove/add to build cipher suites. Produces same 9 cipher suites as OpenSSL but in slightly different order. - echo "SECURE128:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS-ALL:-CIPHER-ALL:-MAC-ALL:-KX-ALL:+AEAD:+ECDHE-ECDSA:+ECDHE-RSA:+AES-128-GCM:+CHACHA20-POLY1305:+AES-256-GCM" - fi -} - -# This is just for indicating that commands' results are being -# intentionally ignored. Usually, because it's being executed -# as part of error handling. -ignore() { - "$@" -} - -main "$@" || exit 1 diff --git a/resources/schema/schema.json.gz b/resources/schema/schema.json.gz index a6ac7ab54fbc501303617b63e42c9d6244abb18f..79e03cf3062fa6eb0747239eb2bdf472d443abb0 100644 GIT binary patch delta 91846 zcmV(!wfNHb1e}XexcT+|84L0?h z^Cqq}y~shyp&KNsNCnsiur%!%Pula26*JfG*D#2Jxjj~(6~^+^AGs@V)#1n*cFHjE zm`!+-Q}>KHeRezUtdM8R1uA=kvAis5AeR?IrWNKvWR_9A{!-+n(MCL|TyikbUq53d zr1IrL;S?p_%^Gh9e>+9LP52VXW(GR=rzjCQJEiXYF)nKNfURFE@&l?KHPTXLLv=Ao z->e*Dq*J}8x~TkbR_n;W*vUZrI~?5`eYvG26;djG#pj*;_sqxmf4tHN(qI2X{erIH+FwKg z;@?XakmbfCrSn_x6m1QaQ;oXJd`J{5b|qM$AErVE`AuJp8;%$gtL{lLz{=P_hpWHO zd}y7*s@vuvs|!c`1`@D!RpM_v`$qB7Jtu!#bXAdKKqN}z{I+bMP1j?$I6S(FzK4u( z9rvc16i$yof075D-{t4=LzpHp^0lA*G-S+HW4!r`Jt9LJ!jmmku61(p%L^?Gan+t) zpkfIhLL1De_p-;CVS8^Otc_m)K1bku*5q7I)mjT;=qDdwk^c3IgEedj@|TJ+%gu8K z8iMzJeB%hDAXgBf-%*8ceb!u2Ulo_L4G%8~-L2hof6uB6H=*)grdZ68lnANRj8l-+ z@LDx`rROGq`xTfJtTDD3BAg*N2w~e*E%Vu$D7U6g-wNg##x97jP3!(;FdHSHSW4H# zEq5-Zh1%Z+aut|e&|82z2wtV;Gs@9+yb|ZuSlwy9HM^XUUg=Xx) zeMyQbyU&*xx(K6tb6mvH?HrCR3`jJjM}Mhh+3(eB%ADeLq`h ze~qT0_Sa&jeS5vXul)fH_wK@2`^9YhxY#THe;TLDg&!4v|9g_mBft0?B>^J%;-{y1 zlrBbv$6tvOBofQZm3Kde{M$2}gI?z+=;6o|LT)=Jx2N6%w$Wpw;WUjX+j-b&V4w?S^zFTRZ)*lb0RzYr;95}=g;TAUr1=xZ7PR{F&Qd@0vyUr4~Sa= zf0y%-J7V1~Q8$P^`Xh>$E<(RM>v$2wrp+XHI_zezD4e&TwzI2_^wuYYDJX%`EVx*> zp!}FT3Rpzp4YI5ev@2NwPYmLneHxTfv|QZu32e5QoX?`93890V58nC5%j>U&QvegA zlG=c&a*=!;Sj#t+POL#h=@rGKl;9voe-rJ${$k})qWQ#+GQIJC?1U54t7U&hJ#+L| zc8PzZi6WZxC9!@ z%b2%YvRDN#fdq^{{J}dqE&!9m6G)ab)ziq81JK{NCdKwLuDpv;S#&Fk*H-Uie_7Vn zUUq~sgvchM0EvvTN`pDpbKX32tV&XK{KF5eJ(d`x^LXaRqrjE5EfAk&hBjIN75Cfq z{<8CS|GWLezwEr)hC>yDCv!SCXL~k~$xj&`WZcO&u_Jt1*1x)amnoFmZvBSU1{K|g zBU|zhkVsNWF zUsBClu8WBYAOvXobADGuih~P039RV?J%)CEJZgsfBEEtXk*>ZH?8fw+;TI8u7W3eljMe$`GO#-b%M)h^4OBiX zqgrra97{#%FjfEfA@seUgS)enpUA`HPgf^5oe3ST3k2PYRNeVS%Y#*LZ@f4VY@B>Dte=+Z+^ncn_A$tJcJ!yAA|M;qR2eGREqFn5u^jAcW_5nrE zU9c}kklV_jieXT?kjVg@K73{!_EMM>v3~M2A-_3lTFs;;y{L7E`(7V(#d7S{E4dbF zu=-|~a9fi)Q7(ehD=Om_uH|b2-k=%znQl3L8^FC$)n?DR5_D zM0G4m1rm{*F3wbRhOCSzhvR6XtjI=?Vp6EFj6Ufj3jpwg)5Y=>gX){}V4U83_9*^7 zL*_>9i0du0U<;0|0NSSj*L%T{^R4o9#MDCu+h^MW>w1|BX}1+jAQ(;)q){0~)MNTT z@<(THqmN*)wuY}(Kp|3ju4kgpR?vhQB=Dkc36gBwD{_AF9ih+?f+E0MdMIoI8NBfq zWA`KO8bstY9GkKF^foVKZJqB;QL2~OUX!k@8ArNsB7;YF3x9pZ!ZN*}uX-@u1-Jq| zJ~se!SW1Flp_AnD!T9hF=JrJJ9ZHe7(&Tse5PR_5cKmFqi?|*wTzmpEF z7Jr9jgK=dz{`v59~Hr z5-A6K+gkE&a&cp4*<HYnbXCYbs&A9T`&qKX(SB=h}0-%n|r02V7MZ$%fN^@ z>}|os`g+A=!=N^(s%WK0NsDlAqOedqo9l;l;7KnSzdOIfH~p;O`>w5A=#r@VfPbXR z(`LJG8j5m(d%hJYESE}wc}oyop`EHNL}b+3Hbg8~fp&Lv-{moS#~ro^(uX8H$5iVb zfI=54idfw`aNpeXoxvJna)}Nw<<$OJpYZ$EC-8FyZ$nuj!Uc-(h@vY*TxxckS0AWh zu-e{eF4?~!16|YfS$!%-i}^&)rGEo(k(`1zKSyS5mfWRnvYG*jVV!nUigH`nNVxC1 z5|yfA_{WDw6`qTW z7PwHnQ2HX74Cd{@5ASRz{mqei(zuA2ogiy0blM|7p4uHMX_D?ynRZtQxR>Dm!6GVAUb-MyuBFmH*OZUm=F z%t_@hSgE5vl1W?Wk6~V$`}XY9;Qgg=<`NL1cYm31@uI?vVrhH4 zA|F77;n$P|>MM;Jzz`_Bq^aNp$`)|NUsQ03+5qKul=*svsvIw>c8{A#5YX#yn~&%%mMcc}!+_Mf176 zUEu&EVTwx7k+m8x0)I9VUnT1>Z8Sc2Ln0eLxH9(_W*M%HJSc9mQn?ZvX8C;H05&wp*VvVqA-h?41mG9lI8 zYzx>0G?8FRA0O>nek79jZU?w99^+#uNpEE6nT4x;grQOun^u?MnunWZpEQKkkK`4El^>%9hM4>_FT2i7rEWJeVNDc@2X!ci_fUjt1Y_b+XqScBlb{0<1 zX7+H=K-ch%`~q!$qL|pXk*05XW@rAmY$O7c%CR!|PQ-6T-a2_# zjoq+RpMMdPDDi8i&;4m#B2)NEnF-SHZmE}zu;EK=ofEdXzu2Kvil?nL{<}MLXP;W@ zeAK=?S3|#KG0=0fl}c>!sT3I`c|WSp3>vW-#uH|XBnusC)#9VIcmSZcD>(rW+Nj;h ziYTfzEFH2r#mB1bOeGOPz?Ers=o zx8yvQXOFWy(rRR2u%zZa@k zm46ezpe-<06vBHX?k;tg}9J=X-k2sjWa5F4hN6uY0rw(3a^2sQY|- z**{F>tQ$JPV0&atM9$A9`P=PEkG<)1zT@ExH@R~J|39xgAlSQJ7o z&-?`v3C9@w>?9q{8XVaxND#Ruu{twabbYW3iBURxYGv>J@g{TM z`QtSv{q*Zb>-9eUi)XKtU7vGC5$$C(zcI+PM6}Rxnz+lQ2TuzM0P%{3(jVyZ@_$NY z9N3&zo6|h*?$Gr=4&qVJ1gvW4MZrT5Z3*T&kKqePC5)2`!%bL;cL-UXa}{6M7vt*P zeG=BX48wlU7rCR_2z~1cN>^tFM)ysUoiYtMoR*d4S0;WJt&2p5HAAjd_1>`1v{gMU3JI(!}AMfPA@kPo@o%g-P%z(3%0r<}nHt6%%6 zNb%bMY*!aEEcAle&6cTy0<;EQ50A@3KnODj`^u|+|DcUvV>0m5WIhkl5tYeg_l%Ez zI-e}npO?WD_J8gd zk6052-BB`(-higjwhwd{&4C21I3WAt7YtkkMv4q0!RP%$uq%^@W5!X+;<}BK)O8o*V$hqAT^Xfrp?>-`qIKRKAHO+v-6VJd z?cmWTiIX)?k6cqH%IwG*(G0E+$&W_#$z>C|^J?HCh=^D-N{F z*FU~wOL99`^Xpdru64BjsjTK@a*X3$LoXv~d}o0!{-gZ`u5>?1k$+g33Xk5teS4@j z{b2t{!`-nFICQ&=0;~TSR%dqj@_iFpw9Z=AbQuL-UAt-rVlA!eV1{f(Q>k`dqVqw& zNW&y`h9JtXsw&8`T~dzFZ7cIyC{)U1h9PmY6{U#O zDjaGFLjwA_&wmt`1oAECqudPQttGXr<-aB;I4B*s1B0-S?WD6a%kxF{6&*o@bhawf}PO9Imy?Gb_P|9h6i`_o@{Ds;h+ zo0vC!euw__WRzR|A+5gEDs3VPKOKuOH+Z@MD1(u`Xn(Oiw*$dqWDMz))4{l#e^C5D z{^=s)FN2k)#1cc15t4HYTKp$QBeW{oyx1-%2^A&06jF_7YU=}1y z@n}^rmig!mCdU!oiB=}oDeTk^!IiTv13z2(8p2R-8* zJz!x=mwd&ei$jlZ=t*7Oag%!Kq5l|0kt#PTvwEVGB+5L)9@jP&06vM-p|YgQU8EL!GD9NQ4ox=s%)Hi zlYeDOhaE>Yms*{Hv#7f=`)z=NCTm81Nsi0pCh*&LU>--?F%5%L?4D)Z%85Q{up73Q|Vzivc zDuG+M&;@=h6j@U6q7CX@U&o-F)hQ2M0DnzjeEt;!_p~ls0#aFq>%j~5%)@?74gF}> zTO~_b^byVpP=t@cHxx#RM>)C6WoB}*#Ns_0WIec?^D+j(2o%K4>(GVn1yIUkl8$=- zqE=7LI@EEw@Ch);v7+XUA(#jF)*8agx$*6x-fYyk1PSoGC;?dn_O8o=gC}l9dVi?S zri!LvR7qf$K>-;HGJ^Tx1%;@XBT~0z_^Ld$&?Wv^EBnlBtA6st$&P&;vT@ zm1{Z4@H4&=?)=exfNsqo&?p!)@_((DSWV?qxkELJzeRWt4ruOH5iI(Rwpc<@xDQ;hpj@ljM_mKYu*GJ!f|N2k*Zh?wDsr_QdbI z9?!9>bH-h|kVR%^iB`v$1+~jznRx#ST!03kt@tbd=p03($6lcGPClK9N`F%DH=c$a zCA@@rFvzWXwuNsi8hGR53zYRPgFjzFcMmAS@AKMNzytcqe>zoJpj*}GERsfNhF++L zc$x1He>kdv^=AxgNo&g;QRGWXMhbtNm7~lE&RtpCQh~3pE!`~8Uq*|(U8kCgZ9fjB z_7Oq91QWp0;vPcD9TvVV@_+I(X9o$(56iv zsAH6ju;rb2{s5S#po(YxS?Sq8zoV(3*#`l3DvUwS;67LaV$W9-NSl)&G=56;_!i_P z(VMGAVZ^j_ioa00?7$`ro{7q?!^?p;Dw-PlB6zY7K3$+pP)=g+N`IE_mJT&=+6oI| zA^g;>TZ2e$qLEYSiC#p!W&2%#7O(7j_&$o5xB3dYDl$$$3Gh;d zB8xF(Dx2X7F{{qiKYydR25&4k>MuE(t%Uq59fX>)&b1d8Zo%Akd5xB7iUOo@j}_r- zr2ByjK3HrN0qRaGfX6Alh$o3nJI>=0<=$byUC!wSs1K>%#t(R$n2fM$pPAf=77>oD zZ);~>{Awon8y!klcKpr>9$+0$t07uNgYhR0Qne|C**S(9k$3eEJY!aRXJkvFswb5P;c#s=`sqV!LxW9AhEK1#gXksrW zU5c<4f|q<|f+5h4#IGL8H?)(dH=jN9)q=BwZY6$p4_c)&r&NZ`dyve!3uIMZc)+)= z^a*3>tjvl~jDIz0X5>d>|AGF6wd^SI$B$&!LM4`;j@@5Fqy_t@e|LYH`!PCbU~yna zi$$_{TVfxBD96cYIS<<6PPXm>T=z%i*E^!XNaOrG9@_+# zacTPUu76SAHT^#1yu)AZJ}8vBGOX(NgECaT(gs1*k#?!i7ouI73%H0aYY6?k?H!{@ zy6#z4g{)Vsd{wqx&d4E{-+@Wu2O4c1lyQ0B;QgPHT$KlVz5<@FfNfp@-!Ril16FN} z0=qM({Ay!8L{(f2b+L%xEZudDxM_*RZCW)ZroK2 z*LJ*=Py>DYRk+k=HYV9B^mT=+-rEsfLD2>7I-UA4C=k-tKB0`Pkd5h6o-`0tph!yD!?TuTwQ-r*iYIINs9Y6QV1F|g@$*Gzs3Syp zkAGX+sS{b&eUI#Fe<#oVHZK!J{AU4dWwMe)=A!!=YZhCv!Unb1nCC&4+J<|2UAxu> zIynX0rsvYwU@=FH-*s1Dx|+kp!1Zc5VhS<_ML_Zr!}riFi9AtWwNb^LXmhz`@~_4g zzLC=gm-C2ygDn>DuZA2p-?ntVJi9u%J%9E5DVTt#2$*mn@8zx|{NP(5jr~aA>095@ zIJ+Wy#XPX_&#{wn+OB3|rTt*C$}7K-3p$AhOR!L9*=-O9kGg|JUD^S(K%#LOB-#i) zDWR)|vlm&#BVSeYXSX>)jJ)p+M)!R&;X&g{BOnsX#!0!_`m?FZrD{HGqhnn_tsCg3{gj#GE zUnG_Ui*x_!B*)Scc`JW$U$mv|OMinrU7^t6udV-X@UR2!fORx%iaqf~cNbOgaO!#X zMe4T2w>X3x+qu(8?nh^VKaN6Mfx;nvh9@L{w_yrojtP2Bha9QnQ-KGNHW=>SGv*t6 z{H6l`(c!y;1C{HZs3l0J!H~VbzV#dI8+lI){n>?0^b|_ey^Ax&d^qA-DSzFBD-@y~ zUH6649DCaJTchh+VwkkNW_6HoIMi{}SKxBYp%f7vGTZ~bPv~1Lw`*kk`Q2;EzxR> za6;EH#t*SHFGCgO+$Rjso6=eaD%oGHr}^KJUw3V~Si5hx6-mDZ_ik?W zf!{aP$W8aPcV=vBk$;{IUr~7VZFb)=op+tr^-Ob3sVANi6B2LXNawl;X!YEl`{O{K z(?&SfE&wZXAl(LjW=nscsI)Bjs|M=Zpul76^j*GQ~ znT9)c=BH!Qfm-Pj{8~g?(JR>j}px45zaBq80;691CV)pUGs06nJsSCrgxp$ zl>h>it|4W)u@J;f@ln+F;jGzApbiLJl%WmgPMQZMEo-Jh{GATbIGj)d^xWg&>0-^y zde#oWIwWvl`V`saXm)1~hZb_Qt3)}dyDW>n#h*7vH-8P|bh65V@mZMN^U^9HoXpAa zfgTyq$fGn?p2*RHUS^rhJ*43BUf!+pAbZtD#K|ycMZG;I%Fdq*UREvX<4yzrvwU|5 z_FB&QUYH!#dmgk8E)oE6*vv-pMExZe6)=6BtfFZ!3ee2bX4}}diqA&bYpv}{6#fh2b9Y4y^ zOS}(kT-+jmA%j(;*VIoy%;bJMsuJzDOjA}xxXCsS6h|z**t)!j%Gc#u`cQ1@gs00bVI{P2^D7f;k=-tRo2nP*M4I`0dr>5~qgVVQ0d?PM{fiSz z-2GQgzQ+cDN*8#)u(i0c>g?$!MFl%A{Quee6XrIuBUNn_{wo#!V#ciqLh5zK(+bBo6iKycb29Ne_n727a}xL0s|6 zPZOAe9C8qo!^d<2KUkfx4-+{*OOt% z@C#pul>eeTI5RlEma|;S1p$9=WOe+;4%KgJiiPJb`I9zre3h`Ddi#Zv%>A?RF(_K* z?W*ITt2es?Cw|#jUpCgSWn+Q32sTxnhPLvW{;QOCNBuy3s_Jq4|fB$&S{{GyZ*nK(T1*SxOePm$5N&2#h6}ddn3j4dc|$73uGiw8)sSiu zfn6dB>1^uOyM)f|J7}LK!0|un<-fj#V|qQ$+)0bNA;oQJ{k-V8Op3b21~%&wM%@A_ zkpY=ZuDP()fn|@Fr+}V9O4`jjuWe2dJ(lZ<)r=p?noqkD4dH*5pe?POee9>Ay#FN= z-%NgjzBhKeqTNh?L#R`B{J!ykne6S1$H14{`G42#{N*J!n%ny#H!U*x4<(LtfG}&KU2kO!OfkQ%A1wpy!+%O3H4vYkC zoFM`JPlm#{*Q+%G2Q`%!a3OH)mTLCIn!2WuUvMlAv@U=9Pj2)1(*@;J4zgSP5KPA@ z_M|0sD1{G=ISopJ)jbikzsArAsaw|M7?tZ0g54LL_^}LKxryx^Hk&=;F@|%(l@SyU z6`COyoMSsBDQyYW-3y=d69xcHM)@#%ovdh=)cxcH9K@9%x3Fvh z`d=;AgS$Ock4bFyKCI7fO;be<*!Q`IDlcWsiZjM}u{+Wk1P_KJc&*Q2-O?!o(+4lf z`kKNtTwI=CygoiVv=TcTO`~nsUa{xJrO7~s$TR5qZSf5`g6S}_(_4g35bg;xeQQ{w zMG1eYB}xzwAsh-^!7BxZ7!ItB94|%J!d{rpYkn5vsDnJ5jv#WV;}A7)k=&Mdb-Q}L z^E(THVxDTDU|pYLq2&D`fw_1;$qB{MR2xYZoh>{MC0=juVJaH*iMy@lBxE1~S-V+H ztEUj%39;Q!GF@~)q)n#2q zjzbapi}0JT^&Edo>ES?r`)}WV^ZoZmQVJvVrfuJ+Bo_1b!*K%}zMf&I?Jh5~vBH07 zi4zUN%7#v}7N+1sb#)63I4vAa!Yzt)8j!P5{b301oew;`6w1|X|2nC6M6sGZAvmPB za|$-}*-&X*6FW7tVp+!!XUAAoE3qvMNU_KSYfglvksHNO*n;$ddYS*`4MPAmJ@s%dWz+IBUA_l?AbjIeyJ z>zjB$sAR#Z<|4QKeoQmu=eCHzn)Z^_^M`2RrVHFeJ9DPHmX1IK?npK%VB z$^Axrt>Fnw!$UjnfA(y$-!GTTQziJBJ5Z3HuNc_eWF4d36o34m|AToAWxz`=Fy&6o39CAv=o%I91pxV~XJ!f5{=GO>^|q zr>MODGioZmEc{#Np>BrV4)PolR=%1W`XK!}01;6$D_7a>*bJX~L6SX$m+gRlf0`A$ zb@lm6^PrU1g)J| z)0D#ZT|wV|ZM(~i&{J)#*Q=^}wdwAIEmq+77nGnk2_|CT>@F<89}_!se?AX4XMx`m zSv%aMZ1V-?#RNIxm7m`q1xH~QA!uZ{VPd)y8^3&oJ*4kD3F*`vf{Q+kM zsEVqF)mJ9V1$`<^rCxvLRjc+R37Fu$^0upXIWQi6A005TXnGA2?jR|V{pB>luZ4W} zn%*=Zn43k}-_qwqeyV+Pi>Yz-=6h6sTtFJIC4OZmf=v2T9SDOrH{A1KUig&EdRZ+% zz82SvUy}tuNi&AGia%~3Y`{;&>v?$-=Y}`b2jFPCpoIOb3y^<#O?7Zv&;2#bUkm;m zb|Bc3@?qeSpsC$lE$X%2JNQAS)2)NtRJt6=J;m@bcC|A=%qQVP41%4>#^xZ-Vq@?P zi~SxWvhA3f$@W~5A8=+~&D$$=Vscf*fncDk6K)@xzVmC74?^j?l7&r|@+75Kk5FjR z3Y$pSa_%(bw-bLtcQ{>ELGXD5eTaODed@yFT+q^7XdslCf;jTN-LO9FLwUa^A}0e) zS`xKvI<`Uu*LWYIFlmGH)*IKvfx9t+7H@CS7rzbY^DBSus=YpGFeW${l;Y*ST`%TA zZW=7k#|y%mwnPgzChU0+ix#IEJE`2V@Q6sv21&R4O<8?#Wc%+K*7=Xa{3cAJE2Eae z1jv5PWbc0~vXj)bBItG1!vF*Y3yW_Y&V&zq9Lz*+hwC{Y3yi9POW5D8Y)`tGitRr%NY{=w-HYScMba#U(KbYXvW`FsD+d@DdYsMhc;sOl=%dlS9C z56pMj;r=V05L(qco?)`-9#u?y)l?r|kvoFsL106%mqPepmY{-#nf_Nb2cS=ma(M-O zlDZucQ1JLr-Sy?wn?*TAxw&@|qOhFc3RUZFW5kWghImWP_TeG;_VUwvP6Amk zUG4merou2(tC2a){^soW^7ZFV zBt!Mqd3uL*jM<#YpDCtq%w_=I8AjB6v6< zlg3lbK~1ur8p9d-LXGIoFP zh6>XPNh~;3&jb%basn`A(*G`6NNKy!Ft5yDeMyXmsl)2YSEhgsILU22> za$T(fsa{gTrzjH_zDLhmF=z>kpiqA~DnhDUT}1Vr>by|uvgA;3+l^mQY9uTyx_%QC z@=dQk?tf>n(!;lvi{7W6S79wB*7Bd##}fA-Zc8Ny%)X$)YW`fVFc`*<=mfNaH!Rr_ ziDe>aP5cuTFzx8POE!uw%MAYdy zCJU7Tb4-h6>m1WUJGHRq_Jpxto``ZdAgdWih|KIxIzlfzy!Qlu7A+zuAS>%Dw7gbq zDaKaSvcgWxKj|!IlNC1*Hk7ru;qaUDbyG)x^^Xf>bhBdL=f0M;m~*804d-8$>hQK! zc9D&RQ&~N~d0v3Pc7M4{K74)M!Msi!VdcpbAoZ@<}x`xXwOc`7?6=;2v!Iz2Y{A)Y#Z#Nium zz{FV@(ax{6FSF1$3oL(P+dBS7qTxz2?mdc(L7E7o(@|q_X%szrEIKU*38f#IasM=v z{41Hm*PsYHLv#48)A+j1Xs&`ig!zgu8)=tGpnmQy_{3tN*i&j8q6oHxQ|4m0URcz= zyUwwe+VdUiOXbKs?VolfTpM+R3;dm)waeEML@mQAN|HMYIoN-Azz%0C*eb8zd(z`O zlw&;bWY4nip!HYJ+|~8#s+yte!P0Q@>11Cq{s>WYqYn{u?l1UbAl)^7$WC08&}~bm zqvo!fgV^d=zo7VIpwKgA(0uH*-VLYw$0x<>%k$Gz{>$ldJ@Hrm<-x_In4HHWQq34! zri%sz_JB!BlmgvgvIuAgyWPd<+M>aDW#(k-g~{NrKgfR}QO<*Mg?x_o14n{i-|x@s zn`WV>`dHEmml&v&Fa)uQr=C6X_)pRj<}o%G&5uuMfl9TaJ1Y_UWS7m=7bIzZfo(ltuIJU%1+ z?N3#UCLYG9B&Ap;ZE?9S3z6a&U%5H@NNtvs4*R2R+C{qoMK7r<3W+I8j0rmIMOyq%}CLZyJO?3%+SFT}^$LA!sH^n{{K&hhfy_evgq_q|xM?1lOM zP3QZ!l*P;B=ZP$b;x+q5rH!YS<*L-1c5J_?Yjjq9#HsXlAI#)2eoo~Jv`v_o5R1|U z4tSyzyUSB2`Mps#6Bpkjq=Mk~`oT(YE6*BT^Oy zEM$Mb0?&t!2}^|V72cz6{nT1ur@&3ul~C~7FP;@Te>CbxQbPqv5@yfNyC&+#o=)bE z5^Gdt4ifLuW<0rW&zUhU(G9Zp@EOS+o$TREMSIqmWfeg%q0!XRm{1#=I*|C=`pM`e zYrf(OY*w9!P(lH)VIbKfeL4Y<=tVZuq@$3CeAROP5%H#~A0x6t5Cm)C!1 z9jjEM5*Nn>eRjM5@34mvTP=U+A8fS-=@^^MSq(Z#10`4^#-vfi;+_zmn)}GMvTihY z=zY^w*qBe+_7K>R$n+4cwKzVrBfsn>?R)L4vOg~P+px=Fuire;ebID(=a+;-JW_O_ z8K-=-Q-;zbJ7Z>&@MFPWd(LT@C_;Z<0DY1@t&yN&Ual|+SWN^46Y$t>gBVbqARY>H zijD>~+Ci6VP;T7f3kZI&B#(7?aw>0@^R`3`7z`iw0EUn{6mWyD5c8?mOoDPe#!OVr%)0{xXXM?-9*W%g)tcNtPR50wT``;un)6kM@O})=#h)Ze z=o|x^fg&GsO!{v}-aY9n3LaBt`?(XhCgpuun391|I4rPlw^Q-2r1D4=>?#xihecm+ z=JOHxzlV{#kq6jCd#u zO6qz~T)|MQo6&;HOsR}Rr&)qX7N6Yo9Op}GkNSXb@y!x`IPMy8;`o2yMV1$MQeYDQ z&Ib!rI(?t#d9iZtNLudBPHLg)Wfz%SDr;sjO6U?!5echjmCalTzTz$=8+0AaQ_q7& z*L4?P_VPV2mknNKWGk!M3-|uAT;P^O1g|_Lu&yqzl$p${6A=}JopUm!{`w{#6~kdg z51I#Ux>KKRIQ==3>v(^87fC|0IU`v}I_JgO-$oac%S=8v%zf!PoYwofzTjD^c-P7P zXgnF`hSKhjo{@|M*$MeIXF?`5&d4&B6W)`VLTA-Y891K$g-vp*79T1--iH=kW^2g= z3A%z)eJ+3adnk4`=wDqV33n+0 zd;wi=lgUY1xh$hGS|em_Nz3<^Q%l>A-o@eYWonyjb2ZNY+#!) z#E>?#v_+2_c=dmwJ7)OuUBmL5RaLT(OH9ik%-+w+Aby?RN$w`zayvubque!aR-?{- z0nh3hC2gpYr>BK}+Is1Qmm$%n?~~E>dTey@9@>Z3=_0j}3QEcDp(^s?(94}ydQnm( zp&x#SYh_g!UErR@>4Vq&%?+lY+!AE0ytBxy9Q}#r{8)eK-#eD>#EjO>gj+b42DA*0 zXrS_i%@EoLTZ<0R_Qq~l*1h!7xN3B<6>nt3TO5t}E@9I3O7$mDGVbm$6Bu|L1^5({ zQR)tSxaPqFkw#}?5~B6wo!6;FHTKW=_A zr%=?0Qv83TnYd6yGqMO0!D4k44mg|rE+ily*7foP7OiI)sbi@#!g<&2q`ta|3MyIX1#c{iJZ zjl9WzQaA4-QMoJSq(-U2i4IUH*MYdqQD*pE@7#Yr@#H8uiBpU=o$&TZif=Mfnk55& zX_>7-0}F+=Y|gbmr-KZ+wUBQYgRjENBKNzGrqiz9p+hQzcSiPGsjQJ3KYcAi3p5H; z;8%IfA5uf?#1#Xa)(*A|dFg>CXeAZ`CRkX7;C-7NtR9$_p27E!m5orbOS|hR(IWW? z+5vx>Z#rlIUjitjBc;uN@iFY^Q-g7iWy;?OhV@YEV$l z*vO7(jGhkcl&vxoEJa2M~uqc5^fZwy1Ke|c+DEo`mrXfuLxkbyC-Cc#{budt5IX_9yb&w(~ zW^v=5!ZFb_-ZqDDBHZ^twe` z1G7>oF-i?7_SoLTT51=UCgfO>y1aii#455eu*L;kJqr6l5nw4VB~*$&*-+m ziBcF0IDgE$5`%Ja$>P7;D`z*wCY+=s$B{>!BL9343gFBU?&WiPU|k~Gob5xP%*>Z0 z+XP!GwCmeGu_)joRJ`s@-397JNzl7@|nHI5AwRXYCrOY^@r2_ z3%SR9!B%n0qZ4g39dfPWK4kZr^pTu`S6P2`%tE~hA5Qe~1$Hm6iogk^&@NyNE8yT$kan5RA(kZ#ST97a5zW5odlBzN*$-Gu;JG?5 zL@<3%Dhy&V7}*#)E*8|IjDWVvD)4ILQ_iM zjFY$BILX%m*#c-l-(yd&h+|Q6;w8Oo=LxGq7D&M3Uf%;Dp@aA|ta?Ie;$Gk;~Vqs)47ni&X}I^N^^E>T%J^6pHi zI;^LmmzIz%-~C^4mj0j7|Fs0b-)Mz9`j@}_%i>>V{}Zo>qIZ&3m{^6}BNeF%{;W3D z8unh4o4&@mnaK)s^Rv|C_9uyVW(wMx&O_teYBq2WA3~Z{r|1>|{~iU;!x`dJk?l&b zqkp8fWFZ_0%TQHLQUq)_z#zXCGWdYu*ncK&ohdgn=E3>X-MV8xTCJSMSxi}f4}uXe zmPwHXw7ZYgs%~Z}q^WTwW2>h)fAtOE+f3Q;P6d{8%Ik-G`g<=`iwKZ2s_VTd08K!$ zzXx8rs}Ob|MjN=@0K=AmCt$sX?i-pnkmXPw`O$yoc#u-yx^C)7CtyFu#0dZT+M47HOD6#z`xs+81Y4hou3s+;1JBU)9*vv~DJjJbn10S!^z&T=y0 z>XR4gGk-&aVh`IR%HJ)o1B8g4+-Tg{cF}F&eT|C1Val63UDhTSy|qlpSLWta3m)Wa zaT>@FxQuX&c4@emtGx;oPl+{|JmKn^X5Cs>HqATx6NddH+3E69qb`&Jb%`h%P1l3F z>Lt6o#ePhkDuM%&RVqFnxhQm^6&X%(z_?;TTz}1SzUc$5rsQh2(;{@G68j=%%xv~? zv@PPy%f!{u#d|flG@^MGM5GKhJtr!RBa5M=84;5=z)!NdL&k@tH9>B{Rp7imFcF2r zE=ofJ#n?vPkn4BJ@;c7!M*K7EgXE*rW2>^S%_|U77o4-axmlsBMP>cj@~_6Nw%Pin zx_?)+{%tJQSbI`i6dT29G8|3jxk{3AW;=SA$zZCZV>10{VxO9XHEO?%9sWSnArpG+GbQc35|KOT9N>z)Kkf|Dq7(l^f zG22dxtepNShs4%*Aqwr$Bw526f5cKPPpe}Dcp{O=ph^eaKvg^0OqKX%eJ z;U>H2jrwT79kdSD!aKy6s9rXN`zy}P*Mv$b@KlIjyr|hA^&e>=6GP5vmzg(kXg>|Z z<4>@L50LLYdYzTziS4B&#*c=Ya6I=gD4y5C+I1lfS;a+_|>d27d#mlLLn{ zFCrIXe#BM&<8)VZ0HDg!9%wJzh@kkdNA%e1o?NccZ7}i~+c%#zriJ(bMizEoChUnOY|?Y_^o}y@?8!X9*TcQ9u7fW#v3(}w zvUz|d6l@Q%+=~uAuJloMR$FU7n75mr$Tr)NPrES67Qzk+nx1x+0s%}8{b|S&SS!?y z0Hy;jA+{8bOgS$&CFwg44AHW@p}tKb5-wa~ks!w_3#v2aKyr+lVSiBD_%(2z5bmLm zC)^=w*5Js;dfKn&Wsi~FBj-M^3^VXzq73`8NPex01pcUz{e8?5K{;=Tw@Fz1(K4~| zRT8>&vt)eb`j>UnyKbKH=>7%Q;7@IPGq32l>Vt(J)Z5ivJvF$sf6zFeV@|Z#wSO3& zpDD2pMu>(YBqjCh@qcH=)R&k&bC
V^rM;ks^o%g;ecp_|Mv(Vn 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®nX=dN7 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 delta 91843 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 z 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 ub!Lup5}w0L5f*Y structs::LdapDirectory { .into(), group_class: "groupOfNames".into(), bind_authentication: true, + description: "Test LDAP directory".into(), ..Default::default() } } diff --git a/tests/src/directory/oidc.rs b/tests/src/directory/oidc.rs index 6c5b3883..48d2a5e9 100644 --- a/tests/src/directory/oidc.rs +++ b/tests/src/directory/oidc.rs @@ -12,6 +12,7 @@ use directory::{Account, Credentials, Directory, backend::oidc::OpenIdDirectory} use registry::{schema::structs, types::map::Map}; pub async fn test() { + println!("Running OIDC directory tests..."); let config = structs::OidcDirectory { description: "Test OIDC directory".to_string(), issuer_url: "http://localhost:9080/realms/stalwart".to_string(), diff --git a/tests/src/directory/sql.rs b/tests/src/directory/sql.rs index ac801b14..f909974d 100644 --- a/tests/src/directory/sql.rs +++ b/tests/src/directory/sql.rs @@ -9,6 +9,7 @@ use registry::schema::structs::{self, SqlAuthStore}; use store::{Store, backend::sqlite::SqliteStore}; pub async fn test() { + println!("Running SQL directory tests..."); let sql_store = Store::SQLite(SqliteStore::open_memory().unwrap().into()); // Create test directory diff --git a/tests/src/directory/synchronization.rs b/tests/src/directory/synchronization.rs index 71987375..1413f512 100644 --- a/tests/src/directory/synchronization.rs +++ b/tests/src/directory/synchronization.rs @@ -12,6 +12,7 @@ use registry::schema::{ use types::id::Id; pub async fn test() { + println!("Running directory synchronization tests..."); let test = TestServerBuilder::new("directory_synchronization_test") .await .with_default_listeners()