Add authorized remote pipe listen
This commit is contained in:
parent
7e39a19c18
commit
3382899628
8 changed files with 322 additions and 21 deletions
|
|
@ -365,6 +365,10 @@ pub enum PubsubCommand {
|
|||
pub enum PipeCommand {
|
||||
Listen {
|
||||
name: String,
|
||||
#[arg(long)]
|
||||
node: Option<String>,
|
||||
#[arg(long)]
|
||||
bearer_secret: Option<String>,
|
||||
},
|
||||
Connect {
|
||||
target: String,
|
||||
|
|
@ -801,7 +805,15 @@ fn request_for_command(command: Command) -> Result<ControlRequest> {
|
|||
},
|
||||
},
|
||||
Command::Pipe { command } => match command {
|
||||
PipeCommand::Listen { name } => ControlRequest::PipeListen { name },
|
||||
PipeCommand::Listen {
|
||||
name,
|
||||
node,
|
||||
bearer_secret,
|
||||
} => ControlRequest::PipeListen {
|
||||
name,
|
||||
node,
|
||||
bearer_secret,
|
||||
},
|
||||
PipeCommand::Connect {
|
||||
target,
|
||||
node,
|
||||
|
|
@ -1793,6 +1805,29 @@ fn print_response(response: ControlResponse, json: bool) -> Result<()> {
|
|||
println!("connected_at_ms: {}", connection.connected_at.0);
|
||||
println!("note: {}", connection.note);
|
||||
}
|
||||
ControlResponse::PipeRemoteListening {
|
||||
peer_node_id,
|
||||
peer_agent_id,
|
||||
endpoint_id,
|
||||
listener,
|
||||
allowed,
|
||||
reason,
|
||||
note,
|
||||
} => {
|
||||
if let Some(listener) = listener {
|
||||
println!("listening pipe: {}", listener.name);
|
||||
println!("peer: {peer_node_id}");
|
||||
println!("id: {}", listener.id);
|
||||
println!("listened_at_ms: {}", listener.listened_at.0);
|
||||
} else {
|
||||
println!("pipe listen denied by {peer_node_id}");
|
||||
}
|
||||
println!("agent: {peer_agent_id}");
|
||||
println!("endpoint: {endpoint_id}");
|
||||
println!("allowed: {allowed}");
|
||||
println!("reason: {reason}");
|
||||
println!("note: {note}");
|
||||
}
|
||||
ControlResponse::PipeRemoteConnected {
|
||||
peer_node_id,
|
||||
peer_agent_id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue