Merge pull request 'Update ruma' (#184) from jplatte/conduit:up-ruma into master
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/184 Reviewed-by: Timo Kösters <timo@koesters.xyz>
This commit is contained in:
		
						commit
						2d96323d5f
					
				
					 14 changed files with 152 additions and 122 deletions
				
			
		
							
								
								
									
										137
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										137
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							|  | @ -17,9 +17,9 @@ checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "adler32" | name = "adler32" | ||||||
| version = "1.1.0" | version = "1.2.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d" | checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "aead" | name = "aead" | ||||||
|  | @ -100,10 +100,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" | checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "async-trait" | name = "assign" | ||||||
| version = "0.1.36" | version = "1.1.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "a265e3abeffdce30b2e26b7a11b222fe37c6067404001b434101457d0385eb92" | checksum = "4af5687fe33aec5e70ef14caac5e0d363e335e5e5d6385fb75978d0c241b1d67" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "async-trait" | ||||||
|  | version = "0.1.37" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "caae68055714ff28740f310927e04f2eba76ff580b16fb18ed90073ee71646f7" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  | @ -621,9 +627,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "generic-array" | name = "generic-array" | ||||||
| version = "0.14.3" | version = "0.14.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "60fb4bb6bba52f78a471264d9a3b7d026cc0af47b22cd2cffbc0b787ca003e63" | checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "typenum", |  "typenum", | ||||||
|  "version_check", |  "version_check", | ||||||
|  | @ -692,9 +698,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "hashbrown" | name = "hashbrown" | ||||||
| version = "0.8.1" | version = "0.8.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "34f595585f103464d8d2f6e9864682d74c1601fed5e07d62b1c9058dba8246fb" | checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "autocfg", |  "autocfg", | ||||||
| ] | ] | ||||||
|  | @ -830,9 +836,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "indexmap" | name = "indexmap" | ||||||
| version = "1.5.0" | version = "1.5.1" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "5b88cd59ee5f71fea89a62248fc8f387d44400cefe05ef548466d61ced9029a7" | checksum = "86b45e59b16c76b11bf9738fd5d38879d3bd28ad292d7b313608becb17ae2df9" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "autocfg", |  "autocfg", | ||||||
|  "hashbrown", |  "hashbrown", | ||||||
|  | @ -1303,6 +1309,15 @@ version = "0.2.8" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" | checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "proc-macro-crate" | ||||||
|  | version = "0.1.5" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" | ||||||
|  | dependencies = [ | ||||||
|  |  "toml", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "proc-macro-hack" | name = "proc-macro-hack" | ||||||
| version = "0.5.18" | version = "0.5.18" | ||||||
|  | @ -1543,8 +1558,8 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma" | name = "ruma" | ||||||
| version = "0.1.0" | version = "0.0.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "ruma-api", |  "ruma-api", | ||||||
|  "ruma-client-api", |  "ruma-client-api", | ||||||
|  | @ -1552,14 +1567,13 @@ dependencies = [ | ||||||
|  "ruma-events", |  "ruma-events", | ||||||
|  "ruma-federation-api", |  "ruma-federation-api", | ||||||
|  "ruma-identifiers", |  "ruma-identifiers", | ||||||
|  "ruma-identifiers-macros", |  | ||||||
|  "ruma-signatures", |  "ruma-signatures", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-api" | name = "ruma-api" | ||||||
| version = "0.16.1" | version = "0.17.0-alpha.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "http", |  "http", | ||||||
|  "percent-encoding", |  "percent-encoding", | ||||||
|  | @ -1573,9 +1587,10 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-api-macros" | name = "ruma-api-macros" | ||||||
| version = "0.16.1" | version = "0.17.0-alpha.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "proc-macro-crate", | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  "syn", |  "syn", | ||||||
|  | @ -1583,9 +1598,10 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-client-api" | name = "ruma-client-api" | ||||||
| version = "0.9.0" | version = "0.10.0-alpha.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "assign", | ||||||
|  "http", |  "http", | ||||||
|  "js_int", |  "js_int", | ||||||
|  "ruma-api", |  "ruma-api", | ||||||
|  | @ -1601,9 +1617,10 @@ dependencies = [ | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-common" | name = "ruma-common" | ||||||
| version = "0.2.0" | version = "0.2.0" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "js_int", |  "js_int", | ||||||
|  |  "ruma-identifiers", | ||||||
|  "ruma-serde", |  "ruma-serde", | ||||||
|  "serde", |  "serde", | ||||||
|  "serde_json", |  "serde_json", | ||||||
|  | @ -1612,8 +1629,8 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-events" | name = "ruma-events" | ||||||
| version = "0.21.3" | version = "0.22.0-alpha.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "js_int", |  "js_int", | ||||||
|  "ruma-common", |  "ruma-common", | ||||||
|  | @ -1627,9 +1644,10 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-events-macros" | name = "ruma-events-macros" | ||||||
| version = "0.21.3" | version = "0.22.0-alpha.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  |  "proc-macro-crate", | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  "syn", |  "syn", | ||||||
|  | @ -1637,8 +1655,8 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-federation-api" | name = "ruma-federation-api" | ||||||
| version = "0.0.2" | version = "0.0.3" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "js_int", |  "js_int", | ||||||
|  "ruma-api", |  "ruma-api", | ||||||
|  | @ -1652,29 +1670,42 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-identifiers" | name = "ruma-identifiers" | ||||||
| version = "0.17.1" | version = "0.17.4" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "rand", |  "rand", | ||||||
|  |  "ruma-identifiers-macros", | ||||||
|  |  "ruma-identifiers-validation", | ||||||
|  "serde", |  "serde", | ||||||
|  "strum", |  "strum", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-identifiers-macros" | name = "ruma-identifiers-macros" | ||||||
| version = "0.17.1" | version = "0.17.4" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  "ruma-identifiers", |  "ruma-identifiers-validation", | ||||||
|  "syn", |  "syn", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "ruma-identifiers-validation" | ||||||
|  | version = "0.1.1" | ||||||
|  | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
|  | dependencies = [ | ||||||
|  |  "ruma-serde", | ||||||
|  |  "serde", | ||||||
|  |  "serde_json", | ||||||
|  |  "strum", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-serde" | name = "ruma-serde" | ||||||
| version = "0.2.2" | version = "0.2.3" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "form_urlencoded", |  "form_urlencoded", | ||||||
|  "itoa", |  "itoa", | ||||||
|  | @ -1686,7 +1717,7 @@ dependencies = [ | ||||||
| [[package]] | [[package]] | ||||||
| name = "ruma-signatures" | name = "ruma-signatures" | ||||||
| version = "0.6.0-dev.1" | version = "0.6.0-dev.1" | ||||||
| source = "git+https://github.com/ruma/ruma?rev=d5d2d1d893fa12d27960e4c58d6c09b215d06e95#d5d2d1d893fa12d27960e4c58d6c09b215d06e95" | source = "git+https://github.com/ruma/ruma?rev=987d48666cf166cf12100b5dbc61b5e3385c4014#987d48666cf166cf12100b5dbc61b5e3385c4014" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "base64 0.12.3", |  "base64 0.12.3", | ||||||
|  "ring", |  "ring", | ||||||
|  | @ -1818,18 +1849,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "serde" | name = "serde" | ||||||
| version = "1.0.114" | version = "1.0.115" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3" | checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "serde_derive", |  "serde_derive", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "serde_derive" | name = "serde_derive" | ||||||
| version = "1.0.114" | version = "1.0.115" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e" | checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  | @ -1880,9 +1911,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "signal-hook-registry" | name = "signal-hook-registry" | ||||||
| version = "1.2.0" | version = "1.2.1" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41" | checksum = "a3e12110bc539e657a646068aaf5eb5b63af9d0c1f7b29c97113fad80e15f035" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "arc-swap", |  "arc-swap", | ||||||
|  "libc", |  "libc", | ||||||
|  | @ -1914,9 +1945,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "smallvec" | name = "smallvec" | ||||||
| version = "1.4.1" | version = "1.4.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "3757cb9d89161a2f24e1cf78efa0c1fcff485d18e3f55e0aa3480824ddaa0f3f" | checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "socket2" | name = "socket2" | ||||||
|  | @ -2002,18 +2033,18 @@ checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "strum" | name = "strum" | ||||||
| version = "0.18.0" | version = "0.19.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" | checksum = "3924a58d165da3b7b2922c667ab0673c7b5fd52b5c19ea3442747bcb3cd15abe" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "strum_macros", |  "strum_macros", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "strum_macros" | name = "strum_macros" | ||||||
| version = "0.18.0" | version = "0.19.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" | checksum = "2d2ab682ecdcae7f5f45ae85cd7c1e6c8e68ea42c8a612d47fedf831c037146a" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "heck", |  "heck", | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  | @ -2029,9 +2060,9 @@ checksum = "502d53007c02d7605a05df1c1a73ee436952781653da5d0bf57ad608f66932c1" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "syn" | name = "syn" | ||||||
| version = "1.0.36" | version = "1.0.38" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "4cdb98bcb1f9d81d07b536179c269ea15999b5d14ea958196413869445bb5250" | checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  | @ -2213,9 +2244,9 @@ checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing" | name = "tracing" | ||||||
| version = "0.1.17" | version = "0.1.19" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "dbdf4ccd1652592b01286a5dbe1e2a77d78afaa34beadd9872a5f7396f92aaa9" | checksum = "6d79ca061b032d6ce30c660fded31189ca0b9922bf483cd70759f13a2d86786c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "log", |  "log", | ||||||
|  | @ -2224,9 +2255,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing-core" | name = "tracing-core" | ||||||
| version = "0.1.11" | version = "0.1.14" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "94ae75f0d28ae10786f3b1895c55fe72e79928fd5ccdebb5438c75e93fec178f" | checksum = "db63662723c316b43ca36d833707cc93dff82a02ba3d7e354f342682cc8b3545" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "lazy_static", |  "lazy_static", | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -17,7 +17,7 @@ edition = "2018" | ||||||
| rocket = { git = "https://github.com/timokoesters/Rocket.git", branch = "empty_parameters", features = ["tls"] } | rocket = { git = "https://github.com/timokoesters/Rocket.git", branch = "empty_parameters", features = ["tls"] } | ||||||
| 
 | 
 | ||||||
| tokio = "0.2.22" # Used for long polling | tokio = "0.2.22" # Used for long polling | ||||||
| ruma = { git = "https://github.com/ruma/ruma", features = ["rand", "client-api", "federation-api", "unstable-pre-spec", "unstable-synapse-quirks"], rev = "d5d2d1d893fa12d27960e4c58d6c09b215d06e95" } # Used for matrix spec type definitions and helpers | ruma = { git = "https://github.com/ruma/ruma", features = ["rand", "client-api", "federation-api", "unstable-pre-spec", "unstable-synapse-quirks"], rev = "987d48666cf166cf12100b5dbc61b5e3385c4014" } # Used for matrix spec type definitions and helpers | ||||||
| #ruma = { path = "../ruma/ruma", features = ["rand", "client-api", "federation-api", "unstable-pre-spec", "unstable-synapse-quirks"] } | #ruma = { path = "../ruma/ruma", features = ["rand", "client-api", "federation-api", "unstable-pre-spec", "unstable-synapse-quirks"] } | ||||||
| sled = "0.32.0" # Used for storing data permanently | sled = "0.32.0" # Used for storing data permanently | ||||||
| log = "0.4.8" # Used for emitting log entries | log = "0.4.8" # Used for emitting log entries | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ use rocket::{delete, get, put}; | ||||||
| )] | )] | ||||||
| pub fn create_alias_route( | pub fn create_alias_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<create_alias::Request>, |     body: Ruma<create_alias::IncomingRequest>, | ||||||
| ) -> ConduitResult<create_alias::Response> { | ) -> ConduitResult<create_alias::Response> { | ||||||
|     if db.rooms.id_from_alias(&body.room_alias)?.is_some() { |     if db.rooms.id_from_alias(&body.room_alias)?.is_some() { | ||||||
|         return Err(Error::Conflict("Alias already exists.")); |         return Err(Error::Conflict("Alias already exists.")); | ||||||
|  | @ -32,7 +32,7 @@ pub fn create_alias_route( | ||||||
| )] | )] | ||||||
| pub fn delete_alias_route( | pub fn delete_alias_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<delete_alias::Request>, |     body: Ruma<delete_alias::IncomingRequest>, | ||||||
| ) -> ConduitResult<delete_alias::Response> { | ) -> ConduitResult<delete_alias::Response> { | ||||||
|     db.rooms.set_alias(&body.room_alias, None, &db.globals)?; |     db.rooms.set_alias(&body.room_alias, None, &db.globals)?; | ||||||
| 
 | 
 | ||||||
|  | @ -45,7 +45,7 @@ pub fn delete_alias_route( | ||||||
| )] | )] | ||||||
| pub fn get_alias_route( | pub fn get_alias_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<get_alias::Request>, |     body: Ruma<get_alias::IncomingRequest>, | ||||||
| ) -> ConduitResult<get_alias::Response> { | ) -> ConduitResult<get_alias::Response> { | ||||||
|     if body.room_alias.server_name() != db.globals.server_name() { |     if body.room_alias.server_name() != db.globals.server_name() { | ||||||
|         todo!("ask remote server"); |         todo!("ask remote server"); | ||||||
|  |  | ||||||
|  | @ -27,7 +27,7 @@ use rocket::{get, post, put}; | ||||||
| )] | )] | ||||||
| pub async fn get_public_rooms_filtered_route( | pub async fn get_public_rooms_filtered_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<get_public_rooms_filtered::Request>, |     body: Ruma<get_public_rooms_filtered::IncomingRequest>, | ||||||
| ) -> ConduitResult<get_public_rooms_filtered::Response> { | ) -> ConduitResult<get_public_rooms_filtered::Response> { | ||||||
|     let limit = body.limit.map_or(10, u64::from); |     let limit = body.limit.map_or(10, u64::from); | ||||||
|     let mut since = 0_u64; |     let mut since = 0_u64; | ||||||
|  | @ -224,11 +224,11 @@ pub async fn get_public_rooms_filtered_route( | ||||||
| )] | )] | ||||||
| pub async fn get_public_rooms_route( | pub async fn get_public_rooms_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<get_public_rooms::Request>, |     body: Ruma<get_public_rooms::IncomingRequest>, | ||||||
| ) -> ConduitResult<get_public_rooms::Response> { | ) -> ConduitResult<get_public_rooms::Response> { | ||||||
|     let Ruma { |     let Ruma { | ||||||
|         body: |         body: | ||||||
|             get_public_rooms::Request { |             get_public_rooms::IncomingRequest { | ||||||
|                 limit, |                 limit, | ||||||
|                 server, |                 server, | ||||||
|                 since, |                 since, | ||||||
|  | @ -246,7 +246,7 @@ pub async fn get_public_rooms_route( | ||||||
|     } = get_public_rooms_filtered_route( |     } = get_public_rooms_filtered_route( | ||||||
|         db, |         db, | ||||||
|         Ruma { |         Ruma { | ||||||
|             body: get_public_rooms_filtered::Request { |             body: get_public_rooms_filtered::IncomingRequest { | ||||||
|                 filter: None, |                 filter: None, | ||||||
|                 limit, |                 limit, | ||||||
|                 room_network: get_public_rooms_filtered::RoomNetwork::Matrix, |                 room_network: get_public_rooms_filtered::RoomNetwork::Matrix, | ||||||
|  |  | ||||||
|  | @ -1,15 +1,17 @@ | ||||||
| use super::State; | use super::{State, SESSION_ID_LENGTH}; | ||||||
| use super::SESSION_ID_LENGTH; |  | ||||||
| use crate::{utils, ConduitResult, Database, Error, Ruma}; | use crate::{utils, ConduitResult, Database, Error, Ruma}; | ||||||
| use ruma::api::client::{ | use ruma::{ | ||||||
|     error::ErrorKind, |     api::client::{ | ||||||
|     r0::{ |         error::ErrorKind, | ||||||
|         keys::{ |         r0::{ | ||||||
|             self, claim_keys, get_key_changes, get_keys, upload_keys, upload_signatures, |             keys::{ | ||||||
|             upload_signing_keys, |                 claim_keys, get_key_changes, get_keys, upload_keys, upload_signatures, | ||||||
|  |                 upload_signing_keys, | ||||||
|  |             }, | ||||||
|  |             uiaa::{AuthFlow, UiaaInfo}, | ||||||
|         }, |         }, | ||||||
|         uiaa::{AuthFlow, UiaaInfo}, |  | ||||||
|     }, |     }, | ||||||
|  |     encryption::UnsignedDeviceInfo, | ||||||
| }; | }; | ||||||
| use std::collections::{BTreeMap, HashSet}; | use std::collections::{BTreeMap, HashSet}; | ||||||
| 
 | 
 | ||||||
|  | @ -54,7 +56,7 @@ pub fn upload_keys_route( | ||||||
| )] | )] | ||||||
| pub fn get_keys_route( | pub fn get_keys_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<get_keys::Request>, |     body: Ruma<get_keys::IncomingRequest>, | ||||||
| ) -> ConduitResult<get_keys::Response> { | ) -> ConduitResult<get_keys::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|  | @ -76,7 +78,7 @@ pub fn get_keys_route( | ||||||
|                             Error::bad_database("all_device_keys contained nonexistent device.") |                             Error::bad_database("all_device_keys contained nonexistent device.") | ||||||
|                         })?; |                         })?; | ||||||
| 
 | 
 | ||||||
|                     keys.unsigned = Some(keys::UnsignedDeviceInfo { |                     keys.unsigned = Some(UnsignedDeviceInfo { | ||||||
|                         device_display_name: metadata.display_name, |                         device_display_name: metadata.display_name, | ||||||
|                     }); |                     }); | ||||||
| 
 | 
 | ||||||
|  | @ -95,7 +97,7 @@ pub fn get_keys_route( | ||||||
|                         ), |                         ), | ||||||
|                     )?; |                     )?; | ||||||
| 
 | 
 | ||||||
|                     keys.unsigned = Some(keys::UnsignedDeviceInfo { |                     keys.unsigned = Some(UnsignedDeviceInfo { | ||||||
|                         device_display_name: metadata.display_name, |                         device_display_name: metadata.display_name, | ||||||
|                     }); |                     }); | ||||||
| 
 | 
 | ||||||
|  | @ -278,7 +280,7 @@ pub fn upload_signatures_route( | ||||||
| )] | )] | ||||||
| pub fn get_key_changes_route( | pub fn get_key_changes_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<get_key_changes::Request>, |     body: Ruma<get_key_changes::IncomingRequest>, | ||||||
| ) -> ConduitResult<get_key_changes::Response> { | ) -> ConduitResult<get_key_changes::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ use rocket::{get, post}; | ||||||
| )] | )] | ||||||
| pub fn join_room_by_id_route( | pub fn join_room_by_id_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<join_room_by_id::Request>, |     body: Ruma<join_room_by_id::IncomingRequest>, | ||||||
| ) -> ConduitResult<join_room_by_id::Response> { | ) -> ConduitResult<join_room_by_id::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|  | @ -76,7 +76,7 @@ pub fn join_room_by_id_or_alias_route( | ||||||
|         sender_id: body.sender_id.clone(), |         sender_id: body.sender_id.clone(), | ||||||
|         device_id: body.device_id.clone(), |         device_id: body.device_id.clone(), | ||||||
|         json_body: None, |         json_body: None, | ||||||
|         body: join_room_by_id::Request { |         body: join_room_by_id::IncomingRequest { | ||||||
|             room_id, |             room_id, | ||||||
|             third_party_signed: body.third_party_signed.clone(), |             third_party_signed: body.third_party_signed.clone(), | ||||||
|         }, |         }, | ||||||
|  | @ -94,7 +94,7 @@ pub fn join_room_by_id_or_alias_route( | ||||||
| )] | )] | ||||||
| pub fn leave_room_route( | pub fn leave_room_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<leave_room::Request>, |     body: Ruma<leave_room::IncomingRequest>, | ||||||
| ) -> ConduitResult<leave_room::Response> { | ) -> ConduitResult<leave_room::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ use super::State; | ||||||
| use crate::{pdu::PduBuilder, ConduitResult, Database, Error, Ruma}; | use crate::{pdu::PduBuilder, ConduitResult, Database, Error, Ruma}; | ||||||
| use ruma::api::client::{ | use ruma::api::client::{ | ||||||
|     error::ErrorKind, |     error::ErrorKind, | ||||||
|     r0::message::{create_message_event, get_message_events}, |     r0::message::{get_message_events, send_message_event}, | ||||||
| }; | }; | ||||||
| use std::convert::TryInto; | use std::convert::TryInto; | ||||||
| 
 | 
 | ||||||
|  | @ -13,10 +13,10 @@ use rocket::{get, put}; | ||||||
|     feature = "conduit_bin", |     feature = "conduit_bin", | ||||||
|     put("/_matrix/client/r0/rooms/<_>/send/<_>/<_>", data = "<body>") |     put("/_matrix/client/r0/rooms/<_>/send/<_>/<_>", data = "<body>") | ||||||
| )] | )] | ||||||
| pub fn create_message_event_route( | pub fn send_message_event_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<create_message_event::Request>, |     body: Ruma<send_message_event::IncomingRequest>, | ||||||
| ) -> ConduitResult<create_message_event::Response> { | ) -> ConduitResult<send_message_event::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|     let mut unsigned = serde_json::Map::new(); |     let mut unsigned = serde_json::Map::new(); | ||||||
|  | @ -41,7 +41,7 @@ pub fn create_message_event_route( | ||||||
|         &db.account_data, |         &db.account_data, | ||||||
|     )?; |     )?; | ||||||
| 
 | 
 | ||||||
|     Ok(create_message_event::Response { event_id }.into()) |     Ok(send_message_event::Response { event_id }.into()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[cfg_attr(
 | #[cfg_attr(
 | ||||||
|  |  | ||||||
|  | @ -4,8 +4,8 @@ use ruma::{ | ||||||
|     api::client::{ |     api::client::{ | ||||||
|         error::ErrorKind, |         error::ErrorKind, | ||||||
|         r0::state::{ |         r0::state::{ | ||||||
|             create_state_event_for_empty_key, create_state_event_for_key, get_state_events, |             get_state_events, get_state_events_for_empty_key, get_state_events_for_key, | ||||||
|             get_state_events_for_empty_key, get_state_events_for_key, |             send_state_event_for_empty_key, send_state_event_for_key, | ||||||
|         }, |         }, | ||||||
|     }, |     }, | ||||||
|     events::{room::canonical_alias, EventType}, |     events::{room::canonical_alias, EventType}, | ||||||
|  | @ -19,10 +19,10 @@ use rocket::{get, put}; | ||||||
|     feature = "conduit_bin", |     feature = "conduit_bin", | ||||||
|     put("/_matrix/client/r0/rooms/<_>/state/<_>/<_>", data = "<body>") |     put("/_matrix/client/r0/rooms/<_>/state/<_>/<_>", data = "<body>") | ||||||
| )] | )] | ||||||
| pub fn create_state_event_for_key_route( | pub fn send_state_event_for_key_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<create_state_event_for_key::Request>, |     body: Ruma<send_state_event_for_key::IncomingRequest>, | ||||||
| ) -> ConduitResult<create_state_event_for_key::Response> { | ) -> ConduitResult<send_state_event_for_key::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|     let content = serde_json::from_str::<serde_json::Value>( |     let content = serde_json::from_str::<serde_json::Value>( | ||||||
|  | @ -78,21 +78,21 @@ pub fn create_state_event_for_key_route( | ||||||
|         &db.account_data, |         &db.account_data, | ||||||
|     )?; |     )?; | ||||||
| 
 | 
 | ||||||
|     Ok(create_state_event_for_key::Response { event_id }.into()) |     Ok(send_state_event_for_key::Response { event_id }.into()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[cfg_attr(
 | #[cfg_attr(
 | ||||||
|     feature = "conduit_bin", |     feature = "conduit_bin", | ||||||
|     put("/_matrix/client/r0/rooms/<_>/state/<_>", data = "<body>") |     put("/_matrix/client/r0/rooms/<_>/state/<_>", data = "<body>") | ||||||
| )] | )] | ||||||
| pub fn create_state_event_for_empty_key_route( | pub fn send_state_event_for_empty_key_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<create_state_event_for_empty_key::Request>, |     body: Ruma<send_state_event_for_empty_key::IncomingRequest>, | ||||||
| ) -> ConduitResult<create_state_event_for_empty_key::Response> { | ) -> ConduitResult<send_state_event_for_empty_key::Response> { | ||||||
|     // This just calls create_state_event_for_key_route
 |     // This just calls send_state_event_for_key_route
 | ||||||
|     let Ruma { |     let Ruma { | ||||||
|         body: |         body: | ||||||
|             create_state_event_for_empty_key::Request { |             send_state_event_for_empty_key::IncomingRequest { | ||||||
|                 room_id, |                 room_id, | ||||||
|                 event_type, |                 event_type, | ||||||
|                 data, |                 data, | ||||||
|  | @ -102,11 +102,11 @@ pub fn create_state_event_for_empty_key_route( | ||||||
|         json_body, |         json_body, | ||||||
|     } = body; |     } = body; | ||||||
| 
 | 
 | ||||||
|     Ok(create_state_event_for_empty_key::Response { |     Ok(send_state_event_for_empty_key::Response { | ||||||
|         event_id: create_state_event_for_key_route( |         event_id: send_state_event_for_key_route( | ||||||
|             db, |             db, | ||||||
|             Ruma { |             Ruma { | ||||||
|                 body: create_state_event_for_key::Request { |                 body: send_state_event_for_key::IncomingRequest { | ||||||
|                     room_id, |                     room_id, | ||||||
|                     event_type, |                     event_type, | ||||||
|                     data, |                     data, | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ use rocket::put; | ||||||
| )] | )] | ||||||
| pub fn send_event_to_device_route( | pub fn send_event_to_device_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<send_event_to_device::Request>, |     body: Ruma<send_event_to_device::IncomingRequest>, | ||||||
| ) -> ConduitResult<send_event_to_device::Response> { | ) -> ConduitResult<send_event_to_device::Response> { | ||||||
|     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); |     let sender_id = body.sender_id.as_ref().expect("user is authenticated"); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -11,13 +11,9 @@ use rocket::post; | ||||||
| )] | )] | ||||||
| pub fn search_users_route( | pub fn search_users_route( | ||||||
|     db: State<'_, Database>, |     db: State<'_, Database>, | ||||||
|     body: Ruma<search_users::Request>, |     body: Ruma<search_users::IncomingRequest>, | ||||||
| ) -> ConduitResult<search_users::Response> { | ) -> ConduitResult<search_users::Response> { | ||||||
|     let limit = if let Some(limit) = body.limit { |     let limit = u64::from(body.limit) as usize; | ||||||
|         u64::from(limit) |  | ||||||
|     } else { |  | ||||||
|         10 |  | ||||||
|     } as usize; |  | ||||||
| 
 | 
 | ||||||
|     let mut users = db.users.iter().filter_map(|user_id| { |     let mut users = db.users.iter().filter_map(|user_id| { | ||||||
|         // Filter out buggy users (they should not exist, but you never know...)
 |         // Filter out buggy users (they should not exist, but you never know...)
 | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| use crate::{ConduitResult, Error}; | use crate::{ConduitResult, Error}; | ||||||
| use ruma::api::client::{error::ErrorKind, r0::message::create_message_event}; | use ruma::api::client::{error::ErrorKind, r0::message::send_message_event}; | ||||||
| 
 | 
 | ||||||
| #[cfg(feature = "conduit_bin")] | #[cfg(feature = "conduit_bin")] | ||||||
| use rocket::get; | use rocket::get; | ||||||
| 
 | 
 | ||||||
| #[cfg_attr(feature = "conduit_bin", get("/_matrix/client/r0/voip/turnServer"))] | #[cfg_attr(feature = "conduit_bin", get("/_matrix/client/r0/voip/turnServer"))] | ||||||
| pub fn turn_server_route() -> ConduitResult<create_message_event::Response> { | pub fn turn_server_route() -> ConduitResult<send_message_event::Response> { | ||||||
|     Err(Error::BadRequest( |     Err(Error::BadRequest( | ||||||
|         ErrorKind::NotFound, |         ErrorKind::NotFound, | ||||||
|         "There is no turn server yet.", |         "There is no turn server yet.", | ||||||
|  |  | ||||||
|  | @ -5,11 +5,12 @@ use ruma::{ | ||||||
|         error::ErrorKind, |         error::ErrorKind, | ||||||
|         r0::{ |         r0::{ | ||||||
|             device::Device, |             device::Device, | ||||||
|             keys::{AlgorithmAndDeviceId, CrossSigningKey, DeviceKeys, KeyAlgorithm, OneTimeKey}, |             keys::{CrossSigningKey, OneTimeKey}, | ||||||
|         }, |         }, | ||||||
|     }, |     }, | ||||||
|  |     encryption::DeviceKeys, | ||||||
|     events::{AnyToDeviceEvent, EventType}, |     events::{AnyToDeviceEvent, EventType}, | ||||||
|     DeviceId, Raw, UserId, |     DeviceId, DeviceKeyAlgorithm, DeviceKeyId, Raw, UserId, | ||||||
| }; | }; | ||||||
| use std::{collections::BTreeMap, convert::TryFrom, mem, time::SystemTime}; | use std::{collections::BTreeMap, convert::TryFrom, mem, time::SystemTime}; | ||||||
| 
 | 
 | ||||||
|  | @ -21,7 +22,7 @@ pub struct Users { | ||||||
|     pub(super) userdeviceid_metadata: sled::Tree, // This is also used to check if a device exists
 |     pub(super) userdeviceid_metadata: sled::Tree, // This is also used to check if a device exists
 | ||||||
|     pub(super) token_userdeviceid: sled::Tree, |     pub(super) token_userdeviceid: sled::Tree, | ||||||
| 
 | 
 | ||||||
|     pub(super) onetimekeyid_onetimekeys: sled::Tree, // OneTimeKeyId = UserId + AlgorithmAndDeviceId
 |     pub(super) onetimekeyid_onetimekeys: sled::Tree, // OneTimeKeyId = UserId + DeviceKeyId
 | ||||||
|     pub(super) userid_lastonetimekeyupdate: sled::Tree, // LastOneTimeKeyUpdate = Count
 |     pub(super) userid_lastonetimekeyupdate: sled::Tree, // LastOneTimeKeyUpdate = Count
 | ||||||
|     pub(super) keychangeid_userid: sled::Tree,       // KeyChangeId = UserId/RoomId + Count
 |     pub(super) keychangeid_userid: sled::Tree,       // KeyChangeId = UserId/RoomId + Count
 | ||||||
|     pub(super) keyid_key: sled::Tree,                // KeyId = UserId + KeyId (depends on key type)
 |     pub(super) keyid_key: sled::Tree,                // KeyId = UserId + KeyId (depends on key type)
 | ||||||
|  | @ -269,7 +270,7 @@ impl Users { | ||||||
|         &self, |         &self, | ||||||
|         user_id: &UserId, |         user_id: &UserId, | ||||||
|         device_id: &DeviceId, |         device_id: &DeviceId, | ||||||
|         one_time_key_key: &AlgorithmAndDeviceId, |         one_time_key_key: &DeviceKeyId, | ||||||
|         one_time_key_value: &OneTimeKey, |         one_time_key_value: &OneTimeKey, | ||||||
|         globals: &super::globals::Globals, |         globals: &super::globals::Globals, | ||||||
|     ) -> Result<()> { |     ) -> Result<()> { | ||||||
|  | @ -282,11 +283,11 @@ impl Users { | ||||||
|         assert!(self.userdeviceid_metadata.get(&key)?.is_some()); |         assert!(self.userdeviceid_metadata.get(&key)?.is_some()); | ||||||
| 
 | 
 | ||||||
|         key.push(0xff); |         key.push(0xff); | ||||||
|         // TODO: Use AlgorithmAndDeviceId::to_string when it's available (and update everything,
 |         // TODO: Use DeviceKeyId::to_string when it's available (and update everything,
 | ||||||
|         // because there are no wrapping quotation marks anymore)
 |         // because there are no wrapping quotation marks anymore)
 | ||||||
|         key.extend_from_slice( |         key.extend_from_slice( | ||||||
|             &serde_json::to_string(one_time_key_key) |             &serde_json::to_string(one_time_key_key) | ||||||
|                 .expect("AlgorithmAndDeviceId::to_string always works") |                 .expect("DeviceKeyId::to_string always works") | ||||||
|                 .as_bytes(), |                 .as_bytes(), | ||||||
|         ); |         ); | ||||||
| 
 | 
 | ||||||
|  | @ -319,9 +320,9 @@ impl Users { | ||||||
|         &self, |         &self, | ||||||
|         user_id: &UserId, |         user_id: &UserId, | ||||||
|         device_id: &DeviceId, |         device_id: &DeviceId, | ||||||
|         key_algorithm: &KeyAlgorithm, |         key_algorithm: &DeviceKeyAlgorithm, | ||||||
|         globals: &super::globals::Globals, |         globals: &super::globals::Globals, | ||||||
|     ) -> Result<Option<(AlgorithmAndDeviceId, OneTimeKey)>> { |     ) -> Result<Option<(DeviceKeyId, OneTimeKey)>> { | ||||||
|         let mut prefix = user_id.to_string().as_bytes().to_vec(); |         let mut prefix = user_id.to_string().as_bytes().to_vec(); | ||||||
|         prefix.push(0xff); |         prefix.push(0xff); | ||||||
|         prefix.extend_from_slice(device_id.as_bytes()); |         prefix.extend_from_slice(device_id.as_bytes()); | ||||||
|  | @ -361,7 +362,7 @@ impl Users { | ||||||
|         &self, |         &self, | ||||||
|         user_id: &UserId, |         user_id: &UserId, | ||||||
|         device_id: &DeviceId, |         device_id: &DeviceId, | ||||||
|     ) -> Result<BTreeMap<KeyAlgorithm, UInt>> { |     ) -> Result<BTreeMap<DeviceKeyAlgorithm, UInt>> { | ||||||
|         let mut userdeviceid = user_id.to_string().as_bytes().to_vec(); |         let mut userdeviceid = user_id.to_string().as_bytes().to_vec(); | ||||||
|         userdeviceid.push(0xff); |         userdeviceid.push(0xff); | ||||||
|         userdeviceid.extend_from_slice(device_id.as_bytes()); |         userdeviceid.extend_from_slice(device_id.as_bytes()); | ||||||
|  | @ -374,13 +375,13 @@ impl Users { | ||||||
|             .keys() |             .keys() | ||||||
|             .map(|bytes| { |             .map(|bytes| { | ||||||
|                 Ok::<_, Error>( |                 Ok::<_, Error>( | ||||||
|                     serde_json::from_slice::<AlgorithmAndDeviceId>( |                     serde_json::from_slice::<DeviceKeyId>( | ||||||
|                         &*bytes?.rsplit(|&b| b == 0xff).next().ok_or_else(|| { |                         &*bytes?.rsplit(|&b| b == 0xff).next().ok_or_else(|| { | ||||||
|                             Error::bad_database("OneTimeKey ID in db is invalid.") |                             Error::bad_database("OneTimeKey ID in db is invalid.") | ||||||
|                         })?, |                         })?, | ||||||
|                     ) |                     ) | ||||||
|                     .map_err(|_| Error::bad_database("AlgorithmAndDeviceID in db is invalid."))? |                     .map_err(|_| Error::bad_database("DeviceKeyId in db is invalid."))? | ||||||
|                     .0, |                     .algorithm(), | ||||||
|                 ) |                 ) | ||||||
|             }) |             }) | ||||||
|         { |         { | ||||||
|  |  | ||||||
|  | @ -81,9 +81,9 @@ fn setup_rocket() -> rocket::Rocket { | ||||||
|                 client_server::search_users_route, |                 client_server::search_users_route, | ||||||
|                 client_server::get_member_events_route, |                 client_server::get_member_events_route, | ||||||
|                 client_server::get_protocols_route, |                 client_server::get_protocols_route, | ||||||
|                 client_server::create_message_event_route, |                 client_server::send_message_event_route, | ||||||
|                 client_server::create_state_event_for_key_route, |                 client_server::send_state_event_for_key_route, | ||||||
|                 client_server::create_state_event_for_empty_key_route, |                 client_server::send_state_event_for_empty_key_route, | ||||||
|                 client_server::get_state_events_route, |                 client_server::get_state_events_route, | ||||||
|                 client_server::get_state_events_for_key_route, |                 client_server::get_state_events_for_key_route, | ||||||
|                 client_server::get_state_events_for_empty_key_route, |                 client_server::get_state_events_for_empty_key_route, | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ use { | ||||||
|         tokio::io::AsyncReadExt, |         tokio::io::AsyncReadExt, | ||||||
|         Request, State, |         Request, State, | ||||||
|     }, |     }, | ||||||
|     ruma::api::Endpoint, |     ruma::api::IncomingRequest, | ||||||
|     std::io::Cursor, |     std::io::Cursor, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -30,7 +30,7 @@ pub struct Ruma<T> { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[cfg(feature = "conduit_bin")] | #[cfg(feature = "conduit_bin")] | ||||||
| impl<'a, T: Endpoint> FromTransformedData<'a> for Ruma<T> { | impl<'a, T: IncomingRequest> FromTransformedData<'a> for Ruma<T> { | ||||||
|     type Error = (); // TODO: Better error handling
 |     type Error = (); // TODO: Better error handling
 | ||||||
|     type Owned = Data; |     type Owned = Data; | ||||||
|     type Borrowed = Self::Owned; |     type Borrowed = Self::Owned; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue