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.
-------------------------------------------------------------------------------
|