Resolves: #1414185 - vew version of screen - 4.5.0

epel9
Josef Ridky 8 years ago
parent 8b5d639b1c
commit 8edf2cbe76

1
.gitignore vendored

@ -6,3 +6,4 @@ screen-4.0.3.tar.gz
/screen-4.2.1.tar.gz /screen-4.2.1.tar.gz
/screen-4.3.1.tar.gz /screen-4.3.1.tar.gz
/screen-4.4.0.tar.gz /screen-4.4.0.tar.gz
/screen-4.5.0.tar.gz

@ -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':

@ -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 == '-')

@ -1,19 +1,8 @@
commit 0aec2900f63820c3405ba38a4d1cd67cc22f0715
Author: Miroslav Lichvar <mlichvar@redhat.com>
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 diff --git a/display.c b/display.c
index 5fa11cb..038c435 100644 index b11b18b..180f19c 100644
--- a/display.c --- a/display.c
+++ b/display.c +++ b/display.c
@@ -3779,4 +3779,10 @@ char **cmdv; @@ -3818,4 +3818,10 @@ char **cmdv;
#endif /* BLANKER_PRG */ #endif /* BLANKER_PRG */
@ -25,7 +14,7 @@ index 5fa11cb..038c435 100644
+} +}
diff --git a/extern.h b/extern.h diff --git a/extern.h b/extern.h
index c787d99..d3fecf0 100644 index 7966008..e1ec242 100644
--- a/extern.h --- a/extern.h
+++ b/extern.h +++ b/extern.h
@@ -316,6 +316,7 @@ extern int color256to88 __P((int)); @@ -316,6 +316,7 @@ extern int color256to88 __P((int));
@ -37,11 +26,11 @@ index c787d99..d3fecf0 100644
/* resize.c */ /* resize.c */
extern int ChangeWindowSize __P((struct win *, int, int, int)); extern int ChangeWindowSize __P((struct win *, int, int, int));
diff --git a/screen.c b/screen.c diff --git a/screen.c b/screen.c
index cc8f565..3efb67b 100644 index 64650e9..c68d949 100644
--- a/screen.c --- a/screen.c
+++ b/screen.c +++ b/screen.c
@@ -1967,6 +1967,7 @@ int mode; @@ -1958,6 +1958,7 @@ void Detach(int mode)
#endif
case D_LOCK: case D_LOCK:
ClearAll(); ClearAll();
+ ClearScrollbackBuffer(); + ClearScrollbackBuffer();
@ -49,7 +38,7 @@ index cc8f565..3efb67b 100644
/* tell attacher to lock terminal with a lockprg. */ /* tell attacher to lock terminal with a lockprg. */
break; break;
diff --git a/term.c b/term.c diff --git a/term.c b/term.c
index 991de1b..7485900 100644 index c92d85a..a6e9200 100644
--- a/term.c --- a/term.c
+++ b/term.c +++ b/term.c
@@ -83,6 +83,7 @@ struct term term[T_N] = @@ -83,6 +83,7 @@ struct term term[T_N] =

@ -3,8 +3,8 @@
Summary: A screen manager that supports multiple logins on one terminal Summary: A screen manager that supports multiple logins on one terminal
Name: screen Name: screen
Version: 4.4.0 Version: 4.5.0
Release: 4%{?dist} Release: 1%{?dist}
License: GPLv2+ License: GPLv2+
Group: Applications/System Group: Applications/System
URL: http://www.gnu.org/software/screen URL: http://www.gnu.org/software/screen
@ -25,8 +25,6 @@ Patch2: screen-4.3.1-screenrc.patch
Patch3: screen-E3.patch Patch3: screen-E3.patch
Patch4: screen-4.3.1-suppress_remap.patch Patch4: screen-4.3.1-suppress_remap.patch
Patch5: screen-4.3.1-crypt.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 %description
The screen utility allows you to have multiple logins on just one 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 %patch3 -p1 -b .E3
%patch4 -p1 -b .suppress_remap %patch4 -p1 -b .suppress_remap
%patch5 -p1 -b .crypto %patch5 -p1 -b .crypto
%patch6 -p1 -b .terminal-segfault
%patch7 -p1 -b .terminal-length
%build %build
./autogen.sh ./autogen.sh
@ -143,6 +139,9 @@ fi
%endif %endif
%changelog %changelog
* Wed Jan 18 2017 Josef Ridky <jridky@redhat.com> - 4.5.0-1
- New upstream release 4.5.0 (#1414185)
* Wed Nov 2 2016 Josef Ridky <jridky@redhat.com> - 4.4.0-4 * Wed Nov 2 2016 Josef Ridky <jridky@redhat.com> - 4.4.0-4
- revert changes from previous update (4.4.0-3) - revert changes from previous update (4.4.0-3)

@ -1 +1 @@
d26e11a3648c2b11aaefa215a55dfd39 screen-4.4.0.tar.gz SHA512 (screen-4.5.0.tar.gz) = b2705ed9604355d4153d7902f820af6131a1f2387650f5c6efeda7acf543aad48e8603c26d7c6e74213c8eece994d5d9bb0d114bc19c8d8f3d8e99c00ea4a484

Loading…
Cancel
Save