From fc64c3336896439a93f7d6d2a79d91e41771f0f8 Mon Sep 17 00:00:00 2001 From: Floris Bruynooghe Date: Wed, 22 Feb 2023 16:05:24 +0100 Subject: [PATCH] Use released version of sendme^Wiroh This switches to a released version. It has been renamed from sendme to iroh. --- Cargo.lock | 71 ++++++++++++++++++++++---------------------- Cargo.toml | 2 +- src/imex/transfer.rs | 15 +++++----- src/qr.rs | 4 +-- 4 files changed, 47 insertions(+), 45 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 44a858626..1fb8a944b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1021,6 +1021,7 @@ dependencies = [ "hex", "humansize", "image", + "iroh", "kamadak-exif", "lettre_email", "libc", @@ -1044,7 +1045,6 @@ dependencies = [ "rusqlite", "rust-hsluv", "sanitize-filename", - "sendme", "serde", "serde_json", "sha-1", @@ -2175,6 +2175,41 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" +[[package]] +name = "iroh" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7849b9b19f7f05a21aa4ed1d2b344f9154be5ac1c7de119c9263091bc7505d" +dependencies = [ + "abao", + "anyhow", + "base64 0.21.0", + "blake3", + "bytes", + "der", + "ed25519-dalek", + "futures", + "portable-atomic", + "postcard", + "quinn", + "rand 0.7.3", + "rcgen", + "ring", + "rustls", + "serde", + "ssh-key", + "tempfile", + "thiserror", + "tokio", + "tokio-util", + "tracing", + "tracing-futures", + "tracing-subscriber", + "webpki", + "x509-parser", + "zeroize", +] + [[package]] name = "is-terminal" version = "0.4.1" @@ -3664,40 +3699,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sendme" -version = "0.1.0" -source = "git+https://github.com/n0-computer/sendme?branch=main#153073a93740a214731181e42d69328652081cda" -dependencies = [ - "abao", - "anyhow", - "base64 0.21.0", - "blake3", - "bytes", - "der", - "ed25519-dalek", - "futures", - "portable-atomic", - "postcard", - "quinn", - "rand 0.7.3", - "rcgen", - "ring", - "rustls", - "serde", - "ssh-key", - "tempfile", - "thiserror", - "tokio", - "tokio-util", - "tracing", - "tracing-futures", - "tracing-subscriber", - "webpki", - "x509-parser", - "zeroize", -] - [[package]] name = "serde" version = "1.0.152" diff --git a/Cargo.toml b/Cargo.toml index 9e5729574..e9777fb93 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,6 +47,7 @@ futures-lite = "1.12.0" hex = "0.4.0" humansize = "2" image = { version = "0.24.5", default-features=false, features = ["gif", "jpeg", "ico", "png", "pnm", "webp", "bmp"] } +iroh = { version = "0.3.0", default-features = false } kamadak-exif = "0.5" lettre_email = { git = "https://github.com/deltachat/lettre", branch = "master" } libc = "0.2" @@ -67,7 +68,6 @@ reqwest = { version = "0.11.14", features = ["json"] } rusqlite = { version = "0.28", features = ["sqlcipher"] } rust-hsluv = "0.1" sanitize-filename = "0.4" -sendme = { git = "https://github.com/n0-computer/sendme", branch = "main", default-features = false } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } sha-1 = "0.10" diff --git a/src/imex/transfer.rs b/src/imex/transfer.rs index 51c2b891c..21bdd814d 100644 --- a/src/imex/transfer.rs +++ b/src/imex/transfer.rs @@ -30,11 +30,11 @@ use std::task::Poll; use anyhow::{anyhow, bail, ensure, format_err, Context as _, Result}; use async_channel::Receiver; use futures_lite::StreamExt; -use sendme::get::{DataStream, Options}; -use sendme::progress::ProgressEmitter; -use sendme::protocol::AuthToken; -use sendme::provider::{DataSource, Event, Provider, Ticket}; -use sendme::Hash; +use iroh::get::{DataStream, Options}; +use iroh::progress::ProgressEmitter; +use iroh::protocol::AuthToken; +use iroh::provider::{DataSource, Event, Provider, Ticket}; +use iroh::Hash; use tokio::fs::{self, File}; use tokio::io::{self, AsyncWriteExt, BufWriter}; use tokio::sync::broadcast; @@ -156,7 +156,7 @@ impl BackupProvider { } // Start listening. - let (db, hash) = sendme::provider::create_collection(files).await?; + let (db, hash) = iroh::provider::create_collection(files).await?; context.emit_event(SendProgress::CollectionCreated.into()); let provider = Provider::builder(db).auth_token(token).spawn()?; context.emit_event(SendProgress::ProviderListening.into()); @@ -328,6 +328,7 @@ async fn get_backup_inner(context: &Context, qr: Qr) -> Result<()> { let opts = Options { addr: ticket.addr, peer_id: Some(ticket.peer), + keylog: false, }; let progress = ProgressEmitter::new(0, ReceiveProgress::max_blob_progress()); spawn_progress_proxy(context.clone(), progress.subscribe()); @@ -336,7 +337,7 @@ async fn get_backup_inner(context: &Context, qr: Qr) -> Result<()> { async { Ok(()) } }; let on_blob = |hash, reader, name| on_blob(context, &progress, &ticket, hash, reader, name); - let res = sendme::get::run( + let res = iroh::get::run( ticket.hash, ticket.token, opts, diff --git a/src/qr.rs b/src/qr.rs index dd5c84e75..aa83bdac5 100644 --- a/src/qr.rs +++ b/src/qr.rs @@ -114,7 +114,7 @@ pub enum Qr { /// information to connect to and authenticate a backup provider. /// /// The format is somewhat opaque, but `sendme` can deserialise this. - ticket: sendme::provider::Ticket, + ticket: iroh::provider::Ticket, }, /// Ask the user if they want to use the given service for video chats. @@ -509,7 +509,7 @@ fn decode_backup(qr: &str) -> Result { let payload = qr .strip_prefix(DCBACKUP_SCHEME) .ok_or(anyhow!("invalid DCBACKUP scheme"))?; - let ticket: sendme::provider::Ticket = payload.parse().context("invalid DCBACKUP payload")?; + let ticket: iroh::provider::Ticket = payload.parse().context("invalid DCBACKUP payload")?; Ok(Qr::Backup { ticket }) }