screen.git
4 weeks ago[PATCH] Screen buffers ESC keypresses indefinitely since sgr support master
Hayato Hiramatsu [Tue, 26 Mar 2024 23:41:57 +0000 (00:41 +0100)]
[PATCH] Screen buffers ESC keypresses indefinitely since sgr support

bug #57748

2 months agosync man page
Alexander Naumov [Tue, 20 Feb 2024 12:56:31 +0000 (13:56 +0100)]
sync man page

3 months agoautogen.sh: add --install option for autoreconf
Alexander Naumov [Fri, 29 Dec 2023 23:13:58 +0000 (00:13 +0100)]
autogen.sh: add --install option for autoreconf

8 months agoexit_with_usage() returns 1 only in case of error
Alexander Naumov [Tue, 22 Aug 2023 15:56:25 +0000 (17:56 +0200)]
exit_with_usage() returns 1 only in case of error

"screen -h|--help" should NOT return 1

Sync with screen-v4: 7908c33f738d5dfc19adfdcf32bb9407edef71a4

8 months agoFix call to undeclared function chmod
Brahmajit Das [Mon, 7 Aug 2023 13:58:19 +0000 (15:58 +0200)]
Fix call to undeclared function chmod

The chmod function comes from the header file sys/stat.h
which was not included in the source file display.c,
and thus the error.
This patch should fix the build error.

Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
8 months agoFix bashisms in configure.ac
Vincent Lefevre [Fri, 28 Jul 2023 11:20:17 +0000 (13:20 +0200)]
Fix bashisms in configure.ac

bug #62076

9 months agoautoupdate AC_PREREQ 2.71
Alexander Naumov [Thu, 27 Jul 2023 22:05:46 +0000 (00:05 +0200)]
autoupdate AC_PREREQ 2.71

14 months agoMissing signal sending permission check on failed query messages
Alexander Naumov [Wed, 1 Feb 2023 11:47:57 +0000 (13:47 +0200)]
Missing signal sending permission check on failed query messages

When run as setuid root, one can send a query message to the
privileged screen process via its unix socket in order to force
it to send SIGHUP to a PID that can be freely specified in the
query packet.
Processes that do not explicitly handle SIGHUP will simply terminate.

Signed-off-by: Alexander Naumov <alexander_naumov@opensuse.org>
15 months agohttpss->https
Alexander Naumov [Fri, 13 Jan 2023 20:45:46 +0000 (22:45 +0200)]
httpss->https

22 months agohttp => https
Alexander Naumov [Mon, 18 Apr 2022 19:49:01 +0000 (19:49 +0000)]
http => https

22 months agohttp => https
Alexander Naumov [Fri, 18 Feb 2022 11:17:34 +0000 (13:17 +0200)]
http => https

2 years agoAvoid zombies after shell exit
Vincent Lefevre [Thu, 17 Feb 2022 01:08:26 +0000 (03:08 +0200)]
Avoid zombies after shell exit

As documented in libutempter:
"During execution of the privileged process spawned by these
functions, SIGCHLD signal handler will be temporarily set to
the default action."

Thus in case a SIGCHLD has been lost, we send a SIGCHLD to
oneself in order to avoid zombies:
https://savannah.gnu.org/bugs/?25089

2 years agobugfix CVE-2021-26937
Michael Schröder [Tue, 1 Feb 2022 22:43:14 +0000 (00:43 +0200)]
bugfix CVE-2021-26937

It allows remote attackers to cause a denial of service
(invalid write access and application crash) or possibly
have unspecified other impact via a crafted UTF-8
character sequence.

bugfix: https://savannah.gnu.org/bugs/?60030

Signed-off-by: Alexander Naumov <alexander_naumov@opensuse.org>
2 years agoman page: copyright update
Alexander Naumov [Mon, 3 Jan 2022 23:30:47 +0000 (01:30 +0200)]
man page: copyright update

3 years ago[PATCH 2/2] trivial: docs: Add missing ')'.
Michael Witten [Thu, 17 Dec 2020 10:48:09 +0000 (11:48 +0100)]
[PATCH 2/2] trivial: docs: Add missing ')'.

A cross-reference was intended to be placed inside parentheses,
but the closing parenthesis was forgotten; this commit inserts
that missing closing parenthesis.

3 years ago[PATCH 1/2] trivial: docs: Fix typo (s/paramter/parameter)
Michael Witten [Thu, 17 Dec 2020 10:25:04 +0000 (11:25 +0100)]
[PATCH 1/2] trivial: docs: Fix typo (s/paramter/parameter)

In the description of the 'stuff' command, there
was the typo "paramter"; this commit makes that
word "parameter".

3 years agobugfix: option -X ignores specified user in multiuser env
Taj Morton [Tue, 20 Oct 2020 13:45:07 +0000 (15:45 +0200)]
bugfix: option -X ignores specified user in multiuser env

bug #37437

Thanks to Taj Morton

4 years agoTERMCAP_BUF is used in place of TERMCAP_BUFSIZE
Victor Dmitriev [Mon, 27 Apr 2020 16:24:37 +0000 (18:24 +0200)]
TERMCAP_BUF is used in place of TERMCAP_BUFSIZE

4 years agoExpand d_xtermosc array in struct Display
Václav Doležal [Fri, 21 Feb 2020 13:02:27 +0000 (14:02 +0100)]
Expand d_xtermosc array in struct Display

Commit 7059bff expands index range of "typ2" by one without expanding
affected arrays. d_xtermosc in struct display is one of these.

Related: 7059bff20a28778f9d3acf81cad07b1388d02309
  (ansi: add support for xterm OSC 11)
Related: eb2be1adf92d58bd8f4ca3458eb04da38bf33c2b
  (Fix out of bounds access when setting w_xtermosc after OSC 49)

Signed-off-by: Václav Doležal <vdolezal@redhat.com>
4 years agoIncrease permitted length of OSC
Amadeusz Sławiński [Wed, 5 Feb 2020 20:05:28 +0000 (21:05 +0100)]
Increase permitted length of OSC

hyperlink feature used by some terminals requires lots of characters
https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#length-limits
mentions around 2083 characters, set it to a bit more.

Bug: 57718

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoFix out of bounds access when setting w_xtermosc after OSC 49
Amadeusz Sławiński [Thu, 30 Jan 2020 16:56:27 +0000 (17:56 +0100)]
Fix out of bounds access when setting w_xtermosc after OSC 49

echo -e "\e]49\e;                                    \n\ec"
crashes screen.

This happens because 49 is divided by 10 and used as table index
resulting in access to w_xtermosc[4], which is out of bounds with table
itself being size 4. Increase size of table by 1 to 5, which is enough
for all current uses.

As this overwrites memory based on user input it is potential security
issue.

Reported-by: pippin@gimp.org
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoAdd escape to show number of currently open windows in hardstatus
ed@s5h.net [Mon, 20 Jan 2020 18:24:05 +0000 (18:24 +0000)]
Add escape to show number of currently open windows in hardstatus

String escape format of %C for number of windows with - prefix for
group window count.

Bug: 14484

Signed-off-by: Ed Neville <ed@s5h.net>
4 years agoFix 100% cpu use on one core with poll
Amadeusz Sławiński [Mon, 3 Feb 2020 22:38:48 +0000 (23:38 +0100)]
Fix 100% cpu use on one core with poll

If there is no event timeout set just wait for 1 second instead of
setting poll timeout to 0.

Bug: 57697

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoHaiku port: Check for some libraries
François Revol [Fri, 20 Jun 2014 15:16:37 +0000 (17:16 +0200)]
Haiku port: Check for some libraries

* libnetwork for sockets,
* libbsd for openpty.

4 years agofix mismatched types in prototype
François Revol [Mon, 17 Jul 2017 13:53:45 +0000 (15:53 +0200)]
fix mismatched types in prototype

not everyone defines pid_t as int...

4 years agoremove hardcoded -lutil
François Revol [Mon, 17 Jul 2017 13:52:54 +0000 (15:52 +0200)]
remove hardcoded -lutil

AC_SEARCH_LIBS prepends the found library already.

4 years agoadd dirent.h test back to configure
François Revol [Mon, 17 Jul 2017 13:52:00 +0000 (15:52 +0200)]
add dirent.h test back to configure

Haiku doesn't have sys/dir.h which is deprecated anyway,
so it's better to actually use dirent.h if found.

4 years agobuild: acls.c: mark unused parameters
Chris Meyering [Sat, 1 Feb 2020 06:37:49 +0000 (22:37 -0800)]
build: acls.c: mark unused parameters

* src/acls.c (DoSu): avoid four unused-variable warnings

4 years agobuild: tests/test-winmsgbuf.c: avoid GCC 10 alloca warning
Chris Meyering [Sat, 1 Feb 2020 06:05:13 +0000 (22:05 -0800)]
build: tests/test-winmsgbuf.c: avoid GCC 10 alloca warning

* src/tests/test-winmsgbuf.c (main): Replace alloca with malloc/free
to prevent the following warning: tests/test-winmsgbuf.c:298:19:\
  warning: implicit declaration of function ‘alloca’; did you mean \
  ‘calloc’?

4 years agobuild: test-winmsgbuf.c: add const to avoid GCC 10 warning
Chris Meyering [Sat, 1 Feb 2020 05:14:06 +0000 (21:14 -0800)]
build: test-winmsgbuf.c: add const to avoid GCC 10 warning

* src/tests/test-winmsgbuf.c:45: make char * const
This avoids the following warning:
tests/test-winmsgbuf.c:45:17: warning: initialization of\
‘char *[...]'from incompatible pointer type ‘const char *[...]'

4 years agocleanup: acls.c: move unused variables into #if-0 block
Chris Meyering [Sat, 1 Feb 2020 05:06:27 +0000 (21:06 -0800)]
cleanup: acls.c: move unused variables into #if-0 block

* src/acls.c (DoSu): avoid two unused-variable warnings

4 years agobuild: cast NULL to (char *) to prevent GCC 10 warning
Chris Meyering [Sat, 1 Feb 2020 05:01:45 +0000 (21:01 -0800)]
build: cast NULL to (char *) to prevent GCC 10 warning

* src/acls.c (GrowBitfield): replace NULL by (char *)NULL.
This avoids the following warning:
acls.h:44:35: warning: dereferencing ‘void *’ pointer

4 years agoRefactor condition handling to use offset instead of pointer
Amadeusz Sławiński [Fri, 31 Jan 2020 22:35:14 +0000 (23:35 +0100)]
Refactor condition handling to use offset instead of pointer

If wmc_else() is called after wmb_expand() it can overwrite pointer to
old value. To avoid this issue refactor condition code to use offset
into parsed string instead.

Reported-by: pippin@gimp.org
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoCopyright update for 2020
Alexander Naumov [Fri, 10 Jan 2020 20:28:01 +0000 (21:28 +0100)]
Copyright update for 2020

4 years agoFix return code of '--version' and '-v'
Alexander Naumov [Fri, 10 Jan 2020 19:27:58 +0000 (20:27 +0100)]
Fix return code of '--version' and '-v'

Bug #57571

4 years agoFix code formatting
Amadeusz Sławiński [Tue, 31 Dec 2019 11:03:10 +0000 (12:03 +0100)]
Fix code formatting

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoFix variable type
Amadeusz Sławiński [Sat, 28 Dec 2019 15:52:51 +0000 (16:52 +0100)]
Fix variable type

ParseAttrColor returns uint64_t and ApplyAttrColor takes uint64_t as
argument, int was used instead, which may cause vertical bar to not have
color applied on split.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoDisable exclusive mode on TTY device when closing
David Dorfman [Sat, 28 Dec 2019 19:22:09 +0000 (20:22 +0100)]
Disable exclusive mode on TTY device when closing

When opening a TTY we enable exclusive mode to prevent other tools
messing with our connection. When we are done using the TTY the
exclusive mode must be disabled so the TTY can be reconnected to
later. We remember to do this when a break is sent to the device,
but not on window close.

This change ensures we disable exclusive mode on the TTY device
whenever the window is closed.

bug #52248

4 years agoCreate TERMCAP entries limited to 1023 bytes by default.
Scott Shambarger [Tue, 5 Nov 2019 17:00:32 +0000 (17:00 +0000)]
Create TERMCAP entries limited to 1023 bytes by default.

TERMCAP_BUF defaults to 1023 to create TERMCAP entries that work on
most systems.  To save space, TERMCAP is unwrapped, and vt220 extra
keys are skipped (unless TERMCAP_BUF > 1023); navigation keys are
still included.  Entries larger than TERMCAP_BUF are now truncated,
and no longer Panic screen.

Termcap entries are still wrapped when saved to a file.

Signed-off-by: Scott Shambarger <devel@shambarger.net>
4 years agoFix coredump on xterm and rxvt
Christoph Moench-Tegeder [Tue, 5 Nov 2019 15:32:10 +0000 (15:32 +0000)]
Fix coredump on xterm and rxvt

Here's the rub: with TERM=xterm (or rxvt, for that matter), Km
("key_mouse", "Mouse event has occured") is not set (and therefore
NULL), but InitTermcap() (termcap.c:230) happily tries to strdup() that,
which gets us that segfault.

As a band-aid, catch that NULL and don't strdup().

Signed-off-by: Marcin Cieślak <saper@saper.info>
4 years agoCount timeout in milliseconds instead of using struct timeval
Amadeusz Sławiński [Sat, 2 Nov 2019 23:32:00 +0000 (00:32 +0100)]
Count timeout in milliseconds instead of using struct timeval

poll() accepts timeout in milliseconds, so there is no need to keep
timeout in struct timeval.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoConvert select() to poll() in sched.c
Amadeusz Sławiński [Sat, 2 Nov 2019 23:31:59 +0000 (00:31 +0100)]
Convert select() to poll() in sched.c

select() limits number of file descriptors that can be used by screen.
Migrate to poll() to avoid this limitation.

As can be seen in case of scheduler it requires quite some changes, care
must be taken to count poll() events properly.

Bug: 55697

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoConvert select() to poll() in screen.c
Amadeusz Sławiński [Sat, 2 Nov 2019 23:31:58 +0000 (00:31 +0100)]
Convert select() to poll() in screen.c

select() limits number of file descriptors that can be used by screen.
Migrate to poll() to avoid this limitation.

Bug: 55697

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoConvert select() to poll() in display.c
Amadeusz Sławiński [Sat, 2 Nov 2019 23:31:57 +0000 (00:31 +0100)]
Convert select() to poll() in display.c

select() limits number of file descriptors that can be used by screen.
Migrate to poll() to avoid this limitation.

Bug: 55697

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoMake closeallfiles() faster
Amadeusz Sławiński [Sat, 2 Nov 2019 22:21:54 +0000 (23:21 +0100)]
Make closeallfiles() faster

Optimize startup time, making closeallfiles() faster, by doing less
system calls. Instead of calling close for each possible file, use
poll() to check if file exist at all. On linux with open file limit set
to 1048576, it should do 1024 poll() calls instead of 1048576 close().

Bug: 55618

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoUsing 'https' instead of 'http'
Alexander Naumov [Sat, 9 Nov 2019 13:40:37 +0000 (14:40 +0100)]
Using 'https' instead of 'http'

4 years agoUpdate ambiguous and wide characters tables to Unicode 12.1.0
Amadeusz Sławiński [Tue, 1 Oct 2019 21:53:49 +0000 (23:53 +0200)]
Update ambiguous and wide characters tables to Unicode 12.1.0

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoGet rid of externs in telnet.c
Amadeusz Sławiński [Thu, 19 Sep 2019 21:13:07 +0000 (23:13 +0200)]
Get rid of externs in telnet.c

Just include correct headers.
We need to expose af properly in screen.h for this to work.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoFix broken mouse after ncurses 6.1
Amadeusz Sławiński [Sat, 7 Sep 2019 15:58:50 +0000 (17:58 +0200)]
Fix broken mouse after ncurses 6.1

ncurses 6.1 changed kmous capability from "\e[M" to "\e[<". It seems to
be done to signal that terminal supports sgr mouse mode. screen assumed
that if kmous is set to "\e[M" it is on xterm compatible terminal
anyway, so just dynamically detect which one is used and override
relevant kmapdef.

InitKeytab() is moved, so kmapdef[] can be overriden before
initialization, as InitTermcap() needs to run first, as far as I can
tell this should have no consequences.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
4 years agoFix some gcc-9 warning in utmp
Amadeusz Sławiński [Sat, 18 May 2019 16:13:34 +0000 (18:13 +0200)]
Fix some gcc-9 warning in utmp

Shouldn't have really used strncpy, for something that is effectively
binary data.

Also cleanup structs when defining instead of adding memsets everywhere.

4 years agoRevert "Remove unnecessary condition check"
Amadeusz Sławiński [Mon, 13 May 2019 16:05:37 +0000 (18:05 +0200)]
Revert "Remove unnecessary condition check"

This reverts commit ceb9b1f6ec6378c83566af0029ddefcc825ba6d4.

I need to look at this again, there is a report that commit in question
may cause problems and apparently logic may have failed me when I
removed this code, as it probably should stay and everything after it is
unreacheable.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoClean whole buffer if we don't want to parse it
Amadeusz Sławiński [Wed, 17 Apr 2019 18:41:22 +0000 (20:41 +0200)]
Clean whole buffer if we don't want to parse it

Fixes problem when pressing arrows in some prompts causes arrows to stop
in other places.

For example pressing up arrow in 'kill --confirm' prompt stops up arrow
from working on 'windowlist'

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoRemove unnecessary condition check
Amadeusz Sławiński [Sat, 13 Apr 2019 22:48:13 +0000 (00:48 +0200)]
Remove unnecessary condition check

According to parent "if" condition this is never the case

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoClose file descriptor after query command
Amadeusz Sławiński [Sat, 13 Apr 2019 22:43:27 +0000 (00:43 +0200)]
Close file descriptor after query command

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoFix -L option when passed to backend via Msg
Amadeusz Sławiński [Sat, 13 Apr 2019 14:08:36 +0000 (16:08 +0200)]
Fix -L option when passed to backend via Msg

Breaks backward compatibility

This fixes a problem when user runs screen with "-L" option in already
existing screen. We need to pass information about theflag to backend.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoDefine data pointer in Event as void
Amadeusz Sławiński [Sat, 30 Mar 2019 23:58:18 +0000 (00:58 +0100)]
Define data pointer in Event as void

We don't know format of data we pass around, so we may as well define
pointer as void *. Gets rid of -Wcast-align warning with clang.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoFix D_processinputdata type
Amadeusz Sławiński [Sat, 30 Mar 2019 23:53:27 +0000 (00:53 +0100)]
Fix D_processinputdata type

Define d_processinputdata as struct pwdata instead of doing casts back
and forth. Removes clang warning with -Wcast-align.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoCopyright update for 2019
Alexander Naumov [Fri, 29 Mar 2019 19:26:32 +0000 (20:26 +0100)]
Copyright update for 2019

5 years agoTypo in man page
Alexander Naumov [Fri, 29 Mar 2019 19:22:12 +0000 (20:22 +0100)]
Typo in man page

bug #56027

5 years agofix UTF-8 characters with more than 2 bytes
Stefan Assmann [Fri, 22 Feb 2019 12:29:17 +0000 (13:29 +0100)]
fix UTF-8 characters with more than 2 bytes

Characters are stored as uint32 nowadays. Looking at the lower bytes
only seems to be an oversight from the fontx clean up.

Fixes: f18f5d0da1d4 get rid of fontx

5 years agodrop unnecessary BEL from bracketed paste mode sequence
Amadeusz Sławiński [Thu, 14 Feb 2019 19:30:23 +0000 (20:30 +0100)]
drop unnecessary BEL from bracketed paste mode sequence

there is no BEL in enable/disable bracketed paste mode sequence, so we
shouldn't unnecessarily print it

Bug: #55709

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoFix extra characters when sending a command in one go
Nicolas Schodet [Sun, 10 Feb 2019 22:42:19 +0000 (23:42 +0100)]
Fix extra characters when sending a command in one go

This closes bug #52372: Giberish printed to screen window in certain
situations.

When sending "^An", most of the time, screen first receives "^A", then
it receives the "n".  This means that in the ProcessInput2 function,
ilen == 1 after the escape character has been seen, ilen is decremented
and the ProcessInput2 function returns.

When "^An" is sent in one go, for example when pasting or when using a
special shortcut, ilen is not 1 when the escape character is seen.  In
this case, the s variable was incremented, but ilen was not decremented.
This leads the function to read an extra character which does not
exists.

This regression was introduced in 2fab4d6f73, as reported in the bug
report.

This can be tested by having a command in the selection:

echo -ne '\x01n' | xclip -i

And pasting it (in this case, you might see the closing bracketed paste
sequence, but that is another problem).

Bug: #52372
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agomake build date reproducible
Amadeusz Sławiński [Sat, 2 Feb 2019 21:35:07 +0000 (22:35 +0100)]
make build date reproducible

Based on https://reproducible-builds.org/docs/source-date-epoch/
They suggest "BUILD_DATE ?=", but it seems to be evaluated for each file
separately, so us "BUILD_DATE :=" to set it once.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoFix blanker to work when screen is suid root
Scott Shambarger [Fri, 18 Jan 2019 17:52:28 +0000 (12:52 -0500)]
Fix blanker to work when screen is suid root

* Change RunBlanker to call OpenDevice so permissions on slave
  PTY are correctly set.
* Update handling of file descriptors after fork to be similar to
  ForkWindow on at pty (fixes debug and leaked descriptors)
* Allow display of error message when display blocked by blanker
  (because message is probably from blanker failing to start)

Bug: 55512

Cherry-picked form screen-v4, with some modifications

Signed-off-by: Scott Shambarger <devel@shambarger.net>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoPrevent Panic causing Panic, and children removing sockets
Scott Shambarger [Fri, 18 Jan 2019 17:20:17 +0000 (12:20 -0500)]
Prevent Panic causing Panic, and children removing sockets

* Set eff_uid/eff_gid after setuid/setgid to prevent nested Panic
  MakeClientSocket calls xseteuid(eff_uid=0) - results in nested
  Panic and SendErrorMsg not getting sent.
* Set ServerSocket to -1 after fork so that child Panic doesn't
  remove socket in eexit.

Bug: 55511

Cherry-picked from screen-v4 with some modifications

Signed-off-by: Scott Shambarger <devel@shambarger.net>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agomark AttacherFinit, AttacherFinitBye & Attacher as noreturn
Amadeusz Sławiński [Sat, 26 Jan 2019 18:34:53 +0000 (19:34 +0100)]
mark AttacherFinit, AttacherFinitBye & Attacher as noreturn

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agomark backticks as static
Amadeusz Sławiński [Sat, 26 Jan 2019 18:31:59 +0000 (19:31 +0100)]
mark backticks as static

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agofix flow of 'at' command
Amadeusz Sławiński [Sat, 26 Jan 2019 18:28:25 +0000 (19:28 +0100)]
fix flow of 'at' command

we just returned without freeing 's' and resetting EffectiveAclUser,
which per comment at the beginning should be reset

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agosched() can be marked as noreturn
Amadeusz Sławiński [Sat, 26 Jan 2019 18:06:32 +0000 (19:06 +0100)]
sched() can be marked as noreturn

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoremove unneeded cast
Amadeusz Sławiński [Sat, 26 Jan 2019 18:04:06 +0000 (19:04 +0100)]
remove unneeded cast

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoRunBlanker prototype should be in display.h
Amadeusz Sławiński [Sat, 26 Jan 2019 17:54:59 +0000 (18:54 +0100)]
RunBlanker prototype should be in display.h

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agowmb_create takes no parameters
Amadeusz Sławiński [Sat, 26 Jan 2019 17:53:12 +0000 (18:53 +0100)]
wmb_create takes no parameters

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoin verbose command, we can ignore return value from ParseOnOff
Amadeusz Sławiński [Sun, 25 Nov 2018 20:59:46 +0000 (21:59 +0100)]
in verbose command, we can ignore return value from ParseOnOff

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoin log command toggle log only if we successfully parsed argument
Amadeusz Sławiński [Sun, 25 Nov 2018 20:56:46 +0000 (21:56 +0100)]
in log command toggle log only if we successfully parsed argument

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoin truecolor command trigger redraw only if passed correct argument
Amadeusz Sławiński [Sun, 25 Nov 2018 20:53:50 +0000 (21:53 +0100)]
in truecolor command trigger redraw only if passed correct argument

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agodon't attempt to swap window with itself
Amadeusz Sławiński [Thu, 6 Dec 2018 21:17:32 +0000 (22:17 +0100)]
don't attempt to swap window with itself

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoget rid of Wformat-overflow warning
Amadeusz Sławiński [Tue, 20 Nov 2018 22:12:32 +0000 (23:12 +0100)]
get rid of Wformat-overflow warning

60 characters is plenty enough for reason string

window.c: In function ‘WindowDied’:
window.c:1941:33: warning: ‘%s’ directive writing up to 99 bytes into a region of size 86 [-Wformat-overflow=]
   sprintf(buf, "\n\r=== Command %s (%s) ===", reason, s ? s : "?");
                                 ^~            ~~~~~~
window.c:1941:16: note: assuming directive output of 1 byte
   sprintf(buf, "\n\r=== Command %s (%s) ===", reason, s ? s : "?");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862,
                 from logfile.h:33,
                 from window.h:39,
                 from window.c:34:
/usr/include/bits/stdio2.h:33:10: note: ‘__builtin___sprintf_chk’ output 22 or more bytes (assuming 122) into a destination of size 100
   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       __bos (__s), __fmt, __va_arg_pack ());
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agofix zombie command
Amadeusz Sławiński [Tue, 20 Nov 2018 22:07:18 +0000 (23:07 +0100)]
fix zombie command

commit f12ada81929f78412814a30d9c802d8633db4e27 (refactor SwapWindows)
accidentally changed killit variable causing code to never execute

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agocheck if fseek & ftell succeeded
Amadeusz Sławiński [Tue, 20 Nov 2018 21:19:44 +0000 (22:19 +0100)]
check if fseek & ftell succeeded

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agow_tty is an array, so we don't need to perform NULL check on it
Amadeusz Sławiński [Sun, 18 Nov 2018 22:27:40 +0000 (23:27 +0100)]
w_tty is an array, so we don't need to perform NULL check on it

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agofix truecolor escape
Amadeusz Sławiński [Sun, 18 Nov 2018 15:28:06 +0000 (16:28 +0100)]
fix truecolor escape

it's still a hack, because to do proper detection we would need to
migrate to terminfo functions instead of termcap

Bug: 52667
Bug: 54989

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoadded documentation for traversal to parent group
Ethan Warth [Thu, 11 Oct 2018 07:31:14 +0000 (02:31 -0500)]
added documentation for traversal to parent group

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoadded function and key binding for traversing to parent
Ethan Warth [Thu, 11 Oct 2018 06:52:17 +0000 (01:52 -0500)]
added function and key binding for traversing to parent

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoadd persistent bits to window group display options
Ethan Warth [Thu, 11 Oct 2018 05:27:24 +0000 (00:27 -0500)]
add persistent bits to window group display options

Windowlist has two toggles that affect its output: the list can be sorted in
either index or MRU order, and the list can contain either just immediate
children windows of all descendant windows.  Since window groups use the same
code for their own output, they also support these toggles.

However, in the current code base, these toggles are reset to index ordering and
display of immediate children only every time a particular window group is
swapped out of and back into a pane.

Amadeusz:
added commit message + changed variable names + some reformatting

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
5 years agoFix for nomem handling in resize.c:ChangeWindowSize()
Václav Doležal [Wed, 7 Nov 2018 15:10:31 +0000 (16:10 +0100)]
Fix for nomem handling in resize.c:ChangeWindowSize()

Move `nomem' label of ChangeWindowSize() to the end of function and
add test for value of `nhlines'

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net
5 years agoRevert "those 0 assignment made rest of code totally not working"
Václav Doležal [Wed, 7 Nov 2018 15:10:29 +0000 (16:10 +0100)]
Revert "those 0 assignment made rest of code totally not working"

This reverts commit ff98d7ff5847e07a55b0c40c2ccc3bc430226ca0.

This can potentially cause double-free. `nmlines' and `nhlines'
should be freed in preceding lines.

`nmlines' and `nhlines' are not used in the rest of the function
except in `nomem' label and their valuse are copied into `p', so
their value should be zeroed.

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net
5 years agoFix file descriptor leak
Václav Doležal [Wed, 7 Nov 2018 15:10:26 +0000 (16:10 +0100)]
Fix file descriptor leak

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net
5 years agoUse memcpy(3) in string substitution
Václav Doležal [Wed, 7 Nov 2018 15:10:23 +0000 (16:10 +0100)]
Use memcpy(3) in string substitution

Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net
5 years agoapply patch by Therese fixing some doc issues
Therese Godefroy [Thu, 11 Oct 2018 22:46:55 +0000 (00:46 +0200)]
apply patch by Therese fixing some doc issues

This fixes some issues when documentation is generated for online
viewing.

5 years agobugfix: crash on dinfo, "stack smashing detected"
Jason Simpson [Mon, 24 Sep 2018 20:56:31 +0000 (22:56 +0200)]
bugfix: crash on dinfo, "stack smashing detected"

This seems to be caused by faulty pointer/buffer-length
tracking. Pointer position 'p', meant to be incremented
by the length of the string written to the buffer, is
instead incremented by (length of the buffer - length of
the string written to the buffer), quickly shooting past
the end of the allocated buffer space.

5 years agodoc: fix typos
Svyatoslav Mishyn [Wed, 18 Jul 2018 19:03:28 +0000 (22:03 +0300)]
doc: fix typos

Hi there,

just found a few typos, see attachment.

(please, CC me)

Thanks.

--
https://www.juef.space/

From 745ba353867142d3e00f4d2ab06962ba0d3aaaab Mon Sep 17 00:00:00 2001
From: Svyatoslav Mishyn <svyatoslav.mishyn@gmail.com>
Date: Wed, 4 Jul 2018 21:40:48 +0300
Subject: [PATCH] doc: fix typos

5 years agoadd %T escape to show current tty for window
Amadeusz Sławiński [Mon, 25 Jun 2018 18:22:32 +0000 (20:22 +0200)]
add %T escape to show current tty for window

5 years agoremove character substitution
Amadeusz Sławiński [Thu, 21 Jun 2018 19:45:43 +0000 (21:45 +0200)]
remove character substitution

it may be not compatible with some man page viewers

5 years agofix manpage
Eric S. Raymond [Thu, 21 Jun 2018 19:42:35 +0000 (21:42 +0200)]
fix manpage

5 years agomanpage: Explain window permissions in a table
Marcin Cieślak [Fri, 25 May 2018 20:48:25 +0000 (22:48 +0200)]
manpage: Explain window permissions in a table

5 years agomanpage: Use monospaced font to render example of "displays"
Marcin Cieślak [Fri, 25 May 2018 20:01:21 +0000 (22:01 +0200)]
manpage: Use monospaced font to render example of "displays"

5 years agomanpage: Indent both examples for readreg
Marcin Cieślak [Fri, 25 May 2018 19:52:49 +0000 (21:52 +0200)]
manpage: Indent both examples for readreg

5 years agomanpage: keep nonblock and status parameters on the same line
Marcin Cieślak [Fri, 25 May 2018 19:51:20 +0000 (21:51 +0200)]
manpage: keep nonblock and status parameters on the same line

5 years agomanpage: explain flow control state indicators with a table
Marcin Cieślak [Fri, 25 May 2018 19:48:14 +0000 (21:48 +0200)]
manpage: explain flow control state indicators with a table

5 years agomanpage: Remove horizontal lines on large tables
Marcin Cieślak [Fri, 25 May 2018 19:41:44 +0000 (21:41 +0200)]
manpage: Remove horizontal lines on large tables

Remove "allbox" tbl option from large keybinding table.
When formatting for print, large tbl tables need to be handled
specially to split nicely across the pages; instead we
just add horizontal lines and we let them overflow the pages.

The input translation table seems to fit nicely on one page
and is left as is with the "allbox" option.