[Bug 394570] [NEW] Backspace via SSH only deletes last byte of characters

AZaharia f0rg3r at gmail.com
Thu Jul 2 06:37:46 BST 2009


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":

user at host:~$ cat > ș.txt
ș
^d
user at host:~$ hexdump -C ș.txt 
00000000  c8 99 0a                                          |...|
00000003

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:

user at host:~$ cat > test.txt
testș[backspace]test
^d
user at host:~$ hexdump -C test.txt
00000000  74 65 73 74 74 65 73 74  0a                       |testtest.|
00000009

whereas the *same* thing via SSH would lead you to having the following
hexdump:

user at host:~$ ssh user at localhost
user at localhost's password: 
user at host:~$ cat > test.txt
testș[backspace]test
^d
user at host:~$ hexdump -C test.txt
00000000  74 65 73 74 c8 74 65 73  74 0a                    |test.test.|
0000000a

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.



More information about the Ubuntu-server-bugs mailing list