Commit Graph
4482 Commits
Author SHA1 Message Date
timedout 70a3905761 style: Remove duplicate pdu check 1 call in handle_incoming_pdu 2026-07-11 17:27:42 +01:00
timedout cf9179e8f6 fix: Perform checks 1-3 on auth chain PDUs 2026-07-11 17:27:42 +01:00
timedout 6b899b7f80 refactor: Move PDU checks 1, 2, and 3 into pdu_checks.rs 2026-07-11 17:27:42 +01:00
timedout ad57fa06fc style: Unify and document state_before_incoming 2026-07-11 17:27:42 +01:00
timedout ec9efbada5 fix: Don't reject auth events when they're innocent in auth chain response 2026-07-11 17:27:42 +01:00
timedout 318d2b205a style: Move PDU check functions into their own module 2026-07-11 17:27:42 +01:00
timedout 99a5f2a9fb refactor: Reduce complexity of incoming PDU handling
* Ignores any events pushed without a room ID
* Removes needless clones for PDU size checking
* Removes incorrect ACL check in incoming handler
* Fast-path handling already handled outlier events
* Remove redundant same-room checks, replace with useful ones
* Combine event rejection and persistence in a single function
* Additional safety assertions in upgrade task
* Split upgrade task into multiple subroutines for reduced cognitive complexity
* Only mutate current state and forward extremities in tandem
* Improve code documentation to better explain the logic flow
2026-07-11 17:27:42 +01:00
Renovate Bot ace0d52074 chore(deps): Update rust crate termimad to 0.35.0 2026-07-11 15:35:53 +00:00
Ginger 0b1e24a9ad fix: Add admin command to ensure all appservice puppets are active 2026-07-11 14:55:43 +00:00
Ginger f55207d5c7 fix: Stop appservice users from being wrongly deactivated during migration 2026-07-11 14:55:43 +00:00
Ginger 9b14ab4c0b fix: Parse OIDC discovery URL more leniently 2026-07-10 16:52:04 +00:00
timedout b915692ae1 fix: Remove broken federated invite revoke handling
It turns out it never worked in the first place :D
2026-07-10 16:32:38 +01:00
theS1LV3R 8b6a176901 fix: Use correct DNS caching for SNI to function properly
This removes the old (broken) DNS caching method for reqwest, and replaces
it with resolvematrix' `MatrixDnsResolver`, as it correctly implements
caching and overrides for correct SNI behavior.
2026-07-10 13:44:59 +00:00
Jade Ellis 5d2e840859 feat: Enable direct_tls and more logging by default
Disables additional logging on maxperf builds
2026-07-09 22:44:26 +01:00
Ginger 2fabf18451 style: Fix comment 2026-07-09 17:36:56 -04:00
Ginger 63a26141f8 fix: Make depth cap a bit more thorough 2026-07-09 17:33:13 -04:00
Ginger cc1f667c2b fix: Cap max_depth to 50 in hierarchy endpoint 2026-07-09 17:22:36 -04:00
Ginger 89dcda4c3c feat: Kill roomsynctoken_shortstatehash dead 2026-07-09 16:43:10 -04:00
timedout 62730e861a style: Use string literals instead of u8s 2026-07-09 19:40:11 +00:00
timedout 68d018bd37 style: Use string literals instead of u8s 2026-07-09 19:40:11 +00:00
timedout f71f6e922c feat: Allow configuring the desired client IP source 2026-07-09 19:40:11 +00:00
theS1LV3R edbaceafaa fix: Cargo clippy messages 2026-07-09 18:22:25 +00:00
theS1LV3R 0d5789f727 chore: Merge resolver service into client service 2026-07-09 18:22:25 +00:00
Ginger 7e6bb7822e fix: Make "remove device" link on device details page more obvious 2026-07-09 18:11:26 +00:00
Ginger 5f9d609029 fix: Horizontally scroll overflowing pres 2026-07-09 18:11:26 +00:00
Ginger f866b94818 fix: Explicitly constrain avatar size 2026-07-09 18:11:26 +00:00
Ginger 8714fa2ea7 fix: Minor CSS and layout tweaks 2026-07-09 18:11:26 +00:00
Ginger 021dfc2424 fix: Fix error page on small screens 2026-07-09 18:11:26 +00:00
timedout f9b532162f fix: SEC20
Reviewed-By: Ginger <ginger@gingershaped.computer>
2026-07-09 17:58:59 +01:00
Ginger ad4f7973cb refactor: Remove list_local_users function 2026-07-07 11:33:47 -04:00
Ginger 431fb7330e refactor: Remove /_conduwuit/ routes 2026-07-07 11:33:47 -04:00
Renovate BotandGinger 6619e6a20a chore(deps): Update ruma digest to 89cce34
Co-Authored-By: Ginger <ginger@gingershaped.computer>
2026-07-07 11:25:13 -04:00
ginger e9e0db8bab fix: Stop advertising support for the stable MSC2666 endpoint 2026-07-07 14:29:14 +00:00
Ginger 6f76b0a593 fix: Don't bail out when changing profile data if membership cache is wrong 2026-07-05 10:51:36 -04:00
Ginger 3467dffd94 fix: Adjust sync watcher logic to be more explicit 2026-07-05 00:42:44 +00:00
Ginger 632d90921b fix: Fix circular service dependency 2026-07-04 17:04:01 -04:00
31a05b9c 6aab456466 fix: appservice masquerading requirement check 2026-07-04 18:21:51 +00:00
theS1LV3R 7fac885a98 Merge branch 'main' into rewrite-resolver 2026-07-04 19:55:28 +02:00
Ginger d2b795d8cf refactor: Logic cleanup 2026-07-04 13:15:54 -04:00
Ginger e0a754483a fix: Give invitees creator status when creating a trusted private v12 room 2026-07-04 13:06:49 -04:00
theS1LV3R 58507aa99b chore: Fix dependencies, prek errors 2026-07-03 10:59:14 +02:00
theS1LV3R e58ad49d11 fix: Remove unused code, use builder when not using cache 2026-07-03 10:59:13 +02:00
theS1LV3R 44087d8c09 chore: Fix more merge issues and removed methods 2026-07-03 10:59:13 +02:00
theS1LV3R fb74da21d9 style: Cargo fmt 2026-07-03 10:59:13 +02:00
theS1LV3R eb078ee6dd chore: Pass http client into resolver 2026-07-03 10:59:12 +02:00
theS1LV3R d8eb01bf74 fix: Apply prek fixes 2026-07-03 10:59:12 +02:00
theS1LV3R 5b5ba53980 fix: Fix merge problems, update to resolvematrix 0.1.0 2026-07-03 10:59:12 +02:00
theS1LV3R 0a12d40625 chore: clippy
diff --git c/src/admin/query/resolver.rs i/src/admin/query/resolver.rs
index add4c70de..37d6797ff 100644
--- c/src/admin/query/resolver.rs
+++ i/src/admin/query/resolver.rs
@@ -96,7 +96,10 @@ async fn flush_cache(&self, name: Option<OwnedServerName>, all: bool) -> Result
 		    self.services.resolver.dns.cache.clear().await;
 		    writeln!(self, "Resolver caches cleared!").await
 	    } else if let Some(name) = name {
-		    self.services.resolver.resolver.remove_cache_entry(&name.as_str());
+		    self.services
+                .resolver
+                .resolver
+                .remove_cache_entry(name.as_str());
 			self.services.resolver.dns.cache.del_destination(&name);
 			self.services.resolver.dns.cache.del_override(&name);
 			self.write_str(&format!("Cleared {name} from resolver caches!"))
2026-07-03 10:59:12 +02:00
theS1LV3R 3d521c8898 feat: Add cache clearing
diff --git c/Cargo.lock i/Cargo.lock
index 4a8b1e273..239932c62 100644
--- c/Cargo.lock
+++ i/Cargo.lock
@@ -4601,9 +4601,9 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7"

 [[package]]
 name = "resolvematrix"
-version = "0.0.3"
+version = "0.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52dfcc6f56a81348db1fc6591356cfea9dc840408c75553b2fe225f86de43274"
+checksum = "ea2b9bc3cb1220455bf50519f315c27257859059cb1b0f1643758afd03cbef8a"
 dependencies = [
  "hickory-resolver",
  "reqwest 0.13.2",
diff --git c/Cargo.toml i/Cargo.toml
index f89a5e010..d6260177a 100644
--- c/Cargo.toml
+++ i/Cargo.toml
@@ -45,7 +45,7 @@ version = "1.0.6"
 version = "1.0.0"

 [workspace.dependencies.cargo_toml]
-version = "1.0"
+version = "0.22"
 default-features = false
 features = ["features"]

@@ -164,7 +164,7 @@ features = ["raw_value"]

 # Used for appservice registration files
 [workspace.dependencies.serde-saphyr]
-version = "0.0.28"
+version = "0.0.27"

 # Used to load forbidden room/user regex from config
 [workspace.dependencies.serde_regex]
@@ -356,7 +356,6 @@ features = [
     "ring-compat",
     "compat-upload-signatures",
     "compat-optional-txn-pdus",
-    "compat-get-3pids",
     "unstable-msc2666",
     "unstable-msc2867",
     "unstable-msc2870",
@@ -561,10 +560,7 @@ features = ["std"]
 version = "0.3.0"

 [workspace.dependencies.resolvematrix]
-version = "0.1.0"
-
-[workspace.dependencies.serde_urlencoded]
-version = "0.7.1"
+version = "0.0.4"

 #
 # Patches
diff --git c/src/admin/query/resolver.rs i/src/admin/query/resolver.rs
index 4a88650f8..add4c70de 100644
--- c/src/admin/query/resolver.rs
+++ i/src/admin/query/resolver.rs
@@ -92,9 +92,11 @@ async fn overrides_cache(&self, server_name: Option<String>) -> Result {

 	async fn flush_cache(&self, name: Option<OwnedServerName>, all: bool) -> Result {
 		if all {
-			self.services.resolver.dns.cache.clear().await;
-			writeln!(self, "Resolver caches cleared!").await
-		} else if let Some(name) = name {
+		    self.services.resolver.resolver.clear_cache();
+		    self.services.resolver.dns.cache.clear().await;
+		    writeln!(self, "Resolver caches cleared!").await
+	    } else if let Some(name) = name {
+		    self.services.resolver.resolver.remove_cache_entry(&name.as_str());
 			self.services.resolver.dns.cache.del_destination(&name);
 			self.services.resolver.dns.cache.del_override(&name);
 			self.write_str(&format!("Cleared {name} from resolver caches!"))
diff --git c/src/service/resolver/mod.rs i/src/service/resolver/mod.rs
index c24b8ba60..6b57013dd 100644
--- c/src/service/resolver/mod.rs
+++ i/src/service/resolver/mod.rs
@@ -45,7 +45,7 @@ fn build(args: crate::Args<'_>) -> Result<Arc<Self>> {
 	}

 	async fn clear_cache(&self) {
-		// No ability to clean resolvematrix cache at the moment
+		self.resolver.clear_cache();
 		self.dns.resolver.clear_cache();
 		self.dns.cache.clear().await;
 	}
2026-07-03 10:59:11 +02:00
theS1LV3R 3dbe6a5817 fix: Make clippy not be angry 2026-07-03 10:59:11 +02:00