summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--oxish-proto/src/channels.rs5
-rw-r--r--oxish/src/session/connections.rs7
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> {
+ ///
+ /// 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 {