I have made the following changes intended for : CE:Utils / screen Please review and accept ASAP - BOSS has already processed this request and suggests ??? See the "Messages from BOSS" section below
https://build.pub.meego.com/request/show/2626 Thank You, bossbot ([email protected]) [This message was auto-generated] --- Request # 2626: Messages from BOSS: None State: new 2011-10-24T14:03:51 bossbot Reviews: from bossbot :BOSS suggests accepting this review. See email for more details. BOSS accepted this review because: Target repo CE_Utils_armv7hl found. accepted on No date Changes: submit: home:sage:Mer:Utils / screen -> CE:Utils / screen Index: screen.spec =================================================================== --- screen.spec (revision 0) +++ screen.spec (revision 2) @@ -0,0 +1,117 @@ +#specfile originally created for Fedora, modified for Moblin Linux +Summary: A screen manager that supports multiple logins on one terminal +Name: screen +Version: 4.0.3 +Release: 12 +License: GPLv2+ +Group: Applications/System +URL: http://www.gnu.org/software/screen +Requires(pre): /usr/sbin/groupadd +Requires(preun): /sbin/install-info +Requires(post): /sbin/install-info +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: ncurses-devel pam-devel libutempter-devel autoconf texinfo + +# The one and only true source +Source0: ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-%{version}.tar.gz +# Except for the PAM configuration, that is. +Source1: screen.pam + +Patch1: screen-4.0.3-libs.patch +# Some tweaks of the default screenrc +Patch2: screen-4.0.2-screenrc.patch +Patch4: screen-4.0.3-stropts.patch +# Fixes potential buffer overflow when > 2^31 semicolons are passed. +Patch7: screen-4.0.1-args.patch +Patch11: screen-4.0.2-maxstr.patch +Patch12: screen-4.0.3-ipv6.patch +Patch13: screen-CVE-2009-1214,1215.patch + +%description +The screen utility allows you to have multiple logins on just one +terminal. Screen is useful for users who telnet into a machine or are +connected via a dumb terminal, but want to use more than just one +login. + +Install the screen package if you need a screen manager that can +support multiple logins on one terminal. + + +%prep +%setup -q +%patch1 -p1 -b .libs +%patch2 -p1 -b .screenrc +%patch4 -p1 -b .stropts +%patch7 -p0 -b .args +%patch11 -p1 -b .maxstr +%patch12 -p1 -b .ipv6 +%patch13 -p1 -b .CVE-2009-1214,1215 + +%build +autoconf + +%configure \ + --enable-pam \ + --enable-colors256 \ + --enable-rxvt_osc \ + --enable-locale \ + --enable-telnet \ + --with-pty-mode=0620 \ + --with-pty-group=$(getent group tty | cut -d : -f 3) \ + --with-sys-screenrc="%{_sysconfdir}/screenrc" \ + --with-socket-dir="%{_localstatedir}/run/screen" + +# We would like to have braille support. +sed -i -e 's/.*#.*undef.*HAVE_BRAILLE.*/#define HAVE_BRAILLE 1/;' config.h + +sed -i -e 's/\(\/usr\)\?\/local\/etc/\/etc/g;' doc/screen.{1,texinfo} +rm doc/screen.info* + +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT +mv -f $RPM_BUILD_ROOT%{_bindir}/screen{-%{version},} + +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} +install -m 0644 etc/etcscreenrc $RPM_BUILD_ROOT%{_sysconfdir}/screenrc +cat etc/screenrc >> $RPM_BUILD_ROOT%{_sysconfdir}/screenrc + +# Better not forget to copy the pam file around +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d +install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/screen + +# Create the socket dir +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/screen + +# Remove files from the buildroot which we don't want packaged +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +/usr/sbin/groupadd -g 84 -r -f screen +: + +%post +/sbin/install-info %{_infodir}/screen.info.gz %{_infodir}/dir --entry="* screen: (screen). Terminal multiplexer." ||: + +%preun +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_infodir}/screen.info.gz %{_infodir}/dir --entry="* screen: (screen). Terminal multiplexer." ||: +fi + +%files +%defattr(-,root,root,-) +%doc NEWS README doc/FAQ doc/README.DOTSCREEN COPYING +%attr(2755,root,screen) %{_bindir}/screen +%doc %{_mandir}/man1/screen.* +%doc %{_infodir}/screen.info* +%{_datadir}/screen +%attr(775,root,screen) %{_localstatedir}/run/screen +%config(noreplace) %{_sysconfdir}/screenrc +%config(noreplace) %{_sysconfdir}/pam.d/screen + Index: screen.pam =================================================================== --- screen.pam (revision 0) +++ screen.pam (revision 2) @@ -0,0 +1,2 @@ +#%PAM-1.0 +auth include system-auth Index: screen-4.0.2-maxstr.patch =================================================================== --- screen-4.0.2-maxstr.patch (revision 0) +++ screen-4.0.2-maxstr.patch (revision 2) @@ -0,0 +1,11 @@ +--- screen-4.0.2/screen.h.maxstr 2006-07-10 13:37:11.000000000 +0200 ++++ screen-4.0.2/screen.h 2006-07-10 13:36:36.000000000 +0200 +@@ -86,7 +86,7 @@ + + #define Ctrl(c) ((c)&037) + +-#define MAXSTR 256 ++#define MAXSTR 4096 + #define MAXARGS 64 + #define MSGWAIT 5 + #define MSGMINWAIT 1 Index: screen-4.0.3-stropts.patch =================================================================== --- screen-4.0.3-stropts.patch (revision 0) +++ screen-4.0.3-stropts.patch (revision 2) @@ -0,0 +1,48 @@ +diff -up screen-4.0.3/tty.sh.stropts screen-4.0.3/tty.sh +--- screen-4.0.3/tty.sh.stropts 2003-09-08 16:24:25.000000000 +0200 ++++ screen-4.0.3/tty.sh 2008-04-07 11:28:34.000000000 +0200 +@@ -76,7 +76,7 @@ exit 0 + #endif + + #include "config.h" +-#ifdef SVR4 ++#if 0 + #include <sys/stropts.h> /* for I_POP */ + #endif + +diff -up screen-4.0.3/screen.c.stropts screen-4.0.3/screen.c +--- screen-4.0.3/screen.c.stropts 2008-04-07 11:25:21.000000000 +0200 ++++ screen-4.0.3/screen.c 2008-04-07 11:29:14.000000000 +0200 +@@ -50,7 +50,7 @@ + + #include "config.h" + +-#ifdef SVR4 ++#if 0 + # include <sys/stropts.h> + #endif + +diff -up screen-4.0.3/process.c.stropts screen-4.0.3/process.c +--- screen-4.0.3/process.c.stropts 2003-09-18 14:53:54.000000000 +0200 ++++ screen-4.0.3/process.c 2008-04-07 11:29:47.000000000 +0200 +@@ -37,7 +37,7 @@ + #include "config.h" + + /* for solaris 2.1, Unixware (SVR4.2) and possibly others: */ +-#ifdef SVR4 ++#if 0 + # include <sys/stropts.h> + #endif + +diff -up screen-4.0.3/pty.c.stropts screen-4.0.3/pty.c +--- screen-4.0.3/pty.c.stropts 2003-09-08 16:26:18.000000000 +0200 ++++ screen-4.0.3/pty.c 2008-04-07 11:30:07.000000000 +0200 +@@ -34,7 +34,7 @@ + #endif + + /* for solaris 2.1, Unixware (SVR4.2) and possibly others */ +-#ifdef HAVE_SVR4_PTYS ++#if 0 + # include <sys/stropts.h> + #endif + Index: screen-4.0.3-ipv6.patch =================================================================== --- screen-4.0.3-ipv6.patch (revision 0) +++ screen-4.0.3-ipv6.patch (revision 2) @@ -0,0 +1,323 @@ +--- screen-4.0.3/window.h.ipv6 2003-08-21 16:57:30.000000000 +0200 ++++ screen-4.0.3/window.h 2006-11-15 13:36:57.000000000 +0100 +@@ -254,7 +254,7 @@ + struct display *w_zdisplay; + #endif + #ifdef BUILTIN_TELNET +- struct sockaddr_in w_telsa; ++ struct sockaddr_storage w_telsa; + char w_telbuf[IOSIZE]; + int w_telbufl; + char w_telmopts[256]; +--- screen-4.0.3/window.c.ipv6 2003-12-05 14:45:41.000000000 +0100 ++++ screen-4.0.3/window.c 2006-11-15 13:39:27.000000000 +0100 +@@ -582,6 +582,13 @@ + n = pp - wtab; + debug1("Makewin creating %d\n", n); + ++#ifdef BUILTIN_TELNET ++ if(!strcmp(nwin.args[0], "//telnet")) { ++ type = W_TYPE_TELNET; ++ TtyName = "telnet"; ++ } ++ else ++#endif + if ((f = OpenDevice(nwin.args, nwin.lflag, &type, &TtyName)) < 0) + return -1; + +@@ -736,7 +743,7 @@ + #ifdef BUILTIN_TELNET + if (type == W_TYPE_TELNET) + { +- if (TelConnect(p)) ++ if (TelOpenAndConnect(p)) + { + FreeWindow(p); + return -1; +@@ -834,6 +841,13 @@ + int lflag, f; + + lflag = nwin_default.lflag; ++#ifdef BUILTIN_TELNET ++ if(!strcmp(p->w_cmdargs[0], "//telnet")) { ++ p->w_type = W_TYPE_TELNET; ++ TtyName = "telnet"; ++ } ++ else ++#endif + if ((f = OpenDevice(p->w_cmdargs, lflag, &p->w_type, &TtyName)) < 0) + return -1; + +@@ -864,7 +878,7 @@ + #ifdef BUILTIN_TELNET + if (p->w_type == W_TYPE_TELNET) + { +- if (TelConnect(p)) ++ if (TelOpenAndConnect(p)) + return -1; + } + else +@@ -1007,16 +1021,6 @@ + + if (!arg) + return -1; +-#ifdef BUILTIN_TELNET +- if (strcmp(arg, "//telnet") == 0) +- { +- f = TelOpen(args + 1); +- lflag = 0; +- *typep = W_TYPE_TELNET; +- *namep = "telnet"; +- } +- else +-#endif + if ((stat(arg, &st)) == 0 && S_ISCHR(st.st_mode)) + { + if (access(arg, R_OK | W_OK) == -1) +--- screen-4.0.3/teln.c.ipv6 2003-09-08 16:26:56.000000000 +0200 ++++ screen-4.0.3/teln.c 2006-11-15 13:36:57.000000000 +0100 +@@ -25,6 +25,7 @@ + #include <sys/socket.h> + #include <fcntl.h> + #include <netdb.h> ++#include <stdio.h> + + #include "config.h" + +@@ -37,12 +38,13 @@ + extern struct layer *flayer; + extern int visual_bell; + extern char screenterm[]; ++extern int af; + + static void TelReply __P((struct win *, char *, int)); + static void TelDocmd __P((struct win *, int, int)); + static void TelDosub __P((struct win *)); +- +-#define TEL_DEFPORT 23 ++// why TEL_DEFPORT has " ++#define TEL_DEFPORT "23" + #define TEL_CONNECTING (-2) + + #define TC_IAC 255 +@@ -99,86 +101,78 @@ + } + + int +-TelOpen(args) +-char **args; +-{ +- int fd; +- int on = 1; +- +- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) +- { +- Msg(errno, "TelOpen: socket"); +- return -1; +- } +- if (setsockopt(fd, SOL_SOCKET, SO_OOBINLINE, (char *)&on, sizeof(on))) +- Msg(errno, "TelOpen: setsockopt SO_OOBINLINE"); +- return fd; +-} +- +-int +-TelConnect(p) +-struct win *p; +-{ +- int port = TEL_DEFPORT; +- struct hostent *hp; +- char **args; ++TelOpenAndConnect(struct win *p) { ++ int fd, on = 1; + char buf[256]; + +- args = p->w_cmdargs + 1; +- +- if (!*args) +- { +- Msg(0, "Usage: screen //telnet host [port]"); +- return -1; +- } +- if (args[1]) +- port = atoi(args[1]); +- p->w_telsa.sin_family = AF_INET; +- if((p->w_telsa.sin_addr.s_addr = inet_addr(*args)) == -1) +- { +- if ((hp = gethostbyname(*args)) == NULL) +- { +- Msg(0, "unknown host: %s", *args); +- return -1; +- } +- if (hp->h_length != sizeof(p->w_telsa.sin_addr.s_addr) || hp->h_addrtype != AF_INET) +- { +- Msg(0, "Bad address type for %s", hp->h_name); +- return -1; +- } +- bcopy((char *)hp->h_addr,(char *)&p->w_telsa.sin_addr.s_addr, hp->h_length); +- p->w_telsa.sin_family = hp->h_addrtype; +- } +- p->w_telsa.sin_port = htons(port); +- if (port != TEL_DEFPORT) +- sprintf(buf, "Trying %s %d...", inet_ntoa(p->w_telsa.sin_addr), port); +- else +- sprintf(buf, "Trying %s...", inet_ntoa(p->w_telsa.sin_addr)); +- WriteString(p, buf, strlen(buf)); +- if (connect(p->w_ptyfd, (struct sockaddr *)&p->w_telsa, sizeof(p->w_telsa))) +- { +- if (errno == EINPROGRESS) +- { +- p->w_telstate = TEL_CONNECTING; +- p->w_telconnev.fd = p->w_ptyfd; +- p->w_telconnev.handler = tel_connev_fn; +- p->w_telconnev.data = (char *)p; +- p->w_telconnev.type = EV_WRITE; +- p->w_telconnev.pri = 1; +- debug("telnet connect in progress...\n"); +- evenq(&p->w_telconnev); +- } +- else +- { +- Msg(errno, "TelOpen: connect"); +- return -1; +- } +- } +- else +- WriteString(p, "connected.\r\n", 12); +- if (port == TEL_DEFPORT) +- TelReply(p, (char *)tn_init, sizeof(tn_init)); +- return 0; ++ struct addrinfo hints, *res0, *res; ++ ++ if (!(p->w_cmdargs[1])) { ++ Msg(0, "Usage: screen //telnet host [port]"); ++ return -1; ++ } ++ ++ memset(&hints, 0, sizeof(hints)); ++ hints.ai_family = af; ++ hints.ai_socktype = SOCK_STREAM; ++ hints.ai_protocol = IPPROTO_TCP; ++ if(getaddrinfo(p->w_cmdargs[1], p->w_cmdargs[2] ? p->w_cmdargs[2] : TEL_DEFPORT, (123 more lines skipped) Index: screen-4.0.1-args.patch =================================================================== --- screen-4.0.1-args.patch (revision 0) +++ screen-4.0.1-args.patch (revision 2) @@ -0,0 +1,31 @@ +--- ansi.c.orig 2003-12-04 10:59:05.000000000 -0500 ++++ ansi.c 2003-12-04 10:59:20.000000000 -0500 +@@ -559,7 +559,7 @@ + { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': +- if (curr->w_NumArgs < MAXARGS) ++ if (curr->w_NumArgs >= 0 && curr->w_NumArgs < MAXARGS) + { + if (curr->w_args[curr->w_NumArgs] < 100000000) + curr->w_args[curr->w_NumArgs] = +--- resize.c.old 2003-11-27 02:55:07.000000000 +0200 ++++ resize.c 2003-11-27 02:58:33.000000000 +0200 +@@ -682,6 +682,17 @@ + if (wi == 0) + he = hi = 0; + ++ if (wi > 1000) ++ { ++ Msg(0, "Window width too large, truncated"); ++ wi = 1000; ++ } ++ if (he > 1000) ++ { ++ Msg(0, "Window height too large, truncated"); ++ he = 1000; ++ } ++ + if (p->w_width == wi && p->w_height == he && p->w_histheight == hi) + { + debug("ChangeWindowSize: No change.\n"); Index: screen-4.0.3.tar.gz =================================================================== Binary file screen-4.0.3.tar.gz added Index: screen-4.0.3-libs.patch =================================================================== --- screen-4.0.3-libs.patch (revision 0) +++ screen-4.0.3-libs.patch (revision 2) @@ -0,0 +1,50 @@ +diff -up screen-4.0.3/configure.in.libs screen-4.0.3/configure.in +--- screen-4.0.3/configure.in.libs 2003-06-03 13:58:24.000000000 +0200 ++++ screen-4.0.3/configure.in 2008-02-26 13:58:29.000000000 +0100 +@@ -196,7 +196,9 @@ AC_EGREP_CPP(yes, + ], LIBS="$LIBS -lsocket -linet";seqptx=1) + + oldlibs="$LIBS" +-LIBS="$LIBS -lelf" ++# Humm we don't actually need to link against libelf for linux ++#LIBS="$LIBS -lelf" ++LIBS="$LIBS" + AC_CHECKING(SVR4) + AC_TRY_LINK([#include <utmpx.h> + ],, +@@ -643,14 +645,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) +@@ -666,7 +664,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_CHECKING(ospeed) +@@ -864,9 +862,6 @@ fi + dnl + dnl **** loadav **** + dnl +-AC_CHECKING(for libutil(s)) +-test -f /usr/lib/libutils.a && LIBS="$LIBS -lutils" +-test -f /usr/lib/libutil.a && LIBS="$LIBS -lutil" + + AC_CHECKING(getloadavg) + AC_TRY_LINK(,[getloadavg((double *)0, 0);], Index: screen-CVE-2009-1214,1215.patch =================================================================== --- screen-CVE-2009-1214,1215.patch (revision 0) +++ screen-CVE-2009-1214,1215.patch (revision 2) @@ -0,0 +1,101 @@ +diff -uNr screen-4.0.3/fileio.c screen-4.0.3-fixed/fileio.c +--- screen-4.0.3/fileio.c 2003-09-08 22:25:28.000000000 +0800 ++++ screen-4.0.3-fixed/fileio.c 2009-04-25 00:42:53.000000000 +0800 +@@ -365,11 +365,13 @@ + char *mode = "w"; + #ifdef COPY_PASTE + int public = 0; ++/* + # ifdef _MODE_T + mode_t old_umask; + # else + int old_umask; + # endif ++*/ + # ifdef HAVE_LSTAT + struct stat stb, stb2; + int fd, exists = 0; +@@ -412,8 +414,30 @@ + fnbuf[sizeof(fnbuf) - 1] = 0; + fn = fnbuf; + } ++/** ++ * I consider this 'public exchange file' feature a bad idea, at least ++ * if this is the default case. I really don't like the idea of an admin ++ * copying configuration file snippets around that might get changed ++ * in that buffer file. ++ * Drop the notion of a 'public' exchange file. If someone explictly wants ++ * to share his copy buffer contents, he is free to chmod it after its ++ * creation. ++ * Jan Nordholz <[email protected]>, 2007/08/07 ++ * ++ * Race condition fix. It may be necessary to adjust the modifications for ++ * systems that do not satisfy the HAVE_LSTAT condition. ++ * Jan Minar <[email protected]> 2009-01-11 ++ */ + public = !strcmp(fn, DEFAULT_BUFFERFILE); + # ifdef HAVE_LSTAT ++ /* ++ * Note: In the time between lstat() and open()/remove() below are ++ * called, the file can be created/removed/modified. Therefore the ++ * information lstat() returns is taken into consideration, but not ++ * relied upon. In particular, the open()/remove() calls can fail, and ++ * the code must account for that. Symlink attack could be mounted if ++ * the code is changed carelessly. --rdancer 2009-01-11 ++ */ + exists = !lstat(fn, &stb); + if (public && exists && (S_ISLNK(stb.st_mode) || stb.st_nlink > 1)) + { +@@ -432,28 +456,36 @@ + #ifdef COPY_PASTE + if (dump == DUMP_EXCHANGE && public) + { ++ /* ++ * Setting umask to zero is a bad idea -- the user surely doesn't ++ * expect a publicly readable file in a publicly readable directory ++ * --rdancer 2009-01-11 ++ */ ++ /* + old_umask = umask(0); ++ */ + # ifdef HAVE_LSTAT + if (exists) +- { +- if ((fd = open(fn, O_WRONLY, 0666)) >= 0) +- { +- if (fstat(fd, &stb2) == 0 && stb.st_dev == stb2.st_dev && stb.st_ino == stb2.st_ino) +- ftruncate(fd, 0); +- else +- { +- close(fd); +- fd = -1; +- } +- } +- } +- else +- fd = open(fn, O_WRONLY|O_CREAT|O_EXCL, 0666); +- f = fd >= 0 ? fdopen(fd, mode) : 0; ++ if (remove(fn) == -1) ++ { ++ /* Error */ ++ debug2("WriteFile: File exists and remove(%s) failed: %s\n", ++ fn, strerror(errno)); ++ UserReturn(0); ++ } + # else +- f = fopen(fn, mode); ++ (void) remove(fn); + # endif ++ /* ++ * No r/w permissions for anybody but the user, as the file may be in ++ * a public directory -- if the user chooses, they can chmod the file ++ * afterwards. --rdancer 2008-01-11 ++ */ ++ fd = open(fn, O_WRONLY|O_CREAT|O_EXCL, 0600); ++ f = fd >= 0 ? fdopen(fd, mode) : 0; ++ /* + umask(old_umask); ++ */ + } + else + #endif /* COPY_PASTE */ Index: screen-4.0.2-screenrc.patch =================================================================== --- screen-4.0.2-screenrc.patch (revision 0) +++ screen-4.0.2-screenrc.patch (revision 2) @@ -0,0 +1,48 @@ +--- screen-4.0.2/etc/screenrc.screenrc 2003-12-05 13:59:39.000000000 +0000 ++++ screen-4.0.2/etc/screenrc 2005-02-15 10:22:19.935843952 +0000 +@@ -15,7 +15,7 @@ + startup_message off + + # emulate .logout message +-pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." ++pow_detach_msg "Screen session of $LOGNAME $:cr:$:nl:ended." + + # advertise hardstatus support to $TERMCAP + # termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' +@@ -60,7 +60,7 @@ + # tell screen that xterm can switch to dark background and has function + # keys. + termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l' +-termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' ++#termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' + termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~' + + # special xterm hardstatus: use the window title. +@@ -126,9 +126,9 @@ + # Yet another hack: + # Prepend/append register [/] to the paste if ^a^] is pressed. + # This lets me have autoindent mode in vi. +-register [ "\033:se noai\015a" +-register ] "\033:se ai\015a" +-bind ^] paste [.] ++#register [ "\033:se noai\015a" ++#register ] "\033:se ai\015a" ++#bind ^] paste [.] + + ################ + # +@@ -140,9 +140,14 @@ + # screen -t 40 2 rlogin server + + # caption always "%3n %t%? @%u%?%? [%h]%?%=%c" ++## alternative caption, gives window list, LOGNAME and current date: ++# caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw %=%{mk}@%H %{yk}%D %{ck}%M%{wk} %{ck}%d %{gk}%c" + # hardstatus alwaysignore + # hardstatus alwayslastline "%Lw" + ++# Red Hat's normal status line ++hardstatus string "[screen %n%?: %t%?] %h" ++ + # bind = resize = + # bind + resize +1 + # bind - resize -1 Index: screen.changes =================================================================== --- screen.changes (revision 0) +++ screen.changes (revision 2) @@ -0,0 +1,168 @@ +* Fri Apr 24 2009 Passion Zhao <[email protected]> - 4.0.3 +- Add screen-CVE-2009-1214,1215.patch + +* Fri May 16 2008 Miroslav Lichvar <[email protected]> - 4.0.3-12 +- fix multiuser support (#446049) + +* Mon Apr 07 2008 Miroslav Lichvar <[email protected]> - 4.0.3-11 +- don't include stropts.h (#440803) +- fix compiler warnings in ipv6 patch + +* Tue Feb 26 2008 Miroslav Lichvar <[email protected]> - 4.0.3-10 +- don't set xterm function keys in default config (#151556) +- always return 0 in scriptlet (#433882) +- fix pty permissions +- enable utempter support +- link with libtinfo, don't link with libutil +- spec cleanup + +* Tue Feb 19 2008 Fedora Release Engineering <[email protected]> - 4.0.3-9 +- Autorebuild for GCC 4.3 + +* Fri Aug 24 2007 Marcela Maslanova <[email protected]> - 4.0.3-8 +- check licence & rebuilt for mass rebuild +- add gawk to requires + +* Tue May 22 2007 Marcela Maslanova <[email protected]> - 4.0.3-7 +- revert binding (patch9) +- Resolves: rhbz#238122 + +* Mon Mar 26 2007 Marcela Maslanova <[email protected]> - 4.0.3-5 +- rebuilt (change in spec file) + +* Mon Mar 19 2007 Marcela Maslanova <[email protected]> - 4.0.3-4 +- rebuilt (change in spec file) + +* Tue Feb 6 2007 Marcela Maslanova <[email protected]> - 4.0.3-3 +- rebuilt (change in spec file) + +* Fri Jan 5 2007 Marcela Maslanova <[email protected]> - 4.0.3-2 +- rebuilt (change in spec file) + +* Wed Oct 15 2006 Marcela Maslanova <[email protected]> - 4.0.3-1 +- new version from upstream +- ipv6 patch #198410 + +* Wed Aug 16 2006 Jesse Keating <[email protected]> - 4.0.2-16 +- Don't use %%makeinstall, instead make install. +- Change DDESTDIR to DESTDIR to do the right thing. +- Comment out utf patch as it is no longer necessary. +- Add dist tag +- Change PreReq to correct Requires(pre), Requires(post), Requires(preun) +- Don't use RPM_SOURCE_DIR, reference the source file directly +- Do the compiling (make) in %%build, not %%install +- Don't replace /etc/screenrc if the user has modified it +- Ditto /etc/pam.d/screen +- Change the buildroot to follow guidelines + +* Wed Jul 12 2006 Jesse Keating <[email protected]> - 4.0.2-15.1 +- rebuild + +* Mon Jul 10 2006 Petr Rockai <[email protected]> - 4.0.2-15 +- bump MAXSTR (string buffer size) to 4k (from 256 bytes), fixes + status line issues with window list in status line and too many + windows (and possibly other issues with long strings) + +* Tue May 30 2006 Petr Rockai <[email protected]> - 4.0.2-14 +- put /usr/share/screen into the package (so the package owns the + directory as well, not only the files below); fixes BR 192852 + +* Fri Feb 24 2006 Petr Rockai <[email protected]> - 4.0.2-12 +- detect libutil(s).a even if it is only present in lib64 (#182407) + +* Fri Feb 10 2006 Jesse Keating <[email protected]> - 4.0.2-11.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating <[email protected]> - 4.0.2-11.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Tue Jan 17 2006 Petr Rockai <[email protected]> - 4.0.2-11 +- change the default lockscreen shortcut to ^aX to make + it harder to hit by accident, as per BR 157821 + +* Fri Dec 09 2005 Jesse Keating <[email protected]> - 4.0.2-10 +- rebuilt + +* Mon Oct 10 2005 Tomas Mraz <[email protected]> - 4.0.2-10 +- use include instead of pam_stack in pam config + +* Fri May 27 2005 Bill Nottingham <[email protected]> - 4.0.2-9 +- don't use utmp group for socket dir; use a dedicated screen gid + +* Tue Mar 29 2005 Petr Rockai <[email protected]> - 4.0.2-8 +- fix BR 150392 by implementing the setgid/utmp scheme for socket directory + +* Wed Mar 02 2005 Petr Rockai <[email protected]> - 4.0.2-7 +- rebuild + +* Tue Feb 15 2005 Petr Rockai <[email protected]> - 4.0.2-6 +- fix BR 136234 by carrying out the suggested change in /etc/screenrc +- drop screen-4.0.2-logname.patch (merged into screen-4.0.2-screenrc.patch) +- grant wish 130674 by adding a (commented out) caption statement to default + screenrc + +* Fri Sep 10 2004 Warren Togami <[email protected]> - 4.0.2-5 +- #132321 and some minor spec cleanups + +* Fri Aug 6 2004 Daniel Reed <[email protected]> - 4.0.2-4 +- remove extra entries in "sources" file + +* Tue Jun 15 2004 Elliot Lee <[email protected]> - 4.0.2-3 +- rebuilt + +* Wed Apr 28 2004 Daniel Reed <[email protected]> - 4.0.2-2 +- Add patch -logname to correct #121875 + +* Mon Apr 05 2004 Daniel Reed <[email protected]> - 4.0.2-1 +- Version bump (4.0.2) + +* Fri Feb 13 2004 Elliot Lee <[email protected]> - 4.0.1-4 +- rebuilt + +* Tue Jan 27 2004 Lon Hohberger <[email protected]> - 4.0.1-3 +- Rebuild + +* Mon Dec 08 2003 Lon Hohberger <[email protected]> - 4.0.1-2 +- Build for Fedora + +* Mon Dec 08 2003 Lon Hohberger <[email protected]> - 4.0.1-1 +- Import of 4.0.1 from upstream. +- Removed screen-homedir hack introduced in 3.9.15-8. (I +was unable to reproduce the behavior described in #98320, +and thus, the patch isn't necessary.) +- Fix for buffer overflow from Timo Strainen (patch 7). +- Fix for #111084 - we now require texinfo to build. +- Comment out lines in screenrc causing screen to complain +at startup. + +* Tue Jul 10 2003 Lon Hohberger <[email protected]> - 3.9.15-11 +- Rebuilt + +* Tue Jul 10 2003 Lon Hohberger <[email protected]> - 3.9.15-10 +- Put the bindkey back in for now. + +* Mon Jul 01 2003 Lon Hohberger <[email protected]> - 3.9.15-9 +- Rebuilt + +* Mon Jul 01 2003 Lon Hohberger <[email protected]> - 3.9.15-8 +- Change screen's behavior to do the following: Attempt to use +~/.screen as the screen directory. Failing that (ie, on files +systems without Unix sockets support), try using /tmp/screen-<USER>. +This prevents a user from creating /tmp/screens (which inherits +the sticky bit from /tmp, preventing other users from using screen), +as well as *tries* to be more secure. + +* Tue Jul 01 2003 Lon Hohberger <[email protected]> - 3.9.15-7 +- Rebuilt + +* Tue Jul 01 2003 Lon Hohberger <[email protected]> - 3.9.15-6 +- Disable system-wide read/write dir in /tmp; use user's ~/.screen +directory for screen sessions. (#98320) + +* Mon Jun 16 2003 Lon Hohberger <[email protected]> - 3.9.15-5 +- Rebuilt + +* Fri Jun 13 2003 Lon Hohberger <[email protected]> - 3.9.15-4 +- Removed bindkey entry; stty `tput kbs` sets this correctly for +the screen terminal type. +
