summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorRiley <asonix@asonix.dog>2020-07-01 07:54:29 -0500
committerGitHub <noreply@github.com>2020-07-01 08:54:29 -0400
commita074564458b8a108b77d98e5e8ce24168656763a (patch)
tree8cfb4e463b6b2dbd3c4b3ac2f312a42542f38d64 /server
parent4c1cb5999cad496714cec67f101be38cd281d416 (diff)
Federation async (#848)
* Asyncify more * I guess these changed * Clean PR a bit * Convert more away from failure error * config changes for testing federation * It was DNS So actix-web's client relies on TRust DNS Resolver to figure out where to send data, but TRust DNS Resolver seems to not play nice with docker, which expressed itself as not resolving the name to an IP address _the first time_ when making a request. The fix was literally to make the request again (which I limited to 3 times total, and not exceeding the request timeout in total) * Only retry for connecterror Since TRust DNS Resolver was causing ConnectError::Timeout, this change limits the retry to only this error, returning immediately for any other error * Use http sig norm 0.4.0-alpha for actix-web 3.0 support * Blocking function, retry http requests * cargo +nightly fmt * Only create one pictrs dir * Don't yarn build * cargo +nightly fmt
Diffstat (limited to 'server')
-rw-r--r--server/Cargo.lock567
-rw-r--r--server/Cargo.toml15
-rw-r--r--server/src/api/comment.rs310
-rw-r--r--server/src/api/community.rs387
-rw-r--r--server/src/api/mod.rs20
-rw-r--r--server/src/api/post.rs280
-rw-r--r--server/src/api/site.rs424
-rw-r--r--server/src/api/user.rs623
-rw-r--r--server/src/apub/activities.rs59
-rw-r--r--server/src/apub/comment.rs281
-rw-r--r--server/src/apub/community.rs204
-rw-r--r--server/src/apub/community_inbox.rs81
-rw-r--r--server/src/apub/extensions/group_extensions.rs8
-rw-r--r--server/src/apub/extensions/signatures.rs87
-rw-r--r--server/src/apub/fetcher.rs304
-rw-r--r--server/src/apub/mod.rs185
-rw-r--r--server/src/apub/post.rs233
-rw-r--r--server/src/apub/private_message.rs117
-rw-r--r--server/src/apub/shared_inbox.rs877
-rw-r--r--server/src/apub/user.rs87
-rw-r--r--server/src/apub/user_inbox.rs208
-rw-r--r--server/src/db/activity.rs24
-rw-r--r--server/src/db/code_migrations.rs15
-rw-r--r--server/src/db/comment.rs2
-rw-r--r--server/src/db/community.rs2
-rw-r--r--server/src/db/password_reset_request.rs8
-rw-r--r--server/src/db/user.rs2
-rw-r--r--server/src/lib.rs118
-rw-r--r--server/src/main.rs25
-rw-r--r--server/src/rate_limit/mod.rs19
-rw-r--r--server/src/rate_limit/rate_limiter.rs5
-rw-r--r--server/src/request.rs51
-rw-r--r--server/src/routes/api.rs14
-rw-r--r--server/src/routes/feeds.rs84
-rw-r--r--server/src/routes/nodeinfo.rs62
-rw-r--r--server/src/routes/webfinger.rs108
-rw-r--r--server/src/settings.rs6
-rw-r--r--server/src/websocket/mod.rs1
-rw-r--r--server/src/websocket/server.rs565
39 files changed, 3777 insertions, 2691 deletions
diff --git a/server/Cargo.lock b/server/Cargo.lock
index a8f5c880..c54419e1 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -49,25 +49,25 @@ dependencies = [
[[package]]
name = "actix"
-version = "0.9.0"
+version = "0.10.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4af87564ff659dee8f9981540cac9418c45e910c8072fdedd643a262a38fcaf"
+checksum = "a9028932f36d45df020c92317ccb879ab77d8f066f57ff143dd5bee93ba3de0d"
dependencies = [
- "actix-http",
"actix-rt",
"actix_derive",
"bitflags",
"bytes",
"crossbeam-channel",
"derive_more",
- "futures",
- "lazy_static",
+ "futures-channel",
+ "futures-util",
"log",
+ "once_cell",
"parking_lot",
"pin-project",
"smallvec",
"tokio",
- "tokio-util 0.2.0",
+ "tokio-util 0.3.1",
"trust-dns-proto",
"trust-dns-resolver",
]
@@ -89,9 +89,9 @@ dependencies = [
[[package]]
name = "actix-connect"
-version = "1.0.2"
+version = "2.0.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95cc9569221e9802bf4c377f6c18b90ef10227d787611decf79fd47d2a8e76c"
+checksum = "2551ed85d5e157c13f8f523cdb13a6292d948049eb2dc2072bbee3ec350399a2"
dependencies = [
"actix-codec",
"actix-rt",
@@ -99,18 +99,21 @@ dependencies = [
"actix-utils",
"derive_more",
"either",
- "futures",
+ "futures-util",
"http",
"log",
+ "rustls",
+ "tokio-rustls",
"trust-dns-proto",
"trust-dns-resolver",
+ "webpki",
]
[[package]]
name = "actix-files"
-version = "0.2.2"
+version = "0.3.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193b22cb1f7b4ff12a4eb2415d6d19e47e44ea93e05930b30d05375ea29d3529"
+checksum = "23b32e0fdd5998c2712549cbc39dff46c8754d55e3dd9f4d017d9e28de30cac6"
dependencies = [
"actix-http",
"actix-service",
@@ -129,26 +132,25 @@ dependencies = [
[[package]]
name = "actix-http"
-version = "1.0.1"
+version = "2.0.0-alpha.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c16664cc4fdea8030837ad5a845eb231fb93fc3c5c171edfefb52fad92ce9019"
+checksum = "fd7ea0568480d199952a51de70271946da57c33cc0e8b83f54383e70958dff21"
dependencies = [
"actix-codec",
"actix-connect",
"actix-rt",
"actix-service",
"actix-threadpool",
+ "actix-tls",
"actix-utils",
- "base64 0.11.0",
+ "base64 0.12.3",
"bitflags",
"brotli2",
"bytes",
- "chrono",
"copyless",
"derive_more",
"either",
"encoding_rs",
- "failure",
"flate2",
"futures-channel",
"futures-core",
@@ -169,9 +171,9 @@ dependencies = [
"serde 1.0.114",
"serde_json",
"serde_urlencoded",
- "sha1",
+ "sha-1",
"slab",
- "time",
+ "time 0.2.16",
]
[[package]]
@@ -273,9 +275,9 @@ dependencies = [
[[package]]
name = "actix-tls"
-version = "1.0.0"
+version = "2.0.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4e5b4faaf105e9a6d389c606c298dcdb033061b00d532af9df56ff3a54995a8"
+checksum = "dd2d9f3e70cbad0f06c6922950c5997ba0fd44c82e143d1c374023eb50457588"
dependencies = [
"actix-codec",
"actix-rt",
@@ -285,6 +287,10 @@ dependencies = [
"either",
"futures",
"log",
+ "rustls",
+ "tokio-rustls",
+ "webpki",
+ "webpki-roots",
]
[[package]]
@@ -307,9 +313,9 @@ dependencies = [
[[package]]
name = "actix-web"
-version = "2.0.0"
+version = "3.0.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3158e822461040822f0dbf1735b9c2ce1f95f93b651d7a7aded00b1efbb1f635"
+checksum = "8bd6df56ec5f9a1a0d8335f156f36e1e8f76dbd736fa0cc0f6bc3a69be1e6124"
dependencies = [
"actix-codec",
"actix-http",
@@ -327,25 +333,29 @@ dependencies = [
"bytes",
"derive_more",
"encoding_rs",
- "futures",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
"fxhash",
"log",
"mime",
- "net2",
"pin-project",
"regex",
+ "rustls",
"serde 1.0.114",
"serde_json",
"serde_urlencoded",
- "time",
+ "socket2",
+ "time 0.2.16",
+ "tinyvec",
"url",
]
[[package]]
name = "actix-web-actors"
-version = "2.0.0"
+version = "3.0.0-alpha.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc1bd41bd66c4e9b5274cec87aac30168e63d64e96fd19db38edef6b46ba2982"
+checksum = "2b5efeb3907582f9c724ce27be093ab8aafabd97be828bc6750c0d467f5e1aa3"
dependencies = [
"actix",
"actix-codec",
@@ -408,7 +418,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
dependencies = [
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -448,7 +458,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -465,15 +475,15 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
[[package]]
name = "awc"
-version = "1.0.1"
+version = "2.0.0-alpha.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7601d4d1d7ef2335d6597a41b5fe069f6ab799b85f53565ab390e7b7065aac5"
+checksum = "a7038a9747cd5159b9f0550895eaf865c0143baa7e4eee834e9294d0a7e0e4be"
dependencies = [
"actix-codec",
"actix-http",
"actix-rt",
"actix-service",
- "base64 0.11.0",
+ "base64 0.12.3",
"bytes",
"derive_more",
"futures-core",
@@ -481,6 +491,7 @@ dependencies = [
"mime",
"percent-encoding",
"rand 0.7.3",
+ "rustls",
"serde 1.0.114",
"serde_json",
"serde_urlencoded",
@@ -501,6 +512,12 @@ dependencies = [
]
[[package]]
+name = "base-x"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b20b618342cf9891c292c4f5ac2cde7287cc5c87e87e9c769d617793607dec1"
+
+[[package]]
name = "base64"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -527,17 +544,17 @@ checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
[[package]]
name = "base64"
-version = "0.12.2"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e223af0dc48c96d4f8342ec01a4974f139df863896b316681efd36742f22cc67"
+checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
[[package]]
name = "bcrypt"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41b70db86f3c560199b0dada79a22b9a924622384abb2a756a9707ffcce077f2"
+checksum = "6378bd17c4830c1b7ed644dde88f247b1560d46c68ff3da1b788984b09c0df31"
dependencies = [
- "base64 0.12.2",
+ "base64 0.12.3",
"blowfish",
"byteorder",
"getrandom",
@@ -558,16 +575,25 @@ dependencies = [
"block-padding",
"byte-tools",
"byteorder",
- "generic-array",
+ "generic-array 0.12.3",
]
[[package]]
-name = "block-cipher-trait"
-version = "0.6.2"
+name = "block-buffer"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
- "generic-array",
+ "generic-array 0.14.2",
+]
+
+[[package]]
+name = "block-cipher"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa136449e765dc7faa244561ccae839c394048667929af599b5d931ebe7b7f10"
+dependencies = [
+ "generic-array 0.14.2",
]
[[package]]
@@ -581,13 +607,13 @@ dependencies = [
[[package]]
name = "blowfish"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6aeb80d00f2688459b8542068abd974cfb101e7a82182414a99b5026c0d85cc3"
+checksum = "91d01392750dd899a2528948d6b856afe2df508d627fc7c339868c0bd0141b4b"
dependencies = [
- "block-cipher-trait",
+ "block-cipher",
"byteorder",
- "opaque-debug",
+ "opaque-debug 0.2.3",
]
[[package]]
@@ -654,9 +680,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.54"
+version = "1.0.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311"
+checksum = "b1be3409f94d7bdceeb5f5fac551039d9b3f00e25da7a74fc4d33400a0d96368"
[[package]]
name = "cfg-if"
@@ -673,7 +699,7 @@ dependencies = [
"num-integer",
"num-traits 0.2.12",
"serde 1.0.114",
- "time",
+ "time 0.1.43",
]
[[package]]
@@ -752,6 +778,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
[[package]]
+name = "cpuid-bool"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d375c433320f6c5057ae04a04376eef4d04ce2801448cf8863a78da99107be4"
+
+[[package]]
name = "crc32fast"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -782,37 +814,6 @@ dependencies = [
]
[[package]]
-name = "curl"
-version = "0.4.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0447a642435be046540f042950d874a4907f9fee28c0513a0beb3ba89f91eb7"
-dependencies = [
- "curl-sys",
- "libc",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "socket2",
- "winapi 0.3.8",
-]
-
-[[package]]
-name = "curl-sys"
-version = "0.4.32+curl-7.70.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "834425a2f22fdd621434196965bf99fbfd9eaed96348488e27b7ac40736c560b"
-dependencies = [
- "cc",
- "libc",
- "libnghttp2-sys",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
- "winapi 0.3.8",
-]
-
-[[package]]
name = "darling"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -874,9 +875,9 @@ dependencies = [
[[package]]
name = "derive_more"
-version = "0.99.8"
+version = "0.99.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc655351f820d774679da6cdc23355a93de496867d8203496675162e17b1d671"
+checksum = "298998b1cf6b5b2c8a7b023dfd45821825ce3ba8a8af55c921a0e734e4653f76"
dependencies = [
"proc-macro2",
"quote",
@@ -925,10 +926,25 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
- "generic-array",
+ "generic-array 0.12.3",
]
[[package]]
+name = "digest"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
+dependencies = [
+ "generic-array 0.14.2",
+]
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
+
+[[package]]
name = "dotenv"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -957,7 +973,7 @@ dependencies = [
"encoding",
"lazy_static",
"rand 0.4.6",
- "time",
+ "time 0.1.43",
"version_check 0.1.5",
]
@@ -1271,7 +1287,7 @@ dependencies = [
"libc",
"log",
"rustc_version",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -1284,6 +1300,16 @@ dependencies = [
]
[[package]]
+name = "generic-array"
+version = "0.14.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac746a5f3bbfdadd6106868134545e684693d54d9d44f6e9588a7d54af0bf980"
+dependencies = [
+ "typenum",
+ "version_check 0.9.2",
+]
+
+[[package]]
name = "getrandom"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1355,7 +1381,7 @@ checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
dependencies = [
"libc",
"match_cfg",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -1386,6 +1412,24 @@ dependencies = [
]
[[package]]
+name = "http-signature-normalization-actix"
+version = "0.4.0-alpha.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09afff6987c7edbed101d1cddd2185786fb0af0dd9c06b654aca73a0a763680f"
+dependencies = [
+ "actix-http",
+ "actix-web",
+ "base64 0.12.3",
+ "bytes",
+ "chrono",
+ "futures",
+ "http-signature-normalization",
+ "log",
+ "sha2",
+ "thiserror",
+]
+
+[[package]]
name = "httparse"
version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1443,36 +1487,11 @@ checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"
dependencies = [
"socket2",
"widestring",
- "winapi 0.3.8",
+ "winapi 0.3.9",
"winreg",
]
[[package]]
-name = "isahc"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f54e7cf252df9a36605ccfabea2a754ad30c24b51b77f830486e555ac8e76bce"
-dependencies = [
- "bytes",
- "crossbeam-channel",
- "crossbeam-utils",
- "curl",
- "curl-sys",
- "encoding_rs",
- "futures-channel",
- "futures-io",
- "futures-util",
- "http",
- "lazy_static",
- "log",
- "mime",
- "slab",
- "sluice",
- "tracing",
- "tracing-futures",
-]
-
-[[package]]
name = "itertools"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1502,7 +1521,7 @@ version = "7.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f325ae57ddcf609f02d891486ce740f5bbd0cc3e93f9bffaacdf6594b21404"
dependencies = [
- "base64 0.12.2",
+ "base64 0.12.3",
"pem",
"ring",
"serde 1.0.114",
@@ -1544,7 +1563,9 @@ dependencies = [
"actix-rt",
"actix-web",
"actix-web-actors",
- "base64 0.12.2",
+ "async-trait",
+ "awc",
+ "base64 0.12.3",
"bcrypt",
"chrono",
"comrak",
@@ -1557,8 +1578,7 @@ dependencies = [
"futures",
"htmlescape",
"http",
- "http-signature-normalization",
- "isahc",
+ "http-signature-normalization-actix",
"itertools",
"jsonwebtoken",
"lazy_static",
@@ -1608,7 +1628,7 @@ dependencies = [
"email",
"lettre",
"mime",
- "time",
+ "time 0.1.43",
"uuid 0.7.4",
]
@@ -1632,28 +1652,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
[[package]]
-name = "libnghttp2-sys"
-version = "0.1.4+1.41.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03624ec6df166e79e139a2310ca213283d6b3c30810c54844f307086d4488df1"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "libz-sys"
-version = "1.0.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
name = "linked-hash-map"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1851,7 +1849,7 @@ checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7"
dependencies = [
"cfg-if",
"libc",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -1943,10 +1941,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
name = "openssl"
-version = "0.10.29"
+version = "0.10.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd"
+checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4"
dependencies = [
"bitflags",
"cfg-if",
@@ -1996,7 +2000,7 @@ dependencies = [
"libc",
"redox_syscall",
"smallvec",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2005,7 +2009,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59698ea79df9bf77104aefd39cc3ec990cb9693fb59c3b0a70ddf2646fdffb4b"
dependencies = [
- "base64 0.12.2",
+ "base64 0.12.3",
"once_cell",
"regex",
]
@@ -2179,7 +2183,7 @@ dependencies = [
"libc",
"rand_core 0.3.1",
"rdrand",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2198,7 +2202,7 @@ dependencies = [
"rand_os",
"rand_pcg",
"rand_xorshift",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2293,7 +2297,7 @@ checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
dependencies = [
"libc",
"rand_core 0.4.2",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2307,7 +2311,7 @@ dependencies = [
"libc",
"rand_core 0.4.2",
"rdrand",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2368,7 +2372,7 @@ version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2393,7 +2397,7 @@ dependencies = [
"spin",
"untrusted",
"web-sys",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2422,6 +2426,19 @@ dependencies = [
]
[[package]]
+name = "rustls"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0d4a31f5d68413404705d6982529b0e11a9aacd4839d1d6222ee3b8cb4015e1"
+dependencies = [
+ "base64 0.11.0",
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
name = "ryu"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2440,7 +2457,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
dependencies = [
"lazy_static",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2465,6 +2482,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
+name = "sct"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3042af939fca8c3453b7af0f1c66e533a15a86169e39de2657310ade8f98d3c"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
name = "security-framework"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2580,10 +2607,10 @@ version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
dependencies = [
- "block-buffer",
- "digest",
+ "block-buffer 0.7.3",
+ "digest 0.8.1",
"fake-simd",
- "opaque-debug",
+ "opaque-debug 0.2.3",
]
[[package]]
@@ -2594,14 +2621,15 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
[[package]]
name = "sha2"
-version = "0.8.2"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
+checksum = "2933378ddfeda7ea26f48c555bdad8bb446bf8a3d17832dc83e380d444cfb8c1"
dependencies = [
- "block-buffer",
- "digest",
- "fake-simd",
- "opaque-debug",
+ "block-buffer 0.9.0",
+ "cfg-if",
+ "cpuid-bool",
+ "digest 0.9.0",
+ "opaque-debug 0.3.0",
]
[[package]]
@@ -2632,18 +2660,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
[[package]]
-name = "sluice"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed13b7cb46f13a15db2c4740f087a848acc8b31af89f95844d40137451f89b1"
-dependencies = [
- "futures-channel",
- "futures-core",
- "futures-io",
- "futures-util",
-]
-
-[[package]]
name = "smallvec"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2658,7 +2674,7 @@ dependencies = [
"cfg-if",
"libc",
"redox_syscall",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2668,12 +2684,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
+name = "standback"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0437cfb83762844799a60e1e3b489d5ceb6a650fbacb86437badc1b6d87b246"
+dependencies = [
+ "version_check 0.9.2",
+]
+
+[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde 1.0.114",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote",
+ "serde 1.0.114",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
+[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2737,7 +2811,7 @@ dependencies = [
"rand 0.7.3",
"redox_syscall",
"remove_dir_all",
- "winapi 0.3.8",
+ "winapi 0.3.9",
]
[[package]]
@@ -2803,7 +2877,45 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
dependencies = [
"libc",
- "winapi 0.3.8",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "time"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a51cadc5b1eec673a685ff7c33192ff7b7603d0b75446fb354939ee615acb15"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros