summaryrefslogtreecommitdiffhomepage
path: root/oxish/src/session
diff options
context:
space:
mode:
Diffstat (limited to 'oxish/src/session')
-rw-r--r--oxish/src/session/mod.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/oxish/src/session/mod.rs b/oxish/src/session/mod.rs
index 1fdd95c..b61bdeb 100644
--- a/oxish/src/session/mod.rs
+++ b/oxish/src/session/mod.rs
@@ -10,7 +10,8 @@ use std::{
};
use proto::{
- Decoded, Disconnect, Encoder, MessageType, Pretty, ReadState, SessionHostKey, WriteState,
+ Decoded, Disconnect, Encoder, GlobalRequest, MessageType, Pretty, ReadState, SessionHostKey,
+ WriteState,
channels::{ChannelRequest, ChannelRequestType},
crypto::CryptoProvider,
key_exchange::Rekey,
@@ -214,6 +215,18 @@ impl<T: AsyncRead + AsyncWrite + Unpin> Session<T> {
self.post_quantum_kx = post_quantum_kx;
continue;
}
+ MessageType::GlobalRequest => {
+ let request = GlobalRequest::try_from(packet)?;
+ debug!(name = %String::from_utf8_lossy(request.name), "refusing unsupported global request");
+ if request.want_reply {
+ self.conn.send(&MessageType::RequestFailure).await?;
+ }
+ continue;
+ }
+ MessageType::RequestSuccess | MessageType::RequestFailure => {
+ trace!(?packet.message_type, "ignoring unexpected global request reply");
+ continue;
+ }
_ => {}
}