I am using Dropbear v2017.75 as found on OpenWrt. I am building a system around a special shell which exits with the value of `1' upon encountering certain errors. Let us assume this shell runs on the host "h." My aim is that the following will print `1' if such an error occurs (using Dropbear's ssh to Dropbear's sshd):
echo input | ssh -T h; echo $? Despite the error occurring, the above command line prints `0' rather than `1.' Since this triggers the error, I would expect the latter instead. When I run this (using Dropbear's ssh to Dropbear's sshd): ssh -T h; echo $? and manually provide the input by typing "input," the result is `1' as expected. Something from using "-T" and also taking input from a pipe seems to cause ssh or sshd to malfunction in the earlier case. When I repeat these commands using OpenSSH's ssh to connect to Dropbear's sshd, the output is `1' in both cases. This is the expected behavior. Does anyone have an idea of what might be causing this? Is there indeed a bug related to "-T" plus stdin from a pipe? -- Mike :wq