Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 8f38f8509ac1f541504ea4a1179b5bda > files > 9

lftp-2.6.4-2.1.91mdk.ppc.rpm

2002-12-25  Alexander V. Lukyanov <lav@yars.free.net>

	* resource.cc: new settings net:socket-bind-ipv4 and net:socket-bind-ipv6.
	* ResMgr.cc, ResMgr.h: new method IPv6AddrValidate.
	* NetAccess.cc, NetAccess.h: new methods SocketCreate and SocketCreateTCP.
	* ftpclass.cc, Http.cc: use SocketCreateTCP.
	* FileCopy.cc, FileCopy.h: get size before starting a continuation
	  transfer and don't start the transfer if not needed.

2002-12-19  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc: check set!=NULL.

2002-12-18  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc: (GenericParseListInfo) handle ~ here.
	* LocalAccess.cc (LocalListInfo) handle ~.
	* FindJob.cc: revert ~ change.
	* MirrorJob.cc: handle ~.
	* misc.cc: handle /dir with ./file concatenation nicely.
	* lftp_tinfo.cc: compilation fix for certain versions of cygwin.

2002-12-10  Alexander V. Lukyanov <lav@yars.free.net>

	* FindJob.cc: handle ~ directories properly.
	* Fish.cc: fix rename.
	* resource.cc: make verify-certificate off by default.

2002-10-23  Alexander V. Lukyanov <lav@yars.free.net>

	* Speedometer.cc: fixed wrong eta calculation (reported by Haas
	  Wernfried <w.haas@xover.htu.tuwien.ac.at>).

2002-10-23  Glenn Maynard <g_ld@zewt.org>

	* OutputJob.cc: fix abort when output file is not writable.

2002-10-11  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: change state to WAITING_STATE from
	  DATASOCKET_CONNECTING_STATE properly on DataClose().
	* Fish.cc: (StoreStatus) check state; send a different store
	  command when entity_size==0 to avoid dd bug.

2002-09-30  Glenn Maynard <g_ld@zewt.org>

	* misc.cc: unset put_tz properly on set_tz(0).

2002-09-30  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc: call tzset for glibc.

2002-09-26  Albert Chin <lftp-devel@thewrittenword.com>

	* FileAccess.cc: fix const mismatch (found with HP C++).

2002-09-23  Alexander V. Lukyanov <lav@yars.free.net>

	* keyvalue.h: make Pair public.
	* FileCopy.cc: don't report percent if pos>size.

2002-09-09  Alexander V. Lukyanov <lav@yars.free.net>

	* lftp.cc: save readline history conditionally.

2002-09-05  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: allow single LF as EOL (suggested by Peter Vreman
	  <peter@freepascal.org>). Also recommended by RFC2616.

2002-09-04  Alexander V. Lukyanov <lav@yars.free.net>

	* IdNameCache.cc, IdNameCache.h: fixed a bug which caused a single
	  object to be put on two lists (rare); fixed a memory leak.
	  Reported by Tillmann Steinbrecher <tillmann.steinbrecher@anandtech.com>.

2002-09-03  Alexander V. Lukyanov <lav@yars.free.net>

	* Filter.cc: handle ENOSPC and EDQUOT specially when the file is
	  removed (nlink==0).
	* lftp.cc, lftp_rl.c, lftp_rl.h: read/write readline history.

2002-09-02  Glenn Maynard <g_ld@zewt.org>

	* CopyJob.cc, CopyJob.h, pgetJob.cc: add and use dispname to hide
	  passwords in urls.
	* commands.cc, MirrorJob.cc, MirrorJob.h: add --ignore-time option.

2002-08-29  Alexander V. Lukyanov <lav@yars.free.net>

	* rmJob.cc: set recursive properly. This fixes bug with DELE instead
	  of RMD.
	* OutputJob.cc: handle PutEOF when InitCopy temporarily failed.
	* Job.h: (ClearStatus) new method.
	* CopyJob.cc: use ClearStatus.
	* OutputJob.cc: handle temporary pipe() error.
	* resource.cc: add ifdef USE_SSL around AuthArgValidate.

2002-08-28  Alexander V. Lukyanov <lav@yars.free.net>

	* OutputJob.cc: don't create LocalAccess directly (it breaks modularity).
	* OutputJob.cc: check if output_fd really has an error.
	* FileCopy.cc: allow FileCopyPeer to be broken, but not done.
	* OutputJob.cc: create a temporary buffer if InitCopy don't succeed
	  at first (temporary error); prepare for pipe() tmp error handling.

2002-08-09  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc, FileAccess.cc: fixed core dump when Content-Disposition
	  is handled (suggested_filename was not properly initialized).
	* Speedometer.cc: fix eta rounding (reported by Igor Zhbanov
	  <bsg@uniyar.ac.ru>).

2002-08-07  Glenn Maynard <g_ld@zewt.org>

	* lftp_tinfo.cc: use extern "C".

2002-08-06  Alexander V. Lukyanov <lav@yars.free.net>

	* Job.cc: resume job in Fg.

2002-08-06  Glenn Maynard <g_ld@zewt.org>

	* commands.cc: disallow 0 as queue position.

2002-08-05  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc, misc.h: split off terminfo stuff.
	* lftp_tinfo.cc, lftp_tinfo.h: new files.
	* StatusLine.cc: use new header lftp_tinfo.h.
	* Makefile.am: add new files.

2002-08-02  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc: include termios.h for solaris 9.

2002-08-02  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc: append source basename to target if target ends with
	  a slash.

2002-08-01  Alexander V. Lukyanov <lav@yars.free.net>

	* url.cc: allow a path in slot pseudo-url.

2002-07-31  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: do cd on source session first to check
	  if the directory exists. This fixes creation of directory if source
	  dir does not exist.

2002-07-31  Ayamura KIKUCHI <ayamura@ayamura.org>

	* misc.cc: <curses.h> should be included before <term.h> on IRIX.

2002-07-31  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h, commands.cc: allow per-slot queues;
	  support queue start/stop; rename has_queue to queue_feeder.
	* CopyJob.cc, CopyJob.h, FileSetOutput.cc, FileSetOutput.h, FindJob.cc,
	  FindJob.h, Job.cc, Job.h, MirrorJob.cc, MirrorJob.h, QueueFeeder.cc,
	  QueueFeeder.h, SleepJob.cc, SleepJob.h, TreatFileJob.cc,
	  TreatFileJob.h, mgetJob.cc, mgetJob.h, mkdirJob.cc, mkdirJob.h,
	  mvJob.cc, mvJob.h, pgetJob.cc, pgetJob.h: PrintStatus with explicit
	  prefix.
	* MirrorJob.cc, FileSet.cc, FileSet.h: do SubtractDirs if not recursive.
	* CmdExec.cc, FileAccess.cc, FileAccess.h, misc.cc, resource.cc,
	  url.cc, url.h: properly Clone session in ChangeSlot; add assert;
	  better slot: url support; better url_file.


2002-07-30  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc: don't do SetTryTime(0).
	* ConnectionSlot.cc: fix SetCwd; Clone session properly.
	* commands.cc: call ConnectionSlot::SetCwd when not verifying in cd.

2002-07-25  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc: provide errret for setupterm, so that it does not exit
	  on error, allowing lftp to work without valid TERM.
	* CmdExec.cc: set slot in ChangeSession, fixes scache+slot combo.

2002-07-24  Alexander V. Lukyanov <lav@yars.free.net>

	* complete.cc: no need for multiple functions slot-N.

2002-07-23  Glenn Maynard <g_ld@zewt.org>

* misc.cc, misc.h: Add get_string_term_cap; tries both terminfo and termcap.
(We could probably get away with only termcap names, but it's nice to
have them side-by-side, since the terminfo names are more useful.)

StatusLine.cc, StatusLine.h: Add tsl/dsl cap support.  Used only if
*  cmd:term-status is blank.  Clear title in dtor, so we don't leave
 it behind if the user's shell (or invoking program) doesn't know
 to clear it.

* CmdExec.cc: Delete the statusbar on exit, so it doesn't stick around
 if we move to background.  This triggers the title clear.  (It also
 ensures nothing gets written to the title--now the log--though I don't
 think that ever happens.)

2002-07-18  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc: don't clear signals if not interactive (suggested by
	  Glenn Maynard <g_ld@zewt.org>)
	* Fish.cc, Http.cc, NetAccess.cc, NetAccess.h, ResMgr.cc, ResMgr.h,
	  ftpclass.cc, resource.cc: separate rate limitations for download
	  and upload.

2002-07-17  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc, CmdExec.cc, CmdExec.h: fix mem leak by eliminating
	  var_ls member (it was not freed).
	* Speedometer.cc: count speed starting from first data byte.
	* ProcWait.cc: propagete SIGINT to main lftp process.

2002-07-17  Alexander V. Lukyanov <lav@yars.free.net>

	* ResMgr.cc, resource.cc, FileAccess.cc, FileAccess.h: ftp:device-prefix
	  setting (default off).

2002-07-12  Glenn Maynard <g_ld@zewt.org>

	* FindJob.cc, commands.cc: delete args properly. This fixes a coredump.
	* CopyJob.cc: fix format string error.

2002-07-12  Glenn Maynard <g_ld@zewt.org>

* OutputJob.cc, OutputJob.h:
 Update comments.

 Let the input copier own output_fd, so it'll delete it when it's done
 with it as intended (fixing the delete->close fd->output finished code path).
 This also means we don't have to deal with fg_data in OutputJob (since
 the copier owns the fd, CopyJob will do it for us.)

 eof is gone.

 Store width/tty status so we don't need output_fd after initialization.
 (needed in order to let the copier own it)

 Reversed DontFailIfBroken parameter.

 Disable fail_if_broken correctly; leave incorrect one in place for now
 (see comments.)  Fixes broken pipe with zcat.

 Use Timer; fixes scheduler problems with updating the statusline.

 Clear the status line on init, since if we have a statusline and
 we start a filter we won't be able to clear it later (due to changed
 pgrp.)

* StatusLine.cc, StatusLine.h, OutputJob.cc, all ShowStatusLine users:
 When we've output to stdout recently, instead of refusing to print a
 statusline, instead tell the statusline to only send the next update to
 the title.  This gives us a title status during "cat", etc.

* CmdExec.cc, StatusLine.cc, StatusLine.h: Don't clear the title when
 we're clearing the statusline due to stdout.

* CatJob.cc: Override ShowRunStatus to call output->ShowStatusLine.  (Any
 job using an OutputJob should call ShowStatusLine() before it or a child
 displays a statusline; CopyJob, CatJob's child, was displaying a
 statusline without doing this.)

* OutputJob.cc, OutputJob.h, CatJob.cc: Don't reenable the statusbar for
 commands that stream data from the server, since that's annoying when
 the server is rate-limited per-second.

2002-07-10  Glenn Maynard <g_ld@zewt.org>

	* CmdExec.cc: fd leak fixed.

2002-07-10  Alexander V. Lukyanov <lav@yars.free.net>

	* CharReader.cc, FileAccess.cc, Filter.cc, ftpclass.cc: F_GETFL returns
	  flags as fcntl return value.

2002-07-10  Glenn Maynard <g_ld@zewt.org>

	* CatJob.cc, CatJob.h, ColumnOutput.cc, ColumnOutput.h, CopyJob.cc,
	  CopyJob.h, FileCopy.cc, FileCopy.h, FileSetOutput.cc, FileSetOutput.h,
	  Filter.cc, Filter.h, Job.h, Makefile.am, OutputJob.cc, OutputJob.h,
	  commands.cc, complete.cc, echoJob.cc, echoJob.h: OuputJob support.

2002-07-10  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h, ConnectionSlot.cc, ConnectionSlot.h,
	  FileAccess.cc, commands.cc, complete.cc, keyvalue.cc, keyvalue.h,
	  lftp.cc, lftp_rl.cc, lftp_rl.h, misc.cc, url.cc: connection slot
	  support.

2002-07-07  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc, FileAccess.cc, FileAccess.h: (GetSuggestedFileName) new
	  method; handle Content-Disposition filename= in Http.

2002-07-07  Glenn Maynard <g_ld@zewt.org>

	* MirrorJob.cc, MirrorJob.h: add FINISHING state; fix transfer_count
	  bug which led to more parallel transfers than was requested.

2002-07-06  Albert Chin <lftp-devel@thewrittenword.com>

	* ChmodJob.h: make HP-UX C++ happy.

2002-06-18  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc, ResMgr.cc, SMTask.cc, SMTask.h, buffer.cc, buffer.h,
	  buffer_ssl.cc, buffer_ssl.h, ftpclass.cc, lftp_ssl.cc, lftp_ssl.h,
	  resource.cc: ssl certificate support.

2002-06-17  Glenn Maynard <g_ld@zewt.org>

	* MirrorJob.cc: pass timestamp to copier even if it is inaccurate.
	  This fixes mirror with servers not supporting MDTM.

2002-06-11  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.cc: copy vproto in clone ctor.
	* parsecmd.cc, complete.cc: allow ! to be backslash-quoted (for csh-history).
	* ResMgr.cc, ResMgr.h: new verificators: FileReadable, DirReadable.

2002-06-05  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc: set buf to 0 after xfree; this fixes double free.

2002-06-03  Glenn Maynard <g_ld@zewt.org>

	* Resolver.cc: free_ha is not actually needed.

2002-05-31  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc: (GetStatus) don't use fixed buffer - it can be overflowed.
	  (reported by Lethal Weapon <lethalwp@linuxbe.org>).
	* ftpclass.cc: move PROT and PBSZ commands to after USER/PASS.
	  Requested by Nick Leuta <skynick@stu.lipetsk.ru>.

2002-05-29  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: fixed pasv address fixation.
	* Filter.cc: use xasprintf.

2002-05-20  Alexander V. Lukyanov <lav@yars.free.net>

	* pgetJob.cc: let the copyer run before the session to avoid unneeded
	  reconnect.

2002-05-16  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: handle '100 Continue' independently of open mode.
	* Resolver.cc: free hostent structure from getipnodebyname;
	  create ResolverCache only when needed.

2002-05-14  Alexander V. Lukyanov <lav@yars.free.net>

	* StatusLine.cc: fix for terminals with am and with no xenl (a space
	  could be written in last column).
	* Http.cc: limit non-absolute Location handling to POST method.

2002-05-13  Michail Litvak <mci@owl.openwall.com

	* Resolver.cc: check that addresses have proper length.

2002-05-08  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: more generic non-absolute Location: handling; use url::is_url.

2002-05-07  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: move to next peer if no greeting received.
	* Http.cc: handle redirection to non-absolute url specially.
	* FileCopy.cc: change FAmode to RETRIEVE when redirecting from QUOTE_CMD.

2002-05-05  Alexander V. Lukyanov <lav@yars.free.net>

	* LsCache.cc, LsCache.h, commands.cc: add cache:enable, cache:expire
	  and cache:size settings.

2002-04-30  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: add missing port to hftp request.
	* ftpclass.cc: ignore any 550 error for NLST if no file name given.

2002-04-27  Glenn Maynard <g_ld@zewt.org>

	* LsCache.cc: add cache:cache-empty-listings.
	* buffer.h: add IsSaving().
	* FtpDirList.cc, Fish.cc: use alternative LsCache::Add.

2002-04-23  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopyFtp.cc, resource.cc: add ftp:fxp-force setting.
	* ftpclass.cc: fix status in fxp mode.

2002-04-18  Glenn Maynard <g_ld@zewt.org>

	* Job.cc: Free waiting on dtor.
	* GetFileInfo.cc, GetFileInfo.h: fix comment.

2002-04-17  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc: create first target directory with all parent dirs.

2002-04-15  Glenn Maynard <g_ld@zewt.org>

	* TreatFileJob.cc: remove unneeded return.

2002-04-08  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: accept file size in 416 reply.

2002-04-08  Glenn Maynard <g_ld@zewt.org>

	* FileSetOutput.cc: fix unneeded assert.

2002-03-26  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: don't send CWD ~ when PWD failed.

2002-03-18  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc: explicit cast for Compaq C++.

2002-03-18  Alexander V. Lukyanov <lav@yars.free.net>

	* ProcWait.cc: don't flood stdout with waitpid errors, it can be
	  possible if lftp forks into background.

2002-03-15  Alexander V. Lukyanov <lav@yars.free.net>

	* Job.cc: fix occasional spinning when mirror terminates.

2002-03-14  Alexander V. Lukyanov <lav@yars.free.net>

	* SleepJob.cc: if the time is in the past, assume it is for tomorrow.

2002-03-13  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc: don't clear hostname etc on lookup error.
	* FileAccess.cc: (Chdir) handle cwd==0 correctly (reported by Glenn
	  Maynard <g_ld@zewt.org>).

2002-03-10  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: add ifdef USE_SSL around data_ssl.

2002-02-27  Ayamura KIKUCHI <ayamura@ayamura.org>

	* FileSetOutput.cc, lftp.cc: locale.h is now included from config.h.

2002-02-26  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: add TLS flag to status when data connection is secured.

2002-02-24  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: flip copy_passive on any 425 reply.
	* ftpget: fix ' quoting.

2002-02-15  Alexander V. Lukyanov <lav@yars.free.net>

	* FtpListInfo.cc: restore line contents after each parser.

2002-02-12  Alexander V. Lukyanov <lav@yars.free.net>

	* CharReader.cc, CharReader.h: handle EINTR properly; try reading in
	  non-block mode instead of polling.

2002-02-11  Alexander V. Lukyanov <lav@yars.free.net>

	* lftpget: more ' quoting. -v should work now.

2002-02-07  Alexander V. Lukyanov <lav@yars.free.net>

	* ResMgr.cc, resource.cc: verify resource defaults in ResMgr::ClassInit.
	* MirrorJob.cc: modify transfer_count when MirrorJob becomes Done
	  and not in dtor.

2002-01-31  Alexander V. Lukyanov <lav@yars.free.net>

	* Job.cc: don't call Do in ShowRunStatus, it can do bad side effects.
	* SMTask.cc: remove invalid assert.

2002-01-30  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc: give direct parent a priority to continue transfers.
	* ftpclass.cc: better status for fxp transfers.

2002-01-29  Alexander V. Lukyanov <lav@yars.free.net>

	* LocalDir.cc, LocalDir.h: add forgotten dtor.

2002-01-27  Glenn Maynard <g_ld@zewt.org>

	* commands.cc: implement du --block-size

2002-01-26  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: add missing \n.

2002-01-24  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, lftp_ssl.h: workaround for improperly closed ssl
	  data connection.

2002-01-22  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, lftp_ssl.cc: fix random SSL_write errors
	  (bad write retry); fix ftp spinning in ssl mode.
	* ftpclass.cc: don't use AUTH TLS for ftp proxy.

2002-01-17  Glenn Maynard <g_ld@zewt.org>

	* ChmodJob.cc: add missing \n.

2002-01-14  Alexander V. Lukyanov <lav@yars.free.net>

	* Resolver.cc: fixed coredump on unknown service.

2002-01-13  Alexander V. Lukyanov <lav@yars.free.net>

	* StringPool.cc: handle null pointer.

2002-01-10  Alexander V. Lukyanov <lav@yars.free.net>

	* CatJob.cc, CatJob.h: use DontFailIfBroken.
	* LocalAccess.cc: (CurrentStatus) implemented; use stream->status;
	  use chdir to verify directories.

2002-01-10  Glenn Maynard <g_ld@zewt.org>

	* FileCopy.cc, FileCopy.h: (fail_if_broken) new member.
	* ftpclass.cc: comments added; cosmetic changes.

2002-01-09  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: (FileCopyPeer::done) new member; use it;
	  (FileCopyPeerFDStream::Done) method removed.

2002-01-08  Alexander V. Lukyanov <lav@yars.free.net>

	* Job.cc, Job.h: (CheckForWaitLoop) new method.
	* commands.cc: (wait) use it.

2002-01-04  Alexander V. Lukyanov <lav@yars.free.net>

	* LocalDir.cc, LocalDir.h: new files.
	* CmdExec.cc, CmdExec.h: use new LocalDirectory class; specify local
	  directory at CmdExec creation time.
	* LocalAccess.cc: use LocalDirectory.
	* SleepJob.cc, SleepJob.h: specify LocalDirectory at creation time;
	  use it to create CmdExec.
	* commands.cc: handle new CmdExec and SleepJob creation; allow lpwd
	  redirection.
	* lftp.cc: new CmdExec ctor.

2002-01-03  jfaith <jfaith@cemsys.com>

	* resource.cc: (OrderValidate) fix off by one xmalloc bug.

2002-01-03  Alexander V. Lukyanov <lav@yars.free.net>

	* Filter.cc: don't stop process if there is a process group already;
	  don't call second->Done if !delete_second.
	* lftpget: quote single quote properly.
	* Fish.cc: use fish:connect-program setting.
	* resource.cc: new fish setting; don't send referer by default.

2002-01-01  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: fix SendCWD to set correct check case.

2001-12-26  Alexander V. Lukyanov <lav@yars.free.net>

	* ArgV.h: new ctor.
	* CatJob.cc, CatJob.h: use ArgV to launch filters; always launch
	  global command if there is for_each filter.
	* Filter.cc, Filter.h: DeleteSecondaryStream new method; improve
	  OutputFilter::{usesfd,Done,Kill}.

2001-12-26  Glenn Maynard <g_ld@zewt.org>

	* ftpclass.cc: correct message.

2001-12-25  Alexander V. Lukyanov <lav@yars.free.net>

	* Http.cc: assume keep-alive for http/1.1 by default (reported by
	  Marc Lehmann).

2001-12-24  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: reset real_cwd when someone does quote CWD and the like;
	  scan PWD reply for rightmost quote (suggested by Glenn Maynard);
	  separate method SendCWD.

2001-12-24  Glenn Maynard <g_ld@zewt.org>

	* StatusLine.h: make GetWidthDelayed const.

2001-12-24  Alexander V. Lukyanov <lav@yars.free.net>

	* LsCache.cc: ignore SetDirectory with NULL argument.

2001-12-21  Alexander V. Lukyanov <lav@yars.free.net>

	* mkdirJob.cc, mkdirJob.h: use orig_session approach instead of
	  url_session.
	* FindJob.cc, FindJob.h: Fg/Bg methods.

2001-12-20  Alexander V. Lukyanov <lav@yars.free.net>

	* ArgV.cc, ArgV.h: (seek) new method.
	* MirrorJob.cc: seek args before TreatJob creation.
	* ftpclass.cc, ftpclass.h, NetAccess.cc, NetAccess.h, Http.cc, Http.h,
	  Fish.cc, Fish.h: get rid of takeover_time; use last_priority and
	  idle_start (idea of Glenn Maynard).
	* ftpclass.cc: call PopResp before actual checking, so that Disconnect
	  can see empty RespQueue.
	* QueueFeeder.cc: don't print dots where there is only 5 jobs queued.
	* HttpDir.cc: more strict checking for squid ftp listings; handle TR
	  similarly to /TR.

2001-12-20  Glenn Maynard <g_ld@zewt.org>

	* FileAccess.cc, FileAccess.h: add last_priority member.
	* ftpclass.cc, ftpclass.h: tune log levels.

2001-12-19  Alexander V. Lukyanov <lav@yars.free.net>

	* QueueFeeder.cc: pass correct job count to plural().

2001-12-19  Glenn Maynard <g_ld@zewt.org>

	* GetFileInfo.cc, GetFileInfo.h: Use GetArrayInfo as a last-ditch effort
	  to get information.  Add most (hopefully all) branches of the basic
	  logic.  (It doesn't list cases where cache is wrong--that can happen
	  just about anywhere.)
	* CmdExec.cc, CmdExec.h: unquote, static buffer.
	* commands.cc, QueueFeeder.cc, QueueFeeder.h: give queue feedback.

2001-12-18  Glenn Maynard <g_ld@zewt.org>

	* module.cc: change XXX to TODO.
	* buffer.cc buffer.h: add GetPos() and vFormat.
	* FileCopy.cc: FileCopyPeer can_seek and can_seek0 default to off;
	  enable it in the derived classes.
	* FileCopy.h: Allow re-disabling AllowWrite and finding out if a
	  FileCopy is line-buffered.

2001-12-18  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h, Filter.cc, Filter.h: an attempt to
	  show correct status on disk full condition.

2001-12-17  Alexander V. Lukyanov <lav@yars.free.net>

	* GetFileInfo.cc: move SetCwd(origdir) to dtor; improve comment.
	* MirrorJob.cc: try to enable write access to file being appended.

2001-12-17  Glenn Maynard <g_ld@zewt.org>

	* commands.cc: queue --delete has no argument.

2001-12-17  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: clean up removing/chmod-ing; allow them
	  to be excuted in parallel; start scripting support.
	* GetJob.cc, GetJob.h, commands.cc: get -e option to remove target
	  file first.

2001-12-17  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: encode ' in bookmarks.
	* CmdExec.cc: quote ' properly.
	* MirrorJob.cc: handle mirror:parallel-transfer-count.
	* bookmark.cc, bookmark.h, keyvalue.cc, keyvalue.h, commands.cc:
	  don't show bookmarked passwords on `bookmark list', replace them
	  with XXXX.

2001-12-15  Alexander V. Lukyanov <lav@yars.free.net>

	* FindJob.cc: use default session's cwd as default url path.
	* Fish.cc, Fish.h, HttpDir.cc, Http.h: add ParseLongList method
	  (for Http - by Glenn Maynard).
	* GetFileInfo.cc: call LsCache::SetDirectory.
	* MirrorJob.cc: don't delete exclude in non-root mirror; add -X/-I
	  options; handle default exclude setting mirror:exclude-regex;
	  don't exclude all directories if first pattern is include pattern.
	* PatternSet.cc, PatternSet.h: simplify matching; fix Glob matching.
	* resource.cc: remove mirror:include-regex.

2001-12-14  Alexander V. Lukyanov <lav@yars.free.net>

	* FileSet.cc: Exclude appends / for directories before matching.
	* PatternSet.cc, PatternSet.h: match last directory components
	  in Glob::Match, e.g. abc/def/ghi.zip matches def/*.zip.

2001-12-14  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, FileSet.cc, FileSet.h, FindJob.cc,
	  FindJob.h, GetFileInfo.cc, LocalAccess.cc, Makefile.am, MirrorJob.cc,
	  MirrorJob.h, NetAccess.cc, PatternSet.cc, PatternSet.h, commands.cc,
	  ftpclass.cc: (PatternSet) new class. Use it for exclude/include.
	* MirrorJob.cc: fixed session leak in case of options error.

2001-12-14  Alexander V. Lukyanov <lav@yars.free.net>

	* GetFileInfo.cc: add forgotten SetError.
	* TimeDate.h: don't use time_t as operator arg, it confuses compaq c++.

2001-12-14  Albert Chin-A-Young <china@thewrittenword.com>

	* lftp_pty.c: add missing brace.
	* misc.cc: define unsetenv prototype if needed.

2001-12-13  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: (OptimizePath) new method; optimize
	  path to cd to in ExpandTildeInCWD.
	* GetFileInfo.cc: try the file as directory even if showdir, to
	  return type info; use server returned error message; don't give up
	  if the file is not in FileSet; try directory to get error message
	  if we know from cache that there is no such file; try another
	  method only if we get NO_FILE error; strip all trailing slashes;
	  don't assume result!=0; don't descend to directory if showdir;
	  don't check verify_fn if was_directory; some xfree's added.
	* FileSetOutput.cc: don't print anything if GetFileInfo returned no set.
	* commands.cc: remove double Usage from chmod help.

2001-12-13  Glenn Maynard <g_ld@zewt.org>

	* ChmodJob.cc: cosmetics.
	* FindJob.cc: fix mem leak; fix status.
	* GetFileInfo.cc: move the ~ and / special case check after the initial
	  chdir.
	* NetAccess.cc: fix status message.

2001-12-13  Alexander V. Lukyanov <lav@yars.free.net>

	* LsCache.h: rename Find to FindFileSet.
	* LsCache.cc: fixed test for fset reusability in FindFileSet;
	  fixed FindFileSet calling in IsDirectory - restore cwd first and
	  don't delete fset.

2001-12-11  Alexander V. Lukyanov <lav@yars.free.net>

	* ChmodJob.cc: handle undefined mode correctly.
	* misc.cc: fix dirname_alloc to strip all trailing slashes and
	  return / for /file.
	* FindJob.cc, FindJob.h, GetFileInfo.cc: support URLs and ~ in find;
	  print URL if processing an URL.

2001-12-11  Glenn Maynard <g_ld@zewt.org>

	* ChmodJob.cc, ChmodJob.h: Add relative paths, -v, -c, -R.  Maintain
          simple numeric mode interface.
	* FileSetOutput.cc: make sure "cls -ld ." shows the directory, even
          without "show_dots".
	* FindJob.cc, FindJob.h: Accept files as well as directories to NextDir().
          Pass top-level path to ProcessFile. Don't get listing if we don't need it.
	* FindJobDu.cc: print files with "du filename" even without -a.
	* GetFileInfo.cc, GetFileInfo.h: Make prefixing the path optional.
          Add member to find out whether the given path was a file or directory.
          Fix verification with ".." at the end of path.
          If ".." was requested (with show_dirs on), return "..", not the
          name of the directory, etc.
	* TreatFileJob.cc, TreatFileJob.h: Derive from FinderJob.  AddFile() no
          longer needed.
	* commands.cc: chmod, rm, rmdir updated.  Give find "." instead of "" by
          default.
	* misc.cc, misc.h: Add dirname_alloc().  (Semantics are not exactly the
          same as dirname.)
	* rmJob.cc, rmJob.h: Handle rm -r directly.
	* FileAccess.h: (GetPriority) new method.

2001-12-11  Alexander V. Lukyanov <lav@yars.free.net>

	* mkdirJob.cc: set priority on newly created url_session.

2001-12-10  Alexander V. Lukyanov <lav@yars.free.net>

	* LsCache.cc: don't assume the listing to be parseable; call free_fset
	  when listing is replaced with new one.
	* mkdirJob.cc, mkdirJob.h, MirrorJob.cc, MirrorJob.h: add Fg/Bg.
	* MirrorJob.cc, MirrorJob.h, resource.cc: allow several directories
	  to be processed in parallel; new resources.
	* FileSet.cc: match trailing slash on directories in SortByPatternList;
	  make it case insensitive.

2001-12-10  Glenn Maynard <g_ld@zewt.org>

	* LsCache.cc, LsCache.h, ftpclass.cc: Add explicit filetype caching.
	* LsCache.cc, LsCache.cc: Cache a single fileset.
	* GetFileInfo.cc, GetFileInfo.h: Fix up cache lookups. Call Close().

2001-12-07  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: (RemoveTargetFirst) new method; do it.
	* MirrorJob.cc, MirrorJob.h: use RemoveTargetFirst; mirror -P
	  works again; fix NULL dereference in PrintStatus; don't derive
	  from SessionJob - use source_session member instead;
	  do mkdir in child mirror; new Statistics struct; add statistics
	  to parent mirror in child mirror's dtor.
	* TimeDate.h: rearrange inline functions to help compiler.

2001-12-05  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc: improve GenericParseListInfo status.
	* buffer.cc, buffer.h: allow a Speedometer to be associated with
	  Buffer class.

2001-12-05  Glenn Maynard <g_ld@zewt.org>

	* FileSetOutput.cc, FileSetOutput.h: Add Suspend(), Resume(), Fg(), Bg().
	* QueueFeeder.cc: remove _GNU_SOURCE.

2001-12-05  Alexander V. Lukyanov <lav@yars.free.net>

	* LsCache.cc: use alloca in IsDirectory; style.
	* MirrorJob.cc: fix eprintf calls - double parent led to NULL.

2001-12-05  Glenn Maynard <g_ld@zewt.org>

	* GetFileInfo.cc: use LsCache::IsDirectory.
	* LsCache.cc, LsCache.h: implement LsCache::IsDirectory.

2001-12-05  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.h: (ParseLongList) new virtual method.
	* NetAccess.h: call session->ParseLongList by default from
	  GenericParseListInfo.
	* FtpListInfo.cc, FtpListInfo.h, ftpclass.h: move parser to Ftp class.

2001-12-05  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.h: include Glob.h.
	* DummyProto.h, DummyProto.cc: little optimization; new MakeListInfo.
	* FileAccess.cc, FileAccess.h: ListInfo takes path; move Glob to
	  separate file.
	* Glob.cc, Glob.h: new files; new GenericGlob class uses ListInfo.
	* FileSet.cc, FileSet.h: fix date copying; remove unused method.
	* mgetJob.cc, FileSetOutput.cc: include Glob.h.
	* Fish.cc, Fish.h: use GenericGlob; new ListInfo ctor.
	* FtpListInfo.h: new ListInfo ctor.
	* GetFileInfo.cc, GetFileInfo.h: new ListInfo ctor; path renamed.
	* Http.cc, Http.h: new ListInfo ctor.
	* HttpDir.cc, HttpDir.h: prepare for date filling; use GenericGlob.
	* LocalAccess.cc, LocalAccess.h: new ListInfo ctor.
	* Makefile.am: adjust for added/removed files.
	* NetAccess.cc, NetAccess.h: remove GenericParseGlob class; new ListInfo ctor.
	* ftpclass.cc, ftpclass.h: new ListInfo ctor.
	* FtpGlob.cc, FtpGlob.h: removed files.

2001-12-04  Alexander V. Lukyanov <lav@yars.free.net>

	* NetAccess.cc, NetAccess.h: improve GenericParseListInfo so that
	  multiple modes can be tried.
	* FtpListInfo.cc, FtpListInfo.h: make it subclass of GenericParseListInfo;
	  try to guess listing type quickly.
	* FtpSplitList.cc, FtpSplitList.h: files removed.

2001-12-03  Glenn Maynard <g_ld@zewt.org>

	* FileSetOutput.cc: don't add type suffix if type is not defined.
	* ftpclass.cc: lower disconnection message debug level if session
	  is closed.
	* FtpListInfo.cc: add forgotten new FileInfo.
	* GetFileInfo.cc: call UseCache; don't use type if it is not defined.

2001-11-30  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: ftp:use-site-chmod setting; don't simulate eof for
	  anything but RETRIEVE; don't do MKD ..
	* resource.cc: ftp:use-site-chmod setting; mirror:order instead of
	  two different settings.
	* MirrorJob.cc, MirrorJob.h: get rid of REVERSE; implement mirroring
	  between two sessions; recognize URLs.
	* FtpGlob.cc: don't show . as directory.
	* FtpListInfo.cc: try MDTM if date_prec>0.
	* Http.cc: send content-length for mkdir.
	* LocalAccess.cc: suppress EEXIST error message; correctly handle mkdir -p.

2001-11-29  Glenn Maynard <g_ld@zewt.org>

	* CmdExec.cc, alias.cc, commands.cc, complete.cc: case insensitive
	  commands and aliases.

2001-11-26  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc, FileFeeder.cc, Filter.cc, Filter.h, Http.cc,
	  LocalAccess.cc, ProcWait.cc, PtyShell.cc, Resolver.cc, SMTask.cc,
	  SMTask.h, buffer.cc, ftpclass.cc, misc.cc, misc.h:
	  (NonFatalError) new function; use it; new setting xfer:full-disk-fatal;
	  use SMTask::now from guess_year.

2001-11-23  Glenn Maynard <g_ld@zewt.org>

	* ftpclass.cc: fix query for ftp:web-mode.
	* FileSetOutput.cc: Fixed wildcard silliness in CLS.  First, I meant
	  strpbrk, not strspn; second, it needs to handle escapes anyway, and
	  you already have a function to do that.
	* GetFileInfo.cc: If a file "abc" exists, and we do "cls abc/def", fail.
	  Improve ENOENT and EACCES error messages.
	* FtpGlob.cc: Add path to FtpGlob status.
	* FtpSplitList.cc, FtpListInfo.cc: Move some status stuff from
	  FtpListInfo to FtpSplitList.  (FtpSplitList was essentially doing
	  this stuff anyway, just not as intelligently.)
	* commands.cc: improve error message of cls.

2001-11-22  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: fix - rmdir/rm were interchanged.

2001-11-21  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: don't assume peer!=0, copy control socket
	  name to member peer_sa.
	* NetAccess.cc: remove obsolete commented out asserts.
	* Fish.cc: set user, group, nlinks and mode in FileInfo class.

2001-11-20  Alexander V. Lukyanov <lav@yars.free.net>

	* DirColors.cc, DirColors.h: move resource definition to make it
	  compile on irix.
	* CmdExec.cc: remove unneeded if's.
	* FileSet.cc: use IdNameCache.
	* TimeDate.cc, TimeDate.h: init Time from SMTask::now, this saves
	  a syscall.
	* Timer.cc, Timer.h: add ctor from TimeDiff.
	* lftp.cc: call IdNameCacheCleanup.
	* IdNameCache.cc, IdNameCache.h: new files.

2001-11-19  Alexander V. Lukyanov <lav@yars.free.net>

	* lftp.cc: don't set LC_NUMERIC. It breaks default float settings
	  on certain locales.
	* FileSetOutput.h: make it compile on irix.
	* FileSet.cc, FileSet.h: (SubtractCurr) new method; cosmetics.
	* FtpListInfo.cc: remove FileInfo copying.
	* LocalAccess.cc: remove files of unknown type from the set.
	* misc.cc: use va_copy, should help powerpc.

2001-11-15  Alexander V. Lukyanov <lav@yars.free.net>

	* DirColors.cc, DirColors.h: several new methods.
	* FileAccess.h: add color member to DirList.
	* FileSetOutput.cc: don't print size when it is not defined.
	* FtpDirList.cc, FtpDirList.h, commands.cc: add color ls support.

2001-11-15  Glenn Maynard <g_ld@zewt.org>

	* FindJobDu.cc, FindJobDu.h, commands.cc: du --files implemented.
	* ftpclass.cc, resource.cc: ftp:ssl-allow-anonymous new setting;
	  add host closure for ftp:ssl-* settings.
	* FtpListInfo.cc: optimize unix list parser by not copying FileInfo.

2001-11-15  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: --allow-chown and -a - new options.
	* FileSet.cc, FileSet.h: (LocalChown) new method.
	* commands.cc: add --allow-chown to mirror help.
	* ftpclass.cc, ftpclass.h: fix web-mode.

2001-11-14  Alexander V. Lukyanov <lav@yars.free.net>

	* FileSet.cc, FileSet.h: add rank member; sorting by it;
	  SortByPatternList new method of FileSet; get rid of DATE_UNPREC;
	  add date_prec member.
	* FileSetOutput.cc, FtpListInfo.cc, Fish.cc: no more DATE_UNPREC.
	* LocalAccess.cc: fix uploading of empty files to file:.
	* MirrorJob.cc, MirrorJob.h: no DATE_UNPREC, no explicit date precision;
	  sort to_transfer set by mirror:order-upload/order-download.
	* commands.cc: change mirror help.
	* resource.cc: define new mirror settings, remove precision ones.

2001-11-13  Alexander V. Lukyanov <lav@yars.free.net>

	* StringPool.cc, StringPool.h: new files. String cache implemented.
	* FileSet.cc, FileSet.h: use them.
	* ColumnOutput.cc, DirColors.cc, DirColors.h, FileSetOutput.cc,
	  FileSetOutput.h, Makefile.am, lftp.cc, resource.cc: move LS_COLORS
	  parsing and storing into separate class DirColors; use it.
	* FtpListInfo.cc: support large file sizes.
	* HttpDir.cc: use some additional information from listing (size, perms,
	  user, group, nlink).

2001-11-13  Glenn Maynard <g_ld@zewt.org>

	* FileSet.cc, FileSet.h, FileSetOutput.cc, FileSetOutput.h,
	FtpListInfo.cc, commands.cc:

	*user and *group field to FileInfo, parser support in ParseFtpLongList_UNIX
	and LocalFile.

	Added link count; cls -l output now has all expected fields (except for
	the ACL indicator.)

	All cls -l fields can now be enabled individually, to let people disable
	them selectively.

	Cleaned cls "tips" a little (not enough); added a forgotton \n.

	cls will now remove entire fields if no files have it, instead of
	padding every file.  (ColumnOutput only does this for the left side of
	an entire entry.)

2001-11-13  Glenn Maynard <g_ld@zewt.org>

	* FileSet.cc, FileSet.h: (PrependPath) new FileSet method.

	* FileSetOutput.cc, FileSetOutput.h, FindJobDu.cc, GetFileInfo.cc,
	GetFileInfo.h, Makefile.am, commands.cc, ftpclass.cc:

	Added -d, --block-size, -h, and -k to cls.  Sizes now default to blocks
	of 1024 unless -l is given (full sizes in column-output display is too
	much; this also aligns with "ls -s".)  cls no longer has the
	trailing-slash problem.

	Parse cls-default before commandline arguments for cls, so they don't
	override explicit options.

	Changed CHANGE_DIR 550 to pri 4.

	Restore CWD in GetListInfo.  (Removed restore directory for cls.)

	Some du changes that aren't really needed; they're related to my
	attempts to make FinderJob work when given file arguments.  They won't
	cause problems without the FinderJob changes.

	* complete.cc: cosmetics.

	* ColumnOutput.cc: (addf) fix memory leak.

2001-11-12  Alexander V. Lukyanov <lav@yars.free.net>

	* resource.cc: remove NoClosure from net:connection-limit. Reported
	  by Piotr Krukowiecki <piotr@pingu.ii.uj.edu.pl>.

2001-11-09  Alexander V. Lukyanov <lav@yars.free.net>

	* ResMgr.cc, ResMgr.h, StatusLine.cc, TimeDate.cc, TimeDate.h,
	  Timer.cc, Timer.h, complete.cc: make TimeInterval subclass of
	  TimeDiff; add resource support in Timer; fix Timer to stop
	  spinning once it is Stopped.

2001-11-09  Glenn Maynard <g_ld@zewt.org>

	* FileSet.cc FileSet.h FileSetOutput.cc FileSetOutput.h FindJob.cc
	FindJob.h FtpListInfo.cc Makefile.am TimeDate.h commands.cc
	complete.cc ftpclass.cc FindJobDu.cc FindJobDu.h:

	Fixed "cls dir/ dir2/", etc (restore directory.)

	Fixed (my) memleak in FileSet (clear sorted list in Empty(); not sure why
	this doesn't appear with FileSetOutput.)

	Fixed cosmetic problem with FinderJob (status had [session status] twice.)

	Fixed ParseFtpLongList_UNIX: guess_year needs -1900.  Also, DST rolling
	around uncovered a bug; set the hour to something other than 0 if we
	don't know it, or DST -1 will end up changing the date.

	Fixed Time::time_t operator-.  Why -(int) and -(long)?  Also, haing
	both Set() and set() is strange (and I don't see what the difference is.)

	Added a bit to FinderJob:

	Allow adding to ListInfo()'s Need.

	FinderJob now expects a NextDir() by the child class's constructor.
	NextDir needs to call a virtual; we can't do that from the base
	constructor.  (I think it's a little more straightforward, too: always
	start a find with NextDir, instead of the first path being an
	exception.)

	Regular find command now accepts multiple arguments.

	Call Enter(dir) when entering a dir and Exit() when leaving;
	Call ProcessList(fileset) when we have a new fileset, to give opportunity
	for ops on the whole list, including sorting.

	Added find and du to remote completers.

2001-11-08  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: set debug level 4 for `550 No files found' reply;
	  send QUIT from destructor.
	* buffer.cc: optimize Format method, vsnprintf directly to buffer.
	* Job.cc: let the job run once before showing status.

2001-11-08  Glenn Maynard <g_ld@zewt.org>

	* FileSet.cc, FileSet.h: Added a pattern-exclude() for FileSets.
	* Fish.h, Http.h, log.h: no need for StatusLine.
	* StatusLine.cc: StatusLine doesn't update for the first 20ms.
	* buffer.cc, buffer.h: Added Buffer::Format().

2001-11-06  Alexander V. Lukyanov <lav@yars.free.net>

	* PtyShell.cc: include sys/types.h and sys/ioctl.h.
	* TimeDate.cc, TimeDate.h, Timer.cc, Timer.h: new files.
	* CopyJob.cc, CopyJob.h, FileCopy.cc, FileCopy.h, Fish.cc,
	  FtpListInfo.cc, Http.cc, HttpDir.cc, NetAccess.cc,
	  NetAccess.h, Resolver.cc, SMTask.cc, SMTask.h, SleepJob.cc,
	  Speedometer.cc, Speedometer.h, StatusLine.cc, StatusLine.h,
	  complete.cc, ftpclass.cc, misc.cc, misc.h: use new time classes.
	* commands.cc: (builtin_lcd) don't assume cwd!=0.
	* FtpDirList.cc: (EPLF) use TimeDate::IsoDateTime; add missing \n.

2001-11-05  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.h: fix coredump on `mget -E'.
	* complete.cc, parsecmd.cc: accept single quote as well as double
	  quote, no difference between the two yet.

2001-10-30  Alexander V. Lukyanov <lav@yars.free.net>

	* FileCopy.cc: no need to convert cached data - it is done by other
	  copy peer; don't translate really debugging messages.
	* misc.cc: no need for crlf_to_lf.
	* complete.cc: don't show completion status right after the tab since
	  the listing can come from cache fast.

2001-10-29  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc: use dynamic allocation in set_tz; use unsetenv to unset TZ;
	  implement unsetenv is not available using environ array.
	* ColumnOutput.cc: make it compile with irix compiler.

2001-10-27  Alexander V. Lukyanov <lav@yars.free.net>

	* FtpDirList.cc: clean up; style.
	* FileCopy.cc: style; restore eof behaviour.
	* misc.cc: rewrite mem_crlf and crlf_to_lf to make them more clear.

2001-10-27  Glenn Maynard <g_ld@zewt.org>

	* FileCopy.cc, FtpDirList.cc, FtpDirList.h, misc.cc, misc.h:
	  Speed up ascii mode transfer.
	* command.cc: cosmetics.

2001-10-25  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc, misc.h: (mktime_from_tz) new function.
	* FtpListInfo.cc, FtpListInfo.h: use it.
	* resource.cc: (ftp:timezone) new setting.

2001-10-25  Glenn Maynard <g_ld@zewt.org>

	* FileSetOutput.cc, FileSetOutput.h, commands.cc: -1 option for cls;
	  readded -q to help cls; added missing \n.
	* misc.cc, misc.h: -rwxr-xr-t implies S_IXOTH; -rwxr-xr-T does not;
	  mktime_from_utc has a problem when isdst is -1; the returned time is
	  off by an hour if the local timezone is in DST.
	* FtpListInfo.cc: assume unix server's timezone to be GMT.

2001-10-25  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc, FileAccess.h, FileCopyFtp.cc, FileSetOutput.cc, Fish.cc,
	  GetJob.cc, Http.cc, NetAccess.cc, ResMgr.h, Resolver.cc,
	  Speedometer.cc, StatusLine.cc, commands.cc, ftpclass.cc, ftpclass.h,
	  lftp.cc: (QueryBool) new functions, now lftp should compile with
	  a compiler without bool type.
	* Fish.cc: check line length before comparing with yes/no/password;
	  remove extra xfree(home), fortunately home was null at that point.

2001-10-22  Alexander V. Lukyanov <lav@yars.free.net>

	* complete.cc: fix local tilde completion.
	* Fish.cc, resource.cc: add fish:shell setting.
	* SMTask.cc, misc.cc: include time.h first.
	* Makefile.am: distribute convert-netscape-cookies.

2001-10-19  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: fix typo in cls help. Reported by Nicolas Noble.
	* complete.cc: restore prompt and clear message on SIGINT.

2001-10-17  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: workaround for WarFTPD ABOR glitch.
	* CopyJob.cc, CopyJob.h, FileCopy.cc, FileCopy.h: NoStatusOnWrite added.
	* commands.cc: use it.
	* FileSetOutput.cc, FileSetOutput.h: fix recls.
	* misc.cc: (xasprinf) fix va_end argument.
	* complete.cc: make readline define correct rl_message prototype.
	* FileSetOutput.cc: make it output precise date too.

2001-10-16  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc: use int to avoid warning.

2001-10-15  Alexander V. Lukyanov <lav@yars.free.net>

	* ColumnOutput.cc: use xfree.
	* FileAccess.h: add comment about ListInfo::GetResult.
	* FileSetOutput.cc: fix memory leaks; use xfree.
	* commands.cc: cosmetics.

2001-10-15  Alexander V. Lukyanov <lav@yars.free.net>

	* misc.cc, misc.h: conding style; safety precautions (better checking
	  on vsnprintf return value); just double buffer size; include stdarg.h
	  in misc.h.

2001-10-15  Glenn F. Maynard <g_ld@zewt.org>

	* ColumnOutput.cc, ColumnOutput.h, FileSetOutput.cc, misc.h, misc.cc:

	Column output now treats width properly (using mbswidth().)

	Date output added to cls -l; uses locale-dependant date (like ls does.)

	Added xasprintf and xvasprintf.  (Trivial asprintf/vasprintf
	implementation so we don't need to deal with trio just for those.)

	Added some ColumnOutput support for date output (addf()).

	* PtyShell.cc: fix warnings.
	* Fish.cc: improve status.

2001-10-12  Alexander V. Lukyanov <lav@yars.free.net>

	* url.cc: optimize user/password extraction using strrchr.

2001-10-12  Jonas Jensen <bones@huleboer.dk>

	* url.cc: allow @ in password.

2001-10-12  Alexander V. Lukyanov <lav@yars.free.net>

	* Fish.cc, Fish.h: use PtyShell; answer ssh questions about (yes/no)
	  and password.
	* StatusLine.cc: (Show) check timer even if newstr is equal to to_be_shown.
	* PtyShell.cc, PtyShell.h, lftp_pty.cc, lftp_pty.h: new files.
	* ArgV.h: (Add) alias to Append.
	* complete.cc: add > to remote completion status.
	* ftpclass.cc: don't add ./ to CWD in extreme case when PWD is not
	  absolute.
	* misc.cc: (dir_file) don't return NULL if possible.
	* Time.cc, Time.h: (ms) fixed integer overflow.

2001-10-10  Glenn F. Maynard <g_ld@zewt.org>

	* StatusLine.cc, StatusLine.h, Time.cc, Time.h, complete.cc:

	added ms constructor for time; this gives us a free cast from int to
	Time, which means all of the ms operations can away (they're implicit.)

	Defined negative time values more clearly (in comments).  This usually
	doesn't matter.

	Fixed Time.h indentation.

2001-10-10  Alexander V. Lukyanov <lav@yars.free.net>

	* FileSet.cc: (LocalFile) don't set name if already set. This fixes
	  LocalAccess' ListInfo and mirror.
	* PollVec.cc: treat AddTimeout(negative) as AddTimeout(0).

2001-10-09  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h, FileAccess.cc: more home_auto fixes;
	  SameLocationAs returns true even if o->home is null.

2001-10-09  Glenn F. Maynard <g_ld@zewt.org>

	* Time.cc, Time.h, commands.cc, complete.cc, StatusLine.cc, StatusLine.h,
	misc.cc, misc.h:

	Time and Timer classes in Time.{cc,h}.  Implemented only a
	couple operators; add others as required.  This can probably be fairly
	widely-used; I didn't implement it anywhere else, though.  It doesn't
	cast to anything; that just causes problems.

	Disabled short help for: rels renlist reget reput

	added references: [re]ls, [re]nlist, [re]get, [re]cls, [re]put
	Help is down to 23 lines (from 25.)  How about changing help to use
	ColumnOutput?  That might cut it down further.  (Due to the length of
	some short help, it might not, though--not on an 80x25, anyway.)

	Updated [c]ls help; it was too long.

	(xgettimeofday) new function. (cmd:status-interval) new setting.

2001-10-08  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: fix site command broken by ls changes.
	* FileAccess.h, FileAccess.cc, Http.cc, Http.h, ftpclass.cc, ftpclass.h:
	  NetAccess.cc, NetAccess.h: new method ResetLocationData; reset
	  home_auto on Connect/Login/AnonymousLogin.
	* FileAccess.h, Fish.cc, ftpclass.cc, ftpclass.h: (FA::set_home) new
	  method; use it; (Ftp::PropagateHomeAuto) new method; use it; fixed
	  bug with unsynced home's.

2001-10-08  Glenn F. Maynard <g_ld@zewt.org>

	* ColumnOutput.cc, commands.cc, complete.cc, complete.h, lftp_rl.c:

	Reupdated my address.

	Add cls, recls and rels to list of remote-completers.

	Make local completion mimic remote completion by forming a FileSet.
	This simplifies completion, gets rid of ignore_non_dirs (which was
	causing some really obscure problems with completion adding one too
	many slashes--didn't track this down since ignore_non_dirs isn't used
	anymore) and gives us color (etc) for local completion.  I didn't
	actually delete ignore_non_dirs yet.

	Add status feedback for remote completion, in the message area.  If -q
	is given in cls_completion_default, this is disabled.  (This is also
	undocumented and slightly different from the effect -q is intended to
	have--but doesn't, since it's currently disabled--but it seems the most
	appropriate place to put this, since cls_completion_default honors just
	about every cls option; and even if status displaying was currently
	working for cls, job status wouldn't be appropriate for completion
	since it'd mangle the line.)  I'll hold off on documenting this until -q
	is fixed for cls (unless it turns out that it just can't reasonably be done,
	but I'm optimistic.)

	Keep glob_res around after completion until the next completion or the
	next command; this lets us use it to do our own completion result
	display.

	Handle our own completion results; this also gives us optimized column
	widths for all completions, not just filenames.

	Fixed color reset bug.

	Glitch: we don't honor the user's completion-ignore-case readline
	setting.  We can't get access to it portably.  It's not too big a deal;
	adding -i to cls-completion-default has the same effect, and honoring
	both of them would probably be a little confusing anyway.

2001-10-05  Alexander V. Lukyanov <lav@yars.free.net>

	* ColumnOutput.cc: fix memory leak; change \e to \\e.
	* FileSetOutput.cc: fix coredump when LS_COLORS is unset.
	* misc.h: add comment on Subst.
	* lftp.cc: set top_exec to zero after deletion, this fixes a coredump
	  at exit.
	* commands.cc: remove bzcat, bzmore and cls from command index,
	  it has become too long for 25 linear display.

2001-10-05  Glenn F. Maynard <g_ld@zewt.org>

	* CmdExec.cc, ColumnOutput.cc, ColumnOutput.h, FileSet.cc, FileSet.h,
	FileSetOutput.cc, FileSetOutput.h, Filter.cc, Filter.h, Makefile.am,
	ResMgr.cc, ResMgr.h, commands.cc, misc.cc, misc.h:

	ColumnOutput.{cc,h}: column display, originally from FileUtils.  I've
	cleaned it up substantially, generalized color support, class-ized it
	and some other stuff.

	Moved FDStream::width() to misc.cc; nuked isatty().

	tokenize() bugfixes.

	Added TriBoolValidate; Bool with a third ("Auto").  Feel free to think
	of a better name.

	Don't give ls's job a blank name; results in unsightly empty `' in
	status.

	Add sorting to FileSets.  A second array of pointers (aliasing the main
	list) is created when the list is sorted; the list can't be modified if
	the list is sorted (so we don't have to keep track of how the list is
	sorted.)  Multiple-level sorting is possible (sort by name then
	directories-first, for example.)  This method doesn't have to touch much
	of FileSet and keeps the binary-search-insert intact.  (If needed, it
	could be made to allow adds after sorting by simply dumping new entries
	on the end of the sorted list, so new entries aren't sorted.)

	FileSet::operator[] uses the sorted list, if available.

	FindByName uses FindGEIndByName, making that function O(log n) rather
	than O(n).

	A bunch of static, very cut-and-paste code from FileUtils.cc for parsing
	LS_COLORS.

	FileSetPrint class.

2001-10-03  Glenn F. Maynard <g_ld@zewt.org>

	* ArgV.cc, ArgV.h, CmdExec.cc, DummyProto.cc, DummyProto.h,
	FileAccess.cc, FileAccess.h, FileSet.cc, FileSet.h, Filter.cc,
	Filter.h, Http.cc, LocalAccess.cc, QueueFeeder.cc, StatusLine.cc,
	keyvalue.cc, keyvalue.h, misc.cc, misc.h:

	New ArgV constructor, to take a string and tokenize it.
	misc.cc code to do the real work.  (This could possibly be improved
	to make it usable for the main tokenizer.)

	misc.cc code to do \x, etc. substitution, and code elsewhere to use
	this.  (This would have been the third time this could would have been
	duplicated, so I merged it.)

	DummyNoProto for MakeListInfo, same as MakeDirList.

	Option for Glob to ignore case.

	isatty() and width() for FDStream.  (isatty() could be done away with,
	as it doesn't really save any code being a 1-liner; width() is more
	functional.)

	Move make-FileInfo-from-local-file into FileInfo::LocalFile().

	Dumb QueueFeeder bugfix (of my own bug, of course.)

	Made a bunch of KeyValue functions const.  (Not completely correctly:
	when returning a member value like those do, there really should be both
	a const and non-const version ...)

2001-10-02  Aaron Schrab <aaron@schrab.com>

	* Fish.cc, Http.cc, log.cc: move va_end so that it is called always.

2001-10-01  Aaron Schrab <aaron@schrab.com>

	* Fish.cc, Http.cc, log.cc: call va_start multiple
	  times when needed, fixes powerpc coredumps.

2001-10-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: remove unneeded _().

2001-09-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: sometimes CWD was not sent after reconnection
	  because of missing set_real_cwd - fix it.

2001-09-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp_rl.c: print * for modified lines in history (like in bash).
	* resource.cc, ftpclass.cc: use retry-530-anonymous as an additional
	  regexp for retry-530.

2001-09-10  Glenn F. Maynard <g_ld@zewt.org>

	* commands.cc, lftp_rl.c, lftp_rl.h: implement history command.

2001-08-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: retry with use_fork=false; don't create pipe if
	  use_fork==false.

2001-08-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: (MoveConnectionHere) set home if null.

2001-08-27  Glenn F. Maynard <g_ld@zewt.org>

	* FileSet.cc, FileSet.h, FileAccess.h, CmdExec.cc: remove the FileSet
	  sort stuff.  It's superfluous now.
	* commands.cc: fix a minor UI bug with queue -d.

2001-08-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpListInfo.cc: remove erroneous assert, handle error.
	* ftpclass.cc, ftpclass.h: (home_auto) new member; support ftp:home
	  variable.
	* resource.cc: add ftp:home, update ftp:retry-530.
	* ResMgr.cc: verify default value with supplied validator.

2001-08-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: fixed ftp:ssl-auth validation.
	* ftpclass.cc: improve abort for passive mode - connect data socket
	  if it is not connected yet.

2001-08-16  Wolfram Gloger <Wolfram.Gloger@dent.med.uni-muenchen.de>

	* FileSet.cc: include stdlib.h; use labs instead of abs.

2001-08-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ResMgr.cc: declare inet_aton if needed.

2001-08-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix memory allocation error.

2001-07-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: format queue help at 80 columns.
	* Resolver.cc: little correction for RAND_MAX.
	* Speedometer.cc: call Get once, maybe fix for math exception.

2001-07-26  Glenn F. Maynard <g_ld@zewt.org>

	* CmdExec.cc, CmdExec.h, Job.cc, Makefile.am, commands.cc: queue
	  editing support (QueueFeeder class).
	* QueueFeeder.cc, QueueFeeder.h: new files.

2001-07-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpSplitList.cc: fix mem leak (reported by Glenn F. Maynard).
	* ftpclass.cc: break normal execution if Error().
	* Http.cc: workaround for range end ==-1.

2001-07-24  Glenn F. Maynard <g_ld@zewt.org>

	* FileAccess.cc: make url protocol case insensitive.

2001-07-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: fix CONNECT_VERIFY in case of borrowed connection.
	* commands.cc: check find -d argument for being a number.

2001-07-19  Glenn F. Maynard <g_ld@zewt.org>

	* FindJob.cc, FindJob.h, commands.cc: add find --maxdepth option.

2001-07-19  Glenn F. Maynard <g_ld@zewt.org>

	* CmdExec.cc, CmdExec.h, commands.cc: implement queue editing -
	  queue -s and queue -e commands.

2001-07-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h, resource.cc: allow to choose AUTH argument;
	  ftp:ssl-auth new variable.

2001-07-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc: make it compile with irix compiler.
	* FtpListInfo.cc: add MacWebStar parser.

2001-07-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: make it work without ssl.

2001-07-09  Glenn F. Maynard <glenn@zewt.org>

	* FileSet.cc, FileSet.h: speed-optimization using binary search.

2001-07-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* misc.cc: little speed-optimization in squeeze_file_name.

2001-07-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, ftpclass.cc, ftpclass.h:
	  get rid of group/gpass.
	* Resolver.cc, netrc.cc, Fish.cc, Http.cc: use case-insensitive
	  hostname comparision.
	* Http.cc, Http.h: support CONNECT method for https over http proxy.

2001-07-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolve.cc: update SRV support for RFC2782.
	* HttpDir.cc: add roxen listing support; reorganize.

2001-06-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* url.cc: use host=localhost for urls like file:///path.

2001-06-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix closure generation for user==0.
	* CmdExec.cc: fix for cwd==0.
	* Http.cc: get rid of data_buf; handle identity encoding.
	* Fish.cc, Fish.h: more work.

2001-06-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: new settings ftp:port-ipv4, ftp:acct, ftp:site-group.
	* ftpclass.cc, ftpclass.h: support for ACCT, SITE GROUP,
	  and for ftp:port-ipv4.
	* ResMgr.cc, ResMgr.h: IPv4AddrValidate new validator.

2001-06-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: handle 416 reply code.
	* ProcWait.cc, ProcWait.h, lftp.cc: (ProcWait::DeleteAll) new method;
	  use it.
	* FileAccess.cc, modconfig.h, Makefile.am: include Fish.

2001-06-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopyFtp.cc: fix restart in fxp mode.
	* HttpDir.cc, HttpDir.h, NetAccess.cc, NetAccess.h: (GenericParseGlob)
	  new class; use it.
	* Fish.cc, Fish.h: implement Glob, ListInfo.
	* ftpclass.cc: better status for fxp.

2001-06-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: NO_USER new GetFileURL option.
	* Http.cc: don't put user name in Referer.

2001-06-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: fix `debug 9 -o log'.
	* ftpclass.cc: handle Serv-U reply to STAT command.
	* Fish.cc: some more work.

2001-06-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: implement Cleanup and CleanupThis methods.
	* ftpclass.cc, ftpclass.h: get rid of ftp_chain and ftp_next.

2001-05-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: fix a memory leak in use-fork=no mode.

2001-05-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp.cc, Job.cc, Job.h, SMTask.cc, SMTask.h, SleepJob.cc, SleepJob.h:
	  add notification for moving to background; terminate some never-ending
	  jobs before moving to bg.
	* resource.cc: change default for ftp:fix-pasv-address to true.
	* Http.cc, Http.h: support keep-alive for chunked transfer-encoding.
	* ftpclass.cc, ftpclass.h: fix reget for non-existent files.
	* Resolver.cc: report number of addresses.
	* SMTask.cc: tune Schedule for recursive calling by setting sched_scan
	  to current.

2001-05-29  albert chin (china@thewrittenword.com)

	* Fish.cc, Http.cc, StatusLine.cc, log.cc: use trio functions if needed.

2001-05-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: (vars_generator) special generator for variable
	  names to match variable name using ResMgr::VarNameCmp.

2001-05-29  Nicolas Noble <Pixel@the-babel-tower.nobis-crew.org>

	* complete.cc, ResMgr.cc, ResMgr.h: add variable name completion
	  support.

2001-05-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: support `mirror -R -c'.
	* resource.cc: some more patterns for retry-530.

2001-05-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: new settings ftp:retry-530 and ftp:retry-530-anonymous.
	  This settings should be useful to distinguish between overloaded
	  server (temporary condition) and incorrect password (permanent
	  condition).
	* ftpclass.cc: retry on server reply 530 for PASS command if text
	  matches above regular expressions. Retry ftp login quickly on next
	  address if the server has many (works well on ftp.redhat.com, for
	  example).
	* ResMgr.cc, ResMgr.h: improved fuzzy variable name matching. Exact
	  prefix and exact name after prefix are taken into account separately.
	  E.g. http:pro is not ambigous now between http:proxy and https:proxy.
	* misc.cc, misc.h: move re_match here.

2001-05-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: delete status_line in dtor.
	* CmdExec.h: SetStatusLine new method.
	* FileAccess.cc, FileAccess.h: SessionPool:ClearAll new method.
	* Makefile.am: fix rpm build, add buffer_ssl.h to sources; strip modules.
	* ResMgr.cc: don't call ReconfigAll in ResDecl dtor.
	* SMTask.cc, SMTask.h: TaskCount new method.
	* lftp.cc: delete most tasks, print warning if some extra left.

2001-05-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc, NetAccess.h: (HandleTimeout) new function.
	* ftpclass.cc, ftpclass.h: redefine HandleTimeout to set quit_sent
	  (fixes non-fatal deadlock).
	* commands.cc: allow open "" and empty bookmarks.
	* resource.cc: don't use user name in anon-pass (suggested by
	  Eduardo Perez Ureta <eperez@dei.inf.uc3m.es>).

2001-04-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, mkdirJob.cc, StatusLine.cc: fix overflows.
	* complete.cc, lftp_rl.c, lftp_rl.h, alias.h: make it compile with
	  readline-4.2.

2001-04-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* Fish.cc, SleepJob.cc, ftpclass.cc: move CDECL to modconfig.h.
	* FtpListInfo.cc: set tm_isdst to -1 (automatic DST).
	* Http.cc: don't add extra / to Referer.
	* Makefile.am: use libtool to build modules; libnetwork.so.
	* MirrorJob.cc: remove unneeded N_.
	* ResMgr.cc, ResMgr.h: add dtor for ResDecl.
	* Resolver.cc, Resolver.h: move resources to resource.cc;
	  remove ClassInit.
	* SMTask.cc, SMTask.h: add DeleteAll method.
	* buffer.cc, buffer.h: move IOBufferSSL to separate files.
	* buffer_ssl.cc, buffer_ssl.h: new files.
	* lftp_ssl.h: add ifdef USE_SSL.
	* log.cc: automatically init Log::global.
	* modconfig.h: add MODULE_NETWORK; prototype for module_init.
	* resource.cc: move resources from Resolver.cc here.

2001-03-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: set default for dns:cache-expire to 1h.

2001-03-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* keyvalue.cc: ignore certain lock errors.
	* Makefile.am: install modules into pkglibdir/version dir.
	* resource.cc, Http.cc: http:referer, hftp:use-type new settings.

2001-03-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: add \n to connect: message.
	* HttpDir.cc: do Exclude.
	* commands.cc: update help for `module'.
	* module.cc: search modules in module:path.
	* resource.cc: init module:path from env LFTP_MODULE_PATH.

2001-03-13  Arkadiusz Miskiewicz <misiek@pld.org.pl>

	* Job.cc, Job.h: undef printf (for new glibc).

2001-03-13  Glenn F. Maynard <glenn@zewt.org>

	* CmdExec.cc, CmdExec.h, StatusLine.cc, StatusLine.h: support for
	  terminal titlebar.

2001-02-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: (MakePrompt) fix \NNN recognition (reported by
	  Glenn F. Maynard)

2001-02-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: accept perms string 11 char long.
	* misc.cc: accept last + in perms string as ACL tag.
	* commands.cc: open command file in ascii mode.
	* Fish.cc, Http.cc, NetAccess.cc, NetAccess.h, ftpclass.cc:
	  create RateLimit with closure.

2001-02-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: fix rare spinning when parent process terminates.
	* ftpclass.cc: don't bind data socket to loopback address.

2001-02-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* url.cc: fix Combine when proto==NULL.

2001-02-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc, FileFeeder.cc, Filter.cc, Http.cc, LocalAccess.cc,
	  ProcWait.cc, buffer.cc, ftpclass.cc, keyvalue.cc: use E_RETRY macro.
	* FileCopy.h: drop size information if pos>size.

2001-01-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: print error to debug output from Http::Read.
	* Job.cc: add timeout when displaying status of several jobs in cycle.
	* pgetJob.cc: more space in status line for eta.

2001-01-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix opie/skey reply.
	* Http.cc: some fixes for PUT and `100 Continue'.

2000-12-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: also use ':' as user/pass separator.
	* ftpclass.cc, resource.cc: ftp:fix-pasv-address setting.

2000-12-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, misc.cc, misc.h, ftpclass.cc: move mktime_from_utc to
	  misc.cc.
	* HttpDir.cc: correct array size.
	* lftp.cc: add cmd:save-cwd-history setting.
	* Speedometer.cc: show up to 99 seconds eta in seconds.

2000-12-08  Chmouel Boudjnah <chmouel@mandrakesoft.com>

	* CatJob.cc, commands.cc, complete.cc: add bzcat and bzmore support.

2000-12-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: hftp:use-authorization.
	* Http.cc: send port in Host: header; hftp:use-authorization new
	  setting.

2000-11-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, Http.cc, ftpclass.cc, ftpclass.h,
	  NetAccess.cc, NetAccess.h: (ProtocolSubstitution) new virtual
	  method; check net:no-proxy before changing ftp to hftp.

2000-11-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* url.cc: implement [ipv6::address]:port as specified by rfc2732.
	* complete.cc: fix local tilde globbing.

2000-11-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* bookmark.cc, bookmark.h, keyvalue.cc, history.cc: don't wait for
	  lock forever; print warning if locking fails.

2000-11-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* history.cc, history.h: add flag of modification.

2000-10-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: set last_bg in queue.
	* lftpget: set max-redirections.

2000-10-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: set event_time in Read/Write.
	* FileAccess.cc: use `now' instead of time().

2000-10-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: don't call Poll on data socket (no real need).
	* FileSet.h, FileSet.cc: eliminate only_newer argument, use ignore mask.
	* MirrorJob.cc: use the new ignore mask values; don't assume only-newer
	  for reverse mirror.

2000-10-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* mgetJob.cc: fix mput for directory case (continue loop instead
	  of returning).

2000-10-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: use service name `ftps' for ftps; don't queue up
	  too much MDTM/SIZE commands in sync mode.

2000-10-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: fix globbing for tilde; optimize
	  the case when pattern does not contain wildcards.
	* HttpDir.cc, FtpGlob.cc: some code moved to FileAccess.cc.
	* complete.cc: call NoInhibitTilde.

2000-10-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, FtpSplitList.cc, FtpSplitList.h,
	  FtpGlob.cc, HttpDir.cc: Glob::add cleanup.
	* complete.cc: fix completion for filenames starting with tilde.
	* ftpclass.cc, ftpclass.h: fix for old gcc (ftps undefined).

2000-10-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: handle CONNECT_VERIFY in CONNECTED state.
	* NetAccess.cc: Disconnect before Connect.

2000-10-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* Makefile.am: use C compiler to compile modules, it should use c++
	  for c++ files automatically.
	* ResMgr.cc: use extern "C" for regex.h, this fixes linking for some
	  systems.

2000-09-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: fix for `ls|head'.
	* ftpclass.cc, resource.cc: ftp:bind-data-socket new setting;
	  fix for assert(rate_limit!=0).
	* url.cc, url.h: provisions for not using rfc1738 for ftp urls.

2000-09-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: fix lcd & in queue.
	* commands.cc: fix cmd:move-background handling when there is no jobs.

2000-09-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: fix cd & in queue.

2000-09-21  Arkadiusz Miskiewicz <misiek@pld.org.pl>

	* ftpclass.cc: fix addr_received initialization for ipv6.

2000-09-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* module.cc: aliases for https and ftps.

2000-09-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: fix error on some compilers (e.g. irix).

2000-09-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* pgetJob.cc: fix yet another hang bug (hopefully last).

2000-09-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: move out of CONNECTING_DATA_SOCKET after DataClose
	  (fixes rare `bad file number' error).
	* MirrorJob.cc: propagate remove_source_files to submirrors.

2000-09-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: include modconfig.h. (fixes module compilation).

2000-09-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* buffer.cc: handle eof on ssl connection properly.

2000-09-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: don't remember path=/ in cookies; skip all spaces
	  before a cookie.

2000-09-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: support for redirection.
	* CmdExec.cc: move `cd' out ot translated string.
	* Http.cc, LocalAccess.cc, Fish.cc, MirrorJob.cc, SleepJob.cc:
	  don't rely on MODULE.
	* Makefile.am: don't define MODULE.

2000-09-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* GetJob.cc, GetJob.h: restore mode on new file.

2000-09-05  Matthias Andree <matthias.andree@gmx.de>

	* FtpDirList.cc: reformat EPLF even if mtime if absent.

2000-08-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: try PORT if connect fails after fixing
	  pasv address.
	* Http.cc: really skip rest of body from recv_buf; call recv_buf->Do.

2000-08-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix error handling for port-range; bind local address
	  to data socket in passive mode (helps for rare case of routing change).

2000-08-26  Nicolas Noble <nicolas.n.@wanadoo.fr>

	* command.cc: fix N_ for queue help.

2000-08-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h: follow redirections in `cd'.
	* mkdirJob.cc, rmJob.cc: add forgotten plural.
	* module.cc: define RTLD_GLOBAL to 0 if needed.
	* url.cc: set path=/ by default for http urls.
	* CopyJob.cc, pgetJob.cc: move string out of #define to help
	  xgettext to extract it (reported by Nicolas Noble).
	* FileAccess.cc: allow //path (required by posix and needed for
	  novell). Reported by Andreas Quitzow <u042415@xham.dlh.de>.
	* ftpclass.cc, ftpclass.h: fix ssl support (tested on ftpd-tls).

2000-08-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: set *_ssl_connected after SSL_connect.

2000-08-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.h, Fish.h: fix last comma in enum.
	* ResMgr.h: make ResMgr::Resource public.

2000-08-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: fix Seek of FileCopyPeerFDStream. This fixes
	  problem with downloading from REST uncapable servers.

2000-08-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: if server returned address from private network
	  and its own address is not in private network, don't beleave it
	  and use original server address.

2000-08-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: check data port for ftps-data; all_lines
	  new member; check all_lines for auto-sync-mode; fix ftps connection
	  borrowing.
	* resource.cc: make use-site-idle off by default; validate https:proxy.
	* HttpDir.cc: fix unterminated comment handling; handle bsd-like
	  ftp listings from apache proxy.

2000-08-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: (MergeCookies) null-terminate cookie properly.

2000-08-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: support for ssl (AUTH TLS).
	* resource.cc: new settings ftp:ssl-allow, ssl-force, ssl-protect-data;
	  allow https for http:proxy; set https:proxy by https_proxy.
	* Http.cc: move Https::New to ifdef; fix cookie closure match.

2000-08-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: init https properly; rework cookie sending/receiving,
	  now cookies are joined from all matching closures, path is
	  also checked; use lftp_ssl_new; don't disconnect in some cases.
	* ResMgr.cc, ResMgr.h: (QueryNext) new method for cookies merging.
	* buffer.cc: use service lftp_ssl* functions.
	* ftpclass.cc, ftpclass.h: send SITE IDLE.
	* resource.cc: new setting ftp:use-site-idle.
	* ResMgr.cc: quote ;& properly.
	* MirrorJob.cc: increment error_count when cd fails.

2000-07-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: add ] to list of wildcards.
	* FtpGlob.cc: fix coredump on empty directories.
	* complete.cc: fix filename quotation.
	* lftp_ssl.cc, lftp_ssl.h: new files.

2000-07-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: res_prefix new member.
	* FindJob.cc, Fish.cc, Fish.h, FtpDirList.cc, LocalAccess.cc,
	  Resolver.cc: use new IOBuffer.
	* Http.cc, Http.h: implement https; use IOBuffer.
	* HttpDir.cc: skip comments in html; use IOBuffer.
	* buffer.cc, buffer.h: IOBuffer class; IOBufferSSL for ssl IO.
	* resource.cc: add https:proxy setting.

2000-07-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: fix # quoting.

2000-07-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: don't create file in reget until data are
	  available.
	* buffer.cc, buffer.h: get_size new method; getsize_and_seek_end removed.

2000-07-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc, ResMgr.h: NoClosure validator.
	* CmdExec.cc, FileCopy.cc, GetJob.cc, Resolver.cc, Speedometer.cc,
	  resource.cc: use NoClosure where needed.
	* commands.cc: add closure for cmd:default-protocol and
	  bmk:save-passwords.
	* resource.cc: add http:post-content-type; validate http:put-method.
	* Http.cc: use http:post-content-type.
	* FileSet.cc: (FileSet::Merge) fix long standing bug, which caused
	  rare coredumps on completion.

2000-07-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: apply non-absolute redirection to orig_url.
	* ResMgr.cc, ResMgr.h: regexp validator.
	* ftpclass.cc, resource.cc: ftp:auto-sync-mode setting.

2000-07-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: count errors; (ExitCode) implemented.
	* Resolver.cc: use getipnodebyname when available (for solaris8).
	* ftpclass.cc: handle "" in PWD reply; fix NextPeer selection.
	* NetAccess.cc: don't reset peer_curr on Resolve.
	* pgetJob.cc: fix eta.

2000-07-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc: fix duplicate error messages.
	* commands.cc: help update: mirror -P, exit bg.

2000-07-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: (GetVisualProto, SetVisualProto)
	  new methods; handle http proxy on creation of ftp session.
	* Http.cc: use ftp:proxy if session was created as ftp.
	* HttpDir.cc: check for ftp too.
	* commands.cc: create new session everytime.
	* resource.cc: check ftp:proxy for http://.

2000-07-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc, Job.h: support for several jobs being waited for
	  (preparation for mirror --parallel).
	* CmdExec.cc, CmdExec.h, CopyJob.cc, FindJob.cc, MirrorJob.cc,
	  SleepJob.cc, commands.cc, mgetJob.cc: according to Job.cc.
	* MirrorJob.cc, MirrorJob.h: --parallel option (finally!).
	* CatJob.cc, CatJob.h, commands.cc: auto ascii for cat; wait all
	  for new waiting scheme.
	* CopyJob.cc, CopyJob.h: support several CopyJob's in CopyJobEnv.
	* Job.cc, Job.h: (WaitForAllChildren) new method for `wait all'.

2000-07-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.h, FileAccess.cc: use FileSet in Glob.
	* CmdExec.cc, FileSet.h, FileSet.cc, FtpGlob.cc, FtpGlob.h,
	  FtpListInfo.cc, FtpListInfo.h, FtpSplitList.cc, HttpDir.cc,
	  HttpDir.h, LocalAccess.cc, mgetJob.cc: change for FileSet in Glob.
	* complete.cc: FileSet from Glob; append / for directories (finally!).

2000-07-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileSet.cc: don't pass REG_NOSUB to regexec, this fixes
	  coredump on BSD. Reported by Andriy I Pilipenko <bamby@marka.net.ua>

2000-07-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: invalidate dir listing cache on chmod.
	* Http.cc, Http.h: implement Suspend, Resume; resume and Roll
	  recv_buf on Close.
	* SMTask.h: (IsSuspended) new method.
	* buffer.cc: resume in_FA before Close.

2000-07-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc: (SocketNumericAddress) use SocketAddrLen, this fixes
	  a problem with solaris8.
	* Http.cc: set real_pos=0 when no_ranges==true.
	* commands.cc: fix `open -u ... -p ... bookmark_name'.

2000-07-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: (SendArrayInfoRequests) new method;
	  fix gcc-2.96 error; fix a coredump; add asserts.
	* LocalAccess.cc: fix rels.

2000-07-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: don't query for accept* if hftp.
	* pgetJob.cc: fix deadlock.

2000-07-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix error with gcc-2.96.

2000-07-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix potential memory leak.

2000-07-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp.cc, resource.cc: ask for password for ftp:proxy.
	* Http.cc: workaround for redirections without "\n\n";
	  check if all data arrived before disconnecting; set body_size=0
	  on "204 No Content"; handle "100 Continue".

2000-07-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: (FileAccess::ClassInit) new function;
	  move calls of Ftp::ClassInit there.
	* lftp.cc: call FileAccess::ClassInit.
	* Filter.cc, Filter.h: add stderr_to_stdout flag.
	* FtpDirList.cc, FtpListInfo.cc, FtpSplitList.cc, HttpDir.cc:
	  fix printing for off_t.

2000-07-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: fix compilation problem on IRIX.

2000-06-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: don't Open NULL file, use "".

2000-06-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: use lstat instead of stat on local file before mkdir.
	* Job.cc, Job.h: (FindAnyChild) new method.
	* CmdExec.cc, CmdExec.h, commands.cc: support for `wait all'.
	* ftpclass.cc: fix RETR reply handling (was broken in A00625 snapshot).
	* Http.cc: don't use |= on bool.

2000-06-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: limit max-retries by default.
	* ftpclass.cc: fix 4xx handling in file access (broken by recent changes).

2000-06-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: (StrError) optimize; add error text to "Login failed".
	* NetAccess.cc, NetAccess.h, resource.cc: net:persist-retries new setting.
	* ftpclass.cc, ftpclass.h: rework of reply handling; persist support.

2000-06-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: log redirections; fix init of redirections;
	  (FileCopyPeerFA::Init) new method.
	* Http.cc, resource.cc: new settings http:accept, http:accept-charset,
	  http:accept-language.

2000-06-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h, commands.cc, lftp.cc: new setting
	  cmd:move-background; (Feeder::RealEOF) new method.
	* FileAccess.cc, FileAccess.h, Http.h, Http.cc, FileCopy.cc,
	  FileCopy.h: new setting xfer:max-redirections; redirection support;
	  in http code - check for 20X code before using size/date.

2000-06-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: use strncasecmp for special cookie checking; handle domain=.

2000-06-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopyFtp.cc, Fish.cc, Fish.h, FtpDirList.cc, FtpListInfo.cc,
	  HttpDir.cc, NetAccess.cc, ftpclass.h: use off_t in many places.

2000-06-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* GetJob.cc: new setting xfer:make-backup.

2000-06-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc: use 2*rate as default limit-max.

2000-06-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc, CopyJob.h, FileAccess.cc, FileAccess.h, FileCopy.cc,
	  FileCopy.h, FileSet.h, Filter.cc, Filter.h, Http.cc, Http.h,
	  LocalAccess.cc, Makefile.in, Speedometer.cc, Speedometer.h,
	  buffer.cc, buffer.h, ftpclass.cc, ftpclass.h, misc.cc, misc.h,
	  pgetJob.cc, pgetJob.h, plural.c, plural.h: large file size support.

2000-06-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: apply `;type=' to hftp urls too.
	* MirrorJob.cc: chmod files if needed before continuing download.
	* xmalloc.h: add alloca_strdup2 macro.
	* resource.cc: workaround IRIX CC and Unixware c++ bug by converting
	  array to plain variables. (debugged and workaround proposed by
	  Eugene Exarevsky <zheka@relex.ru>)

2000-06-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: better status line; quote more special symbols.
	* FileCopy.cc: fix positioning in FileCopyPeerFDStream.
	* FindJob.cc: change op in FinderJob_Cmd ctor.
	* Http.cc: don't pass user data as format, use %s.
	* Job.cc: fix kill all.
	* MirrorJob.cc: remove remote directories in reverse mode; fix chmod.

2000-05-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: fix quote-post; fix spurious 'Op not supp' messages and
	  looping.
	* HttpDir.cc: fix symlinks parsing in squid ftp listing.

2000-05-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: implement `quote set-cookie'; don't retry POST op if
	  some data were sent; implement `quote POST path data'.
	* Http.h: (post, post_data) new members.

2000-05-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h, resourse.cc: add http:set-cookies var.
	* xmalloc.cc: (xstrdup) correct spare allocation when str==0.

2000-05-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: remove `-' from default anon password.

2000-05-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: use getaddrinfo only if gethostbyname2 is not available.
	* HttpDir.cc: (remove_tags) don't remove anchor tags; add debug.
	* Http.cc: fix few bugs concerned with keep-alive support.

2000-05-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: disconnect on 421/221 reply without sending QUIT.
	* Resolver.cc: use getaddrinfo if available. (original patch
	  from Brandon Hume)

2000-05-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: use vsnprintf only if available.
	* log.cc: move vsnprintf declaration to xstring.h.
	* ftpclass.cc, ftpclass.h, resource.cc: wait for QUIT reply before
	  closing the socket; ftp:use-quit new setting.

2000-05-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* xmalloc.cc, xmalloc.h: add spare parameter to xstrdup.
	* HttpDir.cc: workaround some bugs in apache proxy.
	* GetJob.cc, bookmark.cc, history.cc: use new xstrdup parameter.
	* Http.cc, Http.h, resource.cc: add http:put-content-type setting;
	  fix Http::Send buffer allocation.
	* misc.cc, misc.h: optimize month_names.
	* CmdExec.cc: don't say Running when doing nothing.
	* FileAccess.cc, FileAccess.h: move retries here; don't reset try_time
	  on open; GetTryTime, SetTryTime, GetRetries, SetRetries new/moved here.
	* NetAccess.cc, NetAccess.h: ...from here.
	* FileCopy.cc, FileCopy.h: get/set try_time and retries on store retry.

2000-05-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: (Disconnect) don't set state before check.
	* CmdExec.cc, CmdExec.h: use TERM as closure for cmd:prompt.

2000-05-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: support http:put-method; don't use locale for sending
	  Last-Modified header line; add \n to Last-Modified line;
	  don't use keep-alive for PUT; fix coredump on ^C on PUT.
	* resource.cc: add http:put-method.
	* misc.cc, misc.h: export month_names.

2000-04-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: finish keep-alive support.
	* ftpclass.cc: return from GetBetterConnection if a connection breaks.

2000-04-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: add Cookie support; allow disabling user-agent.
	* resource.cc: new setting http:cookie.
	* CatJob.cc: simplify FileCopyPeerFA creation.
	* FileAccess.cc, FileAccess.h, url.cc, url.h, Http.cc,
	  FileCopy.cc, FileCopy.h: use original URL when sending HTTP request,
	  this allows requesting URLs containing e.g. '?'.

2000-04-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: don't disable ranges always, check condition before
	  disconnect.

2000-04-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: handle old servers version 0.9 correctly.
	* CmdExec.cc: actually commit the change for ^Z handling in `cd' command.

2000-04-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: query http:user-agent explicitly.
	* MirrorJob.cc: fix compilation problem.
	* CmdExec.cc: fix stall problem with glob.
	* DummyProto.h, complete.cc, pgetJob.h: fix warnings.

2000-04-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, Http.cc: fix SetError(SEE_ERRNO) usage.
	* MirrorJob.cc: add -T option.
	* commands.cc: update mirror help.

2000-04-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileSet.cc, FileSet.h: use class TimeInterval; add loose_prec arg.
	* MirrorJob.cc, MirrorJob.h: add --loose-time-prec; handle new mirror:
	  settings.
	* ResMgr.h: make some TimeInterval methods const.
	* ftpclass.cc: lower priority of messages for failed MDTM.
	* resource.cc: new settings mirror:time-prec and loose-time-prec.

2000-04-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: workaround for `class' in nameser.h (freebsd3.2).
	* ftpclass.cc: (TransferCheck) fix wrong error handling in passive
	  STORE mode, it lead to infinite loops.

2000-04-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h, lftp.cc: add cmd:interactive setting.
	* commands.cc: encode special characters in bookmark target.
	* GetPass.cc: (readline_from_file) treat ^C as empty line, not eof.

2000-04-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: workaround gcc alloca misfeature.

2000-04-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: better error messages.

2000-04-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: return m, not STALL.
	* Http.cc, Http.h, resource.cc: add http:user-agent setting.
	* MirrorJob.cc, MirrorJob.h: add --Remove-source-files option.
	* ResMgr.cc: fix small memory leak.
	* pgetJob.cc: resume CopyJob, maybe this fixes rare pget hang.

2000-03-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: disconnect even if control_sock==-1.
	* Filter.cc: add O_BINARY for windows.

2000-03-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: check --no-perms in reverse mirror;
	  take umask into account in reverse mirror (unless --no-umask
	  is specified).
	* Http.cc, Http.h: when there is "Accept-Ranges: none", don't send
	  Ranges: again; catch size of the file when Ranges: did not work;
	  workaround squid feature when server does not support Ranges:
	  but squid emulates it and thus lftp gets timeout.
	* FileCopy.cc, FileCopy.h: emulate eof when regetting a file which
	  is already complete and source does not support restarting.

2000-03-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.h: (SetParentFg) new method.
	* CmdExec.cc, CopyJob.cc, FindJob.cc, MirrorJob.cc, SleepJob.cc,
	  commands.cc, mgetJob.cc, pgetJob.cc: use it.
	* lftpget: -u is obsolete.
	* MirrorJob.cc: set use_cache in child MirrorJob.

2000-03-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* Speedometer.cc: cast to int to avoid ambiguity on HP/UX.

2000-03-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, LsCache.cc, commands.cc: don't call macro alloca_strdup
	  on complex expressions.
	* FileCopy.cc: remove default value in function definition; count
	  rate when draining `put' in CONFIRM_STORE.
	* ResMgr.cc: include math.h for irix.
	* GetJob.cc: apply cwd in reverse mode.

2000-03-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: allow \n in file names, substitute it
	  with \0; clean up command sending.

2000-03-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: add debug messages.
	* Http.cc: initialize bytes_received; add debug messages;
	  simulate eof if pos>=entity_size.
	* HttpDir.cc: fix bug in TR handling, introduced yesterday.
	* Http.cc: fix no-proxy handling, always use proxy for hftp.
	* ftpclass.cc: fix no-proxy handling.

2000-03-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: treat table row as a whole line; remove tags before
	  parsing. (this helps to parse boa_indexer indices, e.g.
	  http://download.sourceforge.net)
	* FtpDirList.cc, FtpListInfo.cc: recognize permissions in EPLF listing.
	* misc.cc, misc.h: (format_perms) new function.
	* ftpclass.cc: treat cat "" as raw LIST.
	* resource.cc: make passive mode the default.

2000-03-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: debug code added.
	* FindJob.cc, FindJob.h: (quiet) new member; use it; set child jobs fg
	  if needed.
	* commands.cc: rm -f.
	* ftpclass.cc: don't delay session re-usage if connection limit is not
	  reached.

2000-03-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc: call srandom if range is full.
	* ftpclass.cc: don't fail if port not available, but rather wait
	  and retry.
	* commands.cc: (command) handle args->count()==1.

2000-03-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: disallow filenames with NL;
	  call ReuseAddress if could not get available port.
	* FileAccess.cc: (Rename) assign file1 before Open; (Open) don't Close
	  if not needed.
	* buffer.cc: ignore EINTR from write.
	* NetAccess.cc, NetAccess.h: (ReuseAddress) new method.

2000-03-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, resource.cc: add ftp:web-mode.

2000-03-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: (DataAbort) disregard replies for commands sent
	  before ABOR.

2000-03-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: disallow double ABOR, disconnect instead.

2000-03-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: (GetBetterConnection) don't touch CONNECTING_STATE.
	* CmdExec.cc: fix prompt space allocation.
	* ResMgr.cc: declare random if needed.

2000-03-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc, ResMgr.h: add Range class.
	* resource.cc: add ftp:port-range.
	* ftpclass.cc: use port-range to bind data socket.

2000-03-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: make IsConnected int; simpler
	  IsBetterThan implementation.
	* Http.h, ftpclass.h: better IsConnected - assign to conneting state
	  connect level 1.

2000-03-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: use NO_SIZE and NO_DATE.
	* ftpclass.cc: save size in entity_size and simulate eof on pos>=size;
	  send proper offset for REST.
	* NetAccess.cc, NetAccess.h: add takeover_time.
	* ftpclass.cc, ftpclass.h: don't use taken-over connection immediately
	  if priority<1; pass connection count to GetBetterConnection.

2000-03-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: don't take over a connection if it has NOREST_MODE;
	  check if connection_limit is reached before interrupting a transfer.
	* commands.cc: -E for get, put, mget, mput.

2000-03-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CopyJob.h, FileAccess.cc, FileCopy.cc, FileCopy.h,
	  Job.cc, Job.h, NetAccess.cc, commands.cc, ftpclass.cc, resource.cc:
	  implement net:connection-limit and net:connection-takeover
	  settings; add Fg/Bg where needed.

2000-02-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: explain termination when cwd is not accessible.
	* FileAccess.cc, FileAccess.h: (priority) new member; (SetPriority);
	  (FirstSameSite, NextSameSite) new methods.
	* FileCopy.cc: (OpenSession) mark current task as moved.
	* Http.h: (IsConnected) implemented.
	* NetAccess.cc, NetAccess.h: (CountConnections) new method;
	  (connection_limit, connection_takeover) new members.
	* SMTask.cc, SMTask.h: add a dummy init_task so that current!=0.

2000-02-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: remember last REST position and do `REST 0'
	  if last REST was >0 (for broken? ftp servers that don't reset REST).
	* MirrorJob.cc: (PrintStatus) improved.
	* pgetJob.cc: get size and offset after calling super::Do, because
	  the copier can be changed by it.

2000-02-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: fix typo in mput help.

2000-02-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc, Job.h, CmdExec.cc: (Job::ListOneJob, Job::PrintJobTitle) new
	  methods; use them.

2000-02-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: raise log level of CWD reply to 3.
	* MirrorJob.cc: log directory if verbose>=3; show directory in status.
	* misc.cc, misc.h: (squeeze_file_name) new function (from CopyJob).
	* CopyJob.cc: use it.

2000-02-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: implement LOCAL_DIR mode; recognize -O;
	  use LOCAL_DIR for lcd.
	* FtpListInfo.cc: add OS2 list parser.

2000-02-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h, commands.cc: (saved_session) new member;
	  save old session while new host name is verified and restore on error.
	* NetAccess.cc: nullify cwd too on bad host name error.
	* FileAccess.cc: (Rename) correct typo (which caused core dumps).

2000-02-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: count Buffered() change even when input buffer is empty.
	* Speedometer.cc: protect from rate<0.

2000-02-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: workaround server's y2k bug in MDTM.
	  (reported by Robert de Bath <rdebath@poboxes.com>)

2000-02-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: (SuspendJob) print a better status for CopyJobEnv.
	* Speedometer.cc: reduce initial rate period to 2 seconds.

2000-02-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: close data socket when switching to no-rest mode.
	* HttpDir.cc: strip quotes from refresh URL.

2000-02-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, GetPass.cc, Job.cc, LsCache.cc, MirrorJob.cc, ResMgr.cc,
	  alias.cc, commands.cc, complete.cc, lftp.cc, netrc.cc, parsecmd.cc,
	  pgetJob.cc:
	  call xfree everywhere.
	* Filter.cc: use xfree and xgetcwd.
	* Resolver.cc: don't dup2 to fd 1.
	* SMTask.cc: add task_count and debug.
	* SleepJob.cc: use TimeoutS.
	* ftpclass.cc, ftpclass.h: add FreeResult method.
	* misc.cc: (xgetcwd) call xmalloc_register_block.
	* xmalloc.cc, xmalloc.h: count memory blocks;
	  add xmalloc_register_block.
	* NetAccess.cc: workaround gcc bug, this fixes mem leak.
	* buffer.cc: clean up gotos.
	* lftp.cc, lftp_rl.c, lftp_rl.h: readline result must be freed;
	  register it with xmalloc_register_block.

2000-02-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: fix memory leaks.
	* LsCache.cc: use xfree.
	* commands.cc: help for repeat.
	* xmalloc.cc, xmalloc.h: outline xstrdup; MEM_DEBUG it.
	* ArgV.cc, ArgV.h: fix memory leak. Allocate memory in chunks.
	* FileAccess.cc, FileAccess.h, Filter.cc, Filter.h, LocalAccess.cc:
	  don't include ArgV.h in header.
	* LsCache.h, LsCache.cc: don't dup memory in Find method.
	* FtpDirList.cc, FtpSplitList.cc, HttpDir.cc: use new LsCache::Find.
	* url.h: start implementing class url.

2000-02-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc: print rate using Speedometer::GetStr.

2000-02-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc, CopyJob.h: don't use putchar; print summary when Done().
	* pgetJob.cc: don't use putchar.
	* mgetJob.cc: don't print empty line.

2000-02-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: don't show rate when put==0.
	* Makefile.am: remove ftpget.o.
	* SMTask.cc, SMTask.h: (current) new static member; empty all block's
	  before calling all Do's.
	* NetAccess.cc: (DelayingMessage) use current->Timeout.
	* PollVec.h: add GetTimeout for debugging.
	* Speedometer.cc: use current->Timeout.
	* StatusLine.cc: use TimeoutS.

2000-02-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: (PrintStatus) special case for CopyJobEnv in queue mode.

2000-02-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* ProcWait.cc: if waitpid fails, check pid existence.

2000-02-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: add -O option to help.
	* Http.cc: declare strptime if needed.
	* ftpclass.cc: handle "port theft" message in fxp mode.
	* FileCopyFtp.cc: check for reversing passive-source fixed; add
	  messages.
	* FileCopy.cc: add missing \n.

2000-02-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.h: add GetETAStrSFromTime.
	* FileCopy.cc, FileCopy.h: split off Speedometer;
	  add GetETAStrSFromTime; pass reource name to Speedometer.
	* pgetJob.cc: call cp->GetETAStrSFromTime.
	* commands.cc: set old path before cd, so that after `open url'
	  `cd -' works; add --use-cache to mirror help.
	* Speedometer.cc, Speedometer.h: new files; accept resource name
	  instead of period.
	* ProcWait.cc: don't change state to ERROR at all (because process
	  can still run after waitpid fails)
	* FtpListInfo.cc: more verbose status.
	* FtpSplitList.cc, FtpSplitList.h: measure rate.
	* MirrorJob.cc: show only li->Status(); add use_cache member;

2000-01-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.h, FileAccess.cc: add NO_PASSWORD option for GetFileURL.
	* history.cc: use NO_PASSWORD; encode paths in cwd_history.
	* NetAccess.cc, NetAccess.h: (ReconnectInterval, DelayingMessage) new
	  methods.
	* ftpclass.cc, Http.cc: use DelayingMessage.
	* CmdExec.cc: show job number for queue's current job.
	* complete.cc: improve completion for queue command.
	* commands.cc: improve help for queue.

2000-01-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: flush buffer in case of error.
	* ProcWait.cc: don't spin on error or done.
	* SMTask.cc: add debug code.
	* ftpclass.cc: add assert; remove obsolete code.
	* ProcWait.cc: handle waitpid errors better.

2000-01-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: check for "timed out" in reply; check if data were
	  sent or received before 5xx reply; don't spin on errors (not a bug).
	* PollVec.cc, PollVec.h: simplify.
	* CharReader.cc, FileCopy.cc, FileFeeder.cc, LocalAccess.cc,
	  ProcWait.cc, Resolver.cc, StatusLine.cc, SysCmdJob.cc, buffer.cc,
	  lftp.cc: don't use block directly.
	* GetJob.cc: check if output file is normal before renaming it.
	* Http.cc, Http.h: remove redundant CheckTimeout;
	  don't use block directly.
	* NetAccess.cc, NetAccess.h: bool CheckTimeout; don't use block
	  directly.
	* SMTask.cc, SMTask.h: use simplified PollVec.

2000-01-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* url.cc: workaround for dos paths.
	* ftpclass.cc: unixware does not have IN6_ARE_ADDR_EQUAL - workaround.

2000-01-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* CharReader.h, CmdExec.cc, CopyJob.cc, FileAccess.cc, FileAccess.h,
	  FileCopy.cc, FileCopy.h, Filter.cc, FindJob.cc, FtpDirList.cc,
	  FtpGlob.cc, FtpListInfo.cc, Http.cc, HttpDir.cc, Job.cc, Job.h,
	  LocalAccess.cc, LsCache.cc, LsCache.h, MirrorJob.cc, NetAccess.cc,
	  NetAccess.h, PollVec.h, ProcWait.cc, ProcWait.h, Resolver.cc,
	  Resolver.h, SMTask.cc, SMTask.h, SleepJob.cc, StatusLine.h,
	  buffer.h, commands.cc, ftpclass.cc, ftpclass.h, log.h, mgetJob.cc,
	  pgetJob.cc: (SMTask::Delete, SMTask::Roll) new methods; use them
	  everywhere; prohibit direct SMTask destruction by making destructors
	  protected; (SMTask::deleting) new member; don't show rate if it is
	  not valid; don't call SMTask::Do directly; (NetAccess::Close) new
	  method.
	* ftpclass.cc: turn on sync mode when 331 precedes 220. (for vftpd)

2000-01-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* md5.c: check for HAVE_ENDIAN_H
	* commands.cc: options for glob; add help for glob and find.
	* ftpclass.cc: compilation fix for solaris251.

2000-01-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: runtime test for TIOCOUTQ.

2000-01-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* ChmodJob.cc, TreatFileJob.cc, TreatFileJob.h, mkdirJob.cc,
	  mkdirJob.h, rmJob.cc: recognize urls.
	* CmdExec.cc: cmd:default-protocol new setting.
	* DummyProto.cc, DummyProto.h: add DummyNoProto class.
	* FileAccess.cc: use ParsedURL::Combine; get password from .netrc
	  if not present; create DummyNoProto if protocol is not supported;
	  (GlobURL) find url prefix and use it; make StrError virtual.
	* FileAccess.h: see above.
	* FileCopy.cc: now there is no need to handle unsupported protocol.
	* FileCopyFtp.cc, FileCopyFtp.h: save/restore try_time.
	* FileSet.cc: compare DATE_UNPREC too.
	* LocalAccess.cc, LocalAccess.h: ignore AnonymousLogin and Login;
	  improve globbing.
	* MirrorJob.cc: revert the change from 1998-10-13 - don't ignore date.
	* NetAccess.h: add GetTryTime.
	* Resolver.cc, Resolver.h: add dns:use-fork setting; pass data over
	  a Buffer.
	* commands.cc: add cmd:default-protocol; change protocol in open
	  if current one is file; use .netrc not only for ftp; add option -O
	  for get, put, mget, mput; use output_file_name.
	* complete.cc: in local completion check for URLs too.
	* ftpclass.cc: disallow empty home; (ReplyLogPriority) new method;
	  handle 221 reply as 421.
	* ftpclass.h: set try_time in SetCopyMode.
	* mgetJob.cc, mgetJob.h: (make_directory) new method; use output_file_name;
	  support for -O.
	* misc.cc, misc.h: (url_file) new function; (output_file_name) new
	  function.
	* url.cc, url.h: (url::path_index) new function;
	  (ParsedURL::Combine) new method.

2000-01-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpListInfo.cc: check file names for slashes.
	* FileCopy.cc: make percent using ranges.

2000-01-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: don't use netrc if protocol is specified.
	* ftpclass.cc: don't use s6_addr32, use s6_addr instead (for
	  freebsd-4.0).
	* CopyJob.cc: suppress status in Echo if output uses stdout.
	* FileCopy.cc, FileCopy.h: reconfig Speedometers.

2000-01-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.h: move NO_DATE, NO_SIZE here.
	* FileCopy.h: from here.
	* FileCopy.cc: (FileCopyPeerFA::GetStatus) don't return status if
	  session is not open.
	* FtpDirList.cc: parse EPLF listing and show it pretty.
	* FtpListInfo.cc: parse EPLF listing.
	* misc.h: move find_char here.
	* HttpDir.cc: from here; parse EPLF listings from squid.
	* ftpclass.cc: use NO_SIZE and NO_DATE macros.
	* md5.c: don't compile anything if HAVE_MD5.

2000-01-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: (OpenSession) set correct pos in PUT mode;
	  don't call SaveRollback in PUT mode; handle eof in fxp PUT.
	* SMTask.h: ensure STALL|MOVED==MOVED.
	* ftpclass.cc, ftpclass.h: make FlushSendQueue and ReceiveResp
	  return flag indicating progress; OR it with m in Ftp::Do;
	  fix condition of Disconnect in copy mode; fix SwitchToState
	  to not ignore severe errors in copy mode; outline New;
	  (SendCmd2) new method; use it everywhere; new settings use-stat,
	  stat-interval.
	* HttpDir.cc: fix spinning on & in file names when no &amp; etc match.
	* FileCopy.h: make bytes_count protected.
	* FileCopyFtp.cc: increment bytes_count.
	* Http.cc, Http.h, LocalAccess.cc, LocalAccess.h: outline (New).
	* commands.cc: optimize cmd_user; update description for user;
	  update copyright string for year 2000.
	* resource.cc: new settings ftp:use-stat, ftp:stat-interval.

2000-01-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h, FileCopyFtp.cc: fixes for FXP.
	* FileCopy.cc: don't set pos to FILE_END; don't try to figure out
	  position in fxp mode; don't try to fake eof in PUT mode;
	  (RateReset) new method.
	* FileCopy.h: (SetFXP) accept argument.
	* FileCopyFtp.cc, FileCopyFtp.h: allow switching passive_source;
	  revert to plain copy if both cases fail; call RateReset; allow
	  store when necessary.
	* ftpclass.cc, ftpclass.h: check PORT reply, switch copy_passive
	  if it fails; add support for delayed STOR in copy mode; don't
	  check data address in copy mode.

2000-01-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc: cast off const for solaris 2.5.1.
	* Filter.cc, Filter.h: allow Input/OutputFilter from ArgV.
	* LocalAccess.cc, LocalAccess.h: accept current system cwd as default;
	  log errors; implemented LocalDirList.
	* commands.cc: don't append var_ls if empty.
	* FileCopy.cc: set pos in FileCopyPeerFA::Seek.

2000-01-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopyFtp.cc: check use-fxp for both sessions.
	* Makefile.am: remove FtpCopy.{cc,h}.
	* commands.cc: get rid of ftpcopy.
	* NetAccess.cc, NetAccess.h, ftpclass.cc, Http.cc, resource.cc:
	  support no_proxy environment variable; net:no-proxy setting.

2000-01-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopyFtp.cc, FileCopyFtp.h: new files
	  (FXP implementation over FileCopy class).
	* CatJob.cc, CopyJob.cc, GetJob.cc, commands.cc, pgetJob.cc:
	  use FileCopy::New; update year.
	* DummyProto.cc, DummyProto.h, FileAccess.cc, FileAccess.h, FindJob.cc,
	  FtpDirList.cc, Http.cc, MirrorJob.cc, NetAccess.h, Resolver.cc,
	  SMTask.h, bookmark.cc, history.cc, lftp.cc, misc.cc, misc.h,
	  netrc.cc: update year.
	* FileCopy.cc, FileCopy.h: support for fxp; (New) new method;
	  (RateAdd) new method; (..Peer::CannotSeek) new method; (GetSession)
	  new method; (SetFXP) new method.
	* Makefile.am: add FileCopyFtp.{cc,h}.
	* buffer.h: (SetPos) new method.
	* ftpclass.cc: register FXP creator.
	* ftpclass.h: add FXP support methods.
	* resource.cc: new fxp resources (ftp:use-fxp, ftp:fxp-passive-source).

2000-01-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.h, NetAccess.cc, ftpclass.cc, Http.cc: (SocketConnect,
	  SocketAddrLen) new methods; use them. This fixes a problem on NetBSD.

2000-01-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: prepare for fxp; reuse session in New
	  if told so; don't request date many times.
	* ftpclass.cc, ftpclass.h: support STAT while doing fxp.
	* SMTask.h: (TimeoutS) new method.

2000-01-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: include netinet/tcp.h conditionally.
	* FindJob.cc: #if 0 dead code.
	* Http.cc: send Last-Modified in STORE mode.
	* Resolver.cc: include arpa/nameser.h and resolv.h conditionally;
	  conditionally compile functions depending on HAVE_RES_SEARCH.
	* bookmark.cc: use / if HOME is not set.
	* history.cc: same.
	* lftp.cc: don't create ./.lftp if HOME is not set.
	* netrc.cc: fail if HOME is not set.

2000-01-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: (pass_open) new member;
	  (InsecurePassword) new method; (GetFileURL) include password if
	  pass_open is true; (OpenMode) new method.
	* FileCopy.cc: don't check session pos if it is not properly opened;
	  use OpenSession in Put_LL.
	* commands.cc: `pwd -p' to show password; call InsecurePassword
	  when password is entered on command line; forbid recursive bookmarks;
	  use ascii mode for ls.
	* ftpclass.cc: don't hide password if pass_open.
	* FtpDirList.cc: don't strip CRs.
	* Http.cc: better handle PUT errors.

2000-01-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: delete args in DirList; outline virtual
	  functions; remove CopyOptions.
	* DummyProto.cc, DummyProto.h: implement DummyDirList.
	* FileCopy.cc, FileCopy.h: handle errors in DirList.
	* ftpclass.h: remove CopyOptions.

2000-01-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* misc.cc, misc.h: (percent) new function.
	* pgetJob.cc: use it.
	* FileCopy.cc: use it - and thus avoid integer overflow.
	  (reported by Slama YA).

2000-01-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: check if line_buffer!=0 (by Slama YA)

2000-01-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.h: add GetETA(long remainder) method.
	* Job.cc, Job.h: (ListOneJobRecursively) new method; list waiting
	  job before others.
	* LocalAccess.cc: expand tilde (finally).
	* pgetJob.cc, pgetJob.h: re-implement PrintStatus method.
	* FileCopy.cc: init need_seek.
	* commands.cc: add queue help.

1999-12-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: fix SetPasswordGlobal.

1999-12-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc, FileCopy.h: implemet LineBuffered; handle EPIPE.
	* commands.cc, CatJob.cc: use LineBuffered.
	* CopyJob.cc: implement SqueezeName.

1999-12-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.h: put back FDStream for stdout creation.
	* FileCopy.h: no cache does not mean `don't save to cache'.
	* commands.cc: redo quote and site commands.
	* ftpclass.cc: advance pos in QUOTE_CMD mode; append file name
	  to error message if it is not mentioned already.
	* Makefile.am: remove QuoteJob.{cc,h}, XferJob.{cc,h}
	  (XferJob is dead - long live FileCopy)
	* parsecmd.cc: handle ? specially.
	* FileAccess.cc, FileAccess.h: (SetPasswordGlobal) new method;
	  make NoGlob to produce empty list if pattern contains wildcards.
	* commands.cc: use it.
	* complete.cc: few improvements.

1999-12-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc, CopyJob.h: add op member for CopyJob.
	* FileCopy.cc: add ls caching support; (FileCopyPeerDirList) new class.
	* Makefile.am: remove LsJob.cc, LsJob.h, ftpget.
	* MirrorJob.cc: supply op for CopyJob.
	* buffer.cc, buffer.h: (SaveRollback) new method; define GET_BUFSIZE.
	* commands.cc: new ls, nlist; supply op for CopyJob.
	* pgetJob.cc: supply op for CopyJob.

1999-12-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h: use GlobURL.
	* FileAccess.cc: (GetFileURL) handle file starting with '~';
	  (GlobURL::GetResult) implemented.
	* FileAccess.h: few methods for GlobURL added.
	* FtpGlob.cc: handle updir errors; handle dir starting with '~'.
	* GetJob.cc, GetJob.h: (NoProtoSrc, NoProtoDst) new methods;
	  handle reverse transfers (put).
	* LocalAccess.cc, LocalAccess.h: preserve home by ignoring Connect();
	  support ascii transfers.
	* Makefile.am: remove mputJob.cc, mputJob.h, PutJob.cc, PutJob.h,
	  FileXfer.cc, FileXfer.h.
	* MirrorJob.cc: don't include PutJob.h.
	* commands.cc: don't include PutJob.h, mputJob.h; move put, mput, mget
	  functionality to cmd_get; update help; use GlobURL;
	  support `login URL'.
	* mgetJob.cc, mgetJob.h: support mput.
	* url.h: (is_url) new method.
	* complete.cc: use GlobURL.
	* FileCopy.cc: don't open session if seek_pos>=size.
	* pgetJob.cc: correct accounting.

1999-12-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: help update; support get -a for ascii mode;
	  don't use ascii mode for zcat and zmore.
	* CopyJob.cc, CopyJob.h: ascii support in CopyJobEnv; add SetDate and
	  SetSize methods.
	* FileCopy.cc, FileCopy.h: init can_seek0; add FileCopyPeerFA::NewGet,
	  NewPut methods.
	* MirrorJob.cc: use CopyJob.
	* commands.cc: use NewPut.
	* url.cc: allocate enough memory for file: urls.

1999-12-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* CatJob.cc, ChangeLog, CopyJob.cc, CopyJob.h, FileAccess.cc,
	  FileAccess.h, FileCopy.cc, FileCopy.h, Filter.cc, Filter.h,
	  GetJob.cc, GetJob.h, MirrorJob.cc, commands.cc, mgetJob.cc,
	  mgetJob.h, pgetJob.cc, pgetJob.h: lots of changes - get, mget, pget
	  now work with new FileCopyEnv class.

1999-12-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileCopy.cc: support ascii conversion.
	* commands.cc: ignore -u for compatibility.
	* CmdExec.cc: beware of stale pointers, use job number instead.

1999-12-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc, CatJob.cc, CatJob.h: add ascii mode.
	* HttpDir.cc: handle ~ as absolute path in check for icon.

1999-12-22  Robert de Bath <rdebath@poboxes.com>

	* FileAccess.cc, FileAccess.h, Http.cc, LocalAccess.cc, NetAccess.cc,
	  ftpclass.cc: rehash debug levels.

1999-12-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc: don't show job info as ? if there is no info.
	* CatJob.cc, CatJob.h: use new architecture w/ CopyJobEnv.
	* CopyJob.cc, CopyJob.h: (CopyJobEnv) new class; misc tweaks.
	* FileCopy.cc, FileCopy.h: add features for cat command.
	* commands.cc: new cat command creation.

1999-12-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: (DataAbort) Disconnect in copy mode if ABOR is disabled.

1999-12-21  Robert de Bath <rdebath@poboxes.com>

	* NetAccess.cc: correction for ReconnectAllowed

1999-12-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* CopyJob.cc, CopyJob.h: add methods for creating different copiers:
	  NewGet, NewPut, NewEcho.
	* commands.cc: use CopyJob::NewEcho.
	* FileCopy.cc, FileCopy.h: new methods in Speedometer: GetStr, GetStrS,
	  GetETAStr, GetETAStrS; use them in FileCopy; add bytes_count,
	  start_time, end_time for accounting; fix FileCopyPeerString; add
	  Done to FileCopyPeerFDStream to wait for stream->Done.
	* NetAccess.cc: little fix in ReconnectAllowed.

1999-12-19  Alexander V. Lukyanov  <lav@yars.free.net>

        * HttpDir.cc: decode &amp; and similar; don't accept ~ for ListInfo.
	* FileCopy.h, FileCopy.cc, CopyJob.cc: (GetFgData) implemented;
	  fill CopyJob::fg_data; handle NeedSizeDateBeforehand.
	* FileAccess.h, Http.h: add NeedSizeDateBeforehand.

1999-12-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: get1 command.
	* XferJob.cc: move xfer:eta-terse to CopyJob.
	* FtpCopy.cc, FtpCopy.h: save retries count.
	* CopyJob.cc, CopyJob.h: first version.
	* FileCopy.cc, FileCopy.h: finished.
	* NetAccess.cc: correct calculations in extreme cases
	  (reported by Robert de Bath)
	* FileAccess.cc, FileAccess.h: expand tilde in file and file1 too.
	  (ExpandTildeStatic) new method; New from ParsedURL; propagate
	  passwords.
	* ftpclass.cc: handle size==0 in Write; expand tilde for ARRAY_INFO;
	  correct test for ftp:rest-stor.
	* Http.cc: handle size==0 in Write; send port to proxy;
	  encode hostname; in error message append / conditionally.
	* url.h: add more URL_*_UNSAFE.

1999-12-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* Filter.h, Filter.cc: add can_seek method.
	* buffer.cc, buffer.h: add UnSkip method.

1999-12-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* LocalAccess.h: remove error_code (it is defined in super class) -
	  this fixes error handling in file: urls.
	* LocalAccess.cc: set size and date to -1 in case of error;
	  fill opt_size and opt_date.
	* FileAccess.h: IOReady checks IsOpen.
	* ftpclass.cc: IOReady checks IsOpen.
	* buffer.cc, buffer.h: add pos member; de-virtualize Skip.
	* Filter.cc: don't close -1; correct default file permissions.

1999-12-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: check use-abor before sending ABOR.
	* LsCache.cc: use SMTask::now.
	* misc.cc: include time.h

1999-12-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, Http.cc, url.cc: fix ftp url handling (%2F for root)
	  (reported by Robert de Bath <rdebath@poboxes.com>)
	* url.h: no need to specify \033 in URL_UNSAFE; define URL_PATH_UNSAFE.
	* url.cc: avoid // for ftp urls.
	* FileAccess.cc: use URL_PATH_UNSAFE; specially hanle ~/ for ftp urls.
	* FtpListInfo.cc: move parse_perms and parse_month...
	* misc.cc, misc.h: ...here; implement parse_year_or_time, guess_year.
	* Http.cc: better handling for ftp urls; ascii support.
	* HttpDir.cc: handle apache proxy ftp listings.
	* resource.cc: add ftp:use-abor.

1999-12-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* GetJob.cc: don't close session too early when deleting.
	* buffer.cc, buffer.h: add SetError method, use it.

1999-12-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* check if GetBetterConnection(0) succeeded. (bug report from
	  Robert de Bath <rdebath@poboxes.com>).

1999-12-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: new resources reconnect-interval-multiplier/max;
	  reconnect-interval renamed to reconnect-interval-base.
	* ResMgr.cc, ResMgr.h: (FloatValidate) new method.
	* NetAccess.cc, NetAccess.h: (ReconnectAllowed) (NextTry) new methods;
	  implement reconnect-interval-multiplier/max.
	* Http.cc: use ReconnectAllowed and NextTry.
	* commands.cc: disallow spaces in bookmark names.
	* ftpclass.cc, ftpclass.h: (IOReady) implemented; check for space
	  in last line of multiline response; use is_ascii_digit;
	  use ReconnectAllowed and NextTry.
	* FileAccess.h: (IOReady) new method.

1999-11-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.h, FileAccess.cc, complete.cc: add Glob::NoMatchPeriod
	  method; use it for completion.

1999-11-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: try_time=0 is the same as DontSleep().
	* Http.cc: support ConnectVerify; remove some unneeded statements.
	* NetAccess.cc, NetAccess.h: move ConnectVerify here; remove
	  relookup-always setting.
	* resource.cc, ftpclass.cc, ftpclass.h: remove relookup-always.

1999-11-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: move aborted_data_sock along with control_sock.
	* FtpGlob.cc: make sure to restore old cwd.

1999-11-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: don't decrease sync_wait on 1xx replies.

1999-11-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: (ExtractPWD) don't return alloca'ed space, strdup it.

1999-11-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h: (SuspendJob) new method; (PrintStatus)
	  don't print all queued commands if not verbose, print current
	  queue command status if ^Z (v==0).

1999-11-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: add site_chmod_supported flag.

1999-11-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: properly set info.size and info.time if mdtm or size
	  are not supported.
	* FtpListInfo.cc: fix infinite loop on bad symlinks.

1999-11-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: allow moving a connection with buffered
	  data or expected responses; (sync_wait) new member for number of
	  commands in flight.

1999-11-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h: (RereadManual) new method to stop
	  the driver wasting data when REST is not supported;
	  (norest_manual) new member; (device_prefix_len) new protected method;
	  use it in Chdir.
	* FtpGlob.cc: implement files_only.
	* FtpSplitList.cc, HttpDir.cc: use RereadManual.
	* Http.cc: support norest_manual.
	* ascii_ctype.h: add to_ascii_lower.
	* buffer.cc, buffer.h: (Empty) new method.
	* complete.cc: use DirectoriesOnly for `cd' command.
	* ftpclass.cc, ftpclass.h: better support for vms; remember that
	  MDTM or SIZE is not supported; implement ftp:rest-stor setting;
	  add closure to ftp:rest-list setting.
	* resource.cc: ftp:rest-stor setting.

1999-11-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, FtpGlob.cc, FtpGlob.h, FtpListInfo.cc,
	  FtpListInfo.h, FtpSplitList.cc, FtpSplitList.h, Makefile.am:
	  redesign FtpGlob class to use FtpListInfo class; FtpListInfo now
	  uses more specialized FtpSplitList instead of FtpGlob;
	  (Glob::dirs_only) new member, implemented simple type filter.

1999-10-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.h, Http.cc: (use_head) new member; hftp:use-head new setting;
	  use GET instead of HEAD if !use_head.
	* resource.cc: (hftp:use-head) new setting.

1999-10-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: compare ftp:// with hftp:// properly.

1999-10-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc: (AnonymousLogin) reset cwd and home.
	* Http.h, Http.cc: add HFtp::Login; don't send password in URI.
	* commands.cc: do Login after Connect, not reverse.

1999-10-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: set hour/minute to 0 if they are not available.
	* Http.cc: avoid memory leak in encode_string; add support for
	  non-anonymous ftp over http.
	* url.cc: (url::encode_string) don't malloc buffer;
	  quote all if quote==0.

1999-10-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: don't send data in STORE mode until header is sent.
	  (reported by Brian Ristuccia)

1999-10-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: don't skip line begin early; parse Mini-Proxy listings.
	* Filter.cc: try getfd() before utime(), it might create the file.
	  (this is a workaround for getting empty files, a full solution
	  would be to block on close of output file.)
	* complete.cc: (glob_quote) remove extra quoting. This fixes completion
	  for files with spaces in name.

1999-10-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc: pass canonic resource name to Reconfig.

1999-10-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc, CmdExec.cc: call Reconfig after session change;
	  (do_cd) exit_code=0 if check is not needed.

1999-10-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: check file info for validity.
	* HttpDir.cc: don't dump core on eol==0.

1999-10-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* GetJob.cc: don't open local file early if !cont.

1999-10-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* misc.cc: call mkdir(...,0777) to let user choose umask.
	* ftpclass.cc: prepare for better handling of unsupported SIZE/MDTM.

1999-10-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, ftpclass.cc: low level ascii-mode
	  support.

1999-10-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: don't free peer, it is freed in parent class, and so
	  don't free proxy* (the later was harmless since proxy was set to 0).
	* Http.cc: use ClearPeer.
	* CmdExec.cc: actually assign c.
	* HttpDir.cc: better handle symlinks.

1999-10-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: handle Netscape-proxy listing; handle parse errors
	  better.
	* lftp.cc: use SOCKS4 define.
	* CmdExec.cc: use URL closure on several settings.

1999-10-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* ArgV.cc: (delarg) decrement ind if needed.
	* HttpDir.h, HttpDir.cc: (LsOptions) new class, use it, implement
	  -F ls option, accept -alC but ignore them for now.

1999-10-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: fix type mismatch on 64-bit machines.
	* Makefile.am: don't depend on rlstdc.h

1999-10-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: cast ResValue to (const char *) to avoid ambiguity.

1999-09-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: remove _() from "%s: %s\n".

1999-09-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, ftpclass.cc, ftpclass.h, commands.cc:
	  (CleanupAll, CleanupThis) new methods; use it in cmd_close.

1999-09-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, log.h: extra info in debug output when it goes
	  to a file. (suggested by Caleb Epstein <cae@home.com>)

1999-09-30  Albert Chin-A-Young <china@thewrittenword.com>

	* module.c: fix // comment

1999-09-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.h: include time.h for time_t.

1999-09-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: strip leading slash in links to /~user.

1999-09-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: create rate_limit for STORE mode.
	* lftp.cc: close fd 0; call setsid.

1999-09-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: use TimeInterval.
	* misc.cc, misc.h: drop decode_delay.
	* ResMgr.cc: (TimeInterval ctor) handle one more error case.

1999-09-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: define _XOPEN_SOURCE 500 for linux.

1999-09-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: don't print messages when lftp is not foreground
	  process.
	* ResMgr.h: add TimeInterval(time_t) constructor.
	* SleepJob.cc, SleepJob.h: use TimeInterval; support `sleep forever'.
	* commands.cc, LsCache.cc, LsCache.h: use TimeInterval.

1999-09-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* ResMgr.cc, ResMgr.h: new resource type TimeInterval.
	* Resolver.cc, Resolver.h: settings cache-{enable,expire,size}.
	* commands.cc: (set) print more meaningful message for invalid values.

1999-09-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* SleepJob.cc, SleepJob.h: add repeat functionality;
	  implement PrintStatus.
	* commands.cc: add repeat command.
	* module.c: another module alias.
	* XferJob.cc: remove unneeded poll call.
	* ftpclass.cc: remove unneeded error checks.

1999-09-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc: (SessionJob::PrintStatus) check if session!=0.

1999-09-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: check if ipv6 is supported at runtime.
	* FileAccess.cc: better message for system errors, correctly adjust
	  str_allocated.
	* NetAccess.cc: (NextPeer) fix off-by-one error; set try_time.
	* Http.cc, ftpclass.cc: move reconnect delay before Resolve, to avoid
	  double lookup in case of relookup_always; handle error of socket
	  creation better, skip address and report error verbosely.

1999-09-14  Alexander V. Lukyanov  <lav@yars.free.net>

	* PutJob.cc: unsuspend session; few corrections in size handling;
	  don't try to use size of pipe.

1999-09-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc: when adding first RateLimit, reset global pool.

1999-09-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc, NetAccess.h: implement RateLimit class; use it.
	* ftpclass.cc, Http.cc: use RateLimit.
	* resource.cc: new resources net:limit-total-rate
	  and net:limit-total-max.
	* ftpget.cc: create Log::global.

1999-09-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: recognize host names in the form proto,hostname and
	  lookup address in specified protocol family, e.g. inet6,hostname.com.
	  (Note: this won't work over proxies)
	* GetJob.cc: add xfer:clobber setting; don't overwrite files if it is
	  false.

1999-09-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* NetAccess.cc, NetAccess.h: drop first_lookup.
	* MirrorJob.cc, MirrorJob.h: don't get just appeared files, check
	  that size/date has not changed before overwrite/append;
	  build local file set before remote one.
	* FileSet.cc, FileSet.h: (SubstractNotIn) new method; optimize
	  other Substract* methods; make FindByName const.

1999-08-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: add missing \n
	* ftpclass.cc: fix previous change not to close data_sock.
	* Http.cc: call SayConnectingTo.
	* complete.cc, complete.h: move remote_completion here.
	* CmdExec.cc, CmdExec.h, lftp.cc, log.cc, log.h: make debug output
	  clear/redraw the prompt.

1999-08-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.cc, FileAccess.h, Http.cc, Http.h, LocalAccess.cc,
	  NetAccess.cc, ftpclass.cc, ftpclass.h: split off NetAccess class;
	  use Resolver cache; add Resolve method; move rate limiter to
	  NetAccess.
	* Resolver.cc, Resolver.h: implement cache.
	* LsCache.cc, LsCache.h: allow adding from Buffer class.
	* HttpDir.cc: use new LsCache::Add method varianth; handle symlinks.
	* commands.cc: remove debug level restriction.
	* buffer.cc, buffer.h: make GetSaved const.
	* Makefile.am: add NetAccess.
	* NetAccess.cc, NetAccess.h: new files.
	* SMTask.cc, SMTask.h, ResMgr.cc, CmdExec.cc, CmdExec.h:
	  Reconfig now takes arg.

1999-08-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: improve completion of file names with wildcards.

1999-08-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: handle 225 and 226 replies in TransferCheck.
	* Http.cc: use cwd in error message if file=="".

1999-08-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: reset try_time on certain failures: greeting, user,
	  pass, to sleep proper time before reconnect.

1999-08-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: improve support for squid's ftp listings;
	  support symlinks.
	* Makefile.am: cmd-sleep.so target; use -nostdlib to reduce size,
	  this works unless there are static constructors.
	* SleepJob.cc, commands.cc: move at and sleep commands to SleepJob.cc
	  to allow modularity.
	* modconfig.h: add MODULE_CMD_SLEEP.

1999-08-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* module.c: provide module aliases.
	* FileAccess.cc: revert last change.

1999-08-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h, HttpDir.cc: implement hftp protocol (ftp over http);
	  parse squid's ftp listings.
	* FileAccess.cc: load proto-http when hftp is requested.
	* resource.cc: hftp resources added; set ftp:proxy if environment
	  variable ftp_proxy points to ftp proxy.

1999-08-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* buffer.h, buffer.cc: allow saving data; (Save, GetSaved) new methods.
	* HttpDir.cc, HttpDir.h, FtpDirList.cc, FtpDirList.h: save data in
	  Buffer ubuf, members (upos, from_cache) become obsolete.

1999-08-18  Jim Pick <jim@jimpick.com>

	* LsCache.h, FtpDirList.cc, FtpDirList.h: don't try to cache
	  anything if cache is off; don't cache too large objects (by lav)

1999-08-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: local completion after redirection.

1999-08-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc, Job.h: provide useful default ShowRunStatus method.
	  (e.g. helps `at' command)

1999-08-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* ArgV.cc, ArgV.h: make several methods const.
	* CmdExec.cc, CmdExec.h, commands.cc: chain all CmdExec's; allow
	  several queues to exist; (FindQueue) new method; (FeedArgV) new
	  method; synchronize cwd's of queue and main CmdExec.

1999-08-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: (cmd_queue) print usage; set exit_code.

1999-08-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.h, CmdExec.cc, commands.cc: implement simple command queue;
	  (CmdExec::queue) new static member; (queue) new command.

1999-08-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: paranoia check.

1999-08-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: try to catch "Too many open files" server error;
	  check for the substring in file name too; remove old code for
	  switching to sync mode.

1999-08-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftpget: options -c -v -d.
	* Http.cc: change level of Connecting message.

1999-08-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftpget: turn off final rate printing.
	* MirrorJob.cc: don't reset time on unchanged files - it can be bad
	  if time-prec>0 and files have really changed but have the same size.
	  (reported by Oscar Y Takeshita)

1999-08-09  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: (HttpDirList::Do) use proper prefix for ls -f.

1999-08-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: only try to get info for href links.

1999-08-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: (cmd_get) decode %xx in default output file name.
	* XferJob.h: disable non_strict_urls (too complex).

1999-08-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h, resource.cc: add ftp:rest-list setting.
	* Job.h, Job.cc: more useful Job::AcceptSig.
	* CmdExec.cc: improve AcceptSig.
	* SleepJob.cc: assign jobno and cmdline to sub-CmdExec.

1999-08-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* modconfig.h: enable proto-ftp module for real.

1999-08-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* ArgV.h, CmdExec.cc: (ArgV::CombineQuoted) new method.
	* commands.cc: fix `at' command to quote the command to execute.
	* lftp.cc: use CombineQuoted.

1999-08-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpListInfo.cc: fix NT listing parser for the case of file name
	  with spaces.

1999-08-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc, FindJob.cc, FtpCopy.cc, LsJob.cc, MirrorJob.cc,
	  StatusLine.cc, StatusLine.h, TreatFileJob.cc, XferJob.cc,
	  log.cc, mkdirJob.cc, mvJob.cc: (StatusLine::Clear) new method;
	  use it everywhere, this avoids warning in new gcc.
	  Don't call Clear when Done(), it will be cleared anyway by upper
	  level job (it was race anyway).

1999-08-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* StatusLine.h, StatusLine.cc, XferJob.cc, pgetJob.cc:
	  (StatusLine::GetWidthDelayed) new method; use it to reduce number
	  of ioctl calls.

1999-08-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* LsJob.cc: (NoCache) open with proper mode.
	* HttpDir.cc: handle another listing format.

1999-08-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc, log.cc: declare res_search, vsnprintf if prototypes
	  are missing.

1999-07-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* SignalHook.cc: ignore SIGXFSZ, want to get EFBIG.

1999-07-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: send `Accept: */*', it is needed for some http servers.

1999-07-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: make it compile on sunos551.
	* FindJob.cc, FindJob.h: fix core dump on output stall;
	  add PrintStatus method.
	* lftpget: set verbose; unset at-exit; print usage.

1999-07-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftpget: new file.
	* Makefile.am: install and distribute lftpget.

1999-07-16  Alexander V. Lukyanov  <lav@yars.free.net>

	* LsJob.cc: fixed bug caused by cut-n-paste. This fixes spinning
	  when output stalls.
	* Resolver.cc: include netinet/in.h

1999-07-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: fix handling of HREF=/

1999-07-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: (glob) rewind args before calling original command.
	  (fixes coredump for mrm without args)

1999-07-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc: don't search for SRV RR if address is numeric.

1999-07-11  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp_rl.c: improve lftp_rl_clear.

1999-07-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.h: (CmdFeeder::clear) new method; (CmdExec::feeder_called)
	  new member.
	* CmdExec.cc: set feeder_called; call feeder->clear in top_vfprintf.
	* MirrorJob.cc: (va_Report) print even in background.
	* complete.cc: redisplay before waiting for key.
	* lftp.cc: (ReadlineFeeder::clear) implemented.
	* lftp_rl.c, lftp_rl.h: (lftp_rl_clear, lftp_rl_redisplay_maybe) new
	  functions.

1999-07-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: add nlist to list of commands taking remote file as
	  an argument.

1999-07-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc, Job.h: (GetConnectURL) virtual new method. (ListDoneJobs)
	  compare urls and print job url if different.

1999-07-10  Alexander V. Lukyanov  <lav@yars.free.net>

	* Job.cc, Job.h, CmdExec.cc, CmdExec.h: add top_vfprintf method;
	  modify vfprintf method to call top_vfprintf; in (class CmdExec)
	  redefine only top_vfprintf.

1999-07-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc: support base href, refresh, take list of tags from wget;
	  show relative icon links in ls.
	* HttpDir.h: (class HttpDirList) add base_href member.
	* Http.cc: set home to / properly.

1999-07-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: cd and lcd without arguments go to home.
	* Resolver.cc: (LookupOne) fix to actually use argument.

1999-07-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: use new Resolver constructor; fix relookup
	  in case of net:relookup-always=true to lookup only after
	  trying last address.
	* Resolver.cc: finish SRV support; don't close stderr.
	* XferJob.cc: don't include netdb.h

1999-07-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc, Resolver.h: about to support SRV dns records.
	* Http.cc: use new Resolver constructor.

1999-07-04  Darren Stuart Embry <dsembr01@ox.slug.louisville.edu>

	* FileAccess.cc: (GetFileURL) prepend colon before port name.

1999-06-29  Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>

	* Http.cc: send User-Agnet header.

1999-06-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: organize a list of tag/link pairs; add AREA/HREF pair.

1999-06-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileAccess.h, Http.h: (FA::UseCache) new method.
	* LsJob.cc, HttpDir.cc: use it in rels.
	* Http.cc: send Cache-Control too.

1999-06-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h, resource.cc: implement http:cache (pragma:no-cache)

1999-06-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: workaround for readline bug (reported by
	  <sniffer@pamela.prograd.ufrgs.br>); make few functions static.
	* Makefile.am: add READLINE_DEPEND to lftp_DEPENDENCIES.

1999-06-24  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc: translate time units in one place; add optional verbose
	  eta reporting (from Ben Winslow <rain@insane.loonybin.net>).

1999-06-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: fix never-ending-transfer problem with servers
	  not supporintg ranges.

1999-06-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc, HttpDir.h: extract link target from <frame src=;
	  support `ls -f file.html' to extract links from file.

1999-06-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc: more precise eta reporting.
	* HttpDir.cc: prevent coredump on url.path==0.
	* MirrorJob.cc: add missing eprintf argument.

1999-06-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: add sleep help

1999-06-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* resource.cc: set http:proxy to getenv(http_proxy) initially.

1999-06-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: remove prehistoric methods DataReady
	  and Block.

1999-06-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix for ftpcopy in passive mode.

1999-06-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: prevent coredump when short_desc!=0 && long_desc==0.

1999-06-02  Alexander V. Lukyanov  <lav@yars.free.net>

	* module.c: handle case with RTLD_NOW undefined (SunOS4)
	* FtpListInfo.cc, HttpDir.cc: correct format string.

1999-06-01  Alexander V. Lukyanov  <lav@yars.free.net>

	* Makefile.am: remove module before its re-creation.
	* ascii_ctype.h: add is_ascii_xdigit.
	* Http.cc, Http.h: support for keep-alive getting info; support
	  for chunked transfer encoding.
	* url.cc: always encode control characters.

1999-05-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: hook up HttpListInfo
	* HttpDir.cc, HttpDir.h: HttpListInfo implemented
	* FtpListInfo.cc: fixed bug with setting precise file time.
	* FileAccess.cc: untranslate some messages which indicate bug in app.
	* complete.cc: completion for new commands; add cache completion;
	  reset SIGINT count so that interrupted completion does not clear
	  line; call Open from GetInfoArray, Rename to avoid code duplication.
	* PutJob.cc, PutJob.h: add entity_date member; set date after Open.
	* LocalAccess.cc: don't use Poll; set file time in StoreStatus.
	* CmdExec.h: extern bookmark_subcmd, cache_subcmd.
	* ftpclass.cc: don't save line for every 213 response - this fixes
	  quote stat .
	* CatJob.cc, CatJob.h: removed globbing support,
	  now glob cat can be used.
	* commands.cc: use string_alloca; add slash for new bookmarks.
	* FtpGlob.cc: fix workarounds to check original; move workaround
	  for "no /" bug here from complete.cc.

1999-05-26  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc, MirrorJob.h: do chmod on remote files.
	* commands.cc: (glob, chmod) new commands.
	* rmJob.cc, rmJob.h: use TreatFileJob as base class.
	* TreatFileJob.cc, TreatFileJob.h, ChmodJob.cc, ChmodJob.h: new files.
	* ArgV.cc, ArgV.h: (insarg) new method.
	* LocalAccess.cc: support chmod.
	* ftpclass.cc: support chmod; tune overloaded server recognition.
	* FileAccess.h, FileAccess.cc: CHANGE_MODE new open mode;
	  (Chmod) new method.
	* lftp.cc: quote cmd line before adding it to history.
	* CmdExec.cc, CmdExec.h: (BUILTIN_GLOB) new builtin;
	  (needs_quotation) new method.
	* FtpDirList.cc: (Status) implemented.
	* LsJob.cc: (ShowRunStatus) implemented.
	* HttpDir.cc: implement FtpDirList::Status; check ubuf==0 before usage.
	* Http.cc: handle chmod.
	* keyvalue.h: make Pair protected
	* ResMgr.cc, ResMgr.h: outline ResDecl constructor.
	* misc.cc: clean const usage; optimize.
	* SMTask.cc: use true/false for bool.

1999-05-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: make better function pointer casts.
	* ResMgr.cc, ResMgr.h, keyvalue.cc, keyvalue.h: few fixes for other
	  compilers.
	* FileSet.cc, FileSet.h: initialize FileInfo::data; outline few funcs.
	* xmalloc.cc, xmalloc.h: outline xfree to simplify debugging.
	* misc.cc: (dir_file) handle file==0.
	* HttpDir.cc, HttpDir.h: remove prefix if present; workaround apache
	  bug.
	* history.cc: use NO_PATH.
	* FileAccess.cc, FileAccess.h: (GetFileURL) new method; rename NO_CWD
	  to NO_PATH.
	* url.cc, url.h: add proto_required option; don't assign const char *
	  to char *.

1999-05-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* HttpDir.cc, HttpDir.h: new files.
	* lftp.cc: use const; readline wrappers.
	* complete.cc: include complete.h, lftp_rl.h
	* complete.h: renamed from lftp.h
	* lftp_rl.c, lftp_rl.h: new files.
	* commands.cc: use const; use FinderJob.
	* FindJob.cc, FindJob.h: rename class FindJob to FinderJob, to avoid
	  conflict with Job::FindJob method.
	* ArgV.cc, ArgV.h: don't call getopt, because its prototype is
	  uncertain.
	* GetJob.cc: remove unused variable
	* MirrorJob.cc: use const; satisfy non-gcc compilers in case(file->...)
	* GetPass.cc: don't include readline.
	* buffer.cc: close session in ~FileInputBuffer.
	* Http.cc, Http.h: fix LONG_LIST mode to restart transfer;
	  change SendRequest to accept file name; add Connect method;
	  add MakeDirList, MakeGlob methods.
	* CmdExec.h, CmdExec.cc: use const char * where needed; remove
	  CmdExec:: inside CmdExec definition.
	* ResMgr.cc, ResMgr.h: make ResMgr::Resource public; add
	  ResourceCompare method.
	* keyvalue.cc, keyvalue.h: make KeyValueDB::Pair public; add
	  KeyValueDB::KeyCompare method.
	* bookmark.cc, CatJob.cc, XferJob.cc, XferJob.h, pgetJob.cc,
	  pgetJob.h, FileFeeder.cc, FileFeeder.h, xmalloc.cc, CatJob.h,
	  history.cc, SysCmdJob.cc:
	  use const char * where needed.
	* netrc.cc: avoid gcc'ism.
	* Filter.h: kill a warning
	* FileSet.cc, FileSet.h: (Add) merge info if already added.
	  (SortByName) mew method; few consts; add associated data.
	* SignalHook.cc, SignalHook.h: declare signal_handler type.
	* LocalAccess.cc, StatusLine.cc: use alloca instead of variable size
	  array.
	* ftpclass.cc, ftpclass.h: fix sscanf to work with int's instead of
	  members of struct tm; add const to several pointers; declare
	  friend struct expected_response properly for other compilers.
	  Fix bug with wrong address family for data socket in rare cases.
	  Add more error messages; assertions.
	* LsCache.h: declare friend class ExpireHelper properly for other
	  compilers.
	* misc.cc, misc.h: add static for inline basename_ptr, use const as
	  main version.
	* FtpCopy.cc: no need for ctype.h
	* ascii_ctype.h: new file
	* ftpget.cc: use ArgV for LsJob
	* LsJob.cc, LsJob.h: use ArgV
	* FtpDirList.cc, FtpDirList.h: use ArgV
	* FileAccess.h: pass ArgV to MakeDirList; add const; kill a warning.

1999-05-19  Albert Chin-A-Young <china@thewrittenword.com>

	* ftp-opie.c, module.c, getdate.y: include xalloca.h to allow
	  compilation by Sun C compiler.

1999-05-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc, XferJob.h: (CanShowRate) new function; optimize timeout.
	* FileAccess.cc: encode some unsafe chars in url
	* url.cc, url.h: take extra argument for unsafe chars.
	* mgetJob.cc, CatJob.cc, mrmJob.cc: use the changed Glob::Status.
	* FtpGlob.cc: change Status to include session status.
	* Resolver.cc: change timeout to fatal-timeout
	* FtpDirList.cc, FtpDirList.h: new files
	* LsCache.cc, LsCache.h: add const
	* LsJob.cc, LsJob.h: support for DirList.
	* Http.cc: unset hostname if resolution cannot be done.
	* ftpclass.cc, ftpclass.h: add FtpDirList support, unset hostname
	  if resolution cannot be done.
	* buffer.h, buffer.cc: allow for FileInputBuffer to read data from
	  a session; support suspend/resume.
	* SignalHook.h: fix for some compilers/systems
	* resource.cc: add net: variables; removed duplicates in ftp: and http:;
	  make ftp:anon-pass visible.
	* FileAccess.cc: check for socket errors every time;
	  query net:variable too.
	* FileAccess.h: (DirList::DirList) create the buffer.
	* ResMgr.h: (ResValue::is_nil) new method.

1999-04-30  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: complete support for put (untested).
	* ftpclass.cc: move DefaultAnonPass to resource.cc
	* commands.cc: add set -a, set -d support; last_bg is default for wait.
	* lftp.cc: use ResMgr::ClassInit
	* ftpget.cc: support SOCKS, use ResMgr::ClassInit
	* resource.cc: initialize default for ftp:anon-user;
	  add ResMgr::ClassInit.
	* pgetJob.cc: use total_xferred in CurrETA.
	* XferJob.cc, XferJob.h: add offset argument for CurrETA
	* CmdExec.cc: add last_bg member
	* FtpListInfo.cc: create empty FileSet to avoid NULL access; handle L
	  in file permissions.
	* MirrorJob.cc: run session after Chdir to avoid 'idle' status
	* FileAccess.h: add virtual class DirList
	* ResMgr.cc, ResMgr.h: support for printing with defaults/only defaults
	* ArgV.h: add getindex method

1999-04-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* FindJob.cc: don't go uplevel if there are cd/list errors.
	* FtpListInfo.cc, FtpListInfo.h: change format-specific
	  parsers to process single line at a time; copy line
	  before processing.
	* PutJob.cc: remove poll on input file.
	* XferJob.cc, XferJob.h, pgetJob.cc: remove obsolete slow status
	  line update.
	* CmdExec.cc, CmdExec.h: remove obsolete ls-in-completion
	* StatusLine.cc, StatusLine.h: implement delayed update.
	* commands.cc: move res_save_passwords to top level.

1999-04-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: use INET6 instead of AF_INET6
	* MirrorJob.cc: check if LocalAccess has been created
	* CmdExec.cc: add missing \n at end of input file
	* complete.cc: add mv to list of remote commands
	* commands.cc: add lpwd command
	* mgetJob.cc: more verbose status
	* CatJob.cc: more verbose status; remove unused has_wildcards
	* mrmJob.cc: more verbose status
	* FileAccess.h: (ArrayInfoPercentDone) new method
	* FtpGlob.cc: more verbose status
	* FtpListInfo.cc: more verbose status

1999-03-29  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpGlob.cc: fix handling of long lists
	* FileAccess.cc, FileAccess.h: add Glob::add_force
	* Http.cc: handle cd errors, deal with documents with no length
	* CatJob.cc: (Do) fix stupid bug introduced by Glob change

1999-03-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc, Http.h: add Location handling, get whole header on errors,
	  misc improvements.
	* Resolver.cc, Resolver.h: use FileInputBuffer to be reliable.
	* mrmJob.cc, mgetJob.cc: use NoGlob as last resort.
	* CatJob.cc: do glob always (because FtpGlob is now smart)
	* complete.cc: support MakeGlob==0
	* FileAccess.h, FileAccess.cc: implemented Glob::HasWildcards,
	  Glob::UnquoteWildcards, new class NoGlob.
	* pgetJob.cc: correct status lines and rate calculations.
	* FtpGlob.cc, FtpGlob.h: fnmatch inside of add(), don't access ftp
	  server if there are no wildcards.
	* FtpListInfo.cc: list parsing restructured; added NT list parser
	* LocalAccess.cc: (Glob) do chdir to cwd before glob.

1999-03-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpget.cc: support modules
	* Http.cc, Http.h: many changes, still unfinished.
	* FtpGlob.cc, FtpGlob.h: new files
	* LocalAccess.cc, LocalAccess.h: implement LocalGlob; more verbose
	  error messages.
	* lftp.cc: don't call obsolete ListInfo::ClassInit
	* ftpclass.cc, ftpclass.h: always copy resolved address
	  to connected session along with socket; implement SameSiteAs,
	  MakeGlob.
	* LsCache.cc, LsCache.h: implemented partial cache flush.
	* FileAccess.cc, FileAccess.h: add class FileAccessOperation;
	  move ListInfo here; add class Glob; move class Protocol here;
	  call LsCache flushing routines on certain operations;
	  add SameSiteAs method (almost th same sa SameLocationAs,
	  but don't check cwd).
	* complete.cc: use Glob
	* XferJob.cc: use FileAccess::New, don't include obsolete headers
	* mputJob.cc, mputJob.cc: don't include rglob.h, localize
	* FtpListInfo.cc, FtpListInfo.h: use FtpGlob
	* CatJob.cc, CatJob.h, mgetJob.cc, mgetJob.h, mrmJob.cc, mrmJob.h:
	  use new class Glob.
	* MirrorJob.h, MirrorJob.cc: don't include ListInfo.h;
	  use FileAccess::New; explicitly use UseCache(false).
	* FindJob.h: don't include ListInfo.h
	* ListInfo.h, ListInfo.cc, ProtoList.cc, ProtoList.h: removed; contents
	  moved to FileAccess
	* pgetJob.cc: use only 40 chars for file name; print eta in jobs output
	* commands.cc: use FileAccess::New; add list address to version output;
	  add --help and --version to `help lftp' output.
	* SignalHook.cc, SignalHook.h: don't use static arrays; add ClassInit
	* FtpCopy.cc: use FileAccess::New

1999-02-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* Http.cc: Basic auth, new resource usage
	* lftp.cc: modular proto-ftp support
	* LocalAccess.cc: use Protocol::Register
	* ftpclass.cc: module support, new resource usage
	* commands.cc: module command, --no-umask in help for mirror,
	  use single quotes in 'bookmark edit' shell command.
	* DummyProto.h: add Reconfig
	* ResMgr.cc, ResMgr.h: renamed Query to SimpleQuery, add complex
	  Query method.
	* Resolver.cc, Resolver.h: add ClassInit
	* resource.cc, resource.h: new files
	* FileAccess.cc, FileAccess.h: move traffic shaper here, add Query and
	  Reconfig methods; add closure member.
	* ProtoList.h: add static Register member
	* ListInfo.cc, ListInfo.h: add ClassInit
	* FtpCopy.cc: don't use StateToError
	* MirrorJob.cc, MirrorJob.h: implement --no-umask, apply umask
	  by default.
	* CmdExec.cc: use op instead of args->a0().

1999-02-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc, CmdExec.cc, CmdExec.h: module support
	* lftp.cc: module support
	* complete.cc: don't use cmd_table directly
	* misc.cc, misc.h: (decode_delay) moved here
	* MirrorJob.cc: don't create LocalListInfo directly, module support
	* LocalAccess.cc: module support
	* ProtoList.cc: module support
	* PutJob.cc: call SetTime and SetDate
	* module.cc, module.h, modconfig.h: new files
	* Http.cc, Http.h: new files
	* buffer.cc, buffer.h: (FileInputBuffer) new class; (Errno) new method;
	  (EventTime) new method.
	* FileAccess.cc, FileAccess.h: (default_cwd) new member; stuff from
	  ftpclass; (SetTime, SetDate) new methods.
	* ftpclass.h, ftpclass.cc: move traffic shaper and other common with
	  Http things to FileAccess.
	* SMTask.h: add Timeout and Block methods for convenience
	* SMTask.cc: don't run suspended tasks.

1999-01-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: fix Report condition
	* ftpclass.cc: change format for EPSV response
	* Resolver.cc: set flags on pipe (O_NONBLOCK, FD_CLOEXEC); check
	  for non-fatal errors.

1999-01-21  Alexander V. Lukyanov  <lav@yars.free.net>

	* Resolver.cc, Resolver.h: use string portname
	* FileAccess.h, FileAccess.cc: use string portname; implement base
	  Connect.
	* FtpCopy.cc, commands.cc, ftpget.cc, XferJob.cc: use symbolic port
	  in Connect.
	* ftpclass.h, ftpclass.cc: use string portname and proxy_port;
	  print "connecting..." messages for ipv6; set peer_curr properly to
	  less than peer_num; parse EPSV response correctly - search for '('.
	* MirrorJob.cc: always report to non-tty
	* CmdExec.cc, CmdExec.h: add cmd:verbose, useful for scripts.
	* ftpclass.cc: set peer_curr properly <peer_num.

1999-01-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* PollVec.cc: merge pollfd's with the same descriptor (workaround for
	  problems in some systems' poll)
	* ftpclass.cc: support for multiple addresses and ipv6; fixed bugs in
	  CloseRespQueue; don't check port in passive mode.
	* ftpclass.h: support for multiple addresses and ipv6
	* Resolver.cc, Resolver.h: support for multiple addresses, multiple
	  address families, dns:order variable.
	* url.cc: check for multiple colons (ipv6 numeric)

1999-01-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: check for mirror -N
	* CmdExec.cc, CmdExec.h: add BUILTIN_NONE, reset builtin to it.
	* commands.cc: (do_open) (do_cd) don't verify host or cwd if background
	* ftpclass.cc, ftpclass.h: (FindLastCWD) new method;
	  remove target_cwd; (CloseRespQueue) handle CHECK_{USER,PASS}*
	  correctly, don't ignore them; fix waiting for cwd to
	  proper directory.

1998-12-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* PutJob.cc: correct bytes count when position changes (negative
	  count is obviously incorrect)
	* plural.c: use absolute value
	* commands.cc: fix to exit if initial open fails (that from lftp call)
	* CmdExec.cc: cmd:fail-exit to exit if a command fails.

1998-12-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* rglob.cc: (path_match) treat empty pattern specially
	* CmdExec.cc, CmdExec.h: (AtExit) new function, (cmd:at-exit) new
	  setting.
	* lftp.cc: call top_exec->AtExit() and wait before exit
	* commands.cc: (do_lftp) feed "||exit" only if have fed command;
	  (do_bookmark) don't add empty bookmark or bookmark with empty
	  name.

1998-12-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: clear waiting properly

1998-12-04  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: use socklen_t instead of ADDRLEN_TYPE; correct Buffered.
	* FileAccess.cc: use socklen_t instead of ADDRLEN_TYPE.
	* XferJob.cc: (Offset) implemented, used; (CountBytes) use Buffered
	  and session_buffered to correct transfer rate.
	* XferJob.h: (Offset) new method, (session_buffered) new member
	* ftpclass.h, ftpclass.cc: (Buffered) new method
	* FileAccess.h: (Buffered) new virtual method

1998-12-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc: add i18n for K/s etc.
	* commands.cc: (open) create new session if current protocol is dummy
	* FileAccess.cc: (GetConnectURL) return empty url for dummy protocol
	* lftp.cc: (main) use DummyProto instead of Ftp.
	* DummyProto.cc, DummyProto.h: (new files) dummy protocol, will help
	  in future to support dynamic loadable protocols.
	* xmalloc.h: don't rely on memcpy return value
	* LocalAccess.cc: when follow_links don't remove dangling links

1998-11-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp.cc: remove extra \n
	* ftpclass.cc: (Reconfig) call ResetBytes to reset accumulated count
	* SMTask.cc: call UpdateNow in ReconfigAll

1998-11-25  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc: add i18n for eta
	* complete.cc, rglob.cc, rglob.h, Job.h, LsCache.h, XferJob.cc,
	  CmdExec.cc, mgetJob.cc, rmJob.h, rmJob.cc, QuoteJob.h, QuoteJob.cc,
	  LsJob.h, mvJob.cc, PutJob.cc, MirrorJob.cc, CatJob.cc, GetJob.cc,
	  LsJob.cc, mkdirJob.cc, mrmJob.cc, pgetJob.cc, ftpget.cc: remove
	  dependency on ftpclass.h, use FileAccess.h instead; use FA.
	* rmJob.cc: support i18n; use FA
	* FileAccess.h: add FA shortcut to FileAccess
	* log.cc: cast void* to char*
	* ResMgr.cc, netrc.cc, lftp.cc: use const char *, avoid error with
	  new egcs
	* ftpclass.cc, ftpclass.h: use enum for various response checks;
	  clear resp queue on Close; associate path with CWD response handle.
	* commands.cc: use &CmdExec::do_... to compile with recent egcs
	* CmdExec.cc: set exit_code to zero when cd or open is stopped.

1998-11-22  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.h: add ~CmdFeeder destructor, this fixes problem with
	  feeders not destroyed, open fd's in particular.

1998-11-20  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: don't try to handle anon users specially,
	  it did not work anyway; one has to use anon-user and anon-pass
	  settings.
	* netrc.cc: ignore default; handle comments
	* SMTask.cc: include sys/time.h
	* commands.cc: add `command' command; replace args->a0() with op in
	  several places.
	* CmdExec.cc, CmdExec.h: (BUILTIN_EXEC_RESTART) new builtin.
	* ArgV.cc, ArgV.h: (delarg) new method

1998-11-18  Alexander V. Lukyanov  <lav@yars.free.net>

	* XferJob.cc: add start_time_ms, end_time_ms; use now and now_ms.
	* LocalAccess.cc: check Poll return value for -1
	* commands.cc: updated help for rm, mirror.
	* ftpclass.cc, ftpclass.h: ftp:limit-rate, ftp:limit-max new settings;
	  traffic limit implemented (BytesAllowed, BytesUsed, BytesReset);
	  allow passing data peer address to data_address_ok for verification
	  of PASV response; scan PASV response for address (as recommended in
	  RFC1123; thanks to Michael Handler <handler@sub-rosa.com> for patch);
	  verify data peer address in passive mode; check return value of Poll
	  for -1; (AbortedClose, ControlClose) new functions; rearrange code
	  in Read; clear lookup_done in SetProxy only if proxy changed.
	* lftp.cc: log SIGTERM when in background.
	* Resolver.cc: use static now.
	* SMTask.cc, SMTask.h: add static members: now, now_ms; (UpdateNow)
	  new static method; call UpdateNow from Schedule.
	* FileAccess.cc: don't call Disconnect from CheckHangup; return -1
	  from Poll if hangup.

1998-11-12  Alexander V. Lukyanov  <lav@yars.free.net>

	* MirrorJob.cc: set time only on directories; get sets it on files;
	  don't print report messages if there is parent_mirror, this
	  fixes multiple messages in nested directories after fg.
	* FileSet.cc, FileSet.h: add option to set time for only directories.
	* ftpclass.cc, ftpclass.h: add aborted_data_sock member; don't
	  close data connection right after sending ABOR, wait for answer;
	  send only first byte before ABOR as OOB to workaround recv()
	  braindamage; clear lookup_done in Reconfig since proxy could change.
	* CmdExec.cc: set verify_path, verify_host; handle ^Z in open/cd
	* commands.cc: use verify_path, verify_host
	* CmdExec.h: (verify_path, verify_host) new members

1998-11-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpListInfo.cc, QuoteJob.cc, netrc.cc, Resolver.cc, misc.cc,
	  parsecmd.cc, rglob.cc, url.cc, StatusLine.cc, ftpget.cc, buffer.h,
	  xmalloc.h, lftp.cc: use xstring.h instead of string.h to improve
	  portability.
	* Job.cc: (Fg, Bg) protect against infinite recursion

1998-10-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* log.cc: (Format) implemented, added sl_cleared flag.
	* ftpget.cc: enable log when verbose
	* ftpclass.cc: add state check in ACCEPTING_STATE, fixes rare coredump.
	  socket-maxseg experimental setting for TCP_MAXSEG. Print errors from
	  setsockopt.
	* PollVec.cc: add assert(fd>=0).

1998-10-27  Alexander V. Lukyanov  <lav@yars.free.net>

	* commands.cc: (do_mirror) fix include/exclude setting, add -L option
	* FtpListInfo.cc: fix follow_symlinks handling, clear MODE, SIZE, etc.
	* ftpclass.cc: check for 4xx response for REST
	* ftpclass.h: comment fix
	* FtpCopy.cc: fix setting dst_size (was -2, need 0)

1998-10-23  Alexander V. Lukyanov  <lav@yars.free.net>

	* FtpListInfo.cc: fix exclude/include, implement follow_symlinks
	* commands.cc: (do_lftp) call do_open only if no lftp-specific options
	  were found; (do_mirror) add --dereference (-L) option;
	  (do_at) use get_date function
	* log.cc: fix logging after tty disconnect, clear tty flag
	* LocalAccess.cc: implement follow_symlinks semantics
	* ListInfo.cc, ListInfo.h: add follow_symlinks flag
	* MirrorJob.cc, MirrorJob.h: add RETR_SYMLINKS flag
	* getdate.y, getdate.h: new files (replace parsetime*)

1998-10-13  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: fix remote completion (automatic class was deleted too
	  early); fix typo.
	* commands.cc: (do_mirror) don't use ONLY_NEWER for reverse mirror.
	* FileSet.cc, FileSet.h: (SameAs) add ignore argument,
	  (SubtractSame) same.
	* MirrorJob.cc: ignore date in reverse mode. (HandleFile) skip: label;
	  report errors in mkdir
	* ftpclass.cc: check only first digit in response.
	* parsetime.y: use mktime_from_utc for portability

1998-10-07  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: prevent re-entering to Disconnect, this fixes stack
	  overflow. (FlushSendQueue) new method. close control_sock if connect
	  failed. check for try_time==0. Change default for verify-address,
	  seems quite a bit of servers fail the check.

1998-10-03  Alexander V. Lukyanov  <lav@yars.free.net>

	* complete.cc: bookmark completion. cleanup.
	* CmdExec.cc: make FeedQuoted insert quotes, (GetFullCommandName) new
	  method.
	* keyvalue.h: (CurrentKey) (CurrentValue) (Next) (Rewind) new methods,
	  (current) new member
	* bookmark.h, bookmark.cc: (Rewind) new method, comment unused List()
	* history.h: (Rewind) new method
	* PutJob.cc, PutJob.h: (delete_files) new member, use it.
	* FindJob.cc: quote arguments and use --
	* mputJob.cc: recognize -e
	* FtpCopy.cc: include url in status
	* commands.cc: remove unused unquote(), fix do_lftp to call do_open.
	* FileAccess.cc: encode url parts
	* url.h, url.cc: (url) new class, (url::decode_sctring)
	  (url::encode_string) new functions, use the functions.
	* ftpclass.cc: typo corrected
	* GetJob.cc, GetJob.h: (RemoveBackupFile) new function
	* pgetJob.cc: use RemoveBackupFile

1998-09-15  Alexander V. Lukyanov  <lav@yars.free.net>

	* FindJob.cc, FindJob.h: add FindJob_Cmd class;
	  (class FindJob) use_cache, init_dir - new members, NextDir - new
	  method; show status in WAIT state, don't show it in CD.
	* FileSet.cc, FileSet.h: outline next() and curr().
	* ArgV.cc, ArgV.h: make getcurr return 0 after getnext returns 0
	* commands.cc: add rm -r support
	* misc.cc, misc.h: (xgetcwd) new function
	* CmdExec.cc, CmdExec.h: don't execute commands if chdir failed;
	  (FeedQuoted, unquote) new methods
	* ftpclass.cc: disable timeout for ftpcopy, remove NoWait.
	* SleepJob.h, SleepJob.cc: save and restore cwd, set parent of exec
	* FindJob.cc: include config.h

1998-09-08  Alexander V. Lukyanov  <lav@yars.free.net>

	* CmdExec.cc: (MakePrompt) add \@ handling
	* commands.cc: limit debug level to 0-9 range
	* keyvalue.cc: (Format) add \0 for empty case

1998-09-06  Alexander V. Lukyanov  <lav@yars.free.net>

	* rglob.cc: don't ignore NO_FILE
	* ftpclass.cc, ftpclass.h: remove unused ChdirStatus,
	  ignore NO_FILE for NLST and simulate eof; don't set state
	  in SwitchToState if we have failed smth (or else infinite loop
	  is possible).
	* FileAccess.cc, FileAccess.h: add 'verify' to Chdir
	* FindJob.cc, FindJob.h: support depth-first search, don't verify cd's

1998-09-05  Alexander V. Lukyanov  <lav@yars.free.net>

	* ListInfo.cc, ListInfo.h: add 'need' and 'use_cache' members
	* XferJob.cc, LsCache.cc: use #l# for longs in plural()
	* lftp.cc: use ProcWait::Signal
	* buffer.cc, buffer.h: new files
	* FindJob.cc, FindJob.h: new files
	* SignalHook.cc, SignalHook.h: add Block, Unblock, Default methods
	* commands.cc: use decode_delay in sleep, add CMD(find)
	* MirrorJob.cc: request ALL_INFO
	* FileSet.h: add ALL_INFO
	* misc.cc: support dir_file(dir_file(),)
	* FtpListInfo.cc: handle 'need' and 'use_cache'. If there were no
	  errors in long list, don't get short one. count errors in
	  ParseLongList_UNIX.
	* FileAccess.h: add GetFile method, include ListInfo.h
	* Resolver.h: include string.h
	* CmdExec.h: add CMD(find)
	* ProcWait.h, ProcWait.cc: add Signal method
	* Filter.h, Filter.cc: add closed member to avoid spawning a process
	  when done and waiting for termination; block SIGCHLD while spawning
	  process to prevent races.
	* SysCmdJob.cc: same for SIGCHLD
	* FtpCopy.cc: fix rolling stick :)
	* FileSet.h: add ALL_INFO
	* mgetJob.cc: don't use cache for rglob

1998-08-31  Alexander V. Lukyanov  <lav@yars.free.net>

	* ftpclass.cc: fix connection leak in GetBetterConnection (missing
	  return); add conditions to DataAbort to avoid unneeded ABOR;
	  close data connection in Read on EOF to avoid ABOR;
	  SwitchToState - remove bogus condition for COPY_FAILED

1998-08-28  Alexander V. Lukyanov  <lav@yars.free.net>

	* FileXfer.cc: fix setting op when args->count()==1
	* ArgV.h: add GetV method
	* SignalHook.cc, SignalHook.h: move to posix sigaction; add old_saved[]
	* ProcWait.cc, ProcWait.h: add SIGCHLD_handler, chain, destructor
	* log.cc, log.h: new files (log facility)
	* lftp.cc: use SIGCHLD_handler, use Log
	* SleepJob.cc, SleepJob.h: new files (sleep and at commands)
	* parsetime.y, parsetime-lex.l, parsetime-i.h: new files (from at-3.1.7)
	* FtpCopy.cc, FtpCopy.h: new files (copy between ftp servers)
	* Job.cc: call Bg() and Fg() for waiting
	* complete.cc: avoid "total xxx" in completion
	* FtpListInfo.cc: use int for base_dir_len
	* FileAccess.cc, FileAccess.h: use new log facility
	* ftpget.cc: use new log facility
	* CmdExec.cc, CmdExec.h: get rid of old debugging, Bg, Fg;
	  add new commands
	* commands.cc: use new log facility; add new commands
	* XferJob.cc, XferJob.h, pgetJob.cc: add eta reporting
	  (original by jaeger@tekniq.net)
	* ftpclass.cc, ftpclass.h: add COPY_FAILED state, DataAbort method,
	  abort data connection properly, send QUIT before control socket
	  close, copy_* members for ftpcopy support, FlushSendQueue flushes
	  all optionally

1998-08-19  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp.cc: (ReadlineFeeder) added ctty (is control tty) member;
	  removed hung-up check, since readline() should report eof in
	  the case; modified check for background state.
	* SMTask.cc: (Schedule) fix block collecting to exclude already
	  running tasks.

1998-08-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* lftp.cc: (ReadlineFeeder::NextCmd) check for hung-up terminal

1998-08-17  Alexander V. Lukyanov  <lav@yars.free.net>

	* fg.cc: add debug printf's
	* Job.h, Job.cc: make Fg() and Bg() outline virtual
	* lftp.cc: (ReadlineFeeder::NextCmd) don't call readline()
	  if in background; (main) call top_exec->Fg() to make it foreground.
	* CmdExec.cc, CmdExec.h: (Fg, Bg) new functions; call waiting->Fg()
	  for only foreground jobs

Fri Aug 14 19:00:54 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.h, commands.cc: (suspend) new command
	* GetJob.cc: rename old file to file~ if it exists, and remove
	  backup upon getting the new file; this is useful for accidently
	  forgotten 're' or '-c'.
	* ftpclass.cc: fix warning about old_type; improve
	  error reporting; ignore extra 2xx responses for buggy servers
	* fg.h, fg.cc: (cont) new function; (Fg) cont the process even
	  if we don't own the terminal.
	* SysCmdJob.cc, SysCmdJob.h: (AcceptSig) implemented; (~) call
	  Bg() to release terminal properly, kill process in destructor
	* ProcWait.cc: (Kill) check if process still running

Mon Aug  3 19:18:51 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: (mirror) increase verbose instead of setting to 1
	* ftpclass.cc: (PASV_Catch) fix for broken servers returning 0,0,0,0

Wed Jul 29 17:35:15 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc: (~CmdExec) clear debug_shell if destroying it
	* CmdExec.h: make debug_shell public
	* commands.cc: (do_debug) don't set debug_shell
	* lftp.cc: (main) set debug_shell to top_exec
	Note: debug subsystem must be rewritten
	* complete.cc: remote completion by default for mirror
	* ftpclass.cc, ftpclass.h: ReadyCheck, check for m$ server and turn on
	  sync mode if it was not; check for hostname==""

Fri Jul 24 16:45:41 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: verify address before port

Thu Jul 23 00:54:11 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* mkdirJob.cc: include plural.h, one more message is preprocessed
	  by plural().
	* FileAccess.cc: (expand_tilde) fix memmove bound violation in
	  shrink case

Mon Jul 20 21:04:06 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* Filter.cc, Filter.h: new broken() method
	* XferJob.cc: use it to prevent spinning when output is broken
	  and data is not available yet

Wed Jul  1 11:31:22 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: rename some settings for better sorting;
	  (verify-port) new setting, (data_port_verify) new member;
	  set buffer size in Reconfig; some tweaks
	* commands.cc: set arg1 in cd command for status line when dir=="-"

Mon Jun 22 16:31:09 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: fix data_address_ok DebugPrint's;
	  add ftp:socket-buffer variable to tune tcp window

Thu Jun 18 18:19:20 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* alias.cc, alias.h: (Format) new function
	* commands.cc: use it
	* complete.cc: ls hack - ignore "total xxx", don't add /

Sun Jun 14 14:28:09 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc: if file type is unknown and local directory exists,
	  assume the remote file is a directory
	* ResMgr.cc, ResMgr.h: (Format) new function
	* commands.cc: use ResMgr::Format
	* ftpclass.cc, ftpclass.h: address-verify - new setting;
	  (data_address_ok) new function

Thu Jun 11 16:55:57 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* Filter.cc: expand tilde in file name.
	* misc.cc, misc.h: (expand_home_relative) take and return const
	* commands.cc: use const for expand_home_relative
	* LocalAccess.cc: (Write) fix to adjust pos correctly
	* CmdExec.cc: (completion_use_ls) new member, new setting
	  cmd:ls-in-completion; use host name for ls-default.
	* complete.cc: several fixes, use complation_use_ls.

Tue Jun  9 19:25:50 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* XferJob.cc: plural support
	* MirrorJob.cc: report not deleted files if flag set;
	  (SetRX) new method, replaces SetInclude and SetExclude;
	  plural support
	* commands.cc: (do_mirror) support several -i/-x; add optional
	  argument for --verbose; use new interface to MirrorJob
	* lftp.cc: (ReadlineFeeder) fix memory leak
	* xmalloc.h: (xfree) not report xfree(0) when debugging

Fri Jun  5 17:24:04 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: update help for bookmark, fix bo import to look in
	  proper directory.

Fri Jun  5 15:19:31 MSD 1998

	* ftpclass.cc: (Ftp(Ftp*)) copy anon_user/anon_pass if available
	(StrError) don't translate string that can't be seen by user

Fri Jun  5 14:42:15 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: (do_pwd) print url, allow redirection,
	  (do_open) prepend cmd_to_exec before bookmark expansion,
	  (do_bookmark) add import subcommand, complain if bookmark to delete
	  does not exist.

Fri Jun  5 14:37:26 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* complete.cc: try to use cached LONG_LIST for completion
	* LsCache.cc: (Lookup) don't copy out contents of cache if d==NULL

Wed Jun  3 17:18:04 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc, CmdExec.h: (save_passwords) new member,
	  (bmk:save-passwords) new setting
	* commands.cc: use save_passwords, (echo) new command
	* CatJob.cc: if output==0 use stdout

Fri May 29 18:32:47 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>
	* XferJob.cc, XferJob.h: add xfer:use_urls, unstrict urls

Mon May 25 23:42:14 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* FtpListInfo.cc: close session in destructor (fixes coredump)

Mon May 25 23:24:09 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc: use status_line even if !interactive

Mon May 25 15:52:08 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.h, FileAccess.cc: add WITH_PASSWORD flag to GetConnectURL

Sun May 24 23:30:00 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.h: make print_cmd_help non static, (do_lftp) new
	  function
	* commands.cc: (do_lftp) new function, remove -f option from
	  do_open, print_cmd_help changes, `open' help change
	* lftp.cc: use do_lftp (indirectly)

Sun May 24 23:00:16 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* CmdExec.cc: don't reference status_line when it's zero,
	  change status for cd and open commands

Sat May 23 03:06:25 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* MirrorJob.cc: pass newer_than to child mirror jobs
	* FileSet.cc: (SubtractOlderThan) subtract only plain files

Thu May 21 22:56:22 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: (mktime_from_utc) new function (from wget)
	  (ConvertFtpDate) use mktime_from_utc instead of old hack.

Thu May 21 22:21:50 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* FileAccess.h: make Login() virtual
	* ftpclass.cc: (Login) new function, add anon-user/anon-pass,
	  (SameConnection) new function, differenciate connections with,
	  different anonymous login. (DefaultAnonUser) new function,
	  (ClassInit) set default anon-pass, (anon_user) new member
	* ftpclass.h: same

Thu May 21 13:55:20 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* PutJob.cc: fix for new buffer allocation

Tue May 19 16:53:36 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: (find_command) new function (from vars.cc)
	* vars.cc, vars.h: remove

Fri May 15 19:25:49 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>
	* commands.cc: don't use errno in GetPass() error message

Fri May 15 18:17:31 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* Resolver.cc: handle timeout, fix sleep, (Reconfig) new function
	* Resolver.h: (timeout) new member, (Reconfig) new decl

Fri May 15 18:11:44 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ResMgr.cc: (ResDecl::Query) new function
	* ResMgr.h: (ResValue) new class
	* ftpclass.cc: (Reconfig) use it, (ResQuery) remove
	* ftpclass.h: (ResQuery) remove, (SetFlag) take bool arg
	* CmdExec.cc: (Reconfig) use it, (ResQuery) remove
	* CmdExec.h: (ResQuery) remove

Fri May 15 16:49:35 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>
	* SMTask.cc (ReconfigAll): add NoWait

Fri May 15 16:31:14 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>
	* LsJob.cc: Fix cached listing printing
	* LsJob.h: remove unused variable cache_buffer_ptr

Tue May 12 22:24:38 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc: move pass hiding	here, where it belongs, show pass
	  when s/key is used or anonymous
	* FileAccess.cc: ...and remove from here

Tue May 12 21:45:02 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* XferJob.cc, XferJob.h: add support for variable sized buffer
	* CatJob.cc, CatJob.h: add support for cat'ing from memory
	* command.cc: (bookmark) use CatJob for bookmark list
	* bookmark.cc, bookmark.h: add Format

Tue May 12 19:19:54 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: tune memory use

Tue May 12 19:00:06 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* xmalloc.cc, xmalloc.h: support for debug

Tue May 12 16:31:07 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* keyvalue.cc: (Format) new function
	  (Write) use Format
	* keyvalue.h: ajust accordingly

Mon May 11 01:08:37 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc: (open) use password from .netrc if user name matches

Sat May  9 01:47:41 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.c: add "S/Key MD5" string to list of skey strings
	  (make_skey_reply) use `result' to catch multiline responses.

Fri May  8 02:47:11 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc, ftpclass.h: add force_skey, allow_skey defaults to yes
	  (make_skey_reply) rewrite, add otp-md5 string
	* ftpclass.cc: wait for pass prompt only when user given (no anon)

Thu May  7 21:55:17 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* parsecmd.cc: fix alias_field calculation

Wed May  6 21:13:41 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc (make_skey_reply): implement (base from wget) and use it;
	  (skey_pass, allow_skey): new members of class Ftp
	* ftpclass.h: likewise
	* Makefile.am: add md5.c, md5.h, ftp-opie.c to sources

Wed May  6 20:38:55 MSD 1998  Alexander V. Lukyanov <lav@yars.free.net>

	* ftpclass.cc (LoginCheck): assume non-fatal error when
	got RESP_LOGIN_FAILED, but without "Login incorrect" string.

Wed May  6 15:19:00 MSD 1998 Alexander V. Lukyanov <lav@yars.free.net>

	* commands.cc (bookmark): add `bookmark edit' command