[Bug 394570] Re: Backspace via SSH only deletes last byte of characters
Hello Chuck, I'm sorry for having taken so long to answer. Here's the status: I re-tested this issue on two Ubuntu 9.10 machines. It's the same as in the original description (even after setting the locales to a particular language). UTF-8 characters that are encoded on more than 1 byte are not fully deleted when pressing the backspace key, under SSH; only the last byte is deleted. For instance, some Chinese/Japanese (?) characters are encoded on 3 bytes. Here is an example: 構 should be encoded as e6 a7 8b. When you type and then delete this character via SSH, the file still contains the first 2 bytes of this character (i.e. e6 a7). -- Backspace via SSH only deletes last byte of characters https://bugs.launchpad.net/bugs/394570 You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to openssh in ubuntu. -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
[Bug 394570] Re: Backspace via SSH only deletes last byte of characters
** Description changed: Binary package hint: openssh-client This is not a terminal-related problem: regardless of the terminal used and the way the backspace key is supposed to behave (ASCII DEL, escape sequence, Control+H), what happens is that via SSH the backspace key only deletes the last byte of a character, not the whole character itself. You can notice this when you use UTF-8 characters that are encoded on more than 1 byte. Some diacritics from the Latin alphabet are encoded on 2 bytes, whereas some Japanese characters are encoded on 3. As an example, assume the following scenario: the letter ș is encoded as c8 99 and endline is encoded as 0a: u...@host:~$ cat ș.txt ș ^d u...@host:~$ hexdump -C ș.txt c8 99 0a |...| 0003 Now, assume you write testș[hit backspace]test[endline]. On the physical host (i.e. without being SSH-ed into it), the hexdump of that file will be: u...@host:~$ cat test.txt testș[backspace]test ^d u...@host:~$ hexdump -C test.txt 74 65 73 74 74 65 73 74 0a |testtest.| 0009 whereas the *same* thing via SSH would lead you to having the following hexdump: u...@host:~$ ssh u...@localhost u...@localhost's password: u...@host:~$ cat test.txt testș[backspace]test ^d u...@host:~$ hexdump -C test.txt 74 65 73 74 c8 74 65 73 74 0a|test.test.| 000a So notice how backspace only deleted via SSH the last byte of ș i.e. only the 99 out of c8 99; compare the expected hexdump: 74 65 73 74 74 65 73 74 0a with the actual hexdump: 74 65 73 74 c8 74 65 73 74 0a locale is set to en_US.UTF-8; changing it to ro_RO.UTF-8 (both on the host and via SSH) yields the same results. Finally, last details: Ubuntu 9.04 Kernel 2.6.28-13-generic openssh-client: Installed: 1:5.1p1-5ubuntu1 openssh-server: Installed: 1:5.1p1-5ubuntu1 + + L.E.: I also tried the same thing using dropbear instead of OpenSSH. -- Backspace via SSH only deletes last byte of characters https://bugs.launchpad.net/bugs/394570 You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to openssh in ubuntu. -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs
[Bug 394570] [NEW] Backspace via SSH only deletes last byte of characters
Public bug reported: Binary package hint: openssh-client This is not a terminal-related problem: regardless of the terminal used and the way the backspace key is supposed to behave (ASCII DEL, escape sequence, Control+H), what happens is that via SSH the backspace key only deletes the last byte of a character, not the whole character itself. You can notice this when you use UTF-8 characters that are encoded on more than 1 byte. Some diacritics from the Latin alphabet are encoded on 2 bytes, whereas some Japanese characters are encoded on 3. As an example, assume the following scenario: the letter ș is encoded as c8 99 and endline is encoded as 0a: u...@host:~$ cat ș.txt ș ^d u...@host:~$ hexdump -C ș.txt c8 99 0a |...| 0003 Now, assume you write testș[hit backspace]test[endline]. On the physical host (i.e. without being SSH-ed into it), the hexdump of that file will be: u...@host:~$ cat test.txt testș[backspace]test ^d u...@host:~$ hexdump -C test.txt 74 65 73 74 74 65 73 74 0a |testtest.| 0009 whereas the *same* thing via SSH would lead you to having the following hexdump: u...@host:~$ ssh u...@localhost u...@localhost's password: u...@host:~$ cat test.txt testș[backspace]test ^d u...@host:~$ hexdump -C test.txt 74 65 73 74 c8 74 65 73 74 0a|test.test.| 000a So notice how backspace only deleted via SSH the last byte of ș i.e. only the 99 out of c8 99; compare the expected hexdump: 74 65 73 74 74 65 73 74 0a with the actual hexdump: 74 65 73 74 c8 74 65 73 74 0a locale is set to en_US.UTF-8; changing it to ro_RO.UTF-8 (both on the host and via SSH) yields the same results. Finally, last details: Ubuntu 9.04 Kernel 2.6.28-13-generic openssh-client: Installed: 1:5.1p1-5ubuntu1 openssh-server: Installed: 1:5.1p1-5ubuntu1 ** Affects: openssh (Ubuntu) Importance: Undecided Status: New ** Tags: backspace openssh openssh-client ssh utf-8 -- Backspace via SSH only deletes last byte of characters https://bugs.launchpad.net/bugs/394570 You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to openssh in ubuntu. -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs