Screen is a full-screen window manager that multiplexes a physical terminal
between several processes (typically interactive shells).
Each virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO
2022 standards (e.g. insert/delete line and support for multiple character
sets). There is a scrollback history buffer for each virtual terminal and a
copy-and-paste mechanism that allows moving text regions between windows.
===> The following configuration options are available for screen-5.0.2_1:
INFO=on: Build and/or install GNU info pages
MULTIUSER=off: Install setuid-root screen to support multiuser
NOSOCKETDIR=off: Use ~/.screen instead of socketdir
SYSTEM_SCREENRC=on: Install system screenrc with helpful status line
====> Console (text) interface support: you have to select exactly one of them
NCURSES_DEFAULT=on: Depend on ncurses (ports if installed, otherwise base)
NCURSES_BASE=off: Depend on ncurses in base
NCURSES_PORT=off: Depend on devel/ncurses in ports
===> Use 'make config' to modify these settings
As of GNU Screen 4.4.0:
Note that there was fix to screen message structure field
responsible for $TERM handling, making it impossible
to attach to older versions.
Reason:
sysutils/screen no longer sets the MULTUSER option by default anymore.
MUTIUSER installs a setuid root screen binary. This introduces an exploit
vector. Users who need multi-user functionality should either build
screen with the MULTIUSER option or binary package users should add the
setuid bit to the screen binary.
Reason:
sysutils/screen has been updated to 5.0.1 from 4.9.1. All currently
running screen sessions must be terminated before upgrading. Failure
to do so will result in orphaning remaining screen sessions. This is
expected when updating from one major version of screen to another.
2022-04-10
Affects: users of sysutils/screen
Author: cy@FreeBSD.org
Reason:
As of sysutils/screen-4.9.0_5, the MULTUSER option is default, reverting
to the traditional setuid-root behavior. People who wish to secure their
screen install must terminate all screen sessions, then install screen
without the MULTIUSER option. The option was reversed because it caused
too much astonishment among users of screen.
2022-03-29
Affects: users of sysutils/screen
Author: cy@FreeBSD.org
Reason:
As of sysutils/screen-4.9.0_3, the multiuser feature is not supported
by default. The multiuser feature requires setuid root to function.
This creates a security risk. Some Linux distributions have had
non-setuuid root screen for a dozen or more years. FreeBSD is following
suit. A new MULTIUSER option has been added to enable users to install
setuid root screen. The MULTIUSER option default is OFF.
Users who wish to use the multiuser feature may,
- Build screen using the MULTIUSER option, or
- Poudriere users can use poudriere-options to enable the MULTIUSER
option, or
- Users can chmod the setuid bit for ${LOCALBASE}/bin/screen-4.9.0,
making screen setuid root to enable the multiuser feature.
Bjorn Zeeb discovered that screen(1) was mangling ut_host by performing
strange translations. For example, foo.bar.com gets translated to foo:S.0.
Unfortunately, this means that it also truncates IPv6 addresses,
e.g. 2001:7b8:310::1 -> 2001:S.0. Wouldn't it be better to just use the
hostname unmodified? ut_host is supposed to contain a hostname, not some
arbitrary string.
Submitted by: ed (Ed Schouten)
Discovered by: Bjorn Zeeb
Bump portrevision due to upgrade of devel/gettext.
The affected ports are the ones with gettext as a run-dependency
according to ports/INDEX-7 (5007 of them) and the ones with USE_GETTEXT
in Makefile (29 of them).
PR: ports/124340
Submitted by: edwin@
Approved by: portmgr (pav)
sysutils/screen: install error if world compiled with NO_INFO
The program /usr/bin/install-info doesn't exist in case
the base system has been compiled with NO_INFO. This causes
an error during installation of sysutils/screen because one
of screen's make files rely on this program.
I added handling of NO_INFO (and NO_MAN by the way). I suggest
to let screen depend on print/texinfo if the user doesn't define
NO_INFO and /usr/bin/install-info doesn't exist.
PR: ports/115048
Submitted by: Bj\xf6rn K\xf6nig <bkoenig@cs.tu-berlin.de>
Approved by: maintainer timeout
sysutils/screen: install error if world compiled with NO_INFO
The program /usr/bin/install-info doesn't exist in case
the base system has been compiled with NO_INFO. This causes
an error during installation of sysutils/screen because one
of screen's make files rely on this program.
I added handling of NO_INFO (and NO_MAN by the way). I suggest
to let screen depend on print/texinfo if the user doesn't define
NO_INFO and /usr/bin/install-info doesn't exist.
PR: ports/115048
Submitted by: Björn König <bkoenig@cs.tu-berlin.de>
Approved by: maintainer timeout
A new option is added, called "cjkwidth [on|off]". When it
is enabled, it treats CJK ambiguous characters as full width.
This feature is very helpful for reading legacy CJK applications'
output which assume all CJK characters are full width.
This option is default off.
The patch is obtained from
http://www.mhsin.org/~mhsin/patches/screen/patch-cjkwidth
The credit belongs to Michael Hsin <mhsin _at mhsin.org>.
It also has been submitted to upstream:
http://savannah.gnu.org/bugs/?func=detailitem&item_id=16666
PR: ports/96167
Submitted by: rafan
Approved by: maintainer timeout (3 months and 2 weeks)