diff --git a/README.md b/README.md index f56a8d5..b731458 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,13 @@ --- -**INBUXA** is a mail and collaboration server: JMAP, IMAP, POP3, SMTP, +**inbuxa** is a mail and collaboration server: JMAP, IMAP, POP3, SMTP, CalDAV, CardDAV and WebDAV, in one Rust binary, with ihasmail as its web front end. It is a fork of [Stalwart](https://github.com/stalwartlabs/stalwart). Project site: [inbuxa.org](https://inbuxa.org). Documentation: [docs.inbuxa.org](https://docs.inbuxa.org). Stalwart ships some features only in a paid Enterprise Edition: multi-tenancy, -masked email, undelete and others. INBUXA ships everything to everybody under +masked email, undelete and others. **inbuxa** ships everything to everybody under the AGPL-3.0, rebuilding those features independently and without using any of Stalwart's Enterprise code. @@ -54,18 +54,18 @@ already names, so none of their data moves. ## License and credits -INBUXA is free software under the [GNU Affero General Public License, +**inbuxa** is free software under the [GNU Affero General Public License, version 3](./LICENSES/AGPL-3.0-only.txt). It is a fork of Stalwart, copyright © Stalwart Labs LLC, **modified by Coffey Labs in 2026**. Upstream's copyright notices are kept on every file they cover, and every upstream file this fork changed says so in its header, under the notice it came with. Stalwart's files are dual-licensed -AGPL-3.0-only or Stalwart's Enterprise License, and INBUXA takes them under +AGPL-3.0-only or Stalwart's Enterprise License, and **inbuxa** takes them under the AGPL-3.0 only. A few of those files also carry code from other projects under MIT or BSD licenses, which stays under those licenses; [THIRD-PARTY.md](./THIRD-PARTY.md) lists it with its notices. "Stalwart" is -Stalwart Labs' name. INBUXA isn't affiliated with or endorsed by Stalwart +Stalwart Labs' name. **inbuxa** isn't affiliated with or endorsed by Stalwart Labs. -The INBUXA mark reuses ihasmail's cat-and-envelope artwork. +The **inbuxa** mark reuses ihasmail's cat-and-envelope artwork. diff --git a/api/v1/openapi.yml b/api/v1/openapi.yml index bc1cd1d..6f059f6 100644 --- a/api/v1/openapi.yml +++ b/api/v1/openapi.yml @@ -395,7 +395,7 @@ components: WWW-Authenticate: schema: type: string - example: Bearer realm="INBUXA Server" + example: Bearer realm="inbuxa Server" content: application/problem+json: schema: diff --git a/crates/common/src/manager/first_party.rs b/crates/common/src/manager/first_party.rs index a9c6f0a..e13838a 100644 --- a/crates/common/src/manager/first_party.rs +++ b/crates/common/src/manager/first_party.rs @@ -105,7 +105,7 @@ pub fn first_party_clients( if let Some(url) = admin_url.map(|url| url.trim().trim_end_matches('/')).filter(|url| !url.is_empty()) { clients.push(FirstPartyClient { client_id: ADMIN_CLIENT_ID.to_string(), - description: "INBUXA Admin".to_string(), + description: "inbuxa Admin".to_string(), redirect_uris: vec![format!("{url}/oauth/callback")], secret: None, }); @@ -356,7 +356,7 @@ mod tests { fn web_interface() -> Application { Application { - description: "INBUXA Web Interface".to_string(), + description: "inbuxa Web Interface".to_string(), enabled: true, url_prefix: Map::new(vec!["/admin".into(), "/account".into()]), ..Default::default() @@ -370,7 +370,7 @@ mod tests { clients, vec![FirstPartyClient { client_id: WEB_INTERFACE_CLIENT_ID.to_string(), - description: "INBUXA Web Interface (served by this server)".to_string(), + description: "inbuxa Web Interface (served by this server)".to_string(), redirect_uris: vec![ "https://mail.example.org/admin/oauth/callback".to_string(), "https://mail.example.org/account/oauth/callback".to_string(), diff --git a/crates/common/src/network/legacy.rs b/crates/common/src/network/legacy.rs index 54dcb50..a38ac03 100644 --- a/crates/common/src/network/legacy.rs +++ b/crates/common/src/network/legacy.rs @@ -299,28 +299,28 @@ impl LegacyProtocol { pub fn refusal(&self, scope: RefusalScope) -> &'static str { match (scope, self) { (RefusalScope::Server, LegacyProtocol::Imap) => { - "This server allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "This server allows only inbuxa webmail and JMAP apps. This mail app can't sign in." } (RefusalScope::Server, LegacyProtocol::Pop3) => { - "[AUTH] This server allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "[AUTH] This server allows only inbuxa webmail and JMAP apps. This mail app can't sign in." } (RefusalScope::Server, LegacyProtocol::ManageSieve) => { - "This server allows only INBUXA webmail and JMAP apps." + "This server allows only inbuxa webmail and JMAP apps." } (RefusalScope::Server, LegacyProtocol::Submission) => { - "535 5.7.0 This server allows only INBUXA webmail and JMAP apps. This mail app can't send.\r\n" + "535 5.7.0 This server allows only inbuxa webmail and JMAP apps. This mail app can't send.\r\n" } (RefusalScope::Tenant(_), LegacyProtocol::Imap) => { - "Your organization allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "Your organization allows only inbuxa webmail and JMAP apps. This mail app can't sign in." } (RefusalScope::Tenant(_), LegacyProtocol::Pop3) => { - "[AUTH] Your organization allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "[AUTH] Your organization allows only inbuxa webmail and JMAP apps. This mail app can't sign in." } (RefusalScope::Tenant(_), LegacyProtocol::ManageSieve) => { - "Your organization allows only INBUXA webmail and JMAP apps." + "Your organization allows only inbuxa webmail and JMAP apps." } (RefusalScope::Tenant(_), LegacyProtocol::Submission) => { - "535 5.7.0 Your organization allows only INBUXA webmail and JMAP apps. This mail app can't send.\r\n" + "535 5.7.0 Your organization allows only inbuxa webmail and JMAP apps. This mail app can't send.\r\n" } } } @@ -541,7 +541,7 @@ mod tests { let server = RefusalScope::Server; assert_eq!( LegacyProtocol::Imap.refusal(server), - "This server allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "This server allows only inbuxa webmail and JMAP apps. This mail app can't sign in." ); assert!( LegacyProtocol::Pop3 @@ -550,11 +550,11 @@ mod tests { ); assert_eq!( LegacyProtocol::ManageSieve.refusal(server), - "This server allows only INBUXA webmail and JMAP apps." + "This server allows only inbuxa webmail and JMAP apps." ); assert_eq!( LegacyProtocol::Submission.refusal(server), - "535 5.7.0 This server allows only INBUXA webmail and JMAP apps. This mail app can't send.\r\n" + "535 5.7.0 This server allows only inbuxa webmail and JMAP apps. This mail app can't send.\r\n" ); } @@ -564,19 +564,19 @@ mod tests { let tenant = RefusalScope::Tenant(7); assert_eq!( LegacyProtocol::Imap.refusal(tenant), - "Your organization allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "Your organization allows only inbuxa webmail and JMAP apps. This mail app can't sign in." ); assert_eq!( LegacyProtocol::Pop3.refusal(tenant), - "[AUTH] Your organization allows only INBUXA webmail and JMAP apps. This mail app can't sign in." + "[AUTH] Your organization allows only inbuxa webmail and JMAP apps. This mail app can't sign in." ); assert_eq!( LegacyProtocol::ManageSieve.refusal(tenant), - "Your organization allows only INBUXA webmail and JMAP apps." + "Your organization allows only inbuxa webmail and JMAP apps." ); assert_eq!( LegacyProtocol::Submission.refusal(tenant), - "535 5.7.0 Your organization allows only INBUXA webmail and JMAP apps. This mail app can't send.\r\n" + "535 5.7.0 Your organization allows only inbuxa webmail and JMAP apps. This mail app can't send.\r\n" ); let err = LegacyProtocol::Imap.refused(tenant, Some("example.org".into())); assert_eq!(err.value_as_str(trc::Key::Policy), Some("tenant")); diff --git a/crates/directory/src/backend/oidc/config.rs b/crates/directory/src/backend/oidc/config.rs index 4a28b75..0084a9c 100644 --- a/crates/directory/src/backend/oidc/config.rs +++ b/crates/directory/src/backend/oidc/config.rs @@ -40,7 +40,7 @@ impl OpenIdDirectory { pub async fn new(config: OidcConfig) -> Result { let http = utils::http::http_client_builder(false) - .user_agent("INBUXA/1.0") // types::brand!(); this crate does not depend on types + .user_agent("inbuxa/1.0") // types::brand!(); this crate does not depend on types .timeout(Duration::from_secs(30)) .build() .map_err(|e| OidcError::Network(format!("HTTP client build failed: {e}")))?; diff --git a/crates/features/Cargo.toml b/crates/features/Cargo.toml index f9a1c9f..81506fc 100644 --- a/crates/features/Cargo.toml +++ b/crates/features/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "inbuxa-features" -description = "INBUXA's rebuilt features: behavior Stalwart ships only in its Enterprise Edition, rebuilt clean-room" +description = "inbuxa's rebuilt features: behavior Stalwart ships only in its Enterprise Edition, rebuilt clean-room" license = "AGPL-3.0-only" version = "0.16.22" edition = "2024" diff --git a/crates/main/Cargo.toml b/crates/main/Cargo.toml index 78a6c86..e6a6db4 100644 --- a/crates/main/Cargo.toml +++ b/crates/main/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "inbuxa" -description = "INBUXA Mail and Collaboration Server, a fork of Stalwart" +description = "inbuxa mail and collaboration server, a fork of Stalwart" authors = [ "Stalwart Labs LLC "] homepage = "https://inbuxa.org" keywords = ["imap", "jmap", "smtp", "email", "mail", "webdav", "server"] categories = ["email"] -# Upstream offers AGPL-3.0-only OR LicenseRef-SEL; INBUXA takes the AGPL only. +# Upstream offers AGPL-3.0-only OR LicenseRef-SEL; inbuxa takes the AGPL only. license = "AGPL-3.0-only" version = "0.16.23" edition = "2024" diff --git a/crates/registry/src/schema/structs_impl.rs b/crates/registry/src/schema/structs_impl.rs index 270f7f3..cf45958 100644 --- a/crates/registry/src/schema/structs_impl.rs +++ b/crates/registry/src/schema/structs_impl.rs @@ -732,7 +732,7 @@ impl Pickle for AddressBook { impl Default for AddressBook { fn default() -> Self { Self { - default_display_name: Some("INBUXA Address Book".to_string()), + default_display_name: Some("inbuxa Address Book".to_string()), default_href_name: Some("default".to_string()), max_v_card_size: 524288u64, max_address_books: Some(250u64), @@ -4597,7 +4597,7 @@ impl Pickle for Calendar { impl Default for Calendar { fn default() -> Self { Self { - default_display_name: Some("INBUXA Calendar".to_string()), + default_display_name: Some("inbuxa Calendar".to_string()), default_href_name: Some("default".to_string()), max_attendees: 20u64, max_recurrence_expansions: 3000u64, @@ -4734,7 +4734,7 @@ impl Default for CalendarAlarm { allow_external_rcpts: false, enable: true, from_email: Default::default(), - from_name: "INBUXA Calendar".to_string(), + from_name: "inbuxa Calendar".to_string(), min_trigger_interval: Duration::from_millis(3600000), template: Default::default(), } @@ -28310,7 +28310,7 @@ impl MtaStageConnect { ExpressionContext { expr: &self.smtp_greeting, default: Some(Expression { - else_: "system('hostname') + ' INBUXA ESMTP at your service'".to_string(), + else_: "system('hostname') + ' inbuxa ESMTP at your service'".to_string(), ..Default::default() }), property: Property::SmtpGreeting, @@ -28374,7 +28374,7 @@ impl Default for MtaStageConnect { fn default() -> Self { Self { smtp_greeting: Expression { - else_: "system('hostname') + ' INBUXA ESMTP at your service'".to_string(), + else_: "system('hostname') + ' inbuxa ESMTP at your service'".to_string(), ..Default::default() }, hostname: Expression { diff --git a/crates/scim/src/lib.rs b/crates/scim/src/lib.rs index 75cecac..8b113a6 100644 --- a/crates/scim/src/lib.rs +++ b/crates/scim/src/lib.rs @@ -205,7 +205,7 @@ impl ScimResponse { if error.status == 401 { response.headers.push(( "WWW-Authenticate", - "Bearer realm=\"INBUXA SCIM\"".to_string(), + "Bearer realm=\"inbuxa SCIM\"".to_string(), )); } response diff --git a/crates/store/src/build/registry.rs b/crates/store/src/build/registry.rs index df6bded..cac3370 100644 --- a/crates/store/src/build/registry.rs +++ b/crates/store/src/build/registry.rs @@ -47,7 +47,7 @@ impl RegistryStore { .collect::(); eprintln!(); eprintln!("════════════════════════════════════════════════════════════"); - eprintln!("🔑 INBUXA bootstrap mode - temporary administrator account"); + eprintln!("🔑 inbuxa bootstrap mode - temporary administrator account"); eprintln!(); eprintln!(" username: admin"); eprintln!(" password: {password}"); diff --git a/crates/trc/src/event/enums_impl.rs b/crates/trc/src/event/enums_impl.rs index ddb21c1..a0864e5 100644 --- a/crates/trc/src/event/enums_impl.rs +++ b/crates/trc/src/event/enums_impl.rs @@ -3729,8 +3729,8 @@ impl EventType { EventType::Security(SecurityEvent::LegacyProtocolsChanged) => { "Legacy mail protocols switch changed" } - EventType::Server(ServerEvent::Startup) => "Starting INBUXA Server", - EventType::Server(ServerEvent::Shutdown) => "Shutting down INBUXA Server", + EventType::Server(ServerEvent::Startup) => "Starting inbuxa Server", + EventType::Server(ServerEvent::Shutdown) => "Shutting down inbuxa Server", EventType::Server(ServerEvent::StartupError) => "Server startup error", EventType::Server(ServerEvent::ThreadError) => "Server thread error", EventType::Server(ServerEvent::Licensing) => "Server licensing event", @@ -3983,7 +3983,7 @@ impl EventType { EventType::Auth(AuthEvent::ClientRegistration) => "Authentication error", // inbuxa: legacy-protocols LP-6 EventType::Auth(AuthEvent::LegacyProtocolRefused) => { - "This server allows only INBUXA webmail and JMAP apps" + "This server allows only inbuxa webmail and JMAP apps" } EventType::Auth(AuthEvent::Error) => "Authentication error", EventType::Auth(AuthEvent::CredentialExpired) => "Credential expired", diff --git a/crates/types/src/branding.rs b/crates/types/src/branding.rs index d1f5fb1..b5db4bd 100644 --- a/crates/types/src/branding.rs +++ b/crates/types/src/branding.rs @@ -18,7 +18,7 @@ #[macro_export] macro_rules! brand { () => { - "INBUXA" + "inbuxa" }; } diff --git a/crates/utils/src/http.rs b/crates/utils/src/http.rs index 4545a91..1102606 100644 --- a/crates/utils/src/http.rs +++ b/crates/utils/src/http.rs @@ -147,7 +147,7 @@ pub fn build_http_client( allow_invalid_certs: bool, ) -> Result { let mut headers = build_http_headers(raw_headers, username, password, token, content_type)?; - headers.insert(USER_AGENT, "INBUXA/1.0.0".parse().unwrap()); // types::brand!(); utils does not depend on types + headers.insert(USER_AGENT, "inbuxa/1.0.0".parse().unwrap()); // types::brand!(); utils does not depend on types match http_client_builder(allow_invalid_certs) .connect_timeout(timeout) diff --git a/resources/branding/inbuxa-logo-web.svg b/resources/branding/inbuxa-logo-web.svg index 0665906..2b3f369 100644 --- a/resources/branding/inbuxa-logo-web.svg +++ b/resources/branding/inbuxa-logo-web.svg @@ -1,4 +1,4 @@ - - Respond to invitation · INBUXA + Respond to invitation · inbuxa
\ No newline at end of file + Respond to invitation · inbuxa
\ No newline at end of file diff --git a/resources/html-templates/calendar-rsvp.html.min.gz b/resources/html-templates/calendar-rsvp.html.min.gz index 53c47aa..2c768c7 100644 Binary files a/resources/html-templates/calendar-rsvp.html.min.gz and b/resources/html-templates/calendar-rsvp.html.min.gz differ diff --git a/resources/html-templates/login.html b/resources/html-templates/login.html index 78ca1c2..4d7c6ea 100644 --- a/resources/html-templates/login.html +++ b/resources/html-templates/login.html @@ -5,7 +5,7 @@ - Sign in · INBUXA + Sign in · inbuxa

Sign in

Enter your credentials to continue

\ No newline at end of file + Sign in · inbuxa

Sign in

Enter your credentials to continue

\ No newline at end of file diff --git a/resources/html-templates/login.html.min.gz b/resources/html-templates/login.html.min.gz index 72e8bfc..003514e 100644 Binary files a/resources/html-templates/login.html.min.gz and b/resources/html-templates/login.html.min.gz differ diff --git a/resources/schema/schema.json.gz b/resources/schema/schema.json.gz index f949942..16a537a 100644 Binary files a/resources/schema/schema.json.gz and b/resources/schema/schema.json.gz differ diff --git a/resources/schema/schema.json.sha256 b/resources/schema/schema.json.sha256 index dad5cc1..4186a89 100644 --- a/resources/schema/schema.json.sha256 +++ b/resources/schema/schema.json.sha256 @@ -1 +1 @@ -wa2yYpZjVWiT3bW8anintWsnNSjDQUXa8U-Va-s6mZQ \ No newline at end of file +rWqJwNJkqgKsbC1eqcEmmIAMtJPmnlDlThR2ZtW_N1c \ No newline at end of file diff --git a/resources/systemd/inbuxa.mail.plist b/resources/systemd/inbuxa.mail.plist index 512f232..dd212eb 100644 --- a/resources/systemd/inbuxa.mail.plist +++ b/resources/systemd/inbuxa.mail.plist @@ -6,7 +6,7 @@ Label inbuxa.mail ServiceDescription - INBUXA + inbuxa ProgramArguments __PATH__/bin/inbuxa diff --git a/resources/systemd/inbuxa.service b/resources/systemd/inbuxa.service index b2e48df..f52d708 100644 --- a/resources/systemd/inbuxa.service +++ b/resources/systemd/inbuxa.service @@ -1,5 +1,5 @@ [Unit] -Description=INBUXA Server +Description=inbuxa Server Conflicts=postfix.service sendmail.service exim4.service ConditionPathExists=__PATH__/etc/config.json After=network-online.target diff --git a/tests/e2e/legacy_protocols.py b/tests/e2e/legacy_protocols.py index c011849..1994c0a 100755 --- a/tests/e2e/legacy_protocols.py +++ b/tests/e2e/legacy_protocols.py @@ -49,7 +49,7 @@ HTTP = "http://127.0.0.1:18080" # made to speak. PORTS = {"imap": 18993, "pop3": 18995, "submissions": 18465, "smtp": 18025} TLS_PORTS = {18993, 18995, 18465} -SMTP_REFUSAL = ("535 5.7.0 This server allows only INBUXA webmail and JMAP apps. " +SMTP_REFUSAL = ("535 5.7.0 This server allows only inbuxa webmail and JMAP apps. " "This mail app can't send.") INBUXA = "urn:inbuxa:jmap" failures = [] @@ -333,7 +333,7 @@ def tenant_checks(admin, admin_pw, account): "and still enabled for an account outside the tenant (test 13)") # Refused on the tenant's domain, every way in the same words (tests 6-8). - imap_no = ("NO [ALERT] Your organization allows only INBUXA webmail and JMAP apps. " + imap_no = ("NO [ALERT] Your organization allows only inbuxa webmail and JMAP apps. " "This mail app can't sign in.") check(imap_login(PORTS["imap"], tu, user_pw) == imap_no, "the tenant's user is refused over IMAP with the right password (test 6)") @@ -341,10 +341,10 @@ def tenant_checks(admin, admin_pw, account): check(imap_login(PORTS["imap"], "nobody@t.legacy.test", "x") == imap_no, "and a made-up address on the domain gets the same (test 7)") check(pop3_login(PORTS["pop3"], tu, user_pw) == - "-ERR [AUTH] Your organization allows only INBUXA webmail and JMAP apps. " + "-ERR [AUTH] Your organization allows only inbuxa webmail and JMAP apps. " "This mail app can't sign in.", "POP3 refuses in its own form (test 8)") check(smtp_auths(PORTS["submissions"], tu, [user_pw])[0] == - "535 5.7.0 Your organization allows only INBUXA webmail and JMAP apps. " + "535 5.7.0 Your organization allows only inbuxa webmail and JMAP apps. " "This mail app can't send.", "submission refuses in its own form (test 8)") check(imap_login(PORTS["imap"], admin, admin_pw).startswith("OK"), "an account on another domain signs in over IMAP normally (test 6)") diff --git a/tests/resources/itip/google_calendar.txt b/tests/resources/itip/google_calendar.txt index 3cfee45..91539c2 100644 --- a/tests/resources/itip/google_calendar.txt +++ b/tests/resources/itip/google_calendar.txt @@ -61,7 +61,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Meet me maybe") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 @@ -176,7 +176,7 @@ summary.summary: Text("Meet me maybe") ~summary.description: Text("This is the event description") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 @@ -224,7 +224,7 @@ END:VCALENDAR # Make sure the original alarms are preserved > get b@gmail.com 1qnf39p0m9h6n1cm9qa9d8mocv@google.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 diff --git a/tests/resources/itip/itip_incoming.txt b/tests/resources/itip/itip_incoming.txt index e0dc9d9..4731a74 100644 --- a/tests/resources/itip/itip_incoming.txt +++ b/tests/resources/itip/itip_incoming.txt @@ -64,7 +64,7 @@ summary.location: Text("Conference Room A") summary.summary: Text("Review Accounts") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:Conference Room A @@ -114,7 +114,7 @@ summary.location: Text("Conference Room A") summary.summary: Text("Review Accounts") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:Conference Room A diff --git a/tests/resources/itip/put_validation.txt b/tests/resources/itip/put_validation.txt index 61c645b..8fcd0ec 100644 --- a/tests/resources/itip/put_validation.txt +++ b/tests/resources/itip/put_validation.txt @@ -146,7 +146,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 }) summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -402,7 +402,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 }) summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -450,7 +450,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 }) summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED diff --git a/tests/resources/itip/rfc5546_event_recurring.txt b/tests/resources/itip/rfc5546_event_recurring.txt index b356ff8..d6aeaf4 100644 --- a/tests/resources/itip/rfc5546_event_recurring.txt +++ b/tests/resources/itip/rfc5546_event_recurring.txt @@ -37,7 +37,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia summary.summary: Text("IETF Calendaring Working Group Meeting") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -117,7 +117,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia summary.summary: Text("IETF Calendaring Working Group Meeting") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -207,7 +207,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia summary.summary: Text("IETF Calendaring Working Group Meeting") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CANCELLED @@ -226,7 +226,7 @@ END:VCALENDAR # Make sure B has the cancelled event > get b@example.com guid-1@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -358,7 +358,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia summary.summary: Text("IETF Calendaring Working Group Meeting") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -386,7 +386,7 @@ END:VCALENDAR # Make sure B has the complete event including all updates > get b@example.com guid-1@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -538,7 +538,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia summary.summary: Text("IETF Calendaring Working Group Meeting") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT DESCRIPTION:IETF-C&S Conference Call @@ -564,7 +564,7 @@ END:VCALENDAR # Make sure all instances in B were deleted > get b@example.com guid-1@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT CLASS:PUBLIC @@ -677,7 +677,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Review Accounts") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:The White Room @@ -742,7 +742,7 @@ summary.summary: Text("Review Accounts") ~summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None }) BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:The White Room @@ -770,7 +770,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Review Accounts") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:The Red Room @@ -791,7 +791,7 @@ END:VCALENDAR # Make sure B has the updated event > get b@example.com 123456789@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:The White Room @@ -812,7 +812,7 @@ END:VCALENDAR # Make sure C has the updated event > get c@example.com 123456789@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT LOCATION:The Red Room @@ -853,7 +853,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Review Accounts") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Review Accounts @@ -919,7 +919,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Weekly Sync") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Weekly Sync @@ -967,7 +967,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: summary.summary: Text("Weekly Sync") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Weekly Sync diff --git a/tests/resources/itip/rfc5546_event_single.txt b/tests/resources/itip/rfc5546_event_single.txt index 3df323e..2321586 100644 --- a/tests/resources/itip/rfc5546_event_single.txt +++ b/tests/resources/itip/rfc5546_event_single.txt @@ -32,7 +32,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 }) summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -61,7 +61,7 @@ END:VCALENDAR # Make sure B receives the request > get b@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -88,7 +88,7 @@ END:VCALENDAR > put b@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VEVENT DTSTAMP:19970701T200000Z SEQUENCE:1 @@ -119,7 +119,7 @@ summary.dtstart: Time(ItipTime { start: 867787200, tz_id: 32768 }) summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Conference @@ -198,7 +198,7 @@ summary.summary: Text("Phone Conference") ~summary.summary: Text("Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -228,7 +228,7 @@ END:VCALENDAR # Make sure C receives the request > get c@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -256,7 +256,7 @@ END:VCALENDAR > put c@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VEVENT DTSTAMP:19970701T180000Z UID:calsrv.example.com-873970198738777@example.com @@ -287,7 +287,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Phone Conference @@ -313,7 +313,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -343,7 +343,7 @@ END:VCALENDAR # Make sure E receives the request > get e@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -398,7 +398,7 @@ END:VCALENDAR > put e@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VEVENT DTSTAMP:19970701T180000Z SEQUENCE:2 @@ -430,7 +430,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Phone Conference @@ -479,7 +479,7 @@ END:VCALENDAR # Make sure C receives the reply > get c@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -508,7 +508,7 @@ END:VCALENDAR > put e@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VEVENT DTSTAMP:19970701T180000Z SEQUENCE:2 @@ -540,7 +540,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Phone Conference @@ -564,7 +564,7 @@ END:VCALENDAR # Make sure C receives the reply > get c@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -650,7 +650,7 @@ summary.summary: Text("Phone Conference") ~summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: None, is_organizer: true }, ItipParticipant { email: "b@example.com", name: None, is_organizer: false }, ItipParticipant { email: "c@example.com", name: None, is_organizer: false }, ItipParticipant { email: "conf@example.com", name: None, is_organizer: false }, ItipParticipant { email: "d@example.com", name: Some("Hal"), is_organizer: false }, ItipParticipant { email: "e@example.com", name: None, is_organizer: false }]) BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CONFIRMED @@ -681,7 +681,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CANCELLED @@ -702,7 +702,7 @@ END:VCALENDAR # Make sure B receives the cancelation > get b@example.com calsrv.example.com-873970198738777@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CANCELLED @@ -727,7 +727,7 @@ summary.dtstart: Time(ItipTime { start: 867780000, tz_id: 32768 }) summary.summary: Text("Phone Conference") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CANCELLED diff --git a/tests/resources/itip/rfc5546_todo.txt b/tests/resources/itip/rfc5546_todo.txt index 01a0aec..29b747d 100644 --- a/tests/resources/itip/rfc5546_todo.txt +++ b/tests/resources/itip/rfc5546_todo.txt @@ -32,7 +32,7 @@ summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 }) summary.summary: Text("Create the requirements document") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PRIORITY:1 @@ -57,7 +57,7 @@ END:VCALENDAR # Make sure B received the todo > get b@example.com calsrv.example.com-873970198738777-00@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PRIORITY:1 @@ -103,7 +103,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 }) BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO STATUS:IN-PROCESS @@ -172,7 +172,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 }) BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PERCENT-COMPLETE:75 @@ -241,7 +241,7 @@ summary.attendee: Participants([ItipParticipant { email: "a@example.com", name: summary.dtstart: Time(ItipTime { start: 867776400, tz_id: 32768 }) BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO DUE:19970722T170000Z @@ -317,7 +317,7 @@ summary.summary: Text("Send Status Reports to Area Managers") ~summary.summary: Text("Create the requirements document") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PRIORITY:1 @@ -347,7 +347,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count summary.summary: Text("Create the requirements document") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO STATUS:CANCELLED @@ -367,7 +367,7 @@ END:VCALENDAR # Make sure "C" received the cancel request > get c@example.com calsrv.example.com-873970198738777-00@example.com BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PRIORITY:1 @@ -451,7 +451,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: None, count summary.summary: Text("Send Status Reports to Area Managers") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VTODO PERCENT-COMPLETE:75 diff --git a/tests/resources/itip/rfc6638_recurring.txt b/tests/resources/itip/rfc6638_recurring.txt index 70bd46b..cfdfac3 100644 --- a/tests/resources/itip/rfc6638_recurring.txt +++ b/tests/resources/itip/rfc6638_recurring.txt @@ -47,7 +47,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: summary.summary: Text("Review Internet-Draft") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Review Internet-Draft @@ -89,7 +89,7 @@ END:VCALENDAR # Make sure the participant receives the event > get bernard@example.net 9263504FD3AD BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Review Internet-Draft @@ -185,7 +185,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: summary.summary: Text("Review Internet-Draft") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Review Internet-Draft @@ -343,7 +343,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Daily, until: None, count: summary.summary: Text("Review Internet-Draft") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Review Internet-Draft diff --git a/tests/resources/itip/rfc6638_single.txt b/tests/resources/itip/rfc6638_single.txt index b6554c2..bbec3f9 100644 --- a/tests/resources/itip/rfc6638_single.txt +++ b/tests/resources/itip/rfc6638_single.txt @@ -30,7 +30,7 @@ summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 }) summary.summary: Text("Lunch") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Lunch @@ -83,7 +83,7 @@ END:VCALENDAR # Make sure the message was received by the attendees > get wilfredo@example.com 9263504FD3AD BEGIN:VCALENDAR -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Lunch @@ -170,7 +170,7 @@ summary.dtstart: Time(ItipTime { start: 1243958400, tz_id: 32768 }) summary.summary: Text("Lunch") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Lunch diff --git a/tests/resources/itip/vtimezone.txt b/tests/resources/itip/vtimezone.txt index d90562c..c97dac4 100644 --- a/tests/resources/itip/vtimezone.txt +++ b/tests/resources/itip/vtimezone.txt @@ -26,7 +26,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 }) summary.summary: Text("Berlin meeting") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Berlin meeting @@ -92,7 +92,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 }) summary.summary: Text("Berlin meeting") BEGIN:VCALENDAR METHOD:REPLY -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Berlin meeting @@ -144,7 +144,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 }) summary.summary: Text("Berlin meeting") BEGIN:VCALENDAR METHOD:CANCEL -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT STATUS:CANCELLED @@ -228,7 +228,7 @@ summary.dtstart: Time(ItipTime { start: 1794322800, tz_id: 433 }) summary.summary: Text("Berlin meeting") BEGIN:VCALENDAR METHOD:REQUEST -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN VERSION:2.0 BEGIN:VEVENT SUMMARY:Berlin meeting diff --git a/tests/src/imap/basic.rs b/tests/src/imap/basic.rs index 6e05712..d56a152 100644 --- a/tests/src/imap/basic.rs +++ b/tests/src/imap/basic.rs @@ -47,7 +47,7 @@ pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConnection) { imap.send("ID").await; imap.assert_read(Type::Tagged, ResponseType::Ok) .await - .assert_contains("* ID (\"name\" \"INBUXA\" \"version\" "); + .assert_contains("* ID (\"name\" \"inbuxa\" \"version\" "); // Login should be disabled imap.send("LOGIN jdoe@example.com secret").await; diff --git a/tests/src/jmap/calendar/calendars.rs b/tests/src/jmap/calendar/calendars.rs index 2000401..d137a02 100644 --- a/tests/src/jmap/calendar/calendars.rs +++ b/tests/src/jmap/calendar/calendars.rs @@ -45,7 +45,7 @@ pub async fn test(test: &TestServer) { list[0], json!({ "id": default_calendar_id, - "name": "INBUXA Calendar (jdoe@example.com)", + "name": "inbuxa Calendar (jdoe@example.com)", "description": null, "sortOrder": 0, "isSubscribed": true, @@ -310,7 +310,7 @@ pub async fn test(test: &TestServer) { })); response.list()[1].assert_is_equal(json!({ "id": default_calendar_id, - "name": "INBUXA Calendar (jdoe@example.com)", + "name": "inbuxa Calendar (jdoe@example.com)", "description": (), "sortOrder": 0, "isSubscribed": true, diff --git a/tests/src/jmap/contacts/addressbook.rs b/tests/src/jmap/contacts/addressbook.rs index 25b7e61..c67df56 100644 --- a/tests/src/jmap/contacts/addressbook.rs +++ b/tests/src/jmap/contacts/addressbook.rs @@ -38,7 +38,7 @@ pub async fn test(test: &TestServer) { assert_eq!( list[0], json!({ - "name": "INBUXA Address Book (jdoe@example.com)", + "name": "inbuxa Address Book (jdoe@example.com)", "description": (), "sortOrder": 0, "isSubscribed": true, @@ -148,7 +148,7 @@ pub async fn test(test: &TestServer) { "id": addressbook_id, }), json!({ - "name": "INBUXA Address Book (jdoe@example.com)", + "name": "inbuxa Address Book (jdoe@example.com)", "description": (), "sortOrder": 0, "isSubscribed": true, diff --git a/tests/src/scim/acceptance.rs b/tests/src/scim/acceptance.rs index 73e95a8..979e699 100644 --- a/tests/src/scim/acceptance.rs +++ b/tests/src/scim/acceptance.rs @@ -106,7 +106,7 @@ async fn discovery(scim: &ScimTest) { ); assert!( !config.body.contains("stalw"), - "SCIM-4: documentation is INBUXA's own" + "SCIM-4: documentation is inbuxa's own" ); let types = anonymous.get("/ResourceTypes").await; diff --git a/tests/src/system/branding.rs b/tests/src/system/branding.rs index 39c1c6d..1fbc7e2 100644 --- a/tests/src/system/branding.rs +++ b/tests/src/system/branding.rs @@ -503,7 +503,7 @@ pub async fn branding_compat() { let admin = std::env::var("INBUXA_COMPAT_ADMIN").expect("INBUXA_COMPAT_ADMIN"); assert!( std::env::var("NO_INSERT").is_ok(), - "NO_INSERT must be set, or the copy of INBUXA's data is wiped" + "NO_INSERT must be set, or the copy of inbuxa's data is wiped" ); let test = TestServerBuilder::new("branding_compat") .await diff --git a/tests/src/system/masked_email.rs b/tests/src/system/masked_email.rs index 9fb2de5..314d4f4 100644 --- a/tests/src/system/masked_email.rs +++ b/tests/src/system/masked_email.rs @@ -431,7 +431,7 @@ pub async fn masked_email_compat() { .expect("masks JSON"); assert!( std::env::var("NO_INSERT").is_ok(), - "NO_INSERT must be set, or the copy of INBUXA's data is wiped" + "NO_INSERT must be set, or the copy of inbuxa's data is wiped" ); let test = TestServerBuilder::new("masked_email_compat") diff --git a/tests/src/system/tenant.rs b/tests/src/system/tenant.rs index 47f9e3c..7082f62 100644 --- a/tests/src/system/tenant.rs +++ b/tests/src/system/tenant.rs @@ -908,7 +908,7 @@ pub async fn tenant_compat() { .expect("expected JSON"); assert!( std::env::var("NO_INSERT").is_ok(), - "NO_INSERT must be set, or the copy of INBUXA's data is wiped" + "NO_INSERT must be set, or the copy of inbuxa's data is wiped" ); let test = TestServerBuilder::new("tenant_compat") diff --git a/tests/src/system/undelete.rs b/tests/src/system/undelete.rs index 52d60e5..2a4608e 100644 --- a/tests/src/system/undelete.rs +++ b/tests/src/system/undelete.rs @@ -618,7 +618,7 @@ pub async fn undelete_compat() { .expect("archived items JSON"); assert!( std::env::var("NO_INSERT").is_ok(), - "NO_INSERT must be set, or the copy of INBUXA's data is wiped" + "NO_INSERT must be set, or the copy of inbuxa's data is wiped" ); let test = TestServerBuilder::new("undelete_compat") diff --git a/tests/src/webdav/cal_query.rs b/tests/src/webdav/cal_query.rs index 4110e16..a7a7d82 100644 --- a/tests/src/webdav/cal_query.rs +++ b/tests/src/webdav/cal_query.rs @@ -907,7 +907,7 @@ const REPORT_10: &str = r#" const REPORT_10_RESPONSE: &str = r#"BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VFREEBUSY DTSTART:20060104T140000Z DTEND:20060105T220000Z @@ -928,7 +928,7 @@ const REPORT_11: &str = r#" const REPORT_11_RESPONSE: &str = r#"BEGIN:VCALENDAR VERSION:2.0 -PRODID:-//INBUXA//INBUXA Server//EN +PRODID:-//inbuxa//inbuxa Server//EN BEGIN:VFREEBUSY DTSTART:20060101T000000Z DTEND:20060104T140000Z