| e06f6f73 | 19-Feb-2019 |
Ed Schouten <[email protected]> |
Place an upper bound on the number of iterations for REP.
Right now it's possible to invoke the REP escape sequence with a maximum of tens of millions of iterations. In practice, there is never any
Place an upper bound on the number of iterations for REP.
Right now it's possible to invoke the REP escape sequence with a maximum of tens of millions of iterations. In practice, there is never any need to do this. Calling it more frequently than the number of cells in the terminal hardly makes any sense. By placing a limit on it, we can prevent users from exhausting resources in inside the terminal emulator.
As support for this escape sequence is not present in any of the stable branches, there is no need to MFC.
Reported by: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11255
show more ...
|
| 15e0c651 | 18-Aug-2017 |
Bruce Evans <[email protected]> |
Fix syscons escape sequence for setting the local cursor type. This sequence was aliased to a vt sequence, causing and fixing various bugs.
For syscons, this restores support for arg 2 which sets b
Fix syscons escape sequence for setting the local cursor type. This sequence was aliased to a vt sequence, causing and fixing various bugs.
For syscons, this restores support for arg 2 which sets blinking block too forcefully, and restores bugs for arg 0 and 1. Arg 2 is used for vs in the cons25 entry in termcap, but I've never noticed an application that uses this. The bugs involve replacing local settings by global ones and need better handling of defaults to fix.
For vt, this requires moving the aliasing code from teken to vt where it belongs. This sequences is very important for cons25 compatibility in vt since it is used by the cons25 termcap entries for ve, vi and vs. vt can't properly support vs for either cons25 or xterm since it doesn't support blinking. For xterm, the termcap entry for vs asks for something different using 12;25h instead of 25h.
Rename C25CURS for this to C25LCT and change its description to be closer to echoing the old comment about it. CURS is too generic.
Fix missing syscons escape sequence for setting the global cursor shape (and type). Only support this in syscons since vt can't emulate anything in it.
show more ...
|
| 97933a41 | 18-Aug-2017 |
Bruce Evans <[email protected]> |
Improve names for cons25 sequences.
In a recent commit, I forgot to expand an X to an abbreviation of "BORDER". Fix this and some nearby bad names.
The descriptions were copied from comments in sct
Improve names for cons25 sequences.
In a recent commit, I forgot to expand an X to an abbreviation of "BORDER". Fix this and some nearby bad names.
The descriptions were copied from comments in scterm-sc.c, but some of these are bad. The border [color] was inconsistently described as a property of the "display", but I had changed this to "adapter" to match the descriptions for other color settings. All colors supported by the cons25 sequences are actually properties of the current vty and that should not be described. But the other colors are defaults. Change "adapter" to "default" for them and remove "adapter" for the border. Reduce the verbosity of the abbreviation from AD to D.
show more ...
|
| 4eb235fb | 18-Mar-2017 |
Bruce Evans <[email protected]> |
Fix bright colors for syscons, and make them work for the first time for vt. Restore syscons' rendering of background (bg) brightness as foreground (fg) blinking and vice versa, and add rendering of
Fix bright colors for syscons, and make them work for the first time for vt. Restore syscons' rendering of background (bg) brightness as foreground (fg) blinking and vice versa, and add rendering of blinking as background brightness to vt.
Bright/saturated is conflated with light/white in the implementation and in this description.
Bright colors were broken in all cases, but appeared to work in the only case shown by "vidcontrol show". A boldness hack was applied only in 1 layering-violation place (for some syscons sequences) where it made some cases seem to work but was undone by clearing bold using ANSI sequences, and more seriously was not undone when setting ANSI/xterm dark colors so left them bright. Move this hack to drivers.
The boldness hack is only for fg brightness. Restore/add a similar hack for bg brightness rendered as fg blinking and vice versa. This works even better for vt, since vt changes the default text mode to give the more useful bg brightness instead of fg blinking.
The brightness bit in colors was unnecessarily removed by the boldness hack. In other cases, it was lost later by teken_256to8(). Use teken_256to16() to not lose it. teken_256to8() was intended to be used for bg colors to allow finer or bg-specific control for the more difficult reduction to 8; however, since 16 bg colors actually work on VGA except in syscons text mode and the conversion isn't subtle enough to significantly in that mode, teken_256to8() is not used now.
There are still bugs, especially in vidcontrol, if bright/blinking background colors are set.
Restore XOR logic for bold/bright fg in syscons (don't change OR logic for vt). Remove broken ifdef on FG_UNDERLINE and its wrong or missing bit and restore the correct hard-coded bit. FG_UNDERLINE is only for mono mode which is not really supported.
Restore XOR logic for blinking/bright bg in syscons (in vt, add OR logic and render as bright bg). Remove related broken ifdef on BG_BLINKING and its missing bit and restore the correct hard-coded bit. The same bit means blinking or bright bg depending on the mode, and we want to ignore the difference everywhere.
Simplify conversions of attributes in syscons. Don't pretend to support bold fonts. Don't support unusual encodings of brightness. It is as good as possible to map 16 VGA colors to 16 xterm-16 colors. E.g., VGA brown -> xterm-16 Olive will be converted back to VGA brown, so we don't need to convert to xterm-256 Brown. Teken cons25 compatibility code already does the same, and duplicates some small tables. This is mostly for the sc -> te direction. The other direction uses teken_256to16() which is too generic.
show more ...
|