refactor!: use rustls instead of native-tls (#4901)
* refactor(utils): remove apub * refactor(utils): remove apub * refactor(utils): remove openssl * refactor(utils): remove openssl * Use rustls instead of native-tls. * refactor(utils): remove apub * refactor(utils): remove apub * refactor(utils): remove openssl * refactor(utils): remove openssl * Use rustls instead of native-tls. * Upping activitypub_federation dep * Using git dep of webmention. --------- Co-authored-by: Dessalines <tyhou13@gmx.com>
This commit is contained in:
parent
8abbd56400
commit
847c01f348
7 changed files with 204 additions and 504 deletions
661
Cargo.lock
generated
661
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -99,7 +99,7 @@ lemmy_db_views = { version = "=0.19.5", path = "./crates/db_views" }
|
||||||
lemmy_db_views_actor = { version = "=0.19.5", path = "./crates/db_views_actor" }
|
lemmy_db_views_actor = { version = "=0.19.5", path = "./crates/db_views_actor" }
|
||||||
lemmy_db_views_moderator = { version = "=0.19.5", path = "./crates/db_views_moderator" }
|
lemmy_db_views_moderator = { version = "=0.19.5", path = "./crates/db_views_moderator" }
|
||||||
lemmy_federate = { version = "=0.19.5", path = "./crates/federate" }
|
lemmy_federate = { version = "=0.19.5", path = "./crates/federate" }
|
||||||
activitypub_federation = { version = "0.5.6", default-features = false, features = [
|
activitypub_federation = { version = "0.5.8", default-features = false, features = [
|
||||||
"actix-web",
|
"actix-web",
|
||||||
] }
|
] }
|
||||||
diesel = "2.1.6"
|
diesel = "2.1.6"
|
||||||
|
@ -121,7 +121,12 @@ tracing-error = "0.2.0"
|
||||||
tracing-log = "0.2.0"
|
tracing-log = "0.2.0"
|
||||||
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||||||
url = { version = "2.5.0", features = ["serde"] }
|
url = { version = "2.5.0", features = ["serde"] }
|
||||||
reqwest = { version = "0.11.27", features = ["json", "blocking", "gzip"] }
|
reqwest = { version = "0.11.27", default-features = false, features = [
|
||||||
|
"json",
|
||||||
|
"blocking",
|
||||||
|
"gzip",
|
||||||
|
"rustls-tls",
|
||||||
|
] }
|
||||||
reqwest-middleware = "0.2.5"
|
reqwest-middleware = "0.2.5"
|
||||||
reqwest-tracing = "0.4.8"
|
reqwest-tracing = "0.4.8"
|
||||||
clokwerk = "0.4.0"
|
clokwerk = "0.4.0"
|
||||||
|
|
|
@ -28,7 +28,7 @@ uuid = { workspace = true }
|
||||||
moka.workspace = true
|
moka.workspace = true
|
||||||
once_cell.workspace = true
|
once_cell.workspace = true
|
||||||
anyhow.workspace = true
|
anyhow.workspace = true
|
||||||
webmention = "0.5.0"
|
webmention = { git = "https://github.com/dessalines/webmention", branch = "remove_reqwest_default_features" }
|
||||||
accept-language = "3.1.0"
|
accept-language = "3.1.0"
|
||||||
|
|
||||||
[package.metadata.cargo-machete]
|
[package.metadata.cargo-machete]
|
||||||
|
|
|
@ -31,6 +31,7 @@ impl LocalUserVoteDisplayMode {
|
||||||
.get_result::<Self>(conn)
|
.get_result::<Self>(conn)
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn update(
|
pub async fn update(
|
||||||
pool: &mut DbPool<'_>,
|
pool: &mut DbPool<'_>,
|
||||||
local_user_id: LocalUserId,
|
local_user_id: LocalUserId,
|
||||||
|
|
|
@ -44,7 +44,6 @@ full = [
|
||||||
"dep:enum-map",
|
"dep:enum-map",
|
||||||
"dep:futures",
|
"dep:futures",
|
||||||
"dep:tokio",
|
"dep:tokio",
|
||||||
"dep:openssl",
|
|
||||||
"dep:html2text",
|
"dep:html2text",
|
||||||
"dep:lettre",
|
"dep:lettre",
|
||||||
"dep:uuid",
|
"dep:uuid",
|
||||||
|
@ -74,13 +73,14 @@ uuid = { workspace = true, features = ["serde", "v4"], optional = true }
|
||||||
rosetta-i18n = { workspace = true, optional = true }
|
rosetta-i18n = { workspace = true, optional = true }
|
||||||
tokio = { workspace = true, optional = true }
|
tokio = { workspace = true, optional = true }
|
||||||
urlencoding = { workspace = true, optional = true }
|
urlencoding = { workspace = true, optional = true }
|
||||||
openssl = { version = "0.10.64", optional = true }
|
|
||||||
html2text = { version = "0.12.5", optional = true }
|
html2text = { version = "0.12.5", optional = true }
|
||||||
deser-hjson = { version = "2.2.4", optional = true }
|
deser-hjson = { version = "2.2.4", optional = true }
|
||||||
smart-default = { version = "0.7.1", optional = true }
|
smart-default = { version = "0.7.1", optional = true }
|
||||||
lettre = { version = "0.11.7", features = [
|
lettre = { version = "0.11.7", default-features = false, features = [
|
||||||
|
"builder",
|
||||||
"tokio1",
|
"tokio1",
|
||||||
"tokio1-native-tls",
|
"tokio1-rustls-tls",
|
||||||
|
"smtp-transport",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
markdown-it = { version = "0.6.0", optional = true }
|
markdown-it = { version = "0.6.0", optional = true }
|
||||||
ts-rs = { workspace = true, optional = true }
|
ts-rs = { workspace = true, optional = true }
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
use openssl::{pkey::PKey, rsa::Rsa};
|
|
||||||
use std::io::{Error, ErrorKind};
|
|
||||||
|
|
||||||
pub struct Keypair {
|
|
||||||
pub private_key: String,
|
|
||||||
pub public_key: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Generate the asymmetric keypair for ActivityPub HTTP signatures.
|
|
||||||
pub fn generate_actor_keypair() -> Result<Keypair, Error> {
|
|
||||||
let rsa = Rsa::generate(2048)?;
|
|
||||||
let pkey = PKey::from_rsa(rsa)?;
|
|
||||||
let public_key = pkey.public_key_to_pem()?;
|
|
||||||
let private_key = pkey.private_key_to_pem_pkcs8()?;
|
|
||||||
let key_to_string = |key| match String::from_utf8(key) {
|
|
||||||
Ok(s) => Ok(s),
|
|
||||||
Err(e) => Err(Error::new(
|
|
||||||
ErrorKind::Other,
|
|
||||||
format!("Failed converting key to string: {e}"),
|
|
||||||
)),
|
|
||||||
};
|
|
||||||
Ok(Keypair {
|
|
||||||
private_key: key_to_string(private_key)?,
|
|
||||||
public_key: key_to_string(public_key)?,
|
|
||||||
})
|
|
||||||
}
|
|
|
@ -2,7 +2,6 @@ use cfg_if::cfg_if;
|
||||||
|
|
||||||
cfg_if! {
|
cfg_if! {
|
||||||
if #[cfg(feature = "full")] {
|
if #[cfg(feature = "full")] {
|
||||||
pub mod apub;
|
|
||||||
pub mod cache_header;
|
pub mod cache_header;
|
||||||
pub mod email;
|
pub mod email;
|
||||||
pub mod rate_limit;
|
pub mod rate_limit;
|
||||||
|
|
Loading…
Reference in a new issue