From 8edf2cbe7684195ac30259197800d79babf681a8 Mon Sep 17 00:00:00 2001 From: Josef Ridky Date: Wed, 18 Jan 2017 11:46:30 +0100 Subject: [PATCH] Resolves: #1414185 - vew version of screen - 4.5.0 --- .gitignore | 1 + screen-4.4.0-terminal-length.patch | 13 ------------ screen-4.4.0-terminal-segfault.patch | 30 ---------------------------- screen-E3.patch | 25 +++++++---------------- screen.spec | 11 +++++----- sources | 2 +- 6 files changed, 14 insertions(+), 68 deletions(-) delete mode 100644 screen-4.4.0-terminal-length.patch delete mode 100644 screen-4.4.0-terminal-segfault.patch diff --git a/.gitignore b/.gitignore index d037b51..f665535 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ screen-4.0.3.tar.gz /screen-4.2.1.tar.gz /screen-4.3.1.tar.gz /screen-4.4.0.tar.gz +/screen-4.5.0.tar.gz diff --git a/screen-4.4.0-terminal-length.patch b/screen-4.4.0-terminal-length.patch deleted file mode 100644 index 271260d..0000000 --- a/screen-4.4.0-terminal-length.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -ruNp orig/screen.c new/screen.c ---- orig/screen.c 2016-09-14 10:14:48.300290829 +0200 -+++ new/screen.c 2016-09-14 10:16:19.119329639 +0200 -@@ -694,7 +694,7 @@ char **av; - strncpy(screenterm, *av, MAXTERMLEN); - screenterm[MAXTERMLEN] = '\0'; - } else -- Panic(0, "-T: terminal name too long. (max. 20 char)"); -+ Panic(0, "-T: terminal name too long. (max. %d char)", MAXTERMLEN); - nwin_options.term = screenterm; - break; - case 'q': - diff --git a/screen-4.4.0-terminal-segfault.patch b/screen-4.4.0-terminal-segfault.patch deleted file mode 100644 index 1ed2cc3..0000000 --- a/screen-4.4.0-terminal-segfault.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -rNup orig/window.c new/window.c ---- orig/window.c 2016-06-19 21:41:03.000000000 +0200 -+++ new/window.c 2016-09-14 08:15:56.866662539 +0200 -@@ -1206,7 +1206,7 @@ struct win *win; - char **args, *ttyn; - { - int pid; -- char tebuf[25]; -+ char tebuf[MAXTERMLEN + 6]; // MAXTERMLEN + strlen("TERM=") + '\0' - char ebuf[20]; - char shellbuf[7 + MAXPATHLEN]; - char *proc; -@@ -1442,7 +1442,7 @@ char **args, *ttyn; - { - char *s1, *s2, tl; - -- sprintf(tebuf, "TERM=%s", win->w_term); -+ snprintf(tebuf, sizeof(tebuf), "TERM=%s", win->w_term); - debug2("Makewindow %d with %s\n", win->w_number, tebuf); - tl = strlen(win->w_term); - NewEnv[1] = tebuf; -@@ -1458,7 +1458,7 @@ char **args, *ttyn; - } - } - } -- sprintf(ebuf, "WINDOW=%d", win->w_number); -+ snprintf(ebuf, sizeof(ebuf), "WINDOW=%d", win->w_number); - NewEnv[3] = ebuf; - - if (*proc == '-') diff --git a/screen-E3.patch b/screen-E3.patch index 97047a6..31fb2be 100644 --- a/screen-E3.patch +++ b/screen-E3.patch @@ -1,19 +1,8 @@ -commit 0aec2900f63820c3405ba38a4d1cd67cc22f0715 -Author: Miroslav Lichvar -Date: Mon Jul 18 17:26:47 2011 +0200 - - Clear scrollback buffer when locking terminal - - Linux kernel 3.0 adds a new command to clear the scrollback buffer in - the linux console. It's available in the ncurses terminfo entry as - extended capability E3. This is useful to prevent an attacker to read - content of a locked terminal via Shift-PgUp key. - diff --git a/display.c b/display.c -index 5fa11cb..038c435 100644 +index b11b18b..180f19c 100644 --- a/display.c +++ b/display.c -@@ -3779,4 +3779,10 @@ char **cmdv; +@@ -3818,4 +3818,10 @@ char **cmdv; #endif /* BLANKER_PRG */ @@ -25,7 +14,7 @@ index 5fa11cb..038c435 100644 +} diff --git a/extern.h b/extern.h -index c787d99..d3fecf0 100644 +index 7966008..e1ec242 100644 --- a/extern.h +++ b/extern.h @@ -316,6 +316,7 @@ extern int color256to88 __P((int)); @@ -37,11 +26,11 @@ index c787d99..d3fecf0 100644 /* resize.c */ extern int ChangeWindowSize __P((struct win *, int, int, int)); diff --git a/screen.c b/screen.c -index cc8f565..3efb67b 100644 +index 64650e9..c68d949 100644 --- a/screen.c +++ b/screen.c -@@ -1967,6 +1967,7 @@ int mode; - #endif +@@ -1958,6 +1958,7 @@ void Detach(int mode) + case D_LOCK: ClearAll(); + ClearScrollbackBuffer(); @@ -49,7 +38,7 @@ index cc8f565..3efb67b 100644 /* tell attacher to lock terminal with a lockprg. */ break; diff --git a/term.c b/term.c -index 991de1b..7485900 100644 +index c92d85a..a6e9200 100644 --- a/term.c +++ b/term.c @@ -83,6 +83,7 @@ struct term term[T_N] = diff --git a/screen.spec b/screen.spec index f2aa737..6174110 100644 --- a/screen.spec +++ b/screen.spec @@ -3,8 +3,8 @@ Summary: A screen manager that supports multiple logins on one terminal Name: screen -Version: 4.4.0 -Release: 4%{?dist} +Version: 4.5.0 +Release: 1%{?dist} License: GPLv2+ Group: Applications/System URL: http://www.gnu.org/software/screen @@ -25,8 +25,6 @@ Patch2: screen-4.3.1-screenrc.patch Patch3: screen-E3.patch Patch4: screen-4.3.1-suppress_remap.patch Patch5: screen-4.3.1-crypt.patch -Patch6: screen-4.4.0-terminal-segfault.patch -Patch7: screen-4.4.0-terminal-length.patch %description The screen utility allows you to have multiple logins on just one @@ -45,8 +43,6 @@ support multiple logins on one terminal. %patch3 -p1 -b .E3 %patch4 -p1 -b .suppress_remap %patch5 -p1 -b .crypto -%patch6 -p1 -b .terminal-segfault -%patch7 -p1 -b .terminal-length %build ./autogen.sh @@ -143,6 +139,9 @@ fi %endif %changelog +* Wed Jan 18 2017 Josef Ridky - 4.5.0-1 +- New upstream release 4.5.0 (#1414185) + * Wed Nov 2 2016 Josef Ridky - 4.4.0-4 - revert changes from previous update (4.4.0-3) diff --git a/sources b/sources index f8b2918..b64cba5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d26e11a3648c2b11aaefa215a55dfd39 screen-4.4.0.tar.gz +SHA512 (screen-4.5.0.tar.gz) = b2705ed9604355d4153d7902f820af6131a1f2387650f5c6efeda7acf543aad48e8603c26d7c6e74213c8eece994d5d9bb0d114bc19c8d8f3d8e99c00ea4a484