]>
Commit | Line | Data |
---|---|---|
46dabc15 PG |
1 | --- ./doc/screen.1.org Wed Jun 19 13:36:55 2002 |
2 | +++ ./doc/screen.1 Wed Jun 19 13:47:46 2002 | |
3 | @@ -1040,7 +1040,7 @@ | |
4 | .PP | |
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 | |
10 | the | |
11 | .I screen | |
12 | @@ -1308,7 +1308,7 @@ | |
13 | .br | |
14 | .ti -2n | |
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 | |
18 | finished. | |
19 | .br | |
20 | This example demonstrates how to dump the whole scrollback buffer | |
21 | @@ -2940,7 +2940,7 @@ | |
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. | |
27 | .sp | |
28 | .ne 3 | |
29 | .BR "writelock " [ on | "off\fR|\fBauto\fR]" | |
30 | @@ -4284,7 +4284,7 @@ | |
31 | Written by the "termcap" output function | |
32 | .IP /tmp/screens/screen-exchange | |
33 | or | |
34 | -.IP /tmp/screen-exchange | |
35 | +.IP $HOME/.screen-exchange | |
36 | .I screen | |
37 | `interprocess communication buffer' | |
38 | .IP hardcopy.[0-9] | |
39 | --- ./doc/screen.texinfo.org Wed Jun 19 13:36:55 2002 | |
40 | +++ ./doc/screen.texinfo Wed Jun 19 13:49:42 2002 | |
41 | @@ -3000,7 +3000,7 @@ | |
42 | ||
43 | @noindent | |
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 $ >}. | |
50 | @@ -3124,7 +3124,7 @@ | |
51 | (none)@* | |
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): | |
58 | ||
59 | @@ -4843,7 +4843,7 @@ | |
60 | Written by the @code{dumptermcap} command | |
61 | ||
62 | @item /usr/tmp/screens/screen-exchange or | |
63 | -@itemx /tmp/screen-exchange | |
64 | +@itemx $HOME/.screen-exchange | |
65 | @code{screen} interprocess communication buffer | |
66 | ||
67 | @item hardcopy.[0-9] | |
68 | --- ./etc/etcscreenrc.org Sat Apr 28 17:25:34 2001 | |
69 | +++ ./etc/etcscreenrc Wed Jun 19 13:51:34 2002 | |
70 | @@ -1,6 +1,6 @@ | |
71 | # | |
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. | |
76 | # | |
77 | # Flaws of termcap and standard settings are done here. | |
78 | @@ -92,3 +92,6 @@ | |
79 | bind 'O' login off | |
80 | bind '}' history | |
81 | ||
82 | +# On Debian GNU/Linux, `<--' (Backspace key) should send char `\177': | |
83 | +bindkey -k kb stuff "\177" | |
84 | + | |
85 | --- ./process.c.org Mon Feb 11 13:30:08 2002 | |
86 | +++ ./process.c Wed Jun 19 13:52:22 2002 | |
87 | @@ -2356,7 +2356,7 @@ | |
88 | #ifdef COPY_PASTE | |
89 | case RC_BUFFERFILE: | |
90 | if (*args == 0) | |
91 | - BufferFile = SaveStr(DEFAULT_BUFFERFILE); | |
92 | + BufferFile = SaveStr(bufferfile); | |
93 | else if (ParseSaveStr(act, &BufferFile)) | |
94 | break; | |
95 | if (msgok) | |
96 | --- ./screen.c.org Mon Feb 11 13:39:06 2002 | |
97 | +++ ./screen.c Wed Jun 19 14:00:37 2002 | |
98 | @@ -109,6 +109,7 @@ | |
99 | FILE *dfp; | |
100 | #endif | |
101 | ||
102 | +char bufferfile[MAXPATHLEN]; | |
103 | ||
104 | extern char Term[], screenterm[], **environ, Termcap[]; | |
105 | int force_vt = 1; | |
106 | @@ -271,7 +272,7 @@ | |
107 | char *name; | |
108 | struct passwd *ppp; | |
109 | { | |
110 | - int n; | |
111 | + int n, len; | |
112 | #ifdef SHADOWPW | |
113 | struct spwd *sss = NULL; | |
114 | static char *spw = NULL; | |
115 | @@ -285,13 +286,18 @@ | |
116 | pw_try_again: | |
117 | #endif | |
118 | n = 0; | |
119 | + len = 13; | |
120 | if (ppp->pw_passwd[0] == '#' && ppp->pw_passwd[1] == '#' && | |
121 | strcmp(ppp->pw_passwd + 2, ppp->pw_name) == 0) | |
122 | n = 13; | |
123 | - for (; n < 13; n++) | |
124 | + else if (!strncmp(ppp->pw_passwd, "$1$", 3)) { /* MD5-based passwords */ | |
125 | + n = 13; | |
126 | + len = 34; | |
127 | + } | |
128 | + for (; n < len; n++) | |
129 | { | |
130 | char c = ppp->pw_passwd[n]; | |
131 | - if (!(c == '.' || c == '/' || c == '$' || | |
132 | + if (!(c == '.' || c == '/' || (len == 34 && c == '$') || | |
133 | (c >= '0' && c <= '9') || | |
134 | (c >= 'a' && c <= 'z') || | |
135 | (c >= 'A' && c <= 'Z'))) | |
136 | @@ -435,9 +441,6 @@ | |
137 | timestring = SaveStr("%c:%s %M %d %H%? %l%?"); | |
138 | wlisttit = SaveStr("Num Name%=Flags"); | |
139 | wliststr = SaveStr("%3n %t%=%f"); | |
140 | -#ifdef COPY_PASTE | |
141 | - BufferFile = SaveStr(DEFAULT_BUFFERFILE); | |
142 | -#endif | |
143 | ShellProg = NULL; | |
144 | #ifdef POW_DETACH | |
145 | PowDetachString = 0; | |
146 | @@ -902,6 +905,8 @@ | |
147 | #endif /* DEBUG */ | |
148 | } | |
149 | ||
150 | + snprintf(bufferfile,sizeof(bufferfile),"%s/.screen-exchange", home); | |
151 | + BufferFile = SaveStr(bufferfile); | |
152 | #ifdef _MODE_T | |
153 | oumask = umask(0); /* well, unsigned never fails? jw. */ | |
154 | #else | |
155 | --- ./screen.h.org Tue Jan 8 16:42:45 2002 | |
156 | +++ ./screen.h Wed Jun 19 14:01:15 2002 | |
157 | @@ -44,6 +44,7 @@ | |
158 | #include "layer.h" | |
159 | #include "term.h" | |
160 | ||
161 | +extern char bufferfile[MAXPATHLEN]; | |
162 | ||
163 | #ifdef DEBUG | |
164 | # define STATIC /* a function that the debugger should see */ | |
165 | --- ./window.c.org Tue Jan 8 20:47:31 2002 | |
166 | +++ ./window.c Wed Jun 19 14:03:39 2002 | |
167 | @@ -1549,6 +1549,12 @@ | |
168 | FreePseudowin(w); | |
169 | return -1; | |
170 | } | |
171 | + if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag)) | |
172 | + { | |
173 | + Msg(errno, "TIOCPKT ioctl on parent"); | |
174 | + FreePseudowin(w); | |
175 | + return -1; | |
176 | + } | |
177 | } | |
178 | #endif /* TIOCPKT */ | |
179 | ||
180 | @@ -1587,6 +1593,14 @@ | |
181 | w->w_readev.condpos = w->w_readev.condneg = 0; | |
182 | free((char *)pwin); | |
183 | w->w_pwin = NULL; | |
184 | +#ifdef TIOCPKT | |
185 | + { | |
186 | + int flag = 1; | |
187 | + | |
188 | + if (ioctl(w->w_ptyfd, TIOCPKT, (char *)&flag)) | |
189 | + Msg(errno, "TIOCPKT reset on parent failed"); | |
190 | + } | |
191 | +#endif /* TIOCPKT */ | |
192 | } | |
193 | ||
194 | #endif /* PSEUDOS */ |