summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/dev/docker-compose.yml2
-rwxr-xr-xdocker/federation-test/run-tests.sh14
-rwxr-xr-xdocker/federation-test/servers.sh19
-rwxr-xr-xdocker/federation-test/tests.sh10
-rw-r--r--docker/federation/Dockerfile2
-rw-r--r--docker/federation/docker-compose.yml56
-rw-r--r--docker/federation/nginx.conf12
-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
-rw-r--r--ui/src/api_tests/api.spec.ts18
47 files changed, 3856 insertions, 2745 deletions
diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml
index bdcb4308..51a3ecda 100644
--- a/docker/dev/docker-compose.yml
+++ b/docker/dev/docker-compose.yml
@@ -20,6 +20,8 @@ services:
postgres:
image: postgres:12-alpine
+ ports:
+ - "127.0.0.1:5432:5432"
environment:
- POSTGRES_USER=lemmy
- POSTGRES_PASSWORD=password
diff --git a/docker/federation-test/run-tests.sh b/docker/federation-test/run-tests.sh
index fdb0e129..57c6cc8f 100755
--- a/docker/federation-test/run-tests.sh
+++ b/docker/federation-test/run-tests.sh
@@ -5,17 +5,21 @@ pushd ../../server/
cargo build
popd
+pushd ../../ui
+yarn
+popd
+
+mkdir -p volumes/pictrs_{alpha,beta,gamma}
+sudo chown -R 991:991 volumes/pictrs_{alpha,beta,gamma}
+
sudo docker build ../../ --file ../federation/Dockerfile --tag lemmy-federation:latest
-for Item in alpha beta gamma ; do
- sudo mkdir -p volumes/pictrs_$Item
- sudo chown -R 991:991 volumes/pictrs_$Item
-done
+sudo mkdir -p volumes/pictrs_alpha
+sudo chown -R 991:991 volumes/pictrs_alpha
sudo docker-compose --file ../federation/docker-compose.yml --project-directory . up -d
pushd ../../ui
-yarn
echo "Waiting for Lemmy to start..."
while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8540/api/v1/site')" != "200" ]]; do sleep 1; done
while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8550/api/v1/site')" != "200" ]]; do sleep 1; done
diff --git a/docker/federation-test/servers.sh b/docker/federation-test/servers.sh
new file mode 100755
index 00000000..36f10cd8
--- /dev/null
+++ b/docker/federation-test/servers.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+set -e
+
+sudo rm -rf volumes
+
+pushd ../../server/
+cargo build
+popd
+
+pushd ../../ui
+yarn
+popd
+
+mkdir -p volumes/pictrs_{alpha,beta,gamma}
+sudo chown -R 991:991 volumes/pictrs_{alpha,beta,gamma}
+
+sudo docker build ../../ --file ../federation/Dockerfile --tag lemmy-federation:latest
+
+sudo docker-compose --file ../federation/docker-compose.yml --project-directory . up
diff --git a/docker/federation-test/tests.sh b/docker/federation-test/tests.sh
new file mode 100755
index 00000000..2e88ffb2
--- /dev/null
+++ b/docker/federation-test/tests.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+set -xe
+
+pushd ../../ui
+echo "Waiting for Lemmy to start..."
+while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8540/api/v1/site')" != "200" ]]; do sleep 1; done
+while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8550/api/v1/site')" != "200" ]]; do sleep 1; done
+while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8560/api/v1/site')" != "200" ]]; do sleep 1; done
+yarn api-test || true
+popd
diff --git a/docker/federation/Dockerfile b/docker/federation/Dockerfile
index ec7bf2d2..caf08175 100644
--- a/docker/federation/Dockerfile
+++ b/docker/federation/Dockerfile
@@ -3,7 +3,7 @@ FROM ekidd/rust-musl-builder:1.42.0-openssl11
USER root
RUN mkdir /app/dist/documentation/ -p \
&& addgroup --gid 1001 lemmy \
- && adduser --disabled-password --shell /bin/sh -u 1001 --ingroup lemmy lemmy
+ && adduser --gecos "" --disabled-password --shell /bin/sh -u 1001 --ingroup lemmy lemmy
# Copy resources
COPY server/config/defaults.hjson /app/config/defaults.hjson
diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml
index d5f9a522..cbc648e6 100644
--- a/docker/federation/docker-compose.yml
+++ b/docker/federation/docker-compose.yml
@@ -12,28 +12,33 @@ services:
- ../federation/nginx.conf:/etc/nginx/nginx.conf
restart: on-failure
depends_on:
- - lemmy_alpha
- - pictrs_alpha
- - lemmy_beta
- - pictrs_beta
- - lemmy_gamma
- - pictrs_gamma
+ - lemmy-alpha
+ - pictrs
+ - lemmy-beta
+ - lemmy-gamma
- iframely
- lemmy_alpha:
+ pictrs:
+ restart: always
+ image: asonix/pictrs:v0.1.13-r0
+ user: 991:991
+ volumes:
+ - ./volumes/pictrs_alpha:/mnt
+
+ lemmy-alpha:
image: lemmy-federation:latest
environment:
- - LEMMY_HOSTNAME=lemmy_alpha:8540
+ - LEMMY_HOSTNAME=lemmy-alpha:8540
- LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy
- LEMMY_JWT_SECRET=changeme
- LEMMY_FRONT_END_DIR=/app/dist
- LEMMY_FEDERATION__ENABLED=true
- LEMMY_FEDERATION__TLS_ENABLED=false
- - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_beta,lemmy_gamma
+ - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma
- LEMMY_PORT=8540
- LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha
- LEMMY_SETUP__ADMIN_PASSWORD=lemmy
- - LEMMY_SETUP__SITE_NAME=lemmy_alpha
+ - LEMMY_SETUP__SITE_NAME=lemmy-alpha
- RUST_BACKTRACE=1
- RUST_LOG=debug
depends_on:
@@ -46,26 +51,21 @@ services:
- POSTGRES_DB=lemmy
volumes:
- ./volumes/postgres_alpha:/var/lib/postgresql/data
- pictrs_alpha:
- image: asonix/pictrs:v0.1.13-r0
- user: 991:991
- volumes:
- - ./volumes/pictrs_alpha:/mnt
- lemmy_beta:
+ lemmy-beta:
image: lemmy-federation:latest
environment:
- - LEMMY_HOSTNAME=lemmy_beta:8550
+ - LEMMY_HOSTNAME=lemmy-beta:8550
- LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy
- LEMMY_JWT_SECRET=changeme
- LEMMY_FRONT_END_DIR=/app/dist
- LEMMY_FEDERATION__ENABLED=true
- LEMMY_FEDERATION__TLS_ENABLED=false
- - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_gamma
+ - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma
- LEMMY_PORT=8550
- LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta
- LEMMY_SETUP__ADMIN_PASSWORD=lemmy
- - LEMMY_SETUP__SITE_NAME=lemmy_beta
+ - LEMMY_SETUP__SITE_NAME=lemmy-beta
- RUST_BACKTRACE=1
- RUST_LOG=debug
depends_on:
@@ -78,26 +78,21 @@ services:
- POSTGRES_DB=lemmy
volumes:
- ./volumes/postgres_beta:/var/lib/postgresql/data
- pictrs_beta:
- image: asonix/pictrs:v0.1.13-r0
- user: 991:991
- volumes:
- - ./volumes/pictrs_beta:/mnt
- lemmy_gamma:
+ lemmy-gamma:
image: lemmy-federation:latest
environment:
- - LEMMY_HOSTNAME=lemmy_gamma:8560
+ - LEMMY_HOSTNAME=lemmy-gamma:8560
- LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy
- LEMMY_JWT_SECRET=changeme
- LEMMY_FRONT_END_DIR=/app/dist
- LEMMY_FEDERATION__ENABLED=true
- LEMMY_FEDERATION__TLS_ENABLED=false
- - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_beta
+ - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta
- LEMMY_PORT=8560
- LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma
- LEMMY_SETUP__ADMIN_PASSWORD=lemmy
- - LEMMY_SETUP__SITE_NAME=lemmy_gamma
+ - LEMMY_SETUP__SITE_NAME=lemmy-gamma
- RUST_BACKTRACE=1
- RUST_LOG=debug
depends_on:
@@ -110,11 +105,6 @@ services:
- POSTGRES_DB=lemmy
volumes:
- ./volumes/postgres_gamma:/var/lib/postgresql/data
- pictrs_gamma:
- image: asonix/pictrs:v0.1.13-r0
- user: 991:991
- volumes:
- - ./volumes/pictrs_gamma:/mnt
iframely:
image: dogbin/iframely:latest
diff --git a/docker/federation/nginx.conf b/docker/federation/nginx.conf
index 25160eb6..2093297e 100644
--- a/docker/federation/nginx.conf
+++ b/docker/federation/nginx.conf
@@ -12,7 +12,7 @@ http {
client_max_body_size 50M;
location / {
- proxy_pass http://lemmy_alpha:8540;
+ proxy_pass http://lemmy-alpha:8540;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -26,7 +26,7 @@ http {
# pict-rs images
location /pictrs {
location /pictrs/image {
- proxy_pass http://pictrs_alpha:8080/image;
+ proxy_pass http://pictrs:8080/image;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -52,7 +52,7 @@ http {
client_max_body_size 50M;
location / {
- proxy_pass http://lemmy_beta:8550;
+ proxy_pass http://lemmy-beta:8550;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -66,7 +66,7 @@ http {
# pict-rs images
location /pictrs {
location /pictrs/image {
- proxy_pass http://pictrs_beta:8080/image;
+ proxy_pass http://pictrs:8080/image;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -92,7 +92,7 @@ http {
client_max_body_size 50M;
location / {
- proxy_pass http://lemmy_gamma:8560;
+ proxy_pass http://lemmy-gamma:8560;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -106,7 +106,7 @@ http {
# pict-rs images
location /pictrs {
location /pictrs/image {
- proxy_pass http://pictrs_gamma:8080/image;
+ proxy_pass http://pictrs:8080/image;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
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"