Add prototype encrypted CAS blobs
This commit is contained in:
parent
6e04e786c2
commit
533ffc8c2a
8 changed files with 382 additions and 6 deletions
|
|
@ -245,11 +245,21 @@ pub enum CasCommand {
|
|||
Add {
|
||||
path: PathBuf,
|
||||
},
|
||||
AddPrivate {
|
||||
resource: String,
|
||||
path: PathBuf,
|
||||
},
|
||||
Get {
|
||||
hash: String,
|
||||
#[arg(long)]
|
||||
out: PathBuf,
|
||||
},
|
||||
GetPrivate {
|
||||
resource: String,
|
||||
hash: String,
|
||||
#[arg(long)]
|
||||
out: PathBuf,
|
||||
},
|
||||
Fetch {
|
||||
node: String,
|
||||
hash: String,
|
||||
|
|
@ -805,10 +815,22 @@ fn request_for_command(command: Command) -> Result<ControlRequest> {
|
|||
},
|
||||
Command::Cas { command } => match command {
|
||||
CasCommand::Add { path } => ControlRequest::CasAdd { path },
|
||||
CasCommand::AddPrivate { resource, path } => {
|
||||
ControlRequest::CasAddPrivate { resource, path }
|
||||
}
|
||||
CasCommand::Get { hash, out } => ControlRequest::CasGet {
|
||||
hash: hash.into(),
|
||||
out,
|
||||
},
|
||||
CasCommand::GetPrivate {
|
||||
resource,
|
||||
hash,
|
||||
out,
|
||||
} => ControlRequest::CasGetPrivate {
|
||||
resource,
|
||||
hash: hash.into(),
|
||||
out,
|
||||
},
|
||||
CasCommand::Fetch {
|
||||
node,
|
||||
hash,
|
||||
|
|
@ -1299,6 +1321,21 @@ fn print_response(response: ControlResponse, json: bool) -> Result<()> {
|
|||
ControlResponse::CasAdded { hash, size_bytes } => {
|
||||
println!("{hash} {size_bytes} bytes");
|
||||
}
|
||||
ControlResponse::CasPrivateAdded {
|
||||
resource,
|
||||
epoch,
|
||||
plaintext_hash,
|
||||
encrypted_hash,
|
||||
size_bytes,
|
||||
note,
|
||||
} => {
|
||||
println!("encrypted_hash: {encrypted_hash}");
|
||||
println!("plaintext_hash: {plaintext_hash}");
|
||||
println!("resource: {resource}");
|
||||
println!("epoch: {epoch}");
|
||||
println!("size_bytes: {size_bytes}");
|
||||
println!("note: {note}");
|
||||
}
|
||||
ControlResponse::CasGot {
|
||||
hash,
|
||||
out,
|
||||
|
|
@ -1306,6 +1343,21 @@ fn print_response(response: ControlResponse, json: bool) -> Result<()> {
|
|||
} => {
|
||||
println!("wrote {hash} to {} ({size_bytes} bytes)", out.display());
|
||||
}
|
||||
ControlResponse::CasPrivateGot {
|
||||
resource,
|
||||
hash,
|
||||
plaintext_hash,
|
||||
out,
|
||||
size_bytes,
|
||||
note,
|
||||
} => {
|
||||
println!(
|
||||
"decrypted {hash} for {resource} to {} ({size_bytes} bytes)",
|
||||
out.display()
|
||||
);
|
||||
println!("plaintext_hash: {plaintext_hash}");
|
||||
println!("note: {note}");
|
||||
}
|
||||
ControlResponse::CasFetched {
|
||||
peer_node_id,
|
||||
peer_agent_id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue