Compare commits
10 commits
20ad47b42b
...
3ccaedd9f6
Author | SHA1 | Date | |
---|---|---|---|
3ccaedd9f6 | |||
a08868a2e5 | |||
dfc02ae109 | |||
|
6e16a6ef8f | ||
|
0870c8d647 | ||
|
d0f00e6f5c | ||
|
5d44653e3a | ||
|
44e60d0ea6 | ||
|
d7514178ab | ||
|
1d45e0b68c |
9 changed files with 53 additions and 33 deletions
|
@ -180,7 +180,7 @@ jobs:
|
|||
file: "docker/Dockerfile"
|
||||
build-args: |
|
||||
GIT_COMMIT_HASH=${{ github.sha }})
|
||||
GIT_COMMIT_HASH_SHORT=${{ env.COMMIT_SHORT_SHA }})
|
||||
GIT_COMMIT_HASH_SHORT=${{ env.COMMIT_SHORT_SHA }}
|
||||
GIT_REMOTE_URL=${{github.event.repository.html_url }}
|
||||
GIT_REMOTE_COMMIT_URL=${{github.event.head_commit.url }}
|
||||
platforms: ${{ matrix.platform }}
|
||||
|
|
20
Cargo.lock
generated
20
Cargo.lock
generated
|
@ -771,7 +771,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"conduwuit_admin",
|
||||
|
@ -800,7 +800,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_admin"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"conduwuit_api",
|
||||
|
@ -821,7 +821,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_api"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"axum",
|
||||
|
@ -853,14 +853,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_build_metadata"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"built 0.8.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "conduwuit_core"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"argon2",
|
||||
"arrayvec",
|
||||
|
@ -919,7 +919,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_database"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"async-channel",
|
||||
"conduwuit_core",
|
||||
|
@ -937,7 +937,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_macros"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"itertools 0.14.0",
|
||||
"proc-macro2",
|
||||
|
@ -947,7 +947,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_router"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"axum-client-ip",
|
||||
|
@ -981,7 +981,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_service"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base64 0.22.1",
|
||||
|
@ -1018,7 +1018,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "conduwuit_web"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
dependencies = [
|
||||
"askama",
|
||||
"axum",
|
||||
|
|
|
@ -21,7 +21,7 @@ license = "Apache-2.0"
|
|||
readme = "README.md"
|
||||
repository = "https://forgejo.ellis.link/continuwuation/continuwuity"
|
||||
rust-version = "1.86.0"
|
||||
version = "0.5.0-rc.5"
|
||||
version = "0.5.0-rc.6"
|
||||
|
||||
[workspace.metadata.crane]
|
||||
name = "conduwuit"
|
||||
|
|
|
@ -20,10 +20,10 @@ We may backport fixes to the previous release at our discretion, but we don't gu
|
|||
|
||||
We appreciate the efforts of security researchers and the community in identifying and reporting vulnerabilities. To ensure that potential vulnerabilities are addressed properly, please follow these guidelines:
|
||||
|
||||
1. Contact members of the team over E2EE private message.
|
||||
1. **Contact members of the team directly** over E2EE private message.
|
||||
- [@jade:ellis.link](https://matrix.to/#/@jade:ellis.link)
|
||||
- [@nex:nexy7574.co.uk](https://matrix.to/#/@nex:nexy7574.co.uk) <!-- ? -->
|
||||
2. **Email the security team** directly at [security@continuwuity.org](mailto:security@continuwuity.org). This is not E2EE, so don't include sensitive details.
|
||||
2. **Email the security team** at [security@continuwuity.org](mailto:security@continuwuity.org). This is not E2EE, so don't include sensitive details.
|
||||
3. **Do not disclose the vulnerability publicly** until it has been addressed
|
||||
4. **Provide detailed information** about the vulnerability, including:
|
||||
- A clear description of the issue
|
||||
|
@ -48,7 +48,7 @@ When you report a security vulnerability:
|
|||
|
||||
When security vulnerabilities are identified:
|
||||
|
||||
1. We will develop and test fixes in a private branch
|
||||
1. We will develop and test fixes in a private fork
|
||||
2. Security updates will be released as soon as possible
|
||||
3. Release notes will include information about the vulnerabilities, avoiding details that could facilitate exploitation where possible
|
||||
4. Critical security updates may be backported to the previous stable release
|
||||
|
|
4
docs/static/announcements.json
vendored
4
docs/static/announcements.json
vendored
|
@ -4,6 +4,10 @@
|
|||
{
|
||||
"id": 1,
|
||||
"message": "Welcome to Continuwuity! Important announcements about the project will appear here."
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"message": "🎉 Continuwuity v0.5.0-rc.6 is now available! This release includes improved knock-restricted room handling, automatic support contact configuration, and a new HTML landing page. Check [the release notes for full details](https://forgejo.ellis.link/continuwuation/continuwuity/releases/tag/v0.5.0-rc.6) and upgrade instructions."
|
||||
}
|
||||
]
|
||||
}
|
8
docs/static/announcements.schema.json
vendored
8
docs/static/announcements.schema.json
vendored
|
@ -3,7 +3,7 @@
|
|||
"$id": "https://continwuity.org/schema/announcements.schema.json",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"updates": {
|
||||
"announcements": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
|
@ -16,6 +16,10 @@
|
|||
},
|
||||
"date": {
|
||||
"type": "string"
|
||||
},
|
||||
"mention_room": {
|
||||
"type": "boolean",
|
||||
"description": "Whether to mention the room (@room) when posting this announcement"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
|
@ -26,6 +30,6 @@
|
|||
}
|
||||
},
|
||||
"required": [
|
||||
"updates"
|
||||
"announcements"
|
||||
]
|
||||
}
|
|
@ -125,13 +125,13 @@ pub(super) enum DebugCommand {
|
|||
reset: bool,
|
||||
},
|
||||
|
||||
/// - Verify json signatures
|
||||
/// - Sign JSON blob
|
||||
///
|
||||
/// This command needs a JSON blob provided in a Markdown code block below
|
||||
/// the command.
|
||||
SignJson,
|
||||
|
||||
/// - Verify json signatures
|
||||
/// - Verify JSON signatures
|
||||
///
|
||||
/// This command needs a JSON blob provided in a Markdown code block below
|
||||
/// the command.
|
||||
|
|
|
@ -219,6 +219,15 @@ pub fn check(config: &Config) -> Result {
|
|||
));
|
||||
}
|
||||
|
||||
// Check if support contact information is configured
|
||||
if config.well_known.support_email.is_none() && config.well_known.support_mxid.is_none() {
|
||||
warn!(
|
||||
"No support contact information (support_email or support_mxid) is configured in \
|
||||
the well_known section. Users in the admin room will be automatically listed as \
|
||||
support contacts in the /.well-known/matrix/support endpoint."
|
||||
);
|
||||
}
|
||||
|
||||
if config
|
||||
.url_preview_domain_contains_allowlist
|
||||
.contains(&"*".to_owned())
|
||||
|
|
|
@ -20,7 +20,7 @@ use std::{sync::Arc, time::Duration};
|
|||
use async_trait::async_trait;
|
||||
use conduwuit::{Result, Server, debug, info, warn};
|
||||
use database::{Deserialized, Map};
|
||||
use ruma::events::room::message::RoomMessageEventContent;
|
||||
use ruma::events::{Mentions, room::message::RoomMessageEventContent};
|
||||
use serde::Deserialize;
|
||||
use tokio::{
|
||||
sync::Notify,
|
||||
|
@ -53,6 +53,8 @@ struct CheckForAnnouncementsResponseEntry {
|
|||
id: u64,
|
||||
date: Option<String>,
|
||||
message: String,
|
||||
#[serde(default, skip_serializing_if = "bool::not")]
|
||||
mention_room: bool,
|
||||
}
|
||||
|
||||
const CHECK_FOR_ANNOUNCEMENTS_URL: &str =
|
||||
|
@ -139,19 +141,20 @@ impl Service {
|
|||
} else {
|
||||
info!("[announcements] {:#}", announcement.message);
|
||||
}
|
||||
let mut message = RoomMessageEventContent::text_markdown(format!(
|
||||
"### New announcement{}\n\n{}",
|
||||
announcement
|
||||
.date
|
||||
.as_ref()
|
||||
.map_or_else(String::new, |date| format!(" - `{date}`")),
|
||||
announcement.message
|
||||
));
|
||||
|
||||
self.services
|
||||
.admin
|
||||
.send_message(RoomMessageEventContent::text_markdown(format!(
|
||||
"### New announcement{}\n\n{}",
|
||||
announcement
|
||||
.date
|
||||
.as_ref()
|
||||
.map_or_else(String::new, |date| format!(" - `{date}`")),
|
||||
announcement.message
|
||||
)))
|
||||
.await
|
||||
.ok();
|
||||
if announcement.mention_room {
|
||||
message = message.add_mentions(Mentions::with_room_mention());
|
||||
}
|
||||
|
||||
self.services.admin.send_message(message).await.ok();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue