rcpu: show error when we auth but don't connect

When a user isn't allowed to log into a file server, we
used to silently dump the user back to the console,
reporting that the command succeeded.

We should give the user an error when they fail to log in,
and we should exit unsuccessfully.

This status is communicated by setting up a sentinel env
var, and clearning it just before we execute the user
command.
This commit is contained in:
glenda 2022-08-07 09:11:25 +00:00
parent dd029bddc8
commit e92e9cf193

View file

@ -23,6 +23,7 @@ fn server {
if(test -d /mnt/term/mnt/cpunote) {
rfork e
mainproc=$apid
rm -f /mnt/term/env/rfailed
{cat; echo -n hangup} </mnt/term/mnt/cpunote/data >/proc/$mainproc/notepg &
noteproc=$apid
wait $mainproc
@ -33,6 +34,7 @@ fn server {
fn client {
echo -n >/env/rstatus
echo -n 'lost connection' > /env/rfailed
rfork n
bind '#|' /mnt/cpunote || exit
</fd/0 exec $exportfs -r / &
@ -45,6 +47,10 @@ fn client {
echo -n interrupt
wait
}
if(test -e /env/rfailed){
>[1=2] echo lost connection
exit 'disconnected'
}
status=`{cat /env/rstatus}
exit $"status
}