File: NEWS

package info (click to toggle)
twoftpd 1.41-1
  • links: PTS
  • area: main
  • in suites: squeeze, wheezy
  • size: 680 kB
  • ctags: 328
  • sloc: sh: 2,617; ansic: 2,183; makefile: 93
file content (400 lines) | stat: -rw-r--r-- 15,635 bytes parent folder | download
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
-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------