This commit is contained in:
Dessalines 2021-02-02 11:13:31 -05:00
commit 712d497a2d
15 changed files with 355 additions and 306 deletions

512
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -34,27 +34,27 @@ lemmy_websocket = { path = "./crates/websocket" }
diesel = "1.4.5" diesel = "1.4.5"
diesel_migrations = "1.4.0" diesel_migrations = "1.4.0"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
actix = "0.10.0" actix = "0.10.0"
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] }
actix-files = { version = "0.4.1", default-features = false } actix-files = { version = "0.5.0", default-features = false }
actix-web-actors = { version = "3.0.0", default-features = false } actix-web-actors = { version = "3.0.0", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.11" log = "0.4.14"
env_logger = "0.8.2" env_logger = "0.8.2"
strum = "0.20.0" strum = "0.20.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
rss = "1.9.0" rss = "1.10.0"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }
openssl = "0.10.31" openssl = "0.10.32"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
tokio = "0.3.6" tokio = "0.3.6"
sha2 = "0.9.2" sha2 = "0.9.3"
anyhow = "1.0.36" anyhow = "1.0.38"
reqwest = { version = "0.10.10", features = ["json"] } reqwest = { version = "0.10.10", features = ["json"] }
activitystreams = "0.7.0-alpha.8" activitystreams = "0.7.0-alpha.10"
actix-rt = { version = "1.1.1", default-features = false } actix-rt = { version = "1.1.1", default-features = false }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
clokwerk = "0.3.4" clokwerk = "0.3.4"
[dev-dependencies.cargo-husky] [dev-dependencies.cargo-husky]

View file

@ -21,31 +21,31 @@ lemmy_websocket = { path = "../websocket" }
diesel = "1.4.5" diesel = "1.4.5"
bcrypt = "0.9.0" bcrypt = "0.9.0"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
actix = "0.10.0" actix = "0.10.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "3.3.2", default-features = false }
actix-rt = { version = "1.1.1", default-features = false } actix-rt = { version = "1.1.1", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.11" log = "0.4.14"
rand = "0.8.0" rand = "0.8.3"
strum = "0.20.0" strum = "0.20.0"
strum_macros = "0.20.1" strum_macros = "0.20.1"
jsonwebtoken = "7.2.0" jsonwebtoken = "7.2.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }
openssl = "0.10.31" openssl = "0.10.32"
http = "0.2.2" http = "0.2.3"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "0.3.6" tokio = "0.3.6"
futures = "0.3.8" futures = "0.3.12"
itertools = "0.9.0" itertools = "0.10.0"
uuid = { version = "0.8.1", features = ["serde", "v4"] } uuid = { version = "0.8.2", features = ["serde", "v4"] }
sha2 = "0.9.2" sha2 = "0.9.3"
async-trait = "0.1.42" async-trait = "0.1.42"
captcha = "0.0.8" captcha = "0.0.8"
anyhow = "1.0.36" anyhow = "1.0.38"
thiserror = "1.0.22" thiserror = "1.0.23"
background-jobs = "0.8.0" background-jobs = "0.8.0"
reqwest = { version = "0.10.10", features = ["json"] } reqwest = { version = "0.10.10", features = ["json"] }

View file

@ -17,36 +17,36 @@ lemmy_db_views_actor = { path = "../db_views_actor" }
lemmy_structs = { path = "../structs" } lemmy_structs = { path = "../structs" }
lemmy_websocket = { path = "../websocket" } lemmy_websocket = { path = "../websocket" }
diesel = "1.4.5" diesel = "1.4.5"
activitystreams = "0.7.0-alpha.8" activitystreams = "0.7.0-alpha.10"
activitystreams-ext = "0.1.0-alpha.2" activitystreams-ext = "0.1.0-alpha.2"
bcrypt = "0.9.0" bcrypt = "0.9.0"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
actix = "0.10.0" actix = "0.10.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "3.3.2", default-features = false }
actix-rt = { version = "1.1.1", default-features = false } actix-rt = { version = "1.1.1", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.11" log = "0.4.14"
rand = "0.8.0" rand = "0.8.3"
strum = "0.20.0" strum = "0.20.0"
strum_macros = "0.20.1" strum_macros = "0.20.1"
lazy_static = "1.4.0" lazy_static = "1.4.0"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }
percent-encoding = "2.1.0" percent-encoding = "2.1.0"
openssl = "0.10.31" openssl = "0.10.32"
http = "0.2.2" http = "0.2.3"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
http-signature-normalization-reqwest = { version = "0.1.3", default-features = false, features = ["sha-2"] } http-signature-normalization-reqwest = { version = "0.1.3", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "0.3.6" tokio = "0.3.6"
futures = "0.3.8" futures = "0.3.12"
itertools = "0.9.0" itertools = "0.10.0"
uuid = { version = "0.8.1", features = ["serde", "v4"] } uuid = { version = "0.8.2", features = ["serde", "v4"] }
sha2 = "0.9.2" sha2 = "0.9.3"
async-trait = "0.1.42" async-trait = "0.1.42"
anyhow = "1.0.36" anyhow = "1.0.38"
thiserror = "1.0.22" thiserror = "1.0.23"
background-jobs = "0.8.0" background-jobs = "0.8.0"
reqwest = { version = "0.10.10", features = ["json"] } reqwest = { version = "0.10.10", features = ["json"] }
backtrace = "0.3.55" backtrace = "0.3.56"

View file

@ -26,8 +26,8 @@ use lemmy_utils::{location_info, settings::Settings, LemmyError};
use lemmy_websocket::LemmyContext; use lemmy_websocket::LemmyContext;
use log::{debug, warn}; use log::{debug, warn};
use reqwest::Client; use reqwest::Client;
use serde::{export::fmt::Debug, Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::{collections::BTreeMap, env, future::Future, pin::Pin}; use std::{collections::BTreeMap, env, fmt::Debug, future::Future, pin::Pin};
use url::Url; use url::Url;
/// Sends a local activity to a single, remote actor. /// Sends a local activity to a single, remote actor.

View file

@ -17,7 +17,8 @@ use lemmy_db_schema::source::{activity::Activity, community::Community, user::Us
use lemmy_structs::blocking; use lemmy_structs::blocking;
use lemmy_utils::{location_info, settings::Settings, LemmyError}; use lemmy_utils::{location_info, settings::Settings, LemmyError};
use lemmy_websocket::LemmyContext; use lemmy_websocket::LemmyContext;
use serde::{export::fmt::Debug, Serialize}; use serde::Serialize;
use std::fmt::Debug;
use url::Url; use url::Url;
pub mod community_inbox; pub mod community_inbox;

View file

@ -13,14 +13,14 @@ lemmy_db_schema = { path = "../db_schema" }
diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] } diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
diesel_migrations = "1.4.0" diesel_migrations = "1.4.0"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
strum = "0.20.0" strum = "0.20.0"
strum_macros = "0.20.1" strum_macros = "0.20.1"
log = "0.4.11" log = "0.4.14"
sha2 = "0.9.2" sha2 = "0.9.3"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }
lazy_static = "1.4.0" lazy_static = "1.4.0"
regex = "1.4.2" regex = "1.4.3"
bcrypt = "0.9.0" bcrypt = "0.9.0"
diesel_json = "0.1.1" diesel_json = "0.1.1"

View file

@ -6,7 +6,7 @@ edition = "2018"
[dependencies] [dependencies]
diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] } diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
log = "0.4.11" log = "0.4.14"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }

View file

@ -7,5 +7,5 @@ edition = "2018"
lemmy_db_queries = { path = "../db_queries" } lemmy_db_queries = { path = "../db_queries" }
lemmy_db_schema = { path = "../db_schema" } lemmy_db_schema = { path = "../db_schema" }
diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] } diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
log = "0.4.11" log = "0.4.14"

View file

@ -7,4 +7,4 @@ edition = "2018"
lemmy_db_queries = { path = "../db_queries" } lemmy_db_queries = { path = "../db_queries" }
lemmy_db_schema = { path = "../db_schema" } lemmy_db_schema = { path = "../db_schema" }
diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] } diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }

View file

@ -7,4 +7,4 @@ edition = "2018"
lemmy_db_queries = { path = "../db_queries" } lemmy_db_queries = { path = "../db_queries" }
lemmy_db_schema = { path = "../db_schema" } lemmy_db_schema = { path = "../db_schema" }
diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] } diesel = { version = "1.4.5", features = ["postgres","chrono","r2d2","serde_json"] }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }

View file

@ -15,10 +15,10 @@ lemmy_db_views_moderator = { path = "../db_views_moderator" }
lemmy_db_views_actor = { path = "../db_views_actor" } lemmy_db_views_actor = { path = "../db_views_actor" }
lemmy_db_schema = { path = "../db_schema" } lemmy_db_schema = { path = "../db_schema" }
lemmy_utils = { path = "../utils" } lemmy_utils = { path = "../utils" }
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
log = "0.4.11" log = "0.4.14"
diesel = "1.4.5" diesel = "1.4.5"
actix-web = "3.3.2" actix-web = "3.3.2"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
url = "2.2.0" url = "2.2.0"

View file

@ -8,28 +8,28 @@ name = "lemmy_utils"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
regex = "1.4.2" regex = "1.4.3"
config = { version = "0.10.1", default-features = false, features = ["hjson"] } config = { version = "0.10.1", default-features = false, features = ["hjson"] }
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
lettre = "0.10.0-alpha.4" lettre = "0.10.0-alpha.5"
log = "0.4.11" log = "0.4.14"
itertools = "0.9.0" itertools = "0.10.0"
rand = "0.8.0" rand = "0.8.3"
percent-encoding = "2.1.0" percent-encoding = "2.1.0"
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
thiserror = "1.0.22" thiserror = "1.0.23"
comrak = { version = "0.9.0", default-features = false } comrak = { version = "0.9.0", default-features = false }
lazy_static = "1.4.0" lazy_static = "1.4.0"
openssl = "0.10.31" openssl = "0.10.32"
url = { version = "2.2.0", features = ["serde"] } url = { version = "2.2.0", features = ["serde"] }
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] }
actix-rt = { version = "1.1.1", default-features = false } actix-rt = { version = "1.1.1", default-features = false }
anyhow = "1.0.36" anyhow = "1.0.38"
reqwest = { version = "0.10.10", features = ["json"] } reqwest = { version = "0.10.10", features = ["json"] }
tokio = { version = "0.3.6", features = ["sync"] } tokio = { version = "0.3.6", features = ["sync"] }
strum = "0.20.0" strum = "0.20.0"
strum_macros = "0.20.1" strum_macros = "0.20.1"
futures = "0.3.8" futures = "0.3.12"
diesel = "1.4.5" diesel = "1.4.5"
http = "0.2.2" http = "0.2.3"

View file

@ -48,23 +48,23 @@ pub fn send_email(
MultiPart::mixed().multipart( MultiPart::mixed().multipart(
MultiPart::alternative() MultiPart::alternative()
.singlepart( .singlepart(
SinglePart::eight_bit() SinglePart::builder()
.header(header::ContentType( .header(header::ContentType(
"text/plain; charset=utf8" "text/plain; charset=utf8"
.parse() .parse()
.expect("email could not parse header"), .expect("email could not parse header"),
)) ))
.body(html), .body(html.to_string()),
) )
.multipart( .multipart(
MultiPart::related().singlepart( MultiPart::related().singlepart(
SinglePart::eight_bit() SinglePart::builder()
.header(header::ContentType( .header(header::ContentType(
"text/html; charset=utf8" "text/html; charset=utf8"
.parse() .parse()
.expect("email could not parse header"), .expect("email could not parse header"),
)) ))
.body(html), .body(html.to_string()),
), ),
), ),
), ),

View file

@ -14,12 +14,12 @@ lemmy_structs = { path = "../structs" }
lemmy_db_queries = { path = "../db_queries" } lemmy_db_queries = { path = "../db_queries" }
lemmy_db_schema = { path = "../db_schema" } lemmy_db_schema = { path = "../db_schema" }
reqwest = { version = "0.10.10", features = ["json"] } reqwest = { version = "0.10.10", features = ["json"] }
log = "0.4.11" log = "0.4.14"
rand = "0.8.0" rand = "0.8.3"
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.123", features = ["derive"] }
serde_json = { version = "1.0.60", features = ["preserve_order"] } serde_json = { version = "1.0.61", features = ["preserve_order"] }
actix = "0.10.0" actix = "0.10.0"
anyhow = "1.0.36" anyhow = "1.0.38"
diesel = "1.4.5" diesel = "1.4.5"
background-jobs = "0.8.0" background-jobs = "0.8.0"
tokio = "0.3.6" tokio = "0.3.6"