Jason Volk 
							
						 
					 
					
						
						
						
						
							
						
						
							ac37db212a 
							
						 
					 
					
						
						
							
							fix lints  
						
						... 
						
						
						
						Signed-off-by: Jason Volk <jason@zemos.net> 
						
						
					 
					
						2025-01-01 22:20:39 +00:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							ae3897cad8 
							
						 
					 
					
						
						
							
							identifiers: Allow to validate KeyId with any key name type  
						
						... 
						
						
						
						Use new trait bounds for KeyId to only allow specific types.
Change the KeyId validation to be generic over the key name type.
Remove the KeyName type and replace it with the more specific
ServerSigningKeyVersion. 
						
						
					 
					
						2024-11-08 12:49:53 -05:00 
						 
				 
			
				
					
						
							
							
								Jason Volk 
							
						 
					 
					
						
						
						
						
							
						
						
							d7baeb7e5c 
							
						 
					 
					
						
						
							
							add required_keys util to signatures  
						
						... 
						
						
						
						Signed-off-by: Jason Volk <jason@zemos.net> 
						
						
					 
					
						2024-10-14 03:54:43 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Volk 
							
						 
					 
					
						
						
						
						
							
						
						
							90fb81eabe 
							
						 
					 
					
						
						
							
							reduce excessive cloning for verify_json  
						
						... 
						
						
						
						Signed-off-by: Jason Volk <jason@zemos.net> 
						
						
					 
					
						2024-10-10 01:27:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							1a138ed6c9 
							
						 
					 
					
						
						
							
							Use workspace lint configuration instead of rustflags hack  
						
						
						
						
					 
					
						2024-09-11 07:13:32 +00:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							04654f8833 
							
						 
					 
					
						
						
							
							chore: Fix new clippy warnings  
						
						
						
						
					 
					
						2024-07-29 20:03:44 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							9e8008f011 
							
						 
					 
					
						
						
							
							chore: Make rand a workspace dependency  
						
						
						
						
					 
					
						2024-07-16 15:02:45 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							42f20a4e8d 
							
						 
					 
					
						
						
							
							Release ruma-signatures 0.15.0  
						
						
						
						
					 
					
						2024-05-09 13:01:32 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4a02b97aa3 
							
						 
					 
					
						
						
							
							Update website URL  
						
						
						
						
					 
					
						2024-04-04 13:20:58 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c82f600d6a 
							
						 
					 
					
						
						
							
							Fix new lints  
						
						
						
						
					 
					
						2023-11-08 18:16:44 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e658b8b128 
							
						 
					 
					
						
						
							
							Remove 'www.' from ruma.io URLs  
						
						
						
						
					 
					
						2023-10-12 15:44:00 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							558f342a62 
							
						 
					 
					
						
						
							
							Release ruma-signatures 0.14.0  
						
						
						
						
					 
					
						2023-10-05 17:10:02 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ba2914a22a 
							
						 
					 
					
						
						
							
							macros: Simplify symbol path  
						
						
						
						
					 
					
						2023-08-25 10:36:25 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c7a3c4e4fc 
							
						 
					 
					
						
						
							
							Upgrade ed25519-dalek to 2.0  
						
						... 
						
						
						
						Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr> 
						
						
					 
					
						2023-08-24 20:48:54 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							2753577d02 
							
						 
					 
					
						
						
							
							signatures: Add test to check reproducibility of signatures  
						
						
						
						
					 
					
						2023-08-23 16:55:57 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							8e10064364 
							
						 
					 
					
						
						
							
							Enforce import grouping  
						
						... 
						
						
						
						Includes a few manual changes to make rustfmt behave a bit better. 
						
						
					 
					
						2023-08-22 12:31:49 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							ffdd632701 
							
						 
					 
					
						
						
							
							signatures: Add missing RoomVersionId::V11 match  
						
						
						
						
					 
					
						2023-08-12 15:54:41 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3dac70ead9 
							
						 
					 
					
						
						
							
							Remove most unreachable visibility modifiers  
						
						
						
						
					 
					
						2023-07-19 14:32:14 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ba5bf8cfce 
							
						 
					 
					
						
						
							
							Replace assert_matches by assert_matches2  
						
						
						
						
					 
					
						2023-06-08 11:37:11 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							d78c3e11f1 
							
						 
					 
					
						
						
							
							signatures: Remove age_ts from reference hash calculation  
						
						... 
						
						
						
						According to a spec clarification 
						
						
					 
					
						2023-05-24 20:08:20 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4c85fe9c78 
							
						 
					 
					
						
						
							
							Replace compat feature with more fine-grained compat-* features  
						
						... 
						
						
						
						… and document them. 
						
						
					 
					
						2023-04-20 14:00:27 +02:00 
						 
				 
			
				
					
						
							
							
								gnieto 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7565588be7 
							
						 
					 
					
						
						
							
							signatures: Prevent accepting events without at least one valid signature  
						
						... 
						
						
						
						`verify_event` has been changed recently to be more aligned with the
spec. In the previous algorithm, it returned an error if the event was
not signed by at least one of the required entities.
The new algortihm is iterating over all the signtures for the required
entities *and* skipping unknown algorithms. If an event is signed only
by unkonwn algorithms, the event would be accepted and not verifications
will happen. In order to prevent that, we check that, at least, a single
key is checked. This covers the 2nd point in: https://spec.matrix.org/v1.6/appendices/#checking-for-a-signature 
A few more test cases were added:
- The event is properly signed, but key map contains a key with an
  unknown algorithm. Under this circumstances, the event should be
  allowed.
- An event signed by multiple keys for an entity, should verify all
  those signatures
- An event signed by a single key with an unkown algorithm by the
  required entity, should fail 
						
						
					 
					
						2023-03-02 09:34:57 +00:00 
						 
				 
			
				
					
						
							
							
								Jason Volk 
							
						 
					 
					
						
						
						
						
							
						
						
							87237bf100 
							
						 
					 
					
						
						
							
							signatures: Comply with the specified signature checking algorithm.  
						
						... 
						
						
						
						Based on research https://github.com/ruma/ruma/pull/1491#issuecomment-1445042510  by @zecakeh 
						
						
					 
					
						2023-03-01 22:25:06 +01:00 
						 
				 
			
				
					
						
							
							
								Jason Volk 
							
						 
					 
					
						
						
						
						
							
						
						
							920a412da1 
							
						 
					 
					
						
						
							
							signatures: Skip keys which don't split so other keys can be used instead.  
						
						
						
						
					 
					
						2023-03-01 22:25:06 +01:00 
						 
				 
			
				
					
						
							
							
								Jason Volk 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bcb97b139d 
							
						 
					 
					
						
						
							
							signatures: Allow additional key version-string characters in compat mode  
						
						... 
						
						
						
						This complies with the published specification by default, with optional compatibility for additional federation keys in use.
Co-authored-by: Jonathan de Jong <jonathan@automatia.nl> 
						
						
					 
					
						2023-03-01 09:54:38 +01:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8f74ec4b1a 
							
						 
					 
					
						
						
							
							Release ruma-signatures 0.13.1  
						
						
						
						
					 
					
						2023-02-15 13:08:31 +01:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							f159776f52 
							
						 
					 
					
						
						
							
							chore: Make all applicable spec links use the latest spec instead of a specific version  
						
						
						
						
					 
					
						2023-02-12 12:39:24 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0d689f0a76 
							
						 
					 
					
						
						
							
							Release ruma-signatures 0.13.0  
						
						
						
						
					 
					
						2023-02-01 14:14:16 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b6f0a43fa3 
							
						 
					 
					
						
						
							
							Use workspace dependencies for path dependencies  
						
						
						
						
					 
					
						2023-02-01 12:37:45 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fe5077b1a5 
							
						 
					 
					
						
						
							
							Upgrade base64 to 0.21  
						
						
						
						
					 
					
						2023-01-31 18:01:01 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							78ef5270ba 
							
						 
					 
					
						
						
							
							Upgrade dependencies  
						
						
						
						
					 
					
						2023-01-03 11:28:47 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							536341ca7e 
							
						 
					 
					
						
						
							
							Upgrade base64 to 0.20  
						
						
						
						
					 
					
						2022-12-20 15:34:50 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							284b797e05 
							
						 
					 
					
						
						
							
							Add optional redacted_because insertion to redaction  
						
						
						
						
					 
					
						2022-12-19 12:52:15 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ba9634f5bf 
							
						 
					 
					
						
						
							
							Update redact to take ownership of the event to be redacted  
						
						
						
						
					 
					
						2022-12-19 10:42:27 +01:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							d18bea570c 
							
						 
					 
					
						
						
							
							Use Cargo workspace dependencies  
						
						... 
						
						
						
						… for most external dependencies that are used from multiple workspace
crates. 
						
						
					 
					
						2022-11-01 11:13:21 +01:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							045861441a 
							
						 
					 
					
						
						
							
							doc: Update Matrix spec links to v1.4  
						
						
						
						
					 
					
						2022-10-21 10:41:20 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3c3c6f388f 
							
						 
					 
					
						
						
							
							Merge branch 'ruma-0.7'  
						
						
						
						
					 
					
						2022-10-18 09:14:16 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							67b2ec7d34 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.5  
						
						
						
						
					 
					
						2022-10-18 09:09:59 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6ec7fc09ea 
							
						 
					 
					
						
						
							
							Merge branch 'ruma-0.7'  
						
						
						
						
					 
					
						2022-10-17 18:05:42 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							83d60d1fab 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.4  
						
						
						
						
					 
					
						2022-10-17 17:27:27 +02:00 
						 
				 
			
				
					
						
							
							
								Kévin Commaille 
							
						 
					 
					
						
						
						
						
							
						
						
							b538234bce 
							
						 
					 
					
						
						
							
							chore: Fix new docs warnings  
						
						
						
						
					 
					
						2022-10-12 10:31:23 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d38fa052e2 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.3  
						
						
						
						
					 
					
						2022-09-16 12:13:19 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4d192ff3dc 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.2  
						
						
						
						
					 
					
						2022-09-16 11:55:56 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8460189668 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.1  
						
						
						
						
					 
					
						2022-09-14 21:28:23 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0047b1d19b 
							
						 
					 
					
						
						
							
							Release ruma-signatures 0.12.0  
						
						
						
						
					 
					
						2022-09-12 21:08:31 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							69aa77ca5f 
							
						 
					 
					
						
						
							
							Release ruma-common 0.10.0  
						
						
						
						
					 
					
						2022-09-12 20:26:06 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c745d3baf7 
							
						 
					 
					
						
						
							
							Fix clippy lint  
						
						
						
						
					 
					
						2022-09-02 14:07:28 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
						
						
							
						
						
							4db337b86a 
							
						 
					 
					
						
						
							
							Consistently use dep: syntax for feature > package dependencies  
						
						... 
						
						
						
						This removes confusing implicit features from optional dependencies. 
						
						
					 
					
						2022-08-01 15:46:20 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6b04b6c567 
							
						 
					 
					
						
						
							
							signatures: Silence unreachable lint with unstable-exhaustive-patterns  
						
						
						
						
					 
					
						2022-06-29 10:50:25 +02:00 
						 
				 
			
				
					
						
							
							
								Jonas Platte 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							08002e2640 
							
						 
					 
					
						
						
							
							Fix unstable-msc2870  
						
						
						
						
					 
					
						2022-06-29 10:31:25 +02:00