diff options
| -rw-r--r-- | oxish-proto/src/channels.rs | 5 | ||||
| -rw-r--r-- | oxish/src/session/connections.rs | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/oxish-proto/src/channels.rs b/oxish-proto/src/channels.rs index 8e1cea9..9677ac2 100644 --- a/oxish-proto/src/channels.rs +++ b/oxish-proto/src/channels.rs @@ -242,6 +242,7 @@ impl<'a> TryFrom<IncomingPacket<'a>> for ChannelRequest<'a> { } } } + b"[email protected]" => ChannelRequestType::AuthAgentReq, _ => { match str::from_utf8(r#type) { Ok(r#type) => warn!(%r#type, "unknown channel request type"), @@ -263,6 +264,10 @@ impl<'a> TryFrom<IncomingPacket<'a>> for ChannelRequest<'a> { /// Request type-specific data from a [`ChannelRequest`] #[derive(Debug)] pub enum ChannelRequestType<'a> { + /// `[email protected]` + /// + /// Not currently supported. + AuthAgentReq, /// `pty-req`, request a pseudo-terminal /// /// As defined in <https://www.rfc-editor.org/rfc/rfc4254#section-6.2>. diff --git a/oxish/src/session/connections.rs b/oxish/src/session/connections.rs index e514a70..6f9d23b 100644 --- a/oxish/src/session/connections.rs +++ b/oxish/src/session/connections.rs @@ -116,6 +116,13 @@ impl Channels { Some(TerminalState::Running(terminal)) => terminal.resize(&window_change)?, _ => warn!("window-change request without running terminal"), }, + // Agent forwarding is not supported -- only reply when asked + ChannelRequestType::AuthAgentReq => { + if request.want_reply { + encoder.enqueue(&channel.failure())?; + } + return Ok(()); + } } if request.want_reply { |
