From 09072200d6fc992ff41757baa1a20894bdd228e2 Mon Sep 17 00:00:00 2001 From: Zeke Fast Date: Sun, 27 Apr 2025 23:36:59 +0200 Subject: [PATCH] Replace "extern crate" and #[macro_use] declarations with "use" imports. Both "extern crate" and #[macro_use] are artifacts of earlier editions of Rust language. Nowadays we can entirely rely on "use" instead. Changes: - Replace "extern crate" with "use" imports. - Replace #[macro_use] extern crate ...; declarations with "use" imports of used macros. For example, #[macro_use] extern crate anyhow; was replaced with use anyhow::anyhow; in every file where anyhow! macro were used. - Favor direct usage of import path instead of aliased one. For example, in many places "sequoia_opengpg" were aliased as "openpgp", during imports replacements I tried to avoid usage of "openpgp" or introduced additional aliases (like "use sequoia_openpgp as openpgp") and used "sequoia_opengpg". I think this way it is easier to understand where name came from instead of search and jumping to lib.rs or main.rs files trying to find where name were aliased. Another example of such favoring is usage of "hagrid_database" over the "database" in imports. NOTE: the usage is still inconsistent and requires further clean up. --- build.rs | 2 -- database/src/fs.rs | 6 ++++-- database/src/lib.rs | 27 +++------------------------ database/src/openpgp_utils.rs | 4 ++-- database/src/sqlite.rs | 8 +++----- database/src/stateful_tokens.rs | 2 +- database/src/test.rs | 9 ++++----- database/src/types.rs | 4 ++-- database/src/wkd.rs | 3 ++- hagridctl/src/import.rs | 6 ++---- hagridctl/src/main.rs | 12 +----------- src/anonymize_utils.rs | 2 +- src/counters.rs | 2 +- src/delete.rs | 7 ++----- src/i18n_helpers.rs | 2 +- src/mail.rs | 6 ++++-- src/main.rs | 15 +-------------- src/tokens.rs | 2 ++ src/web/debug_web.rs | 5 +++-- src/web/hkp.rs | 4 ++-- src/web/maintenance.rs | 5 ++++- src/web/manage.rs | 21 +++++++++++++-------- src/web/mod.rs | 14 +++++++------- src/web/vks.rs | 17 ++++++++++------- src/web/vks_api.rs | 5 +++-- src/web/vks_web.rs | 11 +++++++++-- src/web/wkd.rs | 3 ++- tester/src/generate.rs | 2 +- tester/src/main.rs | 7 ------- 29 files changed, 90 insertions(+), 123 deletions(-) diff --git a/build.rs b/build.rs index 8a3d162..3e2515c 100644 --- a/build.rs +++ b/build.rs @@ -1,5 +1,3 @@ -extern crate vergen; - use vergen::{ConstantsFlags, generate_cargo_keys}; fn main() { diff --git a/database/src/fs.rs b/database/src/fs.rs index f7461fb..dfd55a5 100644 --- a/database/src/fs.rs +++ b/database/src/fs.rs @@ -9,6 +9,8 @@ use std::path::{Path, PathBuf}; use pathdiff::diff_paths; use std::time::SystemTime; +use anyhow::{anyhow, format_err}; +use log::info; use url::form_urlencoded; use crate::Result; @@ -21,7 +23,7 @@ use crate::wkd; use tempfile::NamedTempFile; use crate::openpgp_utils::POLICY; -use openpgp::Cert; +use sequoia_openpgp::Cert; use crate::DatabaseTransaction; @@ -837,7 +839,7 @@ fn path_merge(path: &Path) -> String { mod tests { use super::*; use crate::test; - use openpgp::cert::CertBuilder; + use sequoia_openpgp::cert::CertBuilder; use tempfile::TempDir; #[test] diff --git a/database/src/lib.rs b/database/src/lib.rs index f3855b2..ef0a283 100644 --- a/database/src/lib.rs +++ b/database/src/lib.rs @@ -3,33 +3,12 @@ use std::convert::TryFrom; use std::str::FromStr; -use openpgp::serialize::SerializeInto; +use sequoia_openpgp::{serialize::SerializeInto, Cert, packet::UserID, parse::Parse, types::KeyFlags}; use chrono::prelude::Utc; -#[macro_use] -extern crate anyhow; -use anyhow::Result; -extern crate fs2; -extern crate idna; -#[macro_use] -extern crate log; -extern crate chrono; -extern crate hex; -extern crate pathdiff; -extern crate r2d2_sqlite; -extern crate rand; -extern crate self_cell; -extern crate serde; -extern crate serde_json; -extern crate tempfile; -extern crate time; -extern crate url; -extern crate walkdir; -extern crate zbase32; - -extern crate sequoia_openpgp as openpgp; -use openpgp::{Cert, packet::UserID, parse::Parse, types::KeyFlags}; +use anyhow::{anyhow, Result}; +use log::{info, error}; pub mod types; use types::{Email, Fingerprint, KeyID}; diff --git a/database/src/openpgp_utils.rs b/database/src/openpgp_utils.rs index f25486a..053faff 100644 --- a/database/src/openpgp_utils.rs +++ b/database/src/openpgp_utils.rs @@ -1,7 +1,7 @@ -use openpgp::Result; use std::convert::TryFrom; -use openpgp::{ +use sequoia_openpgp::{ + Result, Cert, cert::prelude::*, policy::StandardPolicy, serialize::SerializeInto as _, types::RevocationStatus, }; diff --git a/database/src/sqlite.rs b/database/src/sqlite.rs index e250bf1..5d04a7a 100644 --- a/database/src/sqlite.rs +++ b/database/src/sqlite.rs @@ -6,13 +6,11 @@ use std::path::PathBuf; use std::str::FromStr; use std::time::{SystemTime, UNIX_EPOCH}; - +use anyhow::format_err; use crate::Result; use crate::types::{Email, Fingerprint, KeyID}; use crate::{Database, Query}; -use openpgp::policy::StandardPolicy; - -use openpgp::Cert; +use sequoia_openpgp::{Cert, policy::StandardPolicy}; use r2d2_sqlite::SqliteConnectionManager; use r2d2_sqlite::rusqlite::OptionalExtension; @@ -483,7 +481,7 @@ impl<'a> Database<'a> for Sqlite { mod tests { use super::*; use crate::test; - use openpgp::cert::CertBuilder; + use sequoia_openpgp::cert::CertBuilder; use tempfile::TempDir; const DATA_1: &str = "data, content doesn't matter"; diff --git a/database/src/stateful_tokens.rs b/database/src/stateful_tokens.rs index 51d9d72..de0466a 100644 --- a/database/src/stateful_tokens.rs +++ b/database/src/stateful_tokens.rs @@ -3,7 +3,7 @@ use std::io::{Read, Write}; use std::path::PathBuf; use std::str; - +use log::info; use crate::Result; pub struct StatefulTokens { diff --git a/database/src/test.rs b/database/src/test.rs index 7524748..2b98b10 100644 --- a/database/src/test.rs +++ b/database/src/test.rs @@ -20,13 +20,12 @@ use std::str::FromStr; use crate::types::{Email, Fingerprint, KeyID}; use crate::{Database, Query}; -use openpgp::cert::{CertBuilder, UserIDRevocationBuilder}; -use openpgp::types::{KeyFlags, ReasonForRevocation, SignatureType}; -use openpgp::{ +use sequoia_openpgp::{ + cert::{CertBuilder, UserIDRevocationBuilder}, Cert, Packet, packet::{UserID, signature::*}, parse::Parse, - types::RevocationStatus, + types::{KeyFlags, ReasonForRevocation, SignatureType, RevocationStatus}, }; use crate::openpgp_utils::POLICY; @@ -1353,7 +1352,7 @@ pub fn test_no_selfsig<'a>(db: &'a mut impl Database<'a>) { /// Makes sure that attested key signatures are correctly handled. pub fn attested_key_signatures<'a>(db: &'a mut impl Database<'a>) -> Result<()> { - use openpgp::types::*; + use sequoia_openpgp::types::*; use std::time::{Duration, SystemTime}; let t0 = SystemTime::now() - Duration::new(5 * 60, 0); let t1 = SystemTime::now() - Duration::new(4 * 60, 0); diff --git a/database/src/types.rs b/database/src/types.rs index 4caabb2..2d89a73 100644 --- a/database/src/types.rs +++ b/database/src/types.rs @@ -4,9 +4,9 @@ use std::result; use std::str::FromStr; use crate::Result; -use anyhow::Error; +use anyhow::{anyhow, Error}; use hex::ToHex; -use openpgp::packet::UserID; +use sequoia_openpgp::packet::UserID; use r2d2_sqlite::rusqlite::types::FromSql; use r2d2_sqlite::rusqlite::types::FromSqlError; use r2d2_sqlite::rusqlite::types::FromSqlResult; diff --git a/database/src/wkd.rs b/database/src/wkd.rs index 75d202d..35ae170 100644 --- a/database/src/wkd.rs +++ b/database/src/wkd.rs @@ -1,5 +1,6 @@ +use anyhow::anyhow; use super::Result; -use crate::openpgp::types::HashAlgorithm; +use sequoia_openpgp::types::HashAlgorithm; use zbase32; // cannibalized from diff --git a/hagridctl/src/import.rs b/hagridctl/src/import.rs index d810e5f..81c3ec7 100644 --- a/hagridctl/src/import.rs +++ b/hagridctl/src/import.rs @@ -8,13 +8,11 @@ use std::thread; use anyhow::Result; -extern crate tempfile; - -extern crate sequoia_openpgp as openpgp; +use sequoia_openpgp as openpgp; use openpgp::Packet; use openpgp::parse::{PacketParser, PacketParserResult, Parse}; -extern crate hagrid_database as database; +use hagrid_database as database; use database::{Database, EmailAddressStatus, ImportResult, KeyDatabase}; use indicatif::{MultiProgress, ProgressBar, ProgressStyle}; diff --git a/hagridctl/src/main.rs b/hagridctl/src/main.rs index f325455..b7531d4 100644 --- a/hagridctl/src/main.rs +++ b/hagridctl/src/main.rs @@ -1,14 +1,3 @@ -extern crate anyhow; -extern crate clap; -extern crate hagrid_database as database; -extern crate sequoia_openpgp as openpgp; -extern crate tempfile; -#[macro_use] -extern crate serde_derive; -extern crate indicatif; -extern crate toml; -extern crate walkdir; - use std::fs; use std::path::PathBuf; use std::str::FromStr; @@ -16,6 +5,7 @@ use std::str::FromStr; use anyhow::Result; use clap::{App, Arg, SubCommand}; +use serde_derive::Deserialize; mod import; diff --git a/src/anonymize_utils.rs b/src/anonymize_utils.rs index a08c15f..2cf927e 100644 --- a/src/anonymize_utils.rs +++ b/src/anonymize_utils.rs @@ -1,7 +1,7 @@ use lazy_static::lazy_static; use std::collections::HashSet; -use crate::database::types::Email; +use hagrid_database::types::Email; // from https://github.com/mailcheck/mailcheck/wiki/List-of-Popular-Domains lazy_static! { diff --git a/src/counters.rs b/src/counters.rs index 876ec71..4a64220 100644 --- a/src/counters.rs +++ b/src/counters.rs @@ -3,7 +3,7 @@ use rocket_prometheus::prometheus; use crate::anonymize_utils; -use crate::database::types::Email; +use hagrid_database::types::Email; lazy_static! { static ref KEY_UPLOAD: LabelCounter = diff --git a/src/delete.rs b/src/delete.rs index 784df45..8429c1a 100644 --- a/src/delete.rs +++ b/src/delete.rs @@ -3,14 +3,11 @@ use std::convert::TryInto; use std::path::PathBuf; -extern crate anyhow; use anyhow::Result; -extern crate structopt; use structopt::StructOpt; -extern crate hagrid_database as database; -use crate::database::{Database, KeyDatabase, Query}; +use hagrid_database::{Database, KeyDatabase, Query, types::Fingerprint}; #[derive(Debug, StructOpt)] #[structopt( @@ -70,7 +67,7 @@ fn delete(db: &KeyDatabase, query: &Query, all_bindings: bool, mut all: bool) -> .lookup(query)? .ok_or_else(|| anyhow::format_err!("No TPK matching {:?}", query))?; - let fp: database::types::Fingerprint = tpk.fingerprint().try_into()?; + let fp: Fingerprint = tpk.fingerprint().try_into()?; let mut results = Vec::new(); // First, delete the bindings. diff --git a/src/i18n_helpers.rs b/src/i18n_helpers.rs index c85a4ec..ffd814a 100644 --- a/src/i18n_helpers.rs +++ b/src/i18n_helpers.rs @@ -1,4 +1,4 @@ -use crate::database::Query; +use hagrid_database::Query; use gettext_macros::i18n; use rocket_i18n::I18n; diff --git a/src/mail.rs b/src/mail.rs index efd3321..baa890a 100644 --- a/src/mail.rs +++ b/src/mail.rs @@ -1,5 +1,5 @@ use std::path::{Path, PathBuf}; - +use anyhow::anyhow; use crate::counters; use lettre::message::{Mailbox, MultiPart, SinglePart, header}; use lettre::{FileTransport, SendmailTransport, SmtpTransport, Transport as LettreTransport}; @@ -13,9 +13,11 @@ use rocket_i18n::I18n; use crate::template_helpers; use crate::Result; -use crate::database::types::Email; +use hagrid_database::types::Email; mod context { + use serde_derive::Serialize; + #[derive(Serialize, Clone)] pub struct Verification { pub lang: String, diff --git a/src/main.rs b/src/main.rs index ca2ceb0..c35d036 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,20 +1,7 @@ #![recursion_limit = "1024"] -#[macro_use] -extern crate anyhow; use anyhow::Result; - -#[macro_use] -extern crate serde_derive; - -#[macro_use] -extern crate rocket; - -#[cfg(test)] -extern crate regex; - -extern crate hagrid_database as database; - +use rocket::launch; use gettext_macros::init_i18n; #[cfg(debug_assertions)] diff --git a/src/tokens.rs b/src/tokens.rs index 9a3b6c3..1608922 100644 --- a/src/tokens.rs +++ b/src/tokens.rs @@ -1,7 +1,9 @@ +use anyhow::anyhow; use crate::sealed_state::SealedState; use crate::Result; use serde::{Serialize, de::DeserializeOwned}; +use serde_derive::Deserialize; pub trait StatelessSerializable: Serialize + DeserializeOwned {} diff --git a/src/web/debug_web.rs b/src/web/debug_web.rs index 8ce1107..2fbe691 100644 --- a/src/web/debug_web.rs +++ b/src/web/debug_web.rs @@ -1,12 +1,13 @@ use std::io; - +use anyhow::anyhow; use rocket_i18n::I18n; +use rocket::get; use crate::dump::{self, Kind}; use crate::i18n_helpers::describe_query_error; use crate::web::MyResponse; -use crate::database::{Database, KeyDatabase, Query}; +use hagrid_database::{Database, KeyDatabase, Query}; #[get("/debug?")] pub fn debug_info(db: &rocket::State, i18n: I18n, q: String) -> MyResponse { diff --git a/src/web/hkp.rs b/src/web/hkp.rs index a29b35b..dafe84b 100644 --- a/src/web/hkp.rs +++ b/src/web/hkp.rs @@ -7,10 +7,10 @@ use std::time::SystemTime; use rocket::Data; use rocket::http::ContentType; use rocket_i18n::I18n; +use rocket::{get, post}; use url::percent_encoding::{DEFAULT_ENCODE_SET, utf8_percent_encode}; -use crate::database::types::{Email, Fingerprint, KeyID}; -use crate::database::{Database, KeyDatabase, Query}; +use hagrid_database::{Database, KeyDatabase, Query, types::{Email, Fingerprint, KeyID}}; use crate::i18n_helpers::describe_query_error; use crate::rate_limiter::RateLimiter; diff --git a/src/web/maintenance.rs b/src/web/maintenance.rs index 3af6db4..7bb1db2 100644 --- a/src/web/maintenance.rs +++ b/src/web/maintenance.rs @@ -1,13 +1,14 @@ use rocket::fairing::{Fairing, Info, Kind}; use rocket::http::Method; use rocket::{Data, Request}; +use rocket::{async_trait, uri, get}; use rocket_dyn_templates::Template; use rocket_i18n::I18n; use serde_json::json; use std::fs; use std::path::PathBuf; - +use serde_derive::Serialize; use crate::web::MyResponse; use super::util::get_commit_sha; @@ -17,6 +18,8 @@ pub struct MaintenanceMode { } mod templates { + use serde_derive::Serialize; + #[derive(Serialize)] pub struct MaintenanceMode { pub message: String, diff --git a/src/web/manage.rs b/src/web/manage.rs index c822878..d1a167b 100644 --- a/src/web/manage.rs +++ b/src/web/manage.rs @@ -1,18 +1,23 @@ +use anyhow::anyhow; use rocket::form::Form; +use rocket::{get, post, uri}; use rocket_i18n::I18n; use crate::Result; use gettext_macros::i18n; - +use serde_derive::{Deserialize, Serialize}; use crate::counters; -use crate::database::{Database, KeyDatabase, types::Email, types::Fingerprint}; +use hagrid_database::{Database, KeyDatabase, types::Email, types::Fingerprint, Query}; use crate::mail; use crate::rate_limiter::RateLimiter; use crate::tokens::{self, StatelessSerializable}; use crate::web::vks_web; use crate::web::{MyResponse, RequestOrigin}; +use std::convert::TryFrom; +use std::convert::TryInto; + #[derive(Debug, Serialize, Deserialize)] struct StatelessVerifyToken { fpr: Fingerprint, @@ -20,6 +25,8 @@ struct StatelessVerifyToken { impl StatelessSerializable for StatelessVerifyToken {} mod templates { + use serde_derive::Serialize; + #[derive(Serialize)] pub struct ManageKey { pub key_fpr: String, @@ -42,6 +49,8 @@ mod templates { } pub mod forms { + use rocket::FromForm; + #[derive(FromForm)] pub struct ManageRequest { pub search_term: String, @@ -67,10 +76,8 @@ pub fn vks_manage_key( token: String, token_service: &rocket::State, ) -> MyResponse { - use crate::database::types::Fingerprint; - use std::convert::TryFrom; if let Ok(StatelessVerifyToken { fpr }) = token_service.check(&token) { - match db.lookup(&database::Query::ByFingerprint(fpr)) { + match db.lookup(&Query::ByFingerprint(fpr)) { Ok(Some(tpk)) => { let fp = Fingerprint::try_from(tpk.fingerprint()).unwrap(); let mut emails: Vec = tpk @@ -124,8 +131,6 @@ pub fn vks_manage_post( request: Form, token_service: &rocket::State, ) -> MyResponse { - use std::convert::TryInto; - let email = match request.search_term.parse::() { Ok(email) => email, Err(_) => { @@ -138,7 +143,7 @@ pub fn vks_manage_post( } }; - let tpk = match db.lookup(&database::Query::ByEmail(email.clone())) { + let tpk = match db.lookup(&Query::ByEmail(email.clone())) { Ok(Some(tpk)) => tpk, Ok(None) => { return MyResponse::not_found( diff --git a/src/web/mod.rs b/src/web/mod.rs index ade9894..769b368 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -3,7 +3,7 @@ use rocket::figment::Figment; use rocket::fs::NamedFile; use rocket::http::{Header, Status}; use rocket::outcome::Outcome; -use rocket::request; +use rocket::{async_trait, request, get, routes}; use rocket::response::status::Custom; use rocket::response::{Responder, Response}; use rocket_dyn_templates::{Engines, Template}; @@ -27,8 +27,7 @@ use crate::template_helpers::TemplateOverrides; use crate::tokens; use crate::Result; -use crate::database::types::Fingerprint; -use crate::database::{Database, KeyDatabase, Query}; +use hagrid_database::{Database, KeyDatabase, Query, types::Fingerprint, StatefulTokens}; use std::convert::TryInto; @@ -209,6 +208,7 @@ impl MyResponse { } mod templates { + use serde_derive::Serialize; use super::{I18n, RequestOrigin, util::get_commit_sha}; #[derive(Serialize)] @@ -539,9 +539,9 @@ fn configure_hagrid_state(config: &Figment) -> Result { }) } -fn configure_stateful_token_service(config: &Figment) -> Result { +fn configure_stateful_token_service(config: &Figment) -> Result { let token_dir: PathBuf = config.extract_inner("token_dir")?; - database::StatefulTokens::new(token_dir) + StatefulTokens::new(token_dir) } fn configure_stateless_token_service(config: &Figment) -> Result { @@ -1115,7 +1115,7 @@ pub mod tests { &format!("/pks/lookup?op=get&options=mr&search={}", addr), ); - let (wkd_hash, domain) = crate::database::wkd::encode_wkd(addr).unwrap(); + let (wkd_hash, domain) = hagrid_database::wkd::encode_wkd(addr).unwrap(); check_null_response( client, &format!("/.well-known/openpgpkey/{}/hu/{}", domain, wkd_hash), @@ -1149,7 +1149,7 @@ pub mod tests { check_hr_response(client, &format!("/search?q={}", addr), tpk, nr_uids); check_hr_response_onion(client, &format!("/search?q={}", addr), tpk, nr_uids); - let (wkd_hash, domain) = crate::database::wkd::encode_wkd(addr).unwrap(); + let (wkd_hash, domain) = hagrid_database::wkd::encode_wkd(addr).unwrap(); check_wkd_response( client, &format!("/.well-known/openpgpkey/{}/hu/{}", domain, wkd_hash), diff --git a/src/web/vks.rs b/src/web/vks.rs index bff1efa..1e1d88a 100644 --- a/src/web/vks.rs +++ b/src/web/vks.rs @@ -1,9 +1,8 @@ use crate::Result; use crate::counters; -use crate::database::types::{Email, Fingerprint}; -use crate::database::{ - Database, EmailAddressStatus, ImportResult, KeyDatabase, StatefulTokens, TpkStatus, +use hagrid_database::{ + Database, EmailAddressStatus, ImportResult, KeyDatabase, StatefulTokens, TpkStatus, types::{Email, Fingerprint} }; use crate::mail; use crate::rate_limiter::RateLimiter; @@ -21,10 +20,13 @@ use sequoia_openpgp::parse::{Dearmor, PacketParserBuilder, Parse}; use std::collections::HashMap; use std::convert::TryFrom; use std::io::Read; - +use anyhow::anyhow; +use serde_derive::{Deserialize, Serialize}; use self::response::*; pub mod request { + use serde_derive::Deserialize; + #[derive(Deserialize)] pub struct UploadRequest { pub keytext: String, @@ -38,7 +40,10 @@ pub mod request { } pub mod response { - use crate::database::types::Email; + use hagrid_database::types::Email; + + use std::collections::HashMap; + use serde_derive::{Deserialize, Serialize}; #[derive(Debug, Serialize, Deserialize, PartialEq, Eq)] pub enum EmailStatus { @@ -52,8 +57,6 @@ pub mod response { Revoked, } - use std::collections::HashMap; - pub enum UploadResponse { Ok { token: String, diff --git a/src/web/vks_api.rs b/src/web/vks_api.rs index c18291b..f26b8fb 100644 --- a/src/web/vks_api.rs +++ b/src/web/vks_api.rs @@ -1,3 +1,4 @@ +use rocket::{get, post}; use rocket::http::{ContentType, Status}; use rocket::request::Request; use rocket::response::{self, Responder, Response}; @@ -6,8 +7,7 @@ use rocket_i18n::{I18n, Translations}; use serde_json::json; use std::io::Cursor; -use crate::database::types::{Email, Fingerprint, KeyID}; -use crate::database::{KeyDatabase, Query, StatefulTokens}; +use hagrid_database::{types::{Email, Fingerprint, KeyID}, KeyDatabase, Query, StatefulTokens}; use crate::mail; use crate::rate_limiter::RateLimiter; use crate::tokens; @@ -22,6 +22,7 @@ use rocket::serde::json::Error as JsonError; pub mod json { use crate::web::vks::response::EmailStatus; use std::collections::HashMap; + use serde_derive::{Deserialize, Serialize}; #[derive(Deserialize)] pub struct VerifyRequest { diff --git a/src/web/vks_web.rs b/src/web/vks_web.rs index e9bba36..d3ab119 100644 --- a/src/web/vks_web.rs +++ b/src/web/vks_web.rs @@ -11,9 +11,11 @@ use rocket::form::Form; use rocket::form::ValueField; use rocket::http::ContentType; use rocket_i18n::I18n; +use rocket::uri; +use rocket::{get, post, put}; use url::percent_encoding::percent_decode; -use crate::database::{Database, KeyDatabase, Query, StatefulTokens}; +use hagrid_database::{Database, KeyDatabase, Query, StatefulTokens}; use crate::i18n_helpers::describe_query_error; use crate::mail; use crate::rate_limiter::RateLimiter; @@ -22,13 +24,16 @@ use crate::web::{MyResponse, RequestOrigin}; use std::collections::HashMap; use std::io::Cursor; - +use anyhow::anyhow; use crate::web::vks; use crate::web::vks::response::*; const UPLOAD_LIMIT: ByteUnit = ByteUnit::Mebibyte(1); mod forms { + use rocket::FromForm; + use serde_derive::Deserialize; + #[derive(FromForm, Deserialize)] pub struct VerifyRequest { pub token: String, @@ -42,6 +47,8 @@ mod forms { } mod template { + use serde_derive::Serialize; + #[derive(Serialize)] pub struct VerifyForm { pub token: String, diff --git a/src/web/wkd.rs b/src/web/wkd.rs index 245f339..3e30de5 100644 --- a/src/web/wkd.rs +++ b/src/web/wkd.rs @@ -1,5 +1,6 @@ -use crate::database::{Database, KeyDatabase}; +use hagrid_database::{Database, KeyDatabase}; use crate::web::MyResponse; +use rocket::get; // WKD queries #[get("/.well-known/openpgpkey//hu/")] diff --git a/tester/src/generate.rs b/tester/src/generate.rs index f5ae565..eee873c 100644 --- a/tester/src/generate.rs +++ b/tester/src/generate.rs @@ -3,7 +3,7 @@ use std::{fs::File, io::Write, path::Path}; use anyhow::Result; use indicatif::{ProgressBar, ProgressStyle}; -use openpgp::{cert::CertBuilder, serialize::Serialize}; +use sequoia_openpgp::{cert::CertBuilder, serialize::Serialize}; use crate::util; diff --git a/tester/src/main.rs b/tester/src/main.rs index 0f650e0..775eeb0 100644 --- a/tester/src/main.rs +++ b/tester/src/main.rs @@ -1,10 +1,3 @@ -extern crate anyhow; -extern crate clap; -extern crate indicatif; -extern crate rand; -extern crate sequoia_openpgp as openpgp; -extern crate serde_derive; - use std::path::PathBuf; use anyhow::Result;