mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-06-02 05:01:32 +00:00
This commit is contained in:
parent
195a3e812d
commit
8c23cab007
|
@ -226,6 +226,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "Gerry9812".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ impl Perform for SaveUserSettings {
|
|||
let default_listing_type = data.default_listing_type;
|
||||
let default_sort_type = data.default_sort_type;
|
||||
let password_encrypted = local_user_view.local_user.password_encrypted;
|
||||
let public_key = local_user_view.person.public_key;
|
||||
let public_key = Some(local_user_view.person.public_key);
|
||||
|
||||
let person_form = PersonForm {
|
||||
name: local_user_view.person.name,
|
||||
|
|
|
@ -94,7 +94,7 @@ impl PerformCrud for CreateCommunity {
|
|||
nsfw: data.nsfw,
|
||||
actor_id: Some(community_actor_id.to_owned()),
|
||||
private_key: Some(Some(keypair.private_key)),
|
||||
public_key: keypair.public_key,
|
||||
public_key: Some(keypair.public_key),
|
||||
followers_url: Some(generate_followers_url(&community_actor_id)?),
|
||||
inbox_url: Some(generate_inbox_url(&community_actor_id)?),
|
||||
shared_inbox_url: Some(Some(generate_shared_inbox_url(&community_actor_id)?)),
|
||||
|
|
|
@ -128,7 +128,7 @@ impl PerformCrud for Register {
|
|||
name: data.username.to_owned(),
|
||||
actor_id: Some(actor_id.clone()),
|
||||
private_key: Some(Some(actor_keypair.private_key)),
|
||||
public_key: actor_keypair.public_key,
|
||||
public_key: Some(actor_keypair.public_key),
|
||||
inbox_url: Some(generate_inbox_url(&actor_id)?),
|
||||
shared_inbox_url: Some(Some(generate_shared_inbox_url(&actor_id)?)),
|
||||
admin: Some(no_admins),
|
||||
|
@ -215,7 +215,7 @@ impl PerformCrud for Register {
|
|||
description: Some("The Default Community".to_string()),
|
||||
actor_id: Some(actor_id.to_owned()),
|
||||
private_key: Some(Some(main_community_keypair.private_key)),
|
||||
public_key: main_community_keypair.public_key,
|
||||
public_key: Some(main_community_keypair.public_key),
|
||||
followers_url: Some(generate_followers_url(&actor_id)?),
|
||||
inbox_url: Some(generate_inbox_url(&actor_id)?),
|
||||
shared_inbox_url: Some(Some(generate_shared_inbox_url(&actor_id)?)),
|
||||
|
|
|
@ -168,6 +168,7 @@ mod tests {
|
|||
|
||||
let old_mod = PersonForm {
|
||||
name: "holly".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
let old_mod = Person::create(&context.pool().get().unwrap(), &old_mod).unwrap();
|
||||
|
|
|
@ -159,7 +159,7 @@ impl ApubObject for ApubPerson {
|
|||
admin: Some(false),
|
||||
bot_account: Some(person.kind == UserTypes::Service),
|
||||
private_key: None,
|
||||
public_key: person.public_key.public_key_pem,
|
||||
public_key: Some(person.public_key.public_key_pem),
|
||||
last_refreshed_at: Some(naive_now()),
|
||||
inbox_url: Some(person.inbox.into()),
|
||||
shared_inbox_url: Some(person.endpoints.map(|e| e.shared_inbox.into())),
|
||||
|
|
|
@ -84,7 +84,7 @@ impl Group {
|
|||
local: Some(false),
|
||||
private_key: None,
|
||||
hidden: Some(false),
|
||||
public_key: self.public_key.public_key_pem,
|
||||
public_key: Some(self.public_key.public_key_pem),
|
||||
last_refreshed_at: Some(naive_now()),
|
||||
icon: Some(self.icon.map(|i| i.url.into())),
|
||||
banner: Some(self.image.map(|i| i.url.into())),
|
||||
|
|
|
@ -35,6 +35,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy_comment_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -42,6 +43,7 @@ mod tests {
|
|||
|
||||
let another_person = PersonForm {
|
||||
name: "jerry_comment_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -50,6 +52,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL_comment_agg".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy_community_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -42,6 +43,7 @@ mod tests {
|
|||
|
||||
let another_person = PersonForm {
|
||||
name: "jerry_community_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -50,6 +52,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL_community_agg".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
@ -58,6 +61,7 @@ mod tests {
|
|||
let another_community = CommunityForm {
|
||||
name: "TIL_community_agg_2".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy_user_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -38,6 +39,7 @@ mod tests {
|
|||
|
||||
let another_person = PersonForm {
|
||||
name: "jerry_user_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -46,6 +48,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL_site_agg".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy_community_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -38,6 +39,7 @@ mod tests {
|
|||
|
||||
let another_person = PersonForm {
|
||||
name: "jerry_community_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -46,6 +48,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL_community_agg".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy_site_agg".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -37,6 +38,7 @@ mod tests {
|
|||
|
||||
let site_form = SiteForm {
|
||||
name: "test_site".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
|
@ -45,6 +47,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL_site_agg".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ mod tests {
|
|||
|
||||
let creator_form = PersonForm {
|
||||
name: "activity_creator_pm".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -227,6 +227,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "terry".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -235,6 +236,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -347,6 +347,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "bobbee".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -355,7 +356,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "TIL".into(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
@ -374,7 +375,7 @@ mod tests {
|
|||
actor_id: inserted_community.actor_id.to_owned(),
|
||||
local: true,
|
||||
private_key: None,
|
||||
public_key: "nada".to_owned(),
|
||||
public_key: "pubkey".to_owned(),
|
||||
last_refreshed_at: inserted_community.published,
|
||||
icon: None,
|
||||
banner: None,
|
||||
|
|
|
@ -280,6 +280,7 @@ mod tests {
|
|||
|
||||
let new_mod = PersonForm {
|
||||
name: "the mod".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -287,6 +288,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "jim2".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -295,6 +297,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "mod_community".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -87,6 +87,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "thommy prw".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -332,7 +332,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "holly".into(),
|
||||
public_key: "nada".to_owned(),
|
||||
public_key: Some("nada".to_owned()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "terrylake".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -104,6 +105,7 @@ mod tests {
|
|||
|
||||
let recipient_form = PersonForm {
|
||||
name: "terrylakes recipient".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -112,6 +114,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community lake".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -278,6 +278,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "jim".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -286,6 +287,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community_3".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -151,6 +151,7 @@ mod tests {
|
|||
|
||||
let creator_form = PersonForm {
|
||||
name: "creator_pm".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -158,6 +159,7 @@ mod tests {
|
|||
|
||||
let recipient_form = PersonForm {
|
||||
name: "recipient_pm".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ pub struct CommunityForm {
|
|||
pub actor_id: Option<DbUrl>,
|
||||
pub local: Option<bool>,
|
||||
pub private_key: Option<Option<String>>,
|
||||
pub public_key: String,
|
||||
pub public_key: Option<String>,
|
||||
pub last_refreshed_at: Option<chrono::NaiveDateTime>,
|
||||
pub icon: Option<Option<DbUrl>>,
|
||||
pub banner: Option<Option<DbUrl>>,
|
||||
|
|
|
@ -172,7 +172,7 @@ pub struct PersonForm {
|
|||
pub bio: Option<Option<String>>,
|
||||
pub local: Option<bool>,
|
||||
pub private_key: Option<Option<String>>,
|
||||
pub public_key: String,
|
||||
pub public_key: Option<String>,
|
||||
pub last_refreshed_at: Option<chrono::NaiveDateTime>,
|
||||
pub banner: Option<Option<DbUrl>>,
|
||||
pub deleted: Option<bool>,
|
||||
|
|
|
@ -321,6 +321,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "timmy_crv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -328,6 +329,7 @@ mod tests {
|
|||
|
||||
let new_person_2 = PersonForm {
|
||||
name: "sara_crv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -336,6 +338,7 @@ mod tests {
|
|||
// Add a third person, since new ppl can only report something once.
|
||||
let new_person_3 = PersonForm {
|
||||
name: "jessica_crv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -344,6 +347,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community crv".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -541,6 +541,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "timmy".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -548,6 +549,7 @@ mod tests {
|
|||
|
||||
let new_person_2 = PersonForm {
|
||||
name: "sara".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -556,6 +558,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community 5".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -310,6 +310,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: "timmy_prv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -317,6 +318,7 @@ mod tests {
|
|||
|
||||
let new_person_2 = PersonForm {
|
||||
name: "sara_prv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -325,6 +327,7 @@ mod tests {
|
|||
// Add a third person, since new ppl can only report something once.
|
||||
let new_person_3 = PersonForm {
|
||||
name: "jessica_prv".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -333,6 +336,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: "test community prv".to_string(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -525,6 +525,7 @@ mod tests {
|
|||
|
||||
let new_person = PersonForm {
|
||||
name: person_name.to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -533,6 +534,7 @@ mod tests {
|
|||
let new_bot = PersonForm {
|
||||
name: person_name.to_owned(),
|
||||
bot_account: Some(true),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -541,6 +543,7 @@ mod tests {
|
|||
let new_community = CommunityForm {
|
||||
name: community_name.to_owned(),
|
||||
title: "nada".to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..CommunityForm::default()
|
||||
};
|
||||
|
||||
|
@ -549,6 +552,7 @@ mod tests {
|
|||
// Test a person block, make sure the post query doesn't include their post
|
||||
let blocked_person = PersonForm {
|
||||
name: person_name.to_owned(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -187,6 +187,7 @@ mod tests {
|
|||
let timmy_person_form = PersonForm {
|
||||
name: "timmy_rav".into(),
|
||||
admin: Some(true),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -202,6 +203,7 @@ mod tests {
|
|||
|
||||
let sara_person_form = PersonForm {
|
||||
name: "sara_rav".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
@ -228,6 +230,7 @@ mod tests {
|
|||
|
||||
let jess_person_form = PersonForm {
|
||||
name: "jess_rav".into(),
|
||||
public_key: Some("pubkey".to_string()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ use lemmy_db_schema::{
|
|||
utils::naive_now,
|
||||
};
|
||||
use lemmy_utils::{apub::generate_actor_keypair, LemmyError};
|
||||
use std::default::Default;
|
||||
use tracing::info;
|
||||
use url::Url;
|
||||
|
||||
|
@ -39,6 +40,7 @@ pub fn run_advanced_migrations(
|
|||
post_thumbnail_url_updates_2020_07_27(conn, protocol_and_hostname)?;
|
||||
apub_columns_2021_02_02(conn)?;
|
||||
instance_actor_2022_01_28(conn, protocol_and_hostname)?;
|
||||
regenerate_public_keys_2022_07_05(conn)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
@ -68,7 +70,7 @@ fn user_updates_2020_04_02(
|
|||
protocol_and_hostname,
|
||||
)?),
|
||||
private_key: Some(Some(keypair.private_key)),
|
||||
public_key: keypair.public_key,
|
||||
public_key: Some(keypair.public_key),
|
||||
last_refreshed_at: Some(naive_now()),
|
||||
..PersonForm::default()
|
||||
};
|
||||
|
@ -111,7 +113,7 @@ fn community_updates_2020_04_02(
|
|||
actor_id: Some(community_actor_id.to_owned()),
|
||||
local: Some(ccommunity.local),
|
||||
private_key: Some(Some(keypair.private_key)),
|
||||
public_key: keypair.public_key,
|
||||
public_key: Some(keypair.public_key),
|
||||
last_refreshed_at: Some(naive_now()),
|
||||
icon: Some(ccommunity.icon.to_owned()),
|
||||
banner: Some(ccommunity.banner.to_owned()),
|
||||
|
@ -293,6 +295,10 @@ fn instance_actor_2022_01_28(
|
|||
) -> Result<(), LemmyError> {
|
||||
info!("Running instance_actor_2021_09_29");
|
||||
if let Ok(site) = Site::read_local_site(conn) {
|
||||
// if site already has public key, we dont need to do anything here
|
||||
if !site.public_key.is_empty() {
|
||||
return Ok(());
|
||||
}
|
||||
let key_pair = generate_actor_keypair()?;
|
||||
let actor_id = Url::parse(protocol_and_hostname)?;
|
||||
let site_form = SiteForm {
|
||||
|
@ -308,3 +314,60 @@ fn instance_actor_2022_01_28(
|
|||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Fix for bug #2347, which can result in community/person public keys being overwritten with
|
||||
/// empty string when the database value is updated. We go through all actors, and if the public
|
||||
/// key field is empty, generate a new keypair. It would be possible to regenerate only the pubkey,
|
||||
/// but thats more complicated and has no benefit, as federation is already broken for these actors.
|
||||
/// https://github.com/LemmyNet/lemmy/issues/2347
|
||||
fn regenerate_public_keys_2022_07_05(conn: &PgConnection) -> Result<(), LemmyError> {
|
||||
info!("Running regenerate_public_keys_2022_07_05");
|
||||
|
||||
{
|
||||
// update communities with empty pubkey
|
||||
use lemmy_db_schema::schema::community::dsl::*;
|
||||
let communities: Vec<Community> = community
|
||||
.filter(local.eq(true))
|
||||
.filter(public_key.eq(""))
|
||||
.load::<Community>(conn)?;
|
||||
for community_ in communities {
|
||||
info!(
|
||||
"local community {} has empty public key field, regenerating key",
|
||||
community_.name
|
||||
);
|
||||
let key_pair = generate_actor_keypair()?;
|
||||
let form = CommunityForm {
|
||||
name: community_.name,
|
||||
title: community_.title,
|
||||
public_key: Some(key_pair.public_key),
|
||||
private_key: Some(Some(key_pair.private_key)),
|
||||
..Default::default()
|
||||
};
|
||||
Community::update(conn, community_.id, &form)?;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// update persons with empty pubkey
|
||||
use lemmy_db_schema::schema::person::dsl::*;
|
||||
let persons = person
|
||||
.filter(local.eq(true))
|
||||
.filter(public_key.eq(""))
|
||||
.load::<Person>(conn)?;
|
||||
for person_ in persons {
|
||||
info!(
|
||||
"local user {} has empty public key field, regenerating key",
|
||||
person_.name
|
||||
);
|
||||
let key_pair = generate_actor_keypair()?;
|
||||
let form = PersonForm {
|
||||
name: person_.name,
|
||||
public_key: Some(key_pair.public_key),
|
||||
private_key: Some(Some(key_pair.private_key)),
|
||||
..Default::default()
|
||||
};
|
||||
Person::update(conn, person_.id, &form)?;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue