This commit is contained in:
nora 2024-08-25 21:05:01 +02:00
parent d41e474f33
commit b38b1d955b

View file

@ -105,7 +105,10 @@ async fn handle_connection(
let user = conn.inner().authenticated_user().unwrap().to_owned(); let user = conn.inner().authenticated_user().unwrap().to_owned();
if *channel.kind() == ChannelKind::Session { if *channel.kind() == ChannelKind::Session {
tokio::spawn(async move { tokio::spawn(async move {
let _ = handle_session_channel(user, channel).await; let result = handle_session_channel(user, channel).await;
if let Err(err) = result {
error!(?err);
}
}); });
} else { } else {
warn!("Trying to open non-session channel"); warn!("Trying to open non-session channel");
@ -228,8 +231,12 @@ impl SessionState {
// TODO: **user** home directory // TODO: **user** home directory
cmd.current_dir(user.home_dir()); cmd.current_dir(user.home_dir());
cmd.env("USER", user.name()); cmd.env("USER", user.name());
cmd.uid(user.uid());
cmd.gid(user.primary_group_id());
debug!(cmd = %shell.display(), uid = %user.uid(), gid = %user.primary_group_id(), "Executing process");
let mut shell = cmd.spawn()?; let mut shell = cmd.spawn()?;
let process_exit_send = self.process_exit_send.clone(); let process_exit_send = self.process_exit_send.clone();
tokio::spawn(async move { tokio::spawn(async move {
let result = shell.wait().await; let result = shell.wait().await;