Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Arkady L. Shane | ff397ac841 | 3 weeks ago |
@ -1,16 +1 @@
|
|||||||
screen-4.0.3.tar.gz
|
SOURCES/screen-5.0.0.tar.gz
|
||||||
/screen-20101110git066b098.tar.bz2
|
|
||||||
/screen-20110328git8cf5ef.tar.bz2
|
|
||||||
/screen-20110819git450e8f.tar.bz2
|
|
||||||
/screen-20120314git3c2946.tar.bz2
|
|
||||||
/screen-4.2.1.tar.gz
|
|
||||||
/screen-4.3.1.tar.gz
|
|
||||||
/screen-4.4.0.tar.gz
|
|
||||||
/screen-4.5.0.tar.gz
|
|
||||||
/screen-4.5.1.tar.gz
|
|
||||||
/screen.pam
|
|
||||||
/screen-4.6.0.tar.gz
|
|
||||||
/screen-4.6.1.tar.gz
|
|
||||||
/screen-4.6.2.tar.gz
|
|
||||||
/screen-4.7.0.tar.gz
|
|
||||||
/screen-4.8.0.tar.gz
|
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
caedbcda3bb61d4e5d38526fd1f484b25a6420a0 SOURCES/screen-5.0.0.tar.gz
|
@ -0,0 +1,17 @@
|
|||||||
|
Author: Loic Minier <lool@dooz.org>
|
||||||
|
Description: Unbreak several useful keybindings.
|
||||||
|
|
||||||
|
fix for nonworking ^a backspace (rhbz#708698)
|
||||||
|
|
||||||
|
diff -urNp a/termcap.c b/termcap.c
|
||||||
|
--- a/termcap.c 2024-08-29 13:12:18.219574842 +0200
|
||||||
|
+++ b/termcap.c 2024-08-29 13:17:59.212026846 +0200
|
||||||
|
@@ -449,8 +449,6 @@ int remap(int n, int map)
|
||||||
|
} else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- if (n < KMAP_KEYS)
|
||||||
|
- domap = 1;
|
||||||
|
if (map == 0 && domap)
|
||||||
|
return 0;
|
||||||
|
if (map && !domap)
|
@ -0,0 +1,2 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
auth include system-auth
|
@ -1,15 +0,0 @@
|
|||||||
check crypt output (rhbz#815605)
|
|
||||||
|
|
||||||
diff --git a/misc.c b/misc.c
|
|
||||||
index 2022a06..235c82f 100644
|
|
||||||
--- a/misc.c
|
|
||||||
+++ b/misc.c
|
|
||||||
@@ -57,6 +57,8 @@ register const char *str;
|
|
||||||
{
|
|
||||||
register char *cp;
|
|
||||||
|
|
||||||
+ if(str == NULL)
|
|
||||||
+ Panic(0, "SaveStr() received NULL - possibly failed crypt()");
|
|
||||||
if ((cp = malloc(strlen(str) + 1)) == NULL)
|
|
||||||
Panic(0, "%s", strnomem);
|
|
||||||
else
|
|
@ -1,52 +0,0 @@
|
|||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index c0f02df..b76c8f5 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -188,7 +188,8 @@ AC_EGREP_CPP(yes,
|
|
||||||
], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1)
|
|
||||||
if test -n "$svr4" ; then
|
|
||||||
oldlibs="$LIBS"
|
|
||||||
-LIBS="$LIBS -lelf"
|
|
||||||
+# Humm we don't actually need to link against libelf for Linux
|
|
||||||
+LIBS="$LIBS"
|
|
||||||
AC_CHECKING(SVR4)
|
|
||||||
AC_TRY_LINK([#include <utmpx.h>
|
|
||||||
],,
|
|
||||||
@@ -626,14 +627,10 @@ dnl
|
|
||||||
AC_CHECKING(for tgetent)
|
|
||||||
AC_TRY_LINK(,tgetent((char *)0, (char *)0);,,
|
|
||||||
olibs="$LIBS"
|
|
||||||
-LIBS="-lcurses $olibs"
|
|
||||||
-AC_CHECKING(libcurses)
|
|
||||||
+LIBS="-ltinfo $olibs"
|
|
||||||
+AC_CHECKING(libtinfo)
|
|
||||||
AC_TRY_LINK(,[
|
|
||||||
-#ifdef __hpux
|
|
||||||
-__sorry_hpux_libcurses_is_totally_broken_in_10_10();
|
|
||||||
-#else
|
|
||||||
tgetent((char *)0, (char *)0);
|
|
||||||
-#endif
|
|
||||||
],,
|
|
||||||
LIBS="-ltermcap $olibs"
|
|
||||||
AC_CHECKING(libtermcap)
|
|
||||||
@@ -658,7 +655,7 @@ AC_MSG_ERROR(!!! no tgetent - no screen)))))))))
|
|
||||||
AC_TRY_RUN([
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
- exit(strcmp(tgoto("%p1%d", 0, 1), "1") ? 0 : 1);
|
|
||||||
+ return 1;
|
|
||||||
}], AC_NOTE(- you use the termcap database),
|
|
||||||
AC_NOTE(- you use the terminfo database) AC_DEFINE(TERMINFO),
|
|
||||||
AC_NOTE(- skipping check because we are cross compiling; assuming terminfo database is used) AC_DEFINE(TERMINFO))
|
|
||||||
@@ -864,11 +861,6 @@ fi
|
|
||||||
dnl
|
|
||||||
dnl **** loadav ****
|
|
||||||
dnl
|
|
||||||
-if test "$cross_compiling" = no ; then
|
|
||||||
-AC_CHECKING(for libutil(s))
|
|
||||||
-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils"
|
|
||||||
-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil"
|
|
||||||
-fi
|
|
||||||
|
|
||||||
AC_CHECKING(getloadavg)
|
|
||||||
AC_TRY_LINK(,[getloadavg((double *)0, 0);],
|
|
@ -1,18 +0,0 @@
|
|||||||
Author: Loic Minier <lool@dooz.org>
|
|
||||||
Description: Unbreak several useful keybindings.
|
|
||||||
|
|
||||||
fix for nonworking ^a backspace (rhbz#708698)
|
|
||||||
|
|
||||||
diff --git a/termcap.c b/termcap.c
|
|
||||||
index 26cba62..ed9e838 100644
|
|
||||||
--- a/termcap.c
|
|
||||||
+++ b/termcap.c
|
|
||||||
@@ -553,8 +553,6 @@ int map;
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
- if (n < KMAP_KEYS)
|
|
||||||
- domap = 1;
|
|
||||||
if (map == 0 && domap)
|
|
||||||
return 0;
|
|
||||||
if (map && !domap)
|
|
@ -1,82 +0,0 @@
|
|||||||
diff -urNp a/ansi.c b/ansi.c
|
|
||||||
--- a/ansi.c 2021-02-18 07:56:55.954674224 +0100
|
|
||||||
+++ b/ansi.c 2021-02-18 08:04:25.005929307 +0100
|
|
||||||
@@ -692,10 +692,6 @@ register int len;
|
|
||||||
}
|
|
||||||
curr->w_rend.font = 0;
|
|
||||||
}
|
|
||||||
-# ifdef DW_CHARS
|
|
||||||
- if (curr->w_encoding == UTF8 && utf8_isdouble(c))
|
|
||||||
- curr->w_mbcs = 0xff;
|
|
||||||
-# endif
|
|
||||||
if (curr->w_encoding == UTF8 && c >= 0x0300 && utf8_iscomb(c))
|
|
||||||
{
|
|
||||||
int ox, oy;
|
|
||||||
@@ -730,6 +726,10 @@ register int len;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
+# ifdef DW_CHARS
|
|
||||||
+ if (curr->w_encoding == UTF8 && utf8_isdouble(c))
|
|
||||||
+ curr->w_mbcs = 0xff;
|
|
||||||
+# endif
|
|
||||||
font = curr->w_rend.font;
|
|
||||||
# endif
|
|
||||||
# ifdef DW_CHARS
|
|
||||||
diff -urNp a/encoding.c b/encoding.c
|
|
||||||
--- a/encoding.c 2021-02-18 07:56:55.949674177 +0100
|
|
||||||
+++ b/encoding.c 2021-02-18 08:02:21.187750152 +0100
|
|
||||||
@@ -43,7 +43,7 @@ static int encmatch __P((char *, char *
|
|
||||||
# ifdef UTF8
|
|
||||||
static int recode_char __P((int, int, int));
|
|
||||||
static int recode_char_to_encoding __P((int, int));
|
|
||||||
-static void comb_tofront __P((int, int));
|
|
||||||
+static void comb_tofront __P((int));
|
|
||||||
# ifdef DW_CHARS
|
|
||||||
static int recode_char_dw __P((int, int *, int, int));
|
|
||||||
static int recode_char_dw_to_encoding __P((int, int *, int));
|
|
||||||
@@ -1263,6 +1263,8 @@ int c;
|
|
||||||
{0x30000, 0x3FFFD},
|
|
||||||
};
|
|
||||||
|
|
||||||
+ if (c >= 0xdf00 && c <= 0xdfff)
|
|
||||||
+ return 1; /* dw combining sequence */
|
|
||||||
return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
|
|
||||||
(cjkwidth &&
|
|
||||||
bisearch(c, ambiguous,
|
|
||||||
@@ -1330,11 +1332,12 @@ int c;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-comb_tofront(root, i)
|
|
||||||
-int root, i;
|
|
||||||
+comb_tofront(i)
|
|
||||||
+int i;
|
|
||||||
{
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
+ int root = i >= 0x700 ? 0x801 : 0x800;
|
|
||||||
debug1("bring to front: %x\n", i);
|
|
||||||
combchars[combchars[i]->prev]->next = combchars[i]->next;
|
|
||||||
combchars[combchars[i]->next]->prev = combchars[i]->prev;
|
|
||||||
@@ -1396,9 +1399,9 @@ struct mchar *mc;
|
|
||||||
{
|
|
||||||
/* full, recycle old entry */
|
|
||||||
if (c1 >= 0xd800 && c1 < 0xe000)
|
|
||||||
- comb_tofront(root, c1 - 0xd800);
|
|
||||||
+ comb_tofront(c1 - 0xd800);
|
|
||||||
i = combchars[root]->prev;
|
|
||||||
- if (c1 == i + 0xd800)
|
|
||||||
+ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
|
|
||||||
{
|
|
||||||
/* completely full, can't recycle */
|
|
||||||
debug("utf8_handle_comp: completely full!\n");
|
|
||||||
@@ -1422,7 +1425,7 @@ struct mchar *mc;
|
|
||||||
mc->font = (i >> 8) + 0xd8;
|
|
||||||
mc->fontx = 0;
|
|
||||||
debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
|
|
||||||
- comb_tofront(root, i);
|
|
||||||
+ comb_tofront(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* !UTF8 */
|
|
@ -1,37 +0,0 @@
|
|||||||
From a96e68a70e362597c2ab49d3f9a60f4586a1ae5b Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?V=C3=A1clav=20Dole=C5=BEal?= <vdolezal@redhat.com>
|
|
||||||
Date: Fri, 21 Feb 2020 13:49:08 +0100
|
|
||||||
Subject: [PATCH] Expand d_xtermosc array in struct display
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Commit c5db181 expands index range of "typ2" by one without expanding
|
|
||||||
affected arrays. d_xtermosc in struct display is one of these.
|
|
||||||
|
|
||||||
Related: c5db181b6e017cfccb8d7842ce140e59294d9f62
|
|
||||||
(ansi: add support for xterm OSC 11)
|
|
||||||
Related: 68386dfb1fa33471372a8cd2e74686758a2f527b
|
|
||||||
(Fix out of bounds access when setting w_xtermosc after OSC 49)
|
|
||||||
|
|
||||||
Signed-off-by: Václav Doležal <vdolezal@redhat.com>
|
|
||||||
---
|
|
||||||
display.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/display.h b/display.h
|
|
||||||
index 459cc5d..4fc2061 100644
|
|
||||||
--- a/display.h
|
|
||||||
+++ b/display.h
|
|
||||||
@@ -112,7 +112,7 @@ struct display
|
|
||||||
int d_mousetrack; /* set when user wants to use mouse even when the window
|
|
||||||
does not */
|
|
||||||
#ifdef RXVT_OSC
|
|
||||||
- int d_xtermosc[4]; /* osc used */
|
|
||||||
+ int d_xtermosc[5]; /* osc used */
|
|
||||||
#endif
|
|
||||||
struct mchar d_lpchar; /* missing char */
|
|
||||||
struct timeval d_status_time; /* time of status display */
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
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 d0ed6a4..7b534c0 100644
|
|
||||||
--- a/display.c
|
|
||||||
+++ b/display.c
|
|
||||||
@@ -4079,4 +4079,10 @@ char **cmdv;
|
|
||||||
|
|
||||||
#endif /* BLANKER_PRG */
|
|
||||||
|
|
||||||
+void
|
|
||||||
+ClearScrollbackBuffer()
|
|
||||||
+{
|
|
||||||
+ if (D_CE3)
|
|
||||||
+ AddCStr(D_CE3);
|
|
||||||
+}
|
|
||||||
|
|
||||||
diff --git a/extern.h b/extern.h
|
|
||||||
index d4e57df..4564581 100644
|
|
||||||
--- a/extern.h
|
|
||||||
+++ b/extern.h
|
|
||||||
@@ -320,6 +320,7 @@ extern int color256to88 __P((int));
|
|
||||||
extern void ResetIdle __P((void));
|
|
||||||
extern void KillBlanker __P((void));
|
|
||||||
extern void DisplaySleep1000 __P((int, int));
|
|
||||||
+extern void ClearScrollbackBuffer __P((void));
|
|
||||||
|
|
||||||
/* resize.c */
|
|
||||||
extern int ChangeWindowSize __P((struct win *, int, int, int));
|
|
||||||
diff --git a/screen.c b/screen.c
|
|
||||||
index 7dcb9af..c934d75 100644
|
|
||||||
--- a/screen.c
|
|
||||||
+++ b/screen.c
|
|
||||||
@@ -1952,6 +1952,7 @@ void Detach(int mode)
|
|
||||||
|
|
||||||
case D_LOCK:
|
|
||||||
ClearAll();
|
|
||||||
+ ClearScrollbackBuffer();
|
|
||||||
sign = SIG_LOCK;
|
|
||||||
/* tell attacher to lock terminal with a lockprg. */
|
|
||||||
break;
|
|
||||||
diff --git a/term.c b/term.c
|
|
||||||
index c7a13c9..f49b3a7 100644
|
|
||||||
--- a/term.c
|
|
||||||
+++ b/term.c
|
|
||||||
@@ -83,6 +83,7 @@ struct term term[T_N] =
|
|
||||||
{ "CD", T_STR },
|
|
||||||
{ "ce", T_STR },
|
|
||||||
{ "cb", T_STR },
|
|
||||||
+ { "E3", T_STR },
|
|
||||||
|
|
||||||
/* initialise */
|
|
||||||
{ "is", T_STR },
|
|
Loading…
Reference in new issue