-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNEWS
418 lines (294 loc) · 15.9 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
-------------------------------------------------------------------------------
Changes in version 1.43
- Updated for bglibs v2
- Added support for LIST -1 option (ignored), found in SMF Webinstall script.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.42
- Fixed bug in reporting an error in closing the sending socket.
- Fixed bug in reporting an error to list a single entry.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.41
- Fix a one-off buffer overrun in ASCII conversion in the STOR command.
- Fix resetting the output buffer between listings.
- Added a $CONNECT_TIMEOUT setting to set timeouts on data connections.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.40
- File transfer handling has been completely rewritten to handle
interrupts on the command channel. Closing the command channel or
sending another command will interrupt any data transfer in progress.
- Fixed a longstanding bug in the handling of $MESSAGEFILE
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.30
- Switched to the CVM v2 client library.
- Added a $AUTH_ATTEMPTS control to twoftpd-auth to limit the number of
authentication attempts per session.
- Rewrote the directory listing code to fix listing files with special
characters in their names.
- Added a transfer rate (bytes/sec) indicator to transfer logs.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.21
- Added a fake listing routine to twoftpd-drop, to avoid errors on GUI
clients that require LIST or NLST.
- Fixed a compile failure on FreeBSD in the newer MDTM command.
Thanks Sergei Kolobov.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.20
- Modified the backends (twoftpd-auth and twoftpd-xfer) to show a 220
banner if the front end authenticated, and 230 if not. This fixes
problems some FTP clients have when running twoftpd-anon after
authentication.
- Added twoftpd-drop, a write-only FTP server.
- Added twoftpd-switch, a tool to choose between twoftpd-anon,
twoftpd-drop, and twoftpd-xfer based on the value of $SHELL,
$SHELL_READONLY, and $SHELL_WRITEONLY.
- Make sure to open only regular files.
- Added a MDTM command to the xfer backend that can set timestamps
(instead of just retrieving them).
- Fixed bug exposed by Mozilla which tries to retrieve directories
before listing them.
- Eliminated the bogus APPE-after-REST test.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.17
- Fixed a bug where paths starting with "/." would not be omitted when
nodotfiles was set.
- Check the return value from *buf_close functions.
- Fixed a minor (but annoying) typo in listing permissions of sticky
files.
- Path permission failures (no dot files / lock home) now produce a
sensible system error.
- Fixed a bug where listing "/foo/*" would not include the "/foo/"
prefix in the resulting names.
- Updated for bglibs version 1.006
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.16
- Added a port-20 socket hack, based partly on code contributed by
Wejn.
- Fixed problems with handling interrupted system calls (strace would
kill twoftpd).
- Converted to use bglibs.
- Added support for restarting uploads with REST.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.15
- Remember to uncork the socket before closing it.
- Fixed a bug in twoftpd-anon-conf -- getpwnam returns the same static
struct each time it's called, but I used it in two different ways.
- Fixed a minor bug in CWD command to make it possible to cd into
execute-only directories.
- Fixed handling when doing NLST against non-existant files.
- When making/accepting connections, abort if stdin becomes readable
(because of additional command or hangup).
- Added support for handling supplemental group IDs.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.14
- Fixed a bug in the string sort implementation that caused listings to
leak memory.
- Fixed up PASV connection mode to only show the 150 response if the
connection does not fail.
- Some other minor fixes to socket handling and response messages.
- Added a work around for broken firewalls that rewrite certain commands
(specifically PORT) with two CR characters before the final LF.
- Fixed missing socket library for SysV (ie Solaris) systems.
- Strip trailing slashes, which confuse at least the "lock $HOME" mode,
from the home path.
- Use corked (Linux) or no-push (BSD) writes to improve transfer
efficiency.
- Set SO_LINGER on outbound sockets (LIST/RETR) to prevent the success
message from being sent on the network before the data is completely
sent.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.13
- Bugfix: listing "." when CWD is "/" would fail.
- Include system error message in STAT and MDTM.
- Print out an error message when the session or command times out,
instead of just silently dropping the connection.
- Modified the PASV response to work around yet more broken clients.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.12
- Now uses the CVM 0.10 (protocol 1) API for authentication. This means
you MUST use modules from CVM 0.10 or later with this version.
- Many error messages now include the system error message (like "File
or path not found") that caused the error.
- Added a simple, limited LIST/NLST option parser, to provide
compatibility with broken clients that like to send commands like
"NLST -alL".
- Added authentication and session timeout limits.
- SITE commands are no longer output twice in the logs.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.11
- Fixed a nasty bug (guaranteed corruption) with retrieving files larger
than 4KB in ASCII mode.
- Fixed up the response code for MKD from 250 to 257.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.10
- Fixed a bug in outbound (PORT mode) connection -- it wasn't binding to
the local IP, causing problems between servers with multiple IPs and
firewalls.
- Modified the PASV response to work around FTP client bugs.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.09
- Fixed yet another listing bug -- group names that were not exactly 8
characters long were either truncated to 8 characters or padded with
garbage. Thanks Dan Peterson.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.08
- Fixed yet another one-off bug in listed filenames that resulted in the
leading character being chopped off when CWD is "/".
- Previous versions of twoftpd would drop all dotfiles from listings.
This version makes that behavior optional, as well as also disallowing
all file access to dotfiles when they are hidden.
- Modified how emulated or "soft" chroot mode is enabled. Previously it
was enabled by setting the first character of $CHROOT to "e". Now it
is enabled by setting $SOFTCHROOT and not setting $CHROOT.
- Added a "lock HOME" backend setting that works similar to the soft
chroot above. The CWD will still include $HOME, but all accesses to
files and paths outside of $HOME will be forbidden.
- Added support for the SITE CHMOD command in the twoftpd-xfer backend,
as well as a framework for adding other SITE commands.
- Added code to show the true mode of files in long listings rather than
just "-rw-r--r--" for files and "drwxr-xr-x" for directories.
- Long listings now also show the true group name reported by the CVM
when the group number on the file is the same as $GID.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.07
- Fixed a bug in handling listing unreadable directory entries that
would cause listings to be prematurely terminated immediately before
such an entry.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.06
- Fixed a one-off bug in doing pattern listings that caused all the
resulting filenames to be prefixed with a '/'.
- Fixed some portability problems.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.05
- Rewrote all file handling operations to enable "emulated" chroot
behavior. There are now three modes of operation:
1. Normal: CWD appears as $HOME at login.
2. Hard chroot: CWD appears as / at login, and is enforced with a chroot.
3. Emulated chroot: CWD appears as / at login, with no chroot.
In all of the cases, there is no chdir done after the server starts.
This change was done to permit symlinks outside of $HOME.
- Improved the run files and the conf tools to run envdir on each
connection rather than before tcpserver starts. This allows the
configuration variables to be modified without restarting the service.
- Added configuration for logging of responses, and made logging of
requests optional. You must now set $LOGREQUESTS if you want to log
requests and $LOGRESPONSES if you want to log responses.
Development of this version has been sponsored by FutureQuest, Inc.
ossi@FutureQuest.net http://www.FutureQuest.net/
-------------------------------------------------------------------------------
Changes in version 1.02
- Fixed a couple of bugs in twoftpd-anon-conf.
- Dotfiles should be skipped when listing directories.
- Made the numeric values of some success responses fall in line with
the specifics of the FTP RFC. This should hopefully fix many of the
client failures.
- Added logging code to log requests and responses.
- The backend modules (twoftpd-anon and twoftpd-xfer) will optionally
print out a banner on startup, and a message file on entering a
directory. As well, twoftpd-auth will optionally print out a banner
before login.
-------------------------------------------------------------------------------
Changes in version 1.01
- Fixed a critical bug in parsing and printing IPs.
- Fixed a bug in handling listing single items.
- Fixed a minor usage documentation bug in the conf programs.
-------------------------------------------------------------------------------
Changes in version 1.00
- Added twoftpd-conf and twoftpd-anon-conf programs.
- Minor internal socket and directory handling changes.
-------------------------------------------------------------------------------
Changes in version 0.92
- Removed the code to handle anonymous logins from the authentication
front end, in favour of recommending running a seperate anonymous
server.
- Proper telnet escape translation is now done on output.
- Added some compatibility fixes, especially for glob.
NOTE: there will be no more features added, except for critical omissions,
before the 1.0 release, just bug fixes.
-------------------------------------------------------------------------------
Changes in version 0.91
- Fixed a bug in socket handling that caused timeouts to be set too low.
- Fixed some minor bugs in command-line and environment handling.
- Fixed an iobuf bug that caused opened output files to not be closed on
errors.
- Added support for the REST command, to speed up resumed transfers.
-------------------------------------------------------------------------------
Changes in version 0.9
- Fixed bug in EOF handling when storing files.
- IP addresses in PORT commands that do not match the remote IP address
are now rejected.
-------------------------------------------------------------------------------
Changes in version 0.8
- Use glob library to handle wildcard handling. This means twoftpd can
now handle listing patterns like "test*/*".
- Apply timeouts on all socket handling routines.
- Dropped use of sendfile on Linux, since it's incompatible with
handling timeouts on sending or receiving data.
-------------------------------------------------------------------------------
Changes in version 0.7
- Fixed a bug that caused PORT-style connections to fail.
-------------------------------------------------------------------------------
Changes in version 0.6
- Can now handle LIST and NLST on non-directories.
- Should now automatically use sendfile on Linux systems.
- Can now handle ASCII mode file transfers.
- Can now handle RNFR/RNTO file renaming commands.
- Can now handle newlines (octal 012) in paths.
-------------------------------------------------------------------------------
Changes in version 0.5
- TwoFTPd now uses CVM (http://em.ca/~bruceg/cvm/) for authentication.
- twoftpd-auth needs to have the anonymous configuration parameters set
by environment variables instead of reading them through getpwnam.
-------------------------------------------------------------------------------
Changes in version 0.4
- Now handles timout when making PORT connections.
- Simplified the directory listing format.
- Configured and packaged with SPAC.
-------------------------------------------------------------------------------
Changes in version 0.3
- Now supports anonymous logins with reduced priviledges.
- Now handles both PASV and PORT mode connections.
- Now handles STOR and APPE file upload commands.
- Handles additional verbs: MDTM, RMD, MKD, DELE.
- Times out on PASV connections and receiving commands, as specified
by $TIMEOUT (defaults to 900 seconds).
- If $CHROOT is set, twoftpd-xfer will chroot on entry.
-------------------------------------------------------------------------------