1 --- screen-4.6.1/doc/screen.1.orig 2017-07-12 19:34:02.890716565 +0200
2 +++ screen-4.6.1/doc/screen.1 2017-07-12 19:34:56.057382623 +0200
5 Change the filename used for reading and writing with the paste buffer.
6 If the optional argument to the \*Qbufferfile\*U command is omitted,
7 -the default setting (\*Q/tmp/screen\-exchange\*U) is reactivated.
8 +the default setting (\*Q$HOME/.screen\-exchange\*U) is reactivated.
9 The following example will paste the system's password file into
13 \fBA\fP toggles in append mode and sets a (second) mark.
15 \fB>\fP sets the (second) mark and writes the contents of the paste buffer to
16 -the screen-exchange file (/tmp/screen\-exchange per default) once copy-mode is
17 +the screen-exchange file ($HOME/.screen\-exchange per default) once copy-mode is
20 This example demonstrates how to dump the whole scrollback buffer
22 users on the same host. If an encoding is specified the paste buffer
23 is recoded on the fly to match the encoding.
24 The filename can be set with the \fIbufferfile\fP
25 -command and defaults to \*Q/tmp/screen\-exchange\*U.
26 +command and defaults to \*Q$HOME/.screen\-exchange\*U.
29 .BR "writelock " [ on | "off\fR|\fBauto\fR]"
31 Written by the "termcap" output function
32 .IP /tmp/screens/screen\-exchange
34 -.IP /tmp/screen\-exchange
35 +.IP $HOME/.screen\-exchange
37 `interprocess communication buffer'
39 --- ./doc/screen.texinfo.org Wed Jun 19 13:36:55 2002
40 +++ ./doc/screen.texinfo Wed Jun 19 13:49:42 2002
44 @kbd{>} sets the (second) mark and writes the contents of the paste buffer
45 -to the screen-exchange file (@file{/tmp/screen-exchange} per default)
46 +to the screen-exchange file (@file{$HOME/.screen-exchange} per default)
47 once copy-mode is finished. @xref{Screen Exchange}.@*
48 This example demonstrates how to dump the
49 whole scrollback buffer to that file: @*@kbd{C-a [ g SPACE G $ >}.
52 Change the filename used for reading and writing with the paste buffer.
53 If the @var{exchange-file} parameter is omitted, @code{screen} reverts
54 -to the default of @file{/tmp/screen-exchange}. The following example
55 +to the default of @file{$HOME/.screen-exchange}. The following example
56 will paste the system's password file into the screen window (using the
57 paste buffer, where a copy remains):
60 Written by the @code{dumptermcap} command
62 @item /usr/tmp/screens/screen-exchange or
63 -@itemx /tmp/screen-exchange
64 +@itemx $HOME/.screen-exchange
65 @code{screen} interprocess communication buffer
68 --- ./etc/etcscreenrc.org Sat Apr 28 17:25:34 2001
69 +++ ./etc/etcscreenrc Wed Jun 19 13:51:34 2002
72 # This is an example for the global screenrc file.
73 -# You may want to install this file as /usr/local/etc/screenrc.
74 +# You may want to install this file as /etc/screenrc.
75 # Check config.h for the exact location.
77 # Flaws of termcap and standard settings are done here.
82 +# On Debian GNU/Linux, `<--' (Backspace key) should send char `\177':
83 +bindkey -k kb stuff "\177"
85 --- ./process.c.org Mon Feb 11 13:30:08 2002
86 +++ ./process.c Wed Jun 19 13:52:22 2002
91 - BufferFile = SaveStr(DEFAULT_BUFFERFILE);
92 + BufferFile = SaveStr(bufferfile);
93 else if (ParseSaveStr(act, &BufferFile))
96 --- screen-4.5.0/screen.c~ 2017-01-19 11:46:42.000000000 +0200
97 +++ screen-4.5.0/screen.c 2017-01-19 11:47:53.835503179 +0200
102 +char bufferfile[MAXPATHLEN];
104 extern char Term[], screenterm[], **environ, Termcap[];
113 struct spwd *sss = NULL;
114 static char *spw = NULL;
115 @@ -303,11 +303,16 @@
120 if (ppp->pw_passwd[0] == '#' && ppp->pw_passwd[1] == '#' && strcmp(ppp->pw_passwd + 2, ppp->pw_name) == 0)
122 - for (; n < 13; n++) {
123 + else if (!strncmp(ppp->pw_passwd, "$1$", 3)) { /* MD5-based passwords */
127 + for (; n < len; n++) {
128 char c = ppp->pw_passwd[n];
129 - if (!(c == '.' || c == '/' || c == '$' ||
130 + if (!(c == '.' || c == '/' || (len == 34 && c == '$') ||
131 (c >= '0' && c <= '9') ||
132 (c >= 'a' && c <= 'z') ||
133 (c >= 'A' && c <= 'Z')))
135 timestring = SaveStr("%c:%s %M %d %H%? %l%?");
136 wlisttit = SaveStr(" Num Name%=Flags");
137 wliststr = SaveStr("%4n %t%=%f");
139 - BufferFile = SaveStr(DEFAULT_BUFFERFILE);
148 + snprintf(bufferfile,sizeof(bufferfile),"%s/.screen-exchange", home);
149 + BufferFile = SaveStr(bufferfile);
151 oumask = umask(0); /* well, unsigned never fails? jw. */
153 --- ./screen.h.org Tue Jan 8 16:42:45 2002
154 +++ ./screen.h Wed Jun 19 14:01:15 2002
159 +extern char bufferfile[MAXPATHLEN];
162 # define STATIC /* a function that the debugger should see */
163 --- ./window.c.org Tue Jan 8 20:47:31 2002
164 +++ ./window.c Wed Jun 19 14:03:39 2002
165 @@ -1549,6 +1549,12 @@
169 + if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag))
171 + Msg(errno, "TIOCPKT ioctl on parent");
178 @@ -1587,6 +1593,14 @@
179 w->w_readev.condpos = w->w_readev.condneg = 0;
186 + if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag))
187 + Msg(errno, "TIOCPKT reset on parent failed");
189 +#endif /* TIOCPKT */