Rebrand to INBUXA: product name, protocol greetings, sign-in page, calendar templates, logos, README

One branding module (types::brand!) supplies the name to every protocol
greeting, the HTTP realm, the startup banner, Received headers, the
user agent, the IMAP ID response and calendar PRODIDs. The sign-in and
calendar pages take ihasmail's palette and font and the INBUXA logo, and
calendar emails embed the INBUXA lockup. Default calendar and address book
names follow. Protocol identifiers (urn:stalwart:jmap, vnd.stalwart Sieve
extensions) and upstream copyright notices are unchanged.
This commit is contained in:
2026-09-18 10:52:34 -07:00
parent 6e73d284d8
commit 89665decfa
70 changed files with 616 additions and 442 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
pub mod core;
pub mod op;
static SERVER_GREETING: &str = "Stalwart ManageSieve at your service.";
static SERVER_GREETING: &str = concat!(types::brand!(), " ManageSieve at your service.");
#[cfg(test)]
mod tests {
+1 -1
View File
@@ -14,7 +14,7 @@ impl<T: SessionStream> Session<T> {
let op_start = Instant::now();
let mut response = Vec::with_capacity(128);
response.extend_from_slice(b"\"IMPLEMENTATION\" \"Stalwart ManageSieve\"\r\n");
response.extend_from_slice(concat!("\"IMPLEMENTATION\" \"", types::brand!(), " ManageSieve\"\r\n").as_bytes());
response.extend_from_slice(b"\"VERSION\" \"1.0\"\r\n");
if !self.stream.is_tls() {
response.extend_from_slice(b"\"STARTTLS\"\r\n");
+1 -1
View File
@@ -16,6 +16,6 @@ impl<T: AsyncRead + AsyncWrite> Session<T> {
Elapsed = trc::Value::Duration(0)
);
Ok(StatusResponse::ok("Stalwart ManageSieve bids you farewell.").into_bytes())
Ok(StatusResponse::ok(concat!(types::brand!(), " ManageSieve bids you farewell.")).into_bytes())
}
}