Commit Graph

141 Commits

Author SHA1 Message Date
Boris Faure 17e5e1be55 termpyesc: only compute logging content if it's going to be printed 2017-05-15 23:54:25 +02:00
Boris Faure bd6c81ed39 termptyesc: restrict CSI values to avoid denial of service 2017-05-15 22:34:01 +02:00
Boris Faure 2b47545fac termptyesc: ensure colors are valid 2017-05-15 21:56:54 +02:00
Boris Faure 99f55b7bbc termptyesc: support DECSED3 to erase the backlog. Closes T3713 2016-12-20 22:43:37 +01:00
Boris Faure b9d5a55aa4 termptyesc: correctly handle tab forward. Closes T4992 2016-12-18 19:17:42 +01:00
Boris Faure f3dd6f62fb termpty: Tab markers are the same for each line. Ref 4992 2016-12-18 18:48:03 +01:00
Boris Faure 82d9ead6f2 termptyesc: handle correctly Character Tabulation Set (HTS). Ref T4992 2016-12-15 23:11:22 +01:00
Boris Faure 7c720058a1 termptyesc: add some debug 2016-12-15 23:11:22 +01:00
Boris Faure fae0d7ccee termptyesc: handle correctly Cursor Back Tab. Ref T4992 2016-12-15 23:11:22 +01:00
Boris Faure f4263d5098 termptyesc: add missing break (CID1365404) 2016-11-07 11:35:50 +01:00
Boris Faure 566c6d3680 termpty: correctly handle saving cursor + switching to/from altbuf
Closes T4718
2016-10-18 00:15:06 +02:00
Boris Faure 76f1bf4342 prefix EINA_UNUSED parameters with an underscore
and fix related issues
2016-10-05 22:00:22 +02:00
Boris Faure 0c466d767c Merge remote-tracking branch 'raboof/comment' 2016-05-21 22:39:14 +02:00
Boris Faure f33aa07b81 termptyesc: fix signedness comparison 2016-05-21 22:38:39 +02:00
Arnout Engelen 9a501470aa Fix comment for 't' escape sequence 2016-05-21 15:15:19 +02:00
Arnout Engelen ef8ee3fbda Allow font size to be updated via escape sequence 2016-05-21 14:53:17 +02:00
José Roberto de Souza ae7e96633a Allow user to set the title of the each tab 2016-03-04 11:34:24 -03:00
Boris Faure a0c249e6ca fix crash when running tyfuzz. not in terminology 2015-11-14 21:26:37 +01:00
Boris Faure 4913364a22 fix int overflow 2015-11-08 13:06:13 +01:00
Boris Faure 9c4167f74f always support double-width 2015-09-19 16:23:41 +02:00
Boris Faure 2b3eda694f always support italic 2015-09-19 16:18:17 +02:00
Boris Faure 3a7238978e turn error messages about unhandled escape codes into warnings 2015-09-08 21:59:11 +02:00
Boris Faure 144e0b5068 add option to disable terminology escape codes that could be considered
security issues by some

They are enabled by default.
2015-08-23 20:57:49 +02:00
Boris Faure 7fd86d8968 warn about window operations' escape codes being not supported 2015-08-17 23:18:50 +02:00
Boris Faure b80bedc7c2 do not report unsanitized input. See CVE-2003-0063 2015-08-17 23:18:49 +02:00
Boris Faure f40c63bbb6 typo 2015-08-03 20:52:54 +02:00
Jean-Philippe Andre 09b4fddf84 escapes: pretty-print some escapse and avoid ESC in debug logs
ERR("Hello '%c'", ESC) would result in "Hello '\033'" which means
the parent terminal (another terminology, maybe) would then try to
interpret ' as an escape char (ESC is \033 or 0x1b), and so it would
then forward more escapes to the parent.

Also, avoid printing BEL (and, well, beeping) when we are just
printing an error log.

I believe all those "Unhandled escape" logs should go to WRN or higher
log levels. Any thoughts, @billiob ?

See T2506 (for the test file)
2015-06-24 13:46:48 +09:00
Boris Faure 681bb029c2 ensure cursor coordinates are always valid, 2nd version 2015-06-03 23:02:31 +02:00
Carsten Haitzler 074eece5f7 Revert "ensure cursor coordinates are always valid"
This reverts commit 1f3f779258.

this breaks terminal scrolling entirely! can't scroll anymore at all
in standard shell. just try a simple: find / -print
2015-06-03 15:00:13 +09:00
Boris Faure 1f3f779258 ensure cursor coordinates are always valid 2015-06-02 22:48:50 +02:00
Boris Faure c86b35309c rename a bunch of _termpty_*() to termpty_*() 2015-06-02 21:47:06 +02:00
Boris Faure be62d87f89 separate "termstate" from cursor state and screens. Closes T725 2015-04-23 20:02:53 +02:00
Boris Faure b4ba773e17 fix CSI DECSET 1049. Should fix T725 2015-03-01 17:20:18 +01:00
Boris Faure f13d9ad111 fix compilation on solaris 2015-02-23 22:20:18 +01:00
Boris Faure 296cdcd102 usual round of fixes to make it compile with efl 1.7 2015-02-14 12:08:50 +01:00
Boris Faure 87d653ea4d add xterm 777 notification support. Closes T1765 2015-01-12 23:13:43 +01:00
Boris Faure 36e5ca2165 "handle" HTS 2015-01-10 21:02:04 +01:00
Boris Faure da809eb023 "handle" TBC 2015-01-10 21:02:04 +01:00
Boris Faure cbc92a55fc Fix screen mangling from prompt redraws on resize. Closes T1193
There are still some oddities because the shell doesn't expect us to
reflow.

Let's say we have the following where X is the cursor.

+-------+
|foobar$|
|X      |
+-------+
Here, the shell explicitly told us to go to a new line after '$'. We don't
consider '$' is on the same line as 'foobar'.
Decrease the width of that window.
+------+
|foobar|
|$     |
|X     |
+------+
Let the shell know the new size. It decides to redraw the prompt. It
remembers it told us to go to a new line, so the first thing it tells us
is to go one line up: to '$' and not 'foobar'. Then it tells us to clear
the screen downward from there and to print "foobar$" (and go to new
line).

Thus we have the following:
+------+
|foobar|
|foobar|
|$     |
|X     |
+------+
2014-12-07 23:51:23 +01:00
Boris Faure caed00cc1f fix segfault due to using isdigit with non unsigned char value. Closes T1625
Also rename _termpty_handle_seq() to termpty_handle_seq() since it's not static.
2014-09-15 23:10:55 +02:00
Boris Faure fd1e4ffd45 fix segfault when decoding buggy xterm sequence. cf T1625 2014-09-04 20:45:02 +02:00
Boris Faure 6c50375f26 Party time! be able to set foreground color
Reset is not yet implemented for that…

Idea is from http://www.reddit.com/r/linux/comments/2ds0he/xterm_party/
2014-08-17 22:20:40 +02:00
Boris Faure 5dfb63a14a handle queries on some xterm escape codes 2014-08-17 17:44:19 +02:00
Boris Faure 61050bd7cc clean up xterm escape codes handling 2014-08-17 17:32:57 +02:00
Boris Faure 9a16eb57a1 handle some DSR: the cursor position reports 2014-08-14 21:48:26 +02:00
Boris Faure ae820f3897 extract csi_reset_mode 2014-08-11 22:03:56 +02:00
Boris Faure 8a3c15e08e gettextify termcmd.c,termio.c,termpty.c,termptyesc.c 2014-07-26 11:37:26 +02:00
godfath3r 54280b97f6 cleanup. Remove lines with values stored to variables never used
Summary:
  as found with clang static analysis tool.

Reviewers: billiob, raster

Differential Revision: https://phab.enlightenment.org/D1207
2014-07-21 20:42:57 +02:00
Boris Faure e51c2168e9 fix segfault. Closes T1286 2014-06-08 15:52:34 +02:00
Boris Faure c3c8310218 Fix bracketed paste mode. Closes T1233. Patch by Egmont 2014-05-07 20:41:14 +02:00