Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 12 Apr 2018 12:01:06 -0700
From: Russ Allbery <eagle@...ie.org>
To: oss-security@...ts.openwall.com
Subject: Re: Re: Terminal Control Chars

Ian Zimmerman <itz@...y.loosely.org> writes:

> The term "invisible character" has some obvious (if perhaps informal)
> meaning.  But I don't really know what "control character" means.  Is a
> page separator (^L) a control character, for example?  Is DEL one (ASCII
> 127)?

I think a useful definition of "control character" in this context (and I
realize this doesn't exactly match the ASCII definition) is a character
that results in an action other than insertion being taken, as opposed to
a glyph (possibly invisible) being inserted (and not counting contexts
such as vi outside of insert mode where basically all characters are
interpreted as actions).

CR and LF would not be control characters in that definition, since they
insert a newline and don't cause an action.  Similarly, TAB wouldn't be a
control character in that definition.  DEL would be if it deleted a
character as opposed to inserting a ^? sequence.  ESC would be if it
changed terminal modes or colors or did all the other things escape
sequences can do.  BEL would be if it rung the terminal bell.  And so
forth.

I think it's reasonable to expect that pasting something into a terminal
will cause insertion of text, including whitespace, but will not cause the
terminal to take *actions* that are not the insertion of text.  Certainly,
I think there are a lot of people in the world who do have that
assumption.

-- 
Russ Allbery (eagle@...ie.org)              <http://www.eyrie.org/~eagle/>

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.