session client UPDATE interpret special characters for noecho
Fixes cesnet/netopeer2#1557
diff --git a/src/session_client_ssh.c b/src/session_client_ssh.c
index 005ff78..4e74620 100644
--- a/src/session_client_ssh.c
+++ b/src/session_client_ssh.c
@@ -84,9 +84,13 @@
}
newterm = *oldterm;
+
+ /* turn off echo */
newterm.c_lflag &= ~ECHO;
- newterm.c_lflag &= ~ICANON;
+
+ /* get rid of any leftover characters */
tcflush(fileno(ret), TCIFLUSH);
+
if (tcsetattr(fileno(ret), TCSANOW, &newterm)) {
ERR(NULL, "Unable to change terminal \"%s\" settings for hiding password (%s).", path, strerror(errno));
fclose(ret);