Blame src/ChangeLog

Packit 8f70b4
2014-05-06  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* DHT.cc: prefer fresh node over non-good and not responded one.
Packit 8f70b4
	* xarray.h: fixed a typo which could cause segfault.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, src/Fish.cc, src/Fish.h, src/Http.cc,
Packit 8f70b4
	  Http.h, NetAccess.cc, SFtp.cc, SFtp.h, SSH_Access.cc, SSH_Access.h,
Packit 8f70b4
	  ftpclass.cc, ftpclass.h: add last_disconnect_cause; display it
Packit 8f70b4
	  for 5 seconds in the status.
Packit 8f70b4
Packit 8f70b4
2014-04-09  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* SSH_Access.cc, SSH_Access.h: display last error message from ssh.
Packit 8f70b4
Packit 8f70b4
2014-04-07  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* misc.cc: add EIO and EPIPE to the list of temp network errors.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, Http.cc, NetAccess.cc, ftpclass.cc,
Packit 8f70b4
	  ftpclass.h: replace try_time with Timer reconnect_timer;
Packit 8f70b4
	  use temporary_network_error in FA::NotSerious.
Packit 8f70b4
	* SSH_Access.cc: detect name lookup error from ssh.
Packit 8f70b4
Packit 8f70b4
2014-03-26  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Job.cc, Job.h: (FormatShortStatus) new virtual method; don't check
Packit 8f70b4
	  Deleted() for jobs in the lists; use xlist_for_each_safe when it's
Packit 8f70b4
	  possible to remove scanned node from the list.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: implement FormatShortStatus.
Packit 8f70b4
	* CopyJob.cc: use Speedometer::GetStrProper for final rate reporting.
Packit 8f70b4
Packit 8f70b4
2014-03-25  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* pgetJob.h: fixed bytes and rate reporting via Get methods.
Packit 8f70b4
	* Job.cc, Job.h: use xlist; add children_jobs list; (NumberOfChildrenJobs) new method.
Packit 8f70b4
	* commands.cc, CmdExec.cc: use NumberOfChildrenJobs to avoid counting "this" Job.
Packit 8f70b4
Packit 8f70b4
2014-03-24  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: (MoveDataHere) set eof only when all data are exhausted.
Packit 8f70b4
	* misc.cc, misc.h: (xhuman) new function.
Packit 8f70b4
	* Job.cc, Job.h: (GetTransferRate) new method;
Packit 8f70b4
	  (GetBytesCount) count recursively over descendants.
Packit 8f70b4
	* CopyJob.cc, CopyJob.h, FileCopy.h: (GetTransferRate) implement;
Packit 8f70b4
	  (GetTimeSpent) don't count overlapped time intervals twice;
Packit 8f70b4
	  (GetBytesCount) count recursively for real time monitoring.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: show real-time bytes transferred and
Packit 8f70b4
	  rate in the mirror job title.
Packit 8f70b4
	* HttpDir.cc: try to parse as plain html when props format is unrecognized.
Packit 8f70b4
Packit 8f70b4
2014-03-18  Sami Farin <sami.farin@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FtpDirList.cc, Http.cc, PollVec.cc, complete.cc, lftp.cc:
Packit 8f70b4
	  fix warnings
Packit 8f70b4
Packit 8f70b4
2014-03-18  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.h, mkdirJob.h, FindJob.h: don't access the
Packit 8f70b4
	  FileAccessRefC ref in dtor, as the original FileAccessRef can be
Packit 8f70b4
	  already deleted.
Packit 8f70b4
	* FindJob.cc: don't add slash for plain files in URLs.
Packit 8f70b4
Packit 8f70b4
2014-03-17  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* resource.cc: add hftp:decode setting.
Packit 8f70b4
	* xarray.cc, xarray.h: use xrealloc instead of realloc; truncate
Packit 8f70b4
	  xarray_m in dtor, so that proper dispose method is called.
Packit 8f70b4
	* xmap.cc: use xfree for xmalloc'ed memory.
Packit 8f70b4
Packit 8f70b4
2014-03-14  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* SSH_Access.cc: add another password prompt format for FreeBSD.
Packit 8f70b4
Packit 8f70b4
2014-03-13  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: get rid of direct delete calls.
Packit 8f70b4
Packit 8f70b4
2014-03-11  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, resource.cc: (http:accept-encoding, http:decode) new settings.
Packit 8f70b4
Packit 8f70b4
2014-03-04  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, commands.cc: keep track of parent CmdExec;
Packit 8f70b4
	  add 'exit parent' subcommand; flush command buffer when exiting.
Packit 8f70b4
	* SFtp.cc: don't send FSETSTAT when file modification time is unknown.
Packit 8f70b4
Packit 8f70b4
2014-02-13  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* xarray.h, StringSet.h: (xarray_m) new template for malloc'ed
Packit 8f70b4
	  pointers; use it in StringSet.
Packit 8f70b4
	* xmap.h: (dispose) new method.
Packit 8f70b4
Packit 8f70b4
2014-02-12  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: don't call ExpandTildeInCWD every time.
Packit 8f70b4
	* Http.cc: use a perfect hash for header handling.
Packit 8f70b4
	* MirrorJob.cc: clear source/target sets when looping.
Packit 8f70b4
Packit 8f70b4
2014-02-11  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: fix transfer rate reporting for parallel
Packit 8f70b4
	  mode mirror (--parallel option).
Packit 8f70b4
	* commands.cc: (--env-password) new open option to take password from
Packit 8f70b4
	  LFTP_PASSWORD environment variable.
Packit 8f70b4
Packit 8f70b4
2014-02-04  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, ResMgr.h, resource.cc: move some methods to ResType;
Packit 8f70b4
	  make ResMgr a descendant of ResType; make type_value_list a pointer
Packit 8f70b4
	  to avoid calling a ctor for each static ResType.
Packit 8f70b4
	* Torrent.cc: use ~/.lftp/torrent/md directory; fix file permissions.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: use xlist and xmap to speed up FA
Packit 8f70b4
	  creation and deleting.
Packit 8f70b4
Packit 8f70b4
2014-01-24  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* pgetJob.cc: (pget:min-chunk-size) new setting with 1M by default.
Packit 8f70b4
Packit 8f70b4
2014-01-23  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, commands.cc, history.cc: don't add a slash if it's
Packit 8f70b4
	  already there.
Packit 8f70b4
	* xmap.cc: slightly better hash.
Packit 8f70b4
	* xarray.h: (xarray_p::qsort) new method.
Packit 8f70b4
	* StringSet.h: (StringSet::qsort) new method.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h, Http.cc, resource.cc: use xlist and xmap to
Packit 8f70b4
	  manage settings (for better performance).
Packit 8f70b4
	* Torrent.cc, Torrent.h: save metadata and load if needed;
Packit 8f70b4
	  (torrent:save-metadata) new setting.
Packit 8f70b4
Packit 8f70b4
2014-01-17  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: allow UTC along with GMT in http timestamps.
Packit 8f70b4
	* Http.cc: fixed Content-Length handling after PROPFIND.
Packit 8f70b4
Packit 8f70b4
2014-01-16  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* DHT.cc: prefer responded nodes in search over not responded ones.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add shutting_down_timer to fix a hang on
Packit 8f70b4
	  unresponsive trackers.
Packit 8f70b4
	* TorrentTracker.h: use 30 if interval<30.
Packit 8f70b4
Packit 8f70b4
2014-01-16  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed error handling for new _Read semantics.
Packit 8f70b4
Packit 8f70b4
2014-01-15  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed rmdir for WebDAV by adding trailing slash to the path.
Packit 8f70b4
Packit 8f70b4
2014-01-10  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: use SMTaskRef for FDCache.
Packit 8f70b4
Packit 8f70b4
2013-12-13  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* RateLimit.cc, RateLimit.h, ftpclass.cc: use RateLimit settings
Packit 8f70b4
	  to set maximum buffer size.
Packit 8f70b4
	* xstring.cc, xstring.h: (swap, set_length_no_z) new methods.
Packit 8f70b4
	* buffer.cc, buffer.h: (MoveDataHere) new method, optimize data
Packit 8f70b4
	  copying by swapping buffers.
Packit 8f70b4
	* FileCopy.cc: tune read delaying; add comments.
Packit 8f70b4
	* DummyProto.cc, DummyProto.h, FileAccess.h, FileCopy.cc, Fish.cc,
Packit 8f70b4
	  Fish.h, Http.cc, Http.h, LocalAccess.cc, LocalAccess.h, SFtp.cc,
Packit 8f70b4
	  SFtp.h, example1.cc, example2.cc, ftpclass.cc, ftpclass.h:
Packit 8f70b4
	  change FA::Read to use Buffer and MoveDataHere.
Packit 8f70b4
	* PollVec.cc, PollVec.h: (FDSetNotReady) new method.
Packit 8f70b4
Packit 8f70b4
2013-12-12  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* TimeDate.h: include sys/time.h to get struct timeval.
Packit 8f70b4
	* buffer.cc: don't shrink read buffer size.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: use xfer:buffer-size for max_buf size;
Packit 8f70b4
Packit 8f70b4
2013-12-11  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: shrink buffer explicitly.
Packit 8f70b4
	* PollVec.cc, PollVec.h: use select; (FDReady) new method.
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: change to microsecond resolution.
Packit 8f70b4
	* Timer.cc, Timer.h: (GetTimeoutTV) new method.
Packit 8f70b4
	* SMTask.cc, SMTask.h: use Timer::GetTimeoutTV; add resumed task to
Packit 8f70b4
	  the tail of new_tasks list.
Packit 8f70b4
	* buffer.cc, buffer.h: change buffer size tuning; remove last_got member;
Packit 8f70b4
	  don't call down->Do in BufferStacked; use last select result
Packit 8f70b4
	  to save a read() system call.
Packit 8f70b4
	* ftpclass.h: don't suspend control_recv so that control_sock gets
Packit 8f70b4
	  polled when delaying data read ops.
Packit 8f70b4
	* CharReader.cc: check last select result before reading.
Packit 8f70b4
	* FileCopy.cc: use microseconds for delaying reads; don't reset delay
Packit 8f70b4
	  on data unavailability; don't increase delay when read returned
Packit 8f70b4
	  enough data.
Packit 8f70b4
Packit 8f70b4
2013-12-09  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: add a delay when Read returns too small
Packit 8f70b4
	  portions of data, it should decrease the number of syscalls.
Packit 8f70b4
	* Bencode.cc: fixed a mem leak (thanks to David Binderman).
Packit 8f70b4
	* FileCopyFtp.cc, FileCopy.cc: minor style changes.
Packit 8f70b4
	* ResMgr.cc, HttpDir.cc: remove unused old code.
Packit 8f70b4
	* log.cc: check Log::global for NULL, avoid SEGV on exit.
Packit 8f70b4
Packit 8f70b4
2013-12-06  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* xheap.h: min-heap implementation with random remove.
Packit 8f70b4
	* Timer.cc, Timer.h, Makefile.am: use xheap and xlist for Timer.
Packit 8f70b4
Packit 8f70b4
2013-12-05  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: fixed ARRAY_INFO for the case of PROPFIND;
Packit 8f70b4
	  use symbolic error codes.
Packit 8f70b4
Packit 8f70b4
2013-12-04  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: use Delete method for peers.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: use SMTaskRef for ListInfo.
Packit 8f70b4
	* Speedometer.cc, Speedometer.h: don't inherit SMTask.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: don't use SMTaskRef for Speedometer.
Packit 8f70b4
	* SMTask.h: don't inherit SMTaskRef from Ref, make SMTask dtor
Packit 8f70b4
	  protected.
Packit 8f70b4
	* buffer.h: use plain Ref for Speedometer; make IOBuffer dtor protected.
Packit 8f70b4
	* FileAccess.h, ProcWait.h: make SMTask heirs dtors protected.
Packit 8f70b4
Packit 8f70b4
2013-12-03  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc, buffer.h: (TuneGetSize) new method.
Packit 8f70b4
	* ProtoLog.cc: check Log::global for NULL.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: use TuneGetSize, fixed `verify' type.
Packit 8f70b4
	* FindJobDu.h, Fish.h, Http.h, HttpDir.h, PtyShell.h, SFtp.h:
Packit 8f70b4
	  use SMTaskRef for tasks.
Packit 8f70b4
	* SMTask.cc, SMTask.h: use new xlist; add `deleted' list; add `new' list.
Packit 8f70b4
Packit 8f70b4
2013-12-02  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* SMTask.cc: (CollectGarbage) fixed deleting list manipulation.
Packit 8f70b4
Packit 8f70b4
2013-11-29  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* GetPass.cc, complete.cc: don't call SMTask dtor directly.
Packit 8f70b4
	* SMTask.cc, SMTask.h: add deleting list; use static array for stack.
Packit 8f70b4
	* xarray.cc, xarray.h: optimize space allocation by inlining some code.
Packit 8f70b4
	* SMTask.cc: don't spin on collected garbage.
Packit 8f70b4
	* DirColors.h: no need to inherit SMTask, use ResClient.
Packit 8f70b4
	* SMTask.h: make deleting, running and ref_count private;
Packit 8f70b4
	  (Deleted) new method.
Packit 8f70b4
	* IdNameCache.cc, Job.cc, ProcWait.cc, Resolver.cc, Torrent.cc:
Packit 8f70b4
	  use public methods of SMTask, don't use `deleting' member directly.
Packit 8f70b4
Packit 8f70b4
Packit 8f70b4
2013-11-27  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed ARRAY_INFO in keep-alive http connection.
Packit 8f70b4
Packit 8f70b4
2013-11-26  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.cc: show file name in error messages, if not there already.
Packit 8f70b4
	* FileCopy.cc: don't check file size when the file is already complete;
Packit 8f70b4
	  handle the case of defined limit without file size.
Packit 8f70b4
	* FileCopy.cc: use max of get/put positions in size checking, since
Packit 8f70b4
	  put_eof_pos is uninitialized yet.
Packit 8f70b4
Packit 8f70b4
2013-11-25  Alexander V. Lukyanov <lavv17f@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: add debug message on chunk sizes; handle 400/501 codes
Packit 8f70b4
	  to turn off PROPFIND in ARRAY_INFO mode.
Packit 8f70b4
	* FileCopy.cc: clean up GetArrayInfo call condition, don't call it
Packit 8f70b4
	  if not needed.
Packit 8f70b4
	* OutputJob.cc: free input and output in PrepareToDie.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: add check for file size at EOF.
Packit 8f70b4
Packit 8f70b4
2013-11-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: fixed spinning when GetArrayInfo gives an error.
Packit 8f70b4
	* commands.cc, FindJob.cc, FindJob.h, FileSet.h: add find -l (--ls)
Packit 8f70b4
	  option to show long listing.
Packit 8f70b4
Packit 8f70b4
2013-11-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: don't show verbose 100% peer completeness.
Packit 8f70b4
Packit 8f70b4
2013-11-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: check reply type before casting, fixes a coredump.
Packit 8f70b4
	* Torrent.cc: improve status of complete torrents by showing ratio.
Packit 8f70b4
Packit 8f70b4
2013-11-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed a hang in ARRAY_INFO mode.
Packit 8f70b4
Packit 8f70b4
2013-10-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: use human_readable for up/dn counters.
Packit 8f70b4
Packit 8f70b4
2013-10-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, resource.cc: (ftp:use-utf8) new setting.
Packit 8f70b4
	* buffer.cc: don't start translation if source and target encodings
Packit 8f70b4
	  are the same.
Packit 8f70b4
Packit 8f70b4
2013-10-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* NetAccess.cc: fixed occasional hang in GenericParseListInfo,
Packit 8f70b4
	  when result!=NULL && old_mode!=mode.
Packit 8f70b4
Packit 8f70b4
2013-09-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: compile in SetTranslator unconditionslly (for Ftp).
Packit 8f70b4
	* Http.cc, Http.h: use PROPFIND for ARRAY_INFO if supported.
Packit 8f70b4
	* Torrent.cc, Torrent.h, DHT.cc: count dht announces, show the counters
Packit 8f70b4
	  in the status; don't count a peer complete until the metadata are
Packit 8f70b4
	  known; show next dht announce time.
Packit 8f70b4
	* PtyShell.cc: kill the shell in dtor.
Packit 8f70b4
Packit 8f70b4
2013-08-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: handle atotm parse error.
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: fixed localtime cacheing.
Packit 8f70b4
	* commands.cc: (cd) automatically add slash if needed.
Packit 8f70b4
	* LsCache.cc, LsCache.h, NetAccess.cc: (UpdateFileSet) new method; use it.
Packit 8f70b4
	* PatternSet.cc, PatternSet.h: (AddFirst, GetFirstType) new methods.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: add --file/-f and --target-directory/-O options.
Packit 8f70b4
	* buffer.h: allow IOBufferFileAccess creation with plain pointer.
Packit 8f70b4
	* Http.cc, Http.h: don't log empty commands;
Packit 8f70b4
	  handle PROPFIND result of CHANGE_DIR op; add "quote PROPFIND" support
Packit 8f70b4
	  (mostly for debugging); don't send Content-Type for PROPFIND requests
Packit 8f70b4
	  if there is no request body; don't request file info if not needed in
Packit 8f70b4
	  ARRAY_INFO mode.
Packit 8f70b4
	* HttpDir.cc: automatically detect xml file listing.
Packit 8f70b4
	* HttpDirXML.cc: handle atotm errors.
Packit 8f70b4
Packit 8f70b4
2013-08-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Speedometer.cc, Speedometer.h: (GetStrProper) new method for proper unit names.
Packit 8f70b4
	* FileCopy.cc: use Speedometer::GetStrProper for logging.
Packit 8f70b4
	* FileCopy.cc, LocalDir.cc: use FD_CLOEXEC on descriptors.
Packit 8f70b4
	* FtpListInfo.cc: fixed MLSD parsing for semicolons in file names.
Packit 8f70b4
	* FileSet.cc: allow NULL sets in certain places.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: don't create empty directories with
Packit 8f70b4
	  --no-empty-dirs when all source files are filtered out.
Packit 8f70b4
Packit 8f70b4
2013-08-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, resource.cc: add woraround for wrong multiline
Packit 8f70b4
	  replies and ftp:strict-multiline setting.
Packit 8f70b4
	* SFtp.cc: add a workaround for RouterOS v6 - symlink as the root dir.
Packit 8f70b4
Packit 8f70b4
2013-08-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: don't decode %xx for plain file names of meta-info.
Packit 8f70b4
Packit 8f70b4
2013-07-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc, SFtp.h: request more information about symlink targets.
Packit 8f70b4
Packit 8f70b4
2013-07-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: follow symlinks when requested.
Packit 8f70b4
Packit 8f70b4
2013-07-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: add progress meter for parent mirrors.
Packit 8f70b4
	* Job.cc, Job.h: (GetCmdLine) new virtual method.
Packit 8f70b4
	* FileSet.cc, FileSet.h: (CountBytes) new method.
Packit 8f70b4
	* ftpclass.cc: move line and all_lines along with connection.
Packit 8f70b4
Packit 8f70b4
2013-07-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* attach.h: pass all three std fds.
Packit 8f70b4
	* lftp.cc: simplify attach/detach logic; get rid of goto;
Packit 8f70b4
	  handle Detached condition.
Packit 8f70b4
Packit 8f70b4
2013-07-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc: don't use IPV6_V6ONLY if not defined.
Packit 8f70b4
	  (from y-iida@secom.co.jp).
Packit 8f70b4
	* FileSet.cc: (FileInfo::Merge) copy size properly.
Packit 8f70b4
Packit 8f70b4
2013-07-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc: recognize and ignore human readable sizes.
Packit 8f70b4
Packit 8f70b4
2013-05-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_tinfo.cc: fixed segfault when there is no TERM env var.
Packit 8f70b4
	* buffer_zlib.cc: fixed compilation with older zlib.
Packit 8f70b4
Packit 8f70b4
2013-05-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer_zlib.cc, buffer_zlib.h: implement inflator.
Packit 8f70b4
	* Http.cc, Http.h: add support for gzip Content-Encoding.
Packit 8f70b4
	* Makefile.am: buffer_zlib for proto-http.
Packit 8f70b4
	* buffer.cc, buffer.h: (SetTranslator) translate unread data.
Packit 8f70b4
	* buffer.h: (IsFull) new method.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: (FileCopyPeerMemory) new peer type;
Packit 8f70b4
	  use IOBuffer::SetMaxBuffered and IsFull.
Packit 8f70b4
	* Torrent.cc, Torrent.h: use FileCopy for metainfo fetching.
Packit 8f70b4
Packit 8f70b4
2013-05-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: (SFtpListInfo::Do) fixed return value (prevents an endless loop).
Packit 8f70b4
	* FileCopy.cc: init date member; clean up date/size requesting in FileCopyPeerFA.
Packit 8f70b4
Packit 8f70b4
2013-05-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: set size=NO_SIZE when the size could not be found.
Packit 8f70b4
	* FileSet.cc: allow info merging for files with the same basename.
Packit 8f70b4
	* Fish.cc: fixed file correption and garbage logging by requiring
Packit 8f70b4
	  the file to have a size; improve error handling.
Packit 8f70b4
Packit 8f70b4
2013-05-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc: disconnect in more cases on Close.
Packit 8f70b4
Packit 8f70b4
2013-05-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* TorrentTracker.cc, TorrentTracker.h: use xstring for InfoHash and
Packit 8f70b4
	  PeerId.
Packit 8f70b4
Packit 8f70b4
2013-05-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: fixed NULL dereference when use-dht is off.
Packit 8f70b4
Packit 8f70b4
2013-04-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: improve DirFile; add slash for directories in ARRAY_INFO.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, FileCopy.cc, FileCopy.h, FileSet.cc,
Packit 8f70b4
	  FileSet.h, Fish.cc, GetFileInfo.cc, GetFileInfo.h, Http.cc,
Packit 8f70b4
	  LocalAccess.cc, NetAccess.cc, NetAccess.h, SFtp.cc, SFtp.h,
Packit 8f70b4
	  ftpclass.cc: use FileSet for ARRAY_INFO; add READLINK support in sftp.
Packit 8f70b4
Packit 8f70b4
2013-04-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* DHT.cc, DHT.h, Torrent.cc, Torrent.h: (DenounceDHT) new method; use it.
Packit 8f70b4
	* complete.cc, FileGlob.cc, SFtp.cc: show .. and . in glob results.
Packit 8f70b4
	* FileSetOutput.cc: add -a option for completion results display to show
Packit 8f70b4
	  dot files.
Packit 8f70b4
Packit 8f70b4
2013-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: change reget to "resume transfer".
Packit 8f70b4
Packit 8f70b4
2013-03-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: list all jobs from the top.
Packit 8f70b4
	* Job.cc: don't add empty line for no-session jobs.
Packit 8f70b4
	* IdNameCache.cc: fixed lookup by name.
Packit 8f70b4
Packit 8f70b4
2013-02-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, resource.cc: add SNI support.
Packit 8f70b4
	* commands.cc, NetAccess.cc: add cls -a option; don't filter out
Packit 8f70b4
	  . and .. by default.
Packit 8f70b4
	* TorrentTracker.cc: Enter/Leave parent for proper debug context.
Packit 8f70b4
	* Torrent.cc: use Enter/Leave for proper debug context.
Packit 8f70b4
	* Torrent.cc: better status when shutting down.
Packit 8f70b4
	* TorrentTracker.{cc,h}: add UDP tracker IPv6 support as action 4;
Packit 8f70b4
	  fixed error handling; fixed loop range.
Packit 8f70b4
Packit 8f70b4
2013-02-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: add numeric key for udp tracker.
Packit 8f70b4
	* buffer.cc, buffer.h: (Append(xstring)) new method.
Packit 8f70b4
	* TorrentTracker.cc, TorrentTracker.h: add udp tracker support.
Packit 8f70b4
Packit 8f70b4
2013-02-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h, TorrentTracker.cc, TorrentTracker.h:
Packit 8f70b4
	  split off TorrentTracker; add TrackerBackend class; prepare
Packit 8f70b4
	  for udp tracker implementation.
Packit 8f70b4
	* ResMgr.cc: include stdlib.h for strtoll.
Packit 8f70b4
	* DHT.cc, DHT.h: add requests_in_flight node counter; clean up
Packit 8f70b4
	  nodes more aggresively; make just loaded nodes non-good.
Packit 8f70b4
Packit 8f70b4
2013-02-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add "jobs" command arguments description.
Packit 8f70b4
Packit 8f70b4
2013-02-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: (cmd:show-status) new setting.
Packit 8f70b4
Packit 8f70b4
2013-02-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileSetOutput.cc, Fish.cc, FtpDirList.cc, Http.cc, HttpDir.cc,
Packit 8f70b4
	  OutputJob.cc, SFtp.cc, SMTask.cc, SMTask.h, buffer.cc, ftpclass.cc:
Packit 8f70b4
	  add ready task list to optimize Schedule when there are too many suspended
Packit 8f70b4
	  tasks.
Packit 8f70b4
Packit 8f70b4
2013-01-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: add flags in url_decode.
Packit 8f70b4
	* Torrent.cc: pass URL_DECODE_PLUS flag to decode '+' into space.
Packit 8f70b4
	* Makefile.am: add uninstall-hook to remove modules and some empty directories.
Packit 8f70b4
Packit 8f70b4
2013-01-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc: (_url_decode) fixed decoding plus sign.
Packit 8f70b4
	* Timer.cc, Timer.h: (StopDelayed) new method.
Packit 8f70b4
	* Torrent.cc: don't call AnnounceDHT in StartTrackers, do it
Packit 8f70b4
	  only by timer; stop dht_announce_timer at the start; use Roll
Packit 8f70b4
	  method to set log context; decode magnet URL values properly.
Packit 8f70b4
	* DHT.cc: refresh routes after loading the node cache; load the
Packit 8f70b4
	  cache quickly using Roll; add some debug log messages.
Packit 8f70b4
Packit 8f70b4
2013-01-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: don't run at-exit-fg when backgrounded.
Packit 8f70b4
	* xstring.cc: (append(const char*,size_t)) fixed a bug;
Packit 8f70b4
	  (_url_decode) decode plus to space.
Packit 8f70b4
Packit 8f70b4
2013-01-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, Torrent.cc, attach.h, bookmark.cc, history.cc,
Packit 8f70b4
	  lftp.cc, lftp_rl.c, misc.cc, misc.h:
Packit 8f70b4
	  (get_lftp_{config,data,cache}_dir) new functions; use them.
Packit 8f70b4
	* xdg-move: new script.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, lftp.cc: (cmd:at-exit-fg) new setting.
Packit 8f70b4
Packit 8f70b4
2012-12-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, commands.cc, lftp.cc: make cmd:interactive tri-bool.
Packit 8f70b4
Packit 8f70b4
2012-12-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: don't show status line unless interactive.
Packit 8f70b4
Packit 8f70b4
2012-12-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: remove obsolete assert.
Packit 8f70b4
Packit 8f70b4
2012-12-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: fixed coredump after trying to start a duplicate torrent.
Packit 8f70b4
Packit 8f70b4
2012-11-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Job.cc: fixed status message.
Packit 8f70b4
	* buffer.cc, buffer.h: limit maximum buffer size.
Packit 8f70b4
	* ftpclass.cc: use buffer size limit; don't Resume on several methods;
Packit 8f70b4
	  fixed CWD for certain paths; fixed try count resetting on uploading.
Packit 8f70b4
Packit 8f70b4
2012-09-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: add support for base32 btih in magnet.
Packit 8f70b4
Packit 8f70b4
2012-09-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: call AtFinish after parsing an empty command.
Packit 8f70b4
Packit 8f70b4
2012-09-26  Christoph Junghans <ottxor@gentoo.org>
Packit 8f70b4
Packit 8f70b4
	* module.cc: use ".bundle" for Darwin.
Packit 8f70b4
Packit 8f70b4
2012-09-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (ends_with) new method.
Packit 8f70b4
Packit 8f70b4
2012-09-24  Robert Story <rstory@tislabs.com>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc: fix a typo in error message and add a warning for
Packit 8f70b4
	  untrusted domains if dns:strict-dnssec is not set.
Packit 8f70b4
Packit 8f70b4
2012-08-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_tinfo.cc: fixed termcap coredump.
Packit 8f70b4
Packit 8f70b4
2012-08-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* DHT.cc, DHT.h: add rate limit; improve FindNodes by checking
Packit 8f70b4
	  PrefixMatch on every next route bucket.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add name.utf-8 and path.utf-8 support.
Packit 8f70b4
	* DHT.cc, DHT.h: remove name (unknown encoding); better printing
Packit 8f70b4
	  of route prefix; (DHT::KnownTorrent::AddPeer) new method.
Packit 8f70b4
Packit 8f70b4
2012-08-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc: fixed port byte order in compact.
Packit 8f70b4
	* Torrent.cc, Torrent.h: split DHT off; save DHT to separate directory;
Packit 8f70b4
	  check peer duplication and black-listing after setting port.
Packit 8f70b4
	* DHT.cc, DHT.h: new files; send pings only when there is new node
Packit 8f70b4
	  candidate and bucket is full; limit ping rate; change disk-cache
Packit 8f70b4
	  format, save node_id too; handle changing node_id of remote nodes.
Packit 8f70b4
	* network.cc, network.h: (sockaddr_compact) new class.
Packit 8f70b4
	* StatusLine.cc: call termcap functions from StatusLine ctor, not _init.
Packit 8f70b4
Packit 8f70b4
2012-08-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc: fixed set_compact for ipv6.
Packit 8f70b4
	* Torrent.cc, Torrent.h: limit udp send rate; check POLLOUT before
Packit 8f70b4
	  sending a udp packet; tune dht timers; improve logging;
Packit 8f70b4
	  save node id in sent requests; try to send find request to all nodes
Packit 8f70b4
	  if no good nodes found; fixed route bucket splitting.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: (NumberPair) new type; support number power
Packit 8f70b4
	  suffix in ranges and pairs.
Packit 8f70b4
Packit 8f70b4
2012-08-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc, network.h; make set_compact return bool.
Packit 8f70b4
	* Bencode.h: add lookup* methods.
Packit 8f70b4
	* Torrent.cc, Torrent.h: init ping_lost_count properly; make ValidNodeId
Packit 8f70b4
	  call MakeNodeId, move masks info MakeNodeId; fixed route table refreshing;
Packit 8f70b4
	  check address type before using; use new lookup methods.
Packit 8f70b4
Packit 8f70b4
2012-08-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: fixed ut_metadata total_size.
Packit 8f70b4
	* xmap.cc, xmap.h: (each_finished, exists) new methods.
Packit 8f70b4
	* network.cc, network.h: (set_compact(const char*,size_t)) new method.
Packit 8f70b4
	* Torrent.cc, Torrent.h: added ut_pex extension; remember if the torrent
Packit 8f70b4
	  is private; remember is a peer is upload_only; (Seed) new method;
Packit 8f70b4
	  set tracker error only if last URL failed; disallow huge packets.
Packit 8f70b4
	* network.cc, network.h: (is_compatible) new method.
Packit 8f70b4
Packit 8f70b4
2012-08-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc: fixed typo.
Packit 8f70b4
	* xstring.cc, xstring.h: (begins_with, instr, hexdump_to) new methods;
Packit 8f70b4
	  improved dump() for invalid utf8 strings.
Packit 8f70b4
	* xarray.h: (xqueue_p) new class.
Packit 8f70b4
	* Torrent.cc, Torrent.h: added timeout for tracker requests;
Packit 8f70b4
	  added support for tracker groups; new option --dht-bootstrap
Packit 8f70b4
	  for manual bootstrapping.
Packit 8f70b4
	* ftp-opie.c: use newer version from wget (fixes a bug on 64-bit hw).
Packit 8f70b4
	* xstring.cc, xstring.h: (hex_decode) new method.
Packit 8f70b4
	* Torrent.cc, Torrent.h: use hex_decode; allow pure hash instead of
Packit 8f70b4
	  magnet links; make tracker Fail if no valid URLs found.
Packit 8f70b4
Packit 8f70b4
2012-08-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Bencode.cc, Bencode.h: new ctor; Pack to xstring.
Packit 8f70b4
	* Filter.cc, Filter.h: (set_create_mode, set_lock) new methods,
Packit 8f70b4
	  do file locking if requested.
Packit 8f70b4
	* misc.cc, misc.h, attach.h: (get_nodename) new function.
Packit 8f70b4
	* xstring.cc, xstring.h: add explicit clone ctor; (move_here) new
Packit 8f70b4
	  method.
Packit 8f70b4
	* xmap.cc, xmap.h: (empty) new method; xmap_p now uses delete.
Packit 8f70b4
	* xarray.h: xarray_p now uses delete.
Packit 8f70b4
	* network.cc, network.h: (family, set_port, compact, compact_addr,
Packit 8f70b4
	  set_compact) new methods.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add DHT and magnet support.
Packit 8f70b4
Packit 8f70b4
2012-08-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: add mt_metadata extension.
Packit 8f70b4
Packit 8f70b4
2012-08-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Bencode.cc, Bencode.h: new ctor BeNode(const char *);
Packit 8f70b4
	  (ComputeLength, Pack, Format1) new methods.
Packit 8f70b4
	* buffer.h: add Put(char) method.
Packit 8f70b4
	* xmap.h: add add(const char*) method.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add LTEP and FAST Extensions.
Packit 8f70b4
Packit 8f70b4
2012-07-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: send PROT after AUTH in any case, for servers
Packit 8f70b4
	  requiring a PROT command.
Packit 8f70b4
Packit 8f70b4
2012-07-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: don't try to upload if ALLO fails.
Packit 8f70b4
Packit 8f70b4
2012-07-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: fixed fatal error checking for gnutls.
Packit 8f70b4
	* IdNameCache.cc, IdNameCache.h: allow numeric names.
Packit 8f70b4
Packit 8f70b4
2012-07-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: tread decryption error as non-fatal.
Packit 8f70b4
	* ftpclass.cc: define TELNET_* ad char constants, get rid of type casts.
Packit 8f70b4
	* FileSet.cc: fixed buffer size (string was truncated).
Packit 8f70b4
	* Http.cc, resource.cc: add use-allprop settings.
Packit 8f70b4
	* HttpDirXML.cc: fixed PROPFIND result parsing.
Packit 8f70b4
Packit 8f70b4
2012-05-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: don't Feed at-finish commands if the command buffer is
Packit 8f70b4
	  not empty.
Packit 8f70b4
	* FileFeeder.cc, FileFeeder.h: read by 4K.
Packit 8f70b4
	* commands.cc: set need_exact_time=true when the time is needed at all,
Packit 8f70b4
	  this removes complex and incomplete guess logic.
Packit 8f70b4
Packit 8f70b4
2012-04-23  Solar Designer <solar@openwall.com>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: fix for large PIDs.
Packit 8f70b4
Packit 8f70b4
2012-04-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: don't check hostname in openssl case with ssl:check-hostname off;
Packit 8f70b4
	  show a warning when hostname checking is disabled.
Packit 8f70b4
Packit 8f70b4
2012-03-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, Job.h, SleepJob.cc, mgetJob.cc: Fix errors reported
Packit 8f70b4
	  by -Werror=format-security (Simon Ruderich <simon@ruderich.org>)
Packit 8f70b4
Packit 8f70b4
2012-03-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: check USER reply against retry-530 RExp;
Packit 8f70b4
	  (Retry530) new method.
Packit 8f70b4
	* complete.cc: add "edit" command to the list of remote commands.
Packit 8f70b4
Packit 8f70b4
2012-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: add support for status "429 Too Many Requests"
Packit 8f70b4
	  and Retry-After header; don't handle redirect for CONNECT method.
Packit 8f70b4
	* ftpclass.cc: better handle extra server messages in sync mode.
Packit 8f70b4
Packit 8f70b4
2012-02-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed error reporting.
Packit 8f70b4
	* Torrent.cc: add explicit retracker support.
Packit 8f70b4
Packit 8f70b4
2012-01-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: resume connection when moving it.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: add Suspend/Resume.
Packit 8f70b4
Packit 8f70b4
2012-01-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: add Connection subclass.
Packit 8f70b4
	* FileCopy.cc: fixed ascii mode size getting for local files.
Packit 8f70b4
Packit 8f70b4
2012-01-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: fixed core dump on "local" command without
Packit 8f70b4
	  arguments.
Packit 8f70b4
Packit 8f70b4
2012-01-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed compilation without ssl.
Packit 8f70b4
Packit 8f70b4
2011-12-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: fixed the case when home is unknown;
Packit 8f70b4
	  accept new cwd when real_cwd equals the new cwd.
Packit 8f70b4
Packit 8f70b4
2011-12-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* QueueFeeder.cc, QueueFeeder.h: (JobCount) new method.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, lftp.cc: new settings cmd:at-exit-bg,
Packit 8f70b4
	  cmd:at-finish, cmd:at-queue-finish.
Packit 8f70b4
	* MirrorJob.h, mkdirJob.h: use 0,1 exit codes.
Packit 8f70b4
	* Torrent.cc: fixed status command line.
Packit 8f70b4
Packit 8f70b4
2011-12-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fixed exit code of queue command.
Packit 8f70b4
Packit 8f70b4
2011-12-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: follow local symlinks with -L option.
Packit 8f70b4
Packit 8f70b4
2011-12-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: open files with CLOEXEC flag.
Packit 8f70b4
	* misc.cc, misc.h, Fish.cc, LocalAccess.cc: (shell_encode) return xstring ref.
Packit 8f70b4
Packit 8f70b4
2011-11-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* TimeDate.cc: fixed IsoDateTime (added seconds).
Packit 8f70b4
	* lftp_rl.c: save timestamps in history; show them.
Packit 8f70b4
Packit 8f70b4
2011-11-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc: fixed "URL mismatch" message for root directory.
Packit 8f70b4
Packit 8f70b4
2011-11-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: fixed NULL-crash on ssl.
Packit 8f70b4
	* lftp.cc: (attach) check process existence; remove stale sockets.
Packit 8f70b4
Packit 8f70b4
2011-10-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: save the buffer of target_dir using alloca.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: (ResValue::to_tri_bool, *::QueryTriBool)
Packit 8f70b4
	  new methods; use const for const methods; remove ifdef0'ed code.
Packit 8f70b4
	* FileSetOutput.cc, commands.cc: use QueryTriBool.
Packit 8f70b4
	* ftpclass.cc, resource.cc: new setting ftp:use-tvfs.
Packit 8f70b4
Packit 8f70b4
2011-09-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, FileAccess.cc, commands.cc:
Packit 8f70b4
	  use ParsedURL for URL path verification; compare path to home
Packit 8f70b4
	  dir ~ properly; send first path component together with root
Packit 8f70b4
	  directory to ftp server; use reconnect if cannot change back to
Packit 8f70b4
	  home dir.
Packit 8f70b4
Packit 8f70b4
2011-09-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc: (ResMgr::Resource::ClosureMatch) try to match basename,
Packit 8f70b4
	  it helps matching torrent metadata urls to *.torrent pattern.
Packit 8f70b4
Packit 8f70b4
2011-09-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: don't try to send stop to a failed tracker.
Packit 8f70b4
Packit 8f70b4
2011-08-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc: check for '###' before parsing ls line.
Packit 8f70b4
	* Torrent.cc: use a separate check for posix_fadvise.
Packit 8f70b4
	* attach.h: don't use "sun" name; define SUN_LEN macro if missing
Packit 8f70b4
	  (patch from y-iida@secom.co.jp).
Packit 8f70b4
	* lftp_ssl.cc: use gnutls_priority_set_direct instead of deprecated
Packit 8f70b4
	  gnutls_protocol_set_priority.
Packit 8f70b4
Packit 8f70b4
2011-06-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SleepJob.cc: print error when date-time spec is missed; remove
Packit 8f70b4
	  a hack with Combine.
Packit 8f70b4
Packit 8f70b4
2011-06-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: check ifa_addr!=0.
Packit 8f70b4
Packit 8f70b4
2011-06-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: attach without arguments; don't use long for pid.
Packit 8f70b4
	* attach.h: use unsigned for pid; better error handling.
Packit 8f70b4
Packit 8f70b4
2011-06-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* attach.cc, attach.h: new files.
Packit 8f70b4
	* lftp.cc: (attach) new command, pass tty fd to a backgrounded lftp.
Packit 8f70b4
	* NetAccess.cc: init reconnect_interval_current properly.
Packit 8f70b4
	* complete.cc: re-set SIGINT handler.
Packit 8f70b4
	* ftpclass.cc: don't send FEAT after QUIT.
Packit 8f70b4
Packit 8f70b4
2011-06-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: when cmd:fail-exit is true, save the non-zero
Packit 8f70b4
	  exit code for the case of cmd:parallel>1 (patch by Fernando Gutierrez).
Packit 8f70b4
Packit 8f70b4
2011-06-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.h: use ResClient to hook Reconfig (reported by Fernando
Packit 8f70b4
          Gutierrez <zerks0@gmail.com>).
Packit 8f70b4
	* CmdExec.cc: parse buffered command even without a feeder, when
Packit 8f70b4
	  cmd:parallel>1 (patch by Fernando Gutierrez).
Packit 8f70b4
	* CmdExec.cc: set exit_code to 0 when a job has been created
Packit 8f70b4
	  (patch by Fernando Gutierrez).
Packit 8f70b4
Packit 8f70b4
2011-05-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (tmp_buf) new method.
Packit 8f70b4
	* CmdExec.cc, network.cc, ResMgr.cc: get rid of static buffers.
Packit 8f70b4
	* Torrent.cc, Torrent.h: auto set torrent:ipv6; better status.
Packit 8f70b4
Packit 8f70b4
2011-04-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
        * CmdExec.cc, CmdExec.h, CopyJob.cc, CopyJob.h, DirColors.cc,
Packit 8f70b4
	  FileSet.cc, FileSetOutput.cc, FileSetOutput.h, FindJob.cc,
Packit 8f70b4
	  FindJob.h, Http.cc, Job.cc, Job.h, MirrorJob.cc, MirrorJob.h,
Packit 8f70b4
	  QueueFeeder.cc, QueueFeeder.h, SleepJob.cc, SleepJob.h,
Packit 8f70b4
	  StatusLine.cc, Torrent.cc, Torrent.h, TreatFileJob.cc,
Packit 8f70b4
	  TreatFileJob.h, commands.cc, complete.cc, ftpclass.cc, mgetJob.cc,
Packit 8f70b4
	  mgetJob.h, mkdirJob.cc, mkdirJob.h, mvJob.cc, mvJob.h, pgetJob.cc,
Packit 8f70b4
	  pgetJob.h, url.cc, xstring.cc, xstring.h: replace PrintStatus with
Packit 8f70b4
	  FormatStatus; allow `jobs' output filtering; get rid of complex
Packit 8f70b4
	  alloca tricks.
Packit 8f70b4
	* Torrent.cc, Torrent.h: don't show not connected peers by default
Packit 8f70b4
	  (jobs -vv still lists them); show validation rate and eta.
Packit 8f70b4
Packit 8f70b4
2011-04-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, resource.cc: (mirror:no-empty-dirs) new setting.
Packit 8f70b4
	* FileCopy.cc: remove password from URLs before logging.
Packit 8f70b4
Packit 8f70b4
2011-04-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: save tmp buffer, this fixes `cd -'.
Packit 8f70b4
	* FileCopy.cc: (FileCopyPeerFA::Clone) copy orig_url.
Packit 8f70b4
Packit 8f70b4
2011-03-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (url_decode, append_url_encoded) new methods.
Packit 8f70b4
	* url.cc, url.h: drop functions decode_string and encode_string.
Packit 8f70b4
	* network.h: use proper includes.
Packit 8f70b4
	* netrc.cc, CmdExec.cc, FileAccess.cc, FileCopy.cc, FileSet.cc,
Packit 8f70b4
	  FileSetOutput.cc, Fish.cc, FtpDirList.cc, Http.cc, HttpDir.cc,
Packit 8f70b4
	  IdNameCache.cc, LocalAccess.cc, MirrorJob.cc, MirrorJob.h,
Packit 8f70b4
	  NetAccess.cc, OutputJob.cc, OutputJob.h, ResMgr.cc, Resolver.cc,
Packit 8f70b4
	  SFtp.cc, StringSet.cc, misc.cc, misc.h, commands.cc, complete.cc,
Packit 8f70b4
	  history.cc, lftp.cc, netrc.cc: don't use sprintf, decode_string,
Packit 8f70b4
	  encode_string; drop xasprintf and xvasprintf.
Packit 8f70b4
	* ftpclass.cc, resource.cc: (ftp:use-ip-tos) new setting.
Packit 8f70b4
Packit 8f70b4
2011-03-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc, SFtp.h: don't use uid_t and gid_t, may fix a problem
Packit 8f70b4
	  with sign expansion on some systems.
Packit 8f70b4
Packit 8f70b4
2011-03-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: use fadvise during validation;
Packit 8f70b4
	  fixed fallocate call to pass correct file length;
Packit 8f70b4
	  optimized validation by removing realloc call.
Packit 8f70b4
	* xstring.cc, xstring.h: outline add_space; (get_space2) new method;
Packit 8f70b4
	  change get_space to take one arg.
Packit 8f70b4
	* xmap.cc: optimize make_hash for hash_size==1.
Packit 8f70b4
	* buffer.cc: use get_space2.
Packit 8f70b4
	* ftpclass.cc: better wording in debug.
Packit 8f70b4
Packit 8f70b4
2011-03-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* netkey.c: new file (from Ryan Thomas <ryan@coraid.com>).
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: add netkey support;
Packit 8f70b4
	  (ftp:netkey-allow) new setting (original patch from Ryan Thomas).
Packit 8f70b4
Packit 8f70b4
2011-02-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* pgetJob.cc: check for chunk[0] error, avoids a segfault.
Packit 8f70b4
	* Torrent.cc, Torrent.h: (Torrent::CanAccept, NoTorrentCanAccept)
Packit 8f70b4
	  new methods; don't accept connections if no torrent can accept.
Packit 8f70b4
Packit 8f70b4
2011-02-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: use curl version of openssl hostname check.
Packit 8f70b4
	* FileCopy.cc, ResMgr.cc, ResMgr.h, resource.cc: (xfer:log-file)
Packit 8f70b4
	  new setting (original patch by Timur Sufiev <tsufiev@jet.msk.su>).
Packit 8f70b4
Packit 8f70b4
2011-02-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: check CN in openssl (code taken from wget);
Packit 8f70b4
	  (cert_error) new flag.
Packit 8f70b4
	* Http.cc: rtrim error text.
Packit 8f70b4
	* commands.cc: allow selecting jobs in 'jobs' command.
Packit 8f70b4
	* misc.cc, misc.h: (remove_tags) don't call strlen repeatedly;
Packit 8f70b4
	  (rtrim) new func.
Packit 8f70b4
	* ftpclass.cc: don't fall back to plain connection when cert error found.
Packit 8f70b4
	* network.cc, network.h: (sockaddr_u::set_defaults) new method;
Packit 8f70b4
	  (Networker::SocketSinglePF) new method to bind to single protocol family.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add ipv6 support.
Packit 8f70b4
	* resource.cc: make ssl:verify-certificate on by default.
Packit 8f70b4
Packit 8f70b4
2011-02-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: force SSL3 when ssl-auth is set to SSL (needed for
Packit 8f70b4
	  some ftp servers). Patch from Jiri Skala <jskala@redhat.com>;
Packit 8f70b4
	  disable SSLv2 and weak ciphers (Ludwig Nussel <ludwig.nussel@suse.de>);
Packit 8f70b4
Packit 8f70b4
2011-01-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: check for null; set done when preparing to die.
Packit 8f70b4
Packit 8f70b4
2010-12-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: detect and remove duplicate peers.
Packit 8f70b4
	* LocalAccess.cc: dir_file saving is not needed anymore (it uses
Packit 8f70b4
	  revolver).
Packit 8f70b4
	* MirrorJob.cc: add remote symlink creation support.
Packit 8f70b4
	* mvJob.cc, mvJob.h: add support for pre-removing target; better
Packit 8f70b4
	  status messages.
Packit 8f70b4
Packit 8f70b4
2010-12-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: new modes (LINK,SYMLINK);
Packit 8f70b4
	  (Open2) new method; make Rename, Mkdir, Chdir non-virtual.
Packit 8f70b4
	* Fish.cc, SFtp.cc SFtp.h, LocalAccess.cc, ftpclass.cc: support ln.
Packit 8f70b4
	* Http.cc: handle new open modes in switches.
Packit 8f70b4
	* mvJob.cc, mvJob.h: add link support.
Packit 8f70b4
	* commands.cc: (ln) new command.
Packit 8f70b4
	* resource.cc: use sftp v6 by default.
Packit 8f70b4
	* xstring.h: add inline strlen for xstring.
Packit 8f70b4
Packit 8f70b4
2010-12-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc: better trace messages; reset recv_rate on completion.
Packit 8f70b4
Packit 8f70b4
2010-11-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: fixed setting of cmdline in new jobs.
Packit 8f70b4
	* Torrent.cc, lftp_rl.c, xstring.cc: fixed warnings
Packit 8f70b4
	  (patch from Openwall, Alexander Peslyak).
Packit 8f70b4
	* complete.cc: use CmdExec::is_space for parsing.
Packit 8f70b4
	* xstring.h: fixed compilation with non-gcc and old gcc compilers
Packit 8f70b4
	  (patch from Openwall, Vasiliy Kulikov).
Packit 8f70b4
Packit 8f70b4
2010-11-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, SleepJob.cc: use parse_datetime instead of obsolete
Packit 8f70b4
	  get_date.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: (AddNewJob) new method.
Packit 8f70b4
	* ArgV.cc, ArgV.h: (Combine) add end index argument.
Packit 8f70b4
	* Torrent.cc: dispose tracker session when shutting down;
Packit 8f70b4
	  divide numwant to number of trackers going to request the peers;
Packit 8f70b4
	  better shutting down status; glob local torrent files; use AddNewJob
Packit 8f70b4
	  to create multiple torrent jobs.
Packit 8f70b4
	* mgetJob.cc: call globfree even when no files found.
Packit 8f70b4
Packit 8f70b4
2010-11-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: add multitracker support.
Packit 8f70b4
Packit 8f70b4
2010-11-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc: optimize b-search.
Packit 8f70b4
	* StatusLine.cc: use tmp xstring.
Packit 8f70b4
	* Torrent.cc, Torrent.h: (TorrentTracker) new class;
Packit 8f70b4
	  use posix_fallocate to pre-allocate disk space.
Packit 8f70b4
Packit 8f70b4
2010-10-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, commands.cc: new CmdExec ctor; `local' builtin.
Packit 8f70b4
	* MirrorJob.cc: allow continue of pget.
Packit 8f70b4
	* Torrent.cc, Torrent.h: better diag msg; don't show `next tracker in'
Packit 8f70b4
	  msg when validating; allow starting of multiple torrents at once;
Packit 8f70b4
	  show torrent name in status; add torrent to listener earlier;
Packit 8f70b4
	  better handle shutting down of multiple torrents.
Packit 8f70b4
	* convert-mozilla-cookies: fix info duplication;
Packit 8f70b4
	* pgetJob.cc: save status at the start.
Packit 8f70b4
Packit 8f70b4
2010-09-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: add TVFS support; send path components
Packit 8f70b4
	  separately as required by RFC1738 unless TVFS is declared by server.
Packit 8f70b4
	* example-cmd.cc: fix assertion failure.
Packit 8f70b4
Packit 8f70b4
2010-09-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* convert-netscape-cookies: add sqlite support.
Packit 8f70b4
	* NetAccess.cc: use cached fset.
Packit 8f70b4
	* ResMgr.cc: match *.domain.org to domain.org in closure.
Packit 8f70b4
Packit 8f70b4
2010-08-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: fixed coredump on --log=unopenable-file.
Packit 8f70b4
	* FileAccess.cc, ftpclass.cc, Http.cc, LocalAccess.cc: carefully
Packit 8f70b4
	  save errno value.
Packit 8f70b4
Packit 8f70b4
2010-06-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Timer.cc: fixed Reset for timer which have been just Stop()ped.
Packit 8f70b4
	* commands.cc: document (repeat) options.
Packit 8f70b4
Packit 8f70b4
2010-06-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: don't try to re-download invalid piece
Packit 8f70b4
	  from the same peer; black-list peers with many invalid pieces.
Packit 8f70b4
Packit 8f70b4
2010-06-09  Claus K. Larsen <ckl@bankdata.dk>
Packit 8f70b4
Packit 8f70b4
	* xstring.h: include unistd.h to workaround truncate64 problem on aix.
Packit 8f70b4
Packit 8f70b4
2010-06-04  gabriele balducci <balducci@dschgrazlin2.units.it>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed a problem with zeroed errno.
Packit 8f70b4
Packit 8f70b4
2010-06-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.cc: use no_status flag.
Packit 8f70b4
	* CopyJob.h: (NoStatus) accept optional parameter.
Packit 8f70b4
	* OutputJob.cc: pass no_status flag.
Packit 8f70b4
Packit 8f70b4
2010-05-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* GetJob.cc: fixed get/mget -c with xfer:clobber=no.
Packit 8f70b4
Packit 8f70b4
2010-05-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: workaround for servers with LANG but without UTF8
Packit 8f70b4
	  (original patch by Henry Hu <henry.hu.sh@gmail.com>).
Packit 8f70b4
Packit 8f70b4
2010-04-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, pgetJob.cc: (do_verify) new flag; unset it
Packit 8f70b4
	  for pget chunks.
Packit 8f70b4
Packit 8f70b4
2010-04-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc, misc.h: (random_init, random01) new functions.
Packit 8f70b4
	* ResMgr.cc: use them.
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: (TimeDiff::valueOf) new static method.
Packit 8f70b4
	* Timer.cc, Timer.h: (AddRandom) new method for randomization.
Packit 8f70b4
	* Torrent.cc: randomize peer connections in time.
Packit 8f70b4
Packit 8f70b4
2010-04-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* GetJob.cc: make xfer:clobber=no by default.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: fixed retries counting on upload;
Packit 8f70b4
	  track upload watermark.
Packit 8f70b4
	* ftpclass.cc: handle 426 reply on upload specially;
Packit 8f70b4
	  retry FEAT after login on any 5xx reply but explicit unsup code.
Packit 8f70b4
Packit 8f70b4
2010-03-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* resource.cc, commands.cc: add setting xfer:auto-rename to control
Packit 8f70b4
	  server's suggested file name usage.
Packit 8f70b4
Packit 8f70b4
2010-03-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: prolong y2k workaround for next 300 years.
Packit 8f70b4
Packit 8f70b4
2010-03-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: (ssl-copy-sid) new setting; added
Packit 8f70b4
	  recognition of "too many users" condition in Transient5XX method;
Packit 8f70b4
	  more const on methods; shutdown ssl properly after CCC command.
Packit 8f70b4
	* resource.cc: (ftp:ssl-copy-sid) new setting; update RETRY_530 list.
Packit 8f70b4
	* Torrent.cc, Torrent.h: add black_list; refuse to start the same
Packit 8f70b4
	  torrent twice.
Packit 8f70b4
Packit 8f70b4
2010-02-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, network.cc, network.h: more const.
Packit 8f70b4
	* misc.h: (ListScanPtr) new macro.
Packit 8f70b4
Packit 8f70b4
2010-01-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* pgetJob.cc: resume transfer at the end when there is not status file
Packit 8f70b4
	  (fixes re-downloading of complete files and allows resuming of plain
Packit 8f70b4
	  transfers with pget).
Packit 8f70b4
Packit 8f70b4
2010-01-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc: more restrictions on suggested file name.
Packit 8f70b4
	* FileCopy.cc: use suggested file name only if no such file exists.
Packit 8f70b4
	* GetJob.cc, FileCopy.cc: use O_EXCL when xfer:clobber is no.
Packit 8f70b4
Packit 8f70b4
2009-12-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: add PrepareToDie method (fixes a core dump
Packit 8f70b4
	  on "kill all").
Packit 8f70b4
	* HttpDir.cc: don't use strlcpy.
Packit 8f70b4
	* Torrent.cc, Torrent.h: fix a warning on x86_64; when shutting down,
Packit 8f70b4
	  terminate immediately on a new signal.
Packit 8f70b4
Packit 8f70b4
2009-12-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc: use xrealloc.
Packit 8f70b4
	* misc.cc: (dir_file) use xstring::get_tmp (fixes sftp rename).
Packit 8f70b4
	* HttpDir.cc: add parser for lightttpd listing.
Packit 8f70b4
Packit 8f70b4
2009-11-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc, lftp_rl.c, lftp_rl.h: new setting cmd:stifle-rl-history.
Packit 8f70b4
Packit 8f70b4
2009-11-17  Robert Story <Robert.Story@cobham.com>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc: use VAL_GETADDRINFO_HAS_STATUS macro.
Packit 8f70b4
Packit 8f70b4
2009-10-30  Robert Story <Robert.Story@cobham.com>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc: validate "no such name" answers.
Packit 8f70b4
Packit 8f70b4
2009-10-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc, Resolver.h: use default dnssec context; cosmetics.
Packit 8f70b4
Packit 8f70b4
2009-10-23  Robert Story <Robert.Story@cobham.com>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc: check is_nil for numeric settings, prevents core dump
Packit 8f70b4
	  when accessing inexisting settings.
Packit 8f70b4
	* resource.cc, Resolver.cc, Resolver.h: add dnssec support.
Packit 8f70b4
Packit 8f70b4
2009-10-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc: use strtoll for signed numbers.
Packit 8f70b4
Packit 8f70b4
2009-10-16  Daniel Fazekas <fdsoft@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* FileSetOutput.cc: fixed buffer size for human_readable.
Packit 8f70b4
Packit 8f70b4
2009-10-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* mgetJob.cc: better error messages; fixed exit code.
Packit 8f70b4
	* FileGlob.cc better error handling.
Packit 8f70b4
	* FileSet.cc, MirrorJob.cc: get rid of HAVE_LSTAT.
Packit 8f70b4
	* lftp_ssl.cc: include string.h
Packit 8f70b4
Packit 8f70b4
2009-09-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, Torrent.h: show tracker timer time left; don't connect
Packit 8f70b4
	  to passive peers; show torrent name as context.
Packit 8f70b4
Packit 8f70b4
2009-09-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Torrent.cc, ChmodJob.cc: add missing headers for NetBSD.
Packit 8f70b4
Packit 8f70b4
2009-09-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: fixed DataRecoder for the case of failed iconv_open;
Packit 8f70b4
	  retry iconv_open without //TRANSLIT.
Packit 8f70b4
Packit 8f70b4
2009-09-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* NetAccess.cc: fixed tilde handling.
Packit 8f70b4
	* FtpListInfo.cc: ignore 'Status of' line.
Packit 8f70b4
	* Torrent.cc: don't reset activity timer on connect (the peer may
Packit 8f70b4
	  disconnect immediately).
Packit 8f70b4
	* ftpclass.cc, network.cc, network.h: don't bind data socket to
Packit 8f70b4
	  default address (fixes an infinite bind loop).
Packit 8f70b4
Packit 8f70b4
2009-08-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Speedometer.cc, Speedometer.h: (GetStrS) return "" when not valid.
Packit 8f70b4
	* Torrent.cc, Torrent.h: better peer status; better traffic balance
Packit 8f70b4
	  between different torrents; handle IO-buffer errors; add settings
Packit 8f70b4
	  closure - name of the torrent; push uploaded data faster.
Packit 8f70b4
Packit 8f70b4
2009-08-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: (print_cmd_index) better formatting.
Packit 8f70b4
	* CopyJob.h: pass FileTimestamp correctly.
Packit 8f70b4
	* FileCopy.cc: fix prec comparision.
Packit 8f70b4
Packit 8f70b4
2009-08-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: use SSL_OP_NO_TICKET to work with old servers.
Packit 8f70b4
Packit 8f70b4
2009-08-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc, buffer.h: (Dump) new method.
Packit 8f70b4
	* Torrent.cc, Torrent.h: (ScanPeers) new method; add key, ip params;
Packit 8f70b4
	  add --force-valid option to skip validating; add seed-min-peers
Packit 8f70b4
	  parameter; better debug messages.
Packit 8f70b4
Packit 8f70b4
2009-08-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Speedometer.cc, Speedometer.h: (GetStr) return "" when not valid.
Packit 8f70b4
Packit 8f70b4
2009-07-29  Jeroen Roovers <jer@gentoo.org>
Packit 8f70b4
Packit 8f70b4
	* Makefile.am: link cmd-torrent with liblftp-network.
Packit 8f70b4
Packit 8f70b4
2009-07-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* RateLimit.cc, RateLimit.h: (Relaxed) new method.
Packit 8f70b4
Packit 8f70b4
2009-07-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: fixed Put for large blocks with translation, make
Packit 8f70b4
	  scheduler run after putting some data into the buffer.
Packit 8f70b4
Packit 8f70b4
2009-07-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xmap.h: fixed xmap lookup returning zero.
Packit 8f70b4
	* xmap.cc: fixed hash_size calculation.
Packit 8f70b4
	* Speedometer.cc: speed-optimize by skipping Valid call.
Packit 8f70b4
Packit 8f70b4
2009-07-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xmap.h: (lookup_Lv) new method; make lookup const.
Packit 8f70b4
	* commands.cc: add short desc for torrent.
Packit 8f70b4
	* lftp.cc: send signal to jobs.
Packit 8f70b4
	* network.cc, network.cc: (SocketAccept) new method; move NonBlock and CloseOnExec here.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: ... from here.
Packit 8f70b4
	* ftpclass.cc: use SocketAccept and SocketCreateTCP.
Packit 8f70b4
	* Torrent.cc: use SocketAccept.
Packit 8f70b4
Packit 8f70b4
2009-07-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc, CmdExec.cc, CmdExec.h: (static_cmd_table_length) new const; use it;
Packit 8f70b4
	  fixed core dump on help command (reported by Ganael LAPLANCHE <ganael.laplanche@martymac.com>).
Packit 8f70b4
	  (torrent) new command.
Packit 8f70b4
	* ProtoLog.cc, ProtoLog.h: new class.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: use ProtoLog; assume "file" protocol
Packit 8f70b4
	  by default.
Packit 8f70b4
	* Http.cc: strip interface name from hostname for ipv6.
Packit 8f70b4
	* Job.cc: (Kill) try a signal first.
Packit 8f70b4
	* LocalAccess.cc, LocalAccess.h: use current cwd by default.
Packit 8f70b4
	* NetAccess.cc, NetAccess.h, network.cc, network.h: (Networker)
Packit 8f70b4
	  new class, use it; add is_* methods for IP address classes.
Packit 8f70b4
	* Resolver.cc, Resolver.h: use ProtoLog.
Packit 8f70b4
	* ftpclass.cc: use sockaddr_u methods.
Packit 8f70b4
	* url.cc, url.h: use xstring, more unsafe chars.
Packit 8f70b4
	* xarray.h: (allocate) new method; (RefQueue) new class.
Packit 8f70b4
	* xstring.cc, xstring.h: (append_padding, dump, dump_to, is_binary) new methods.
Packit 8f70b4
	* xmap.cc, xmap.h, Error.cc, Error.h, Torrent.cc, Torrent.h: new files.
Packit 8f70b4
	* Makefile.am: add new files.
Packit 8f70b4
Packit 8f70b4
2009-06-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc: set time precision +-1 second on msdos fs (linux only).
Packit 8f70b4
	* xstring.h: add ctor(str,len).
Packit 8f70b4
Packit 8f70b4
2009-06-11  Jiri Skala <jskala@redhat.com>
Packit 8f70b4
Packit 8f70b4
	* url.cc: fixed decode_string return value (also fixes http ls).
Packit 8f70b4
Packit 8f70b4
2009-05-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: fixed coredump when ssh gets killed.
Packit 8f70b4
	* SleepJob.cc: show exec'd command status; fixed a deadlock msg.
Packit 8f70b4
	* ChmodJob.cc: fixed modes and umask (use octal as intended).
Packit 8f70b4
Packit 8f70b4
2009-05-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: use line buffering for log file.
Packit 8f70b4
Packit 8f70b4
2009-05-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Filter.cc: fflush stdout before fork().
Packit 8f70b4
	* SFtp.cc: use xstring::get_tmp to avoid clobbering buffer in
Packit 8f70b4
	  lc_to_utf8 and utf8_to_lc.
Packit 8f70b4
Packit 8f70b4
2009-04-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.h: check for null ptr (fixes a core dump).
Packit 8f70b4
Packit 8f70b4
2009-04-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.cc, CopyJob.h, FileCopy.cc: fixed core dump on kill command.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: better handle unsupported EPSV command.
Packit 8f70b4
	* mputJob.cc: fixed a coredump on 'mput -d'.
Packit 8f70b4
Packit 8f70b4
2009-04-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: (MkdirMakeSet) new method.
Packit 8f70b4
	* ftpclass.cc, SFtp.cc: use it (fixes mkdir -p for sftp).
Packit 8f70b4
Packit 8f70b4
2009-04-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: size_t fun.
Packit 8f70b4
Packit 8f70b4
2009-03-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xarray.cc, xarray.h, CmdExec.cc, CmdExec.h:
Packit 8f70b4
	  (xarray::insert_ordered, xarray::bsearch) new methods;
Packit 8f70b4
	  use them to add new commands.
Packit 8f70b4
	* Speedometer.cc, Speedometer.h, FileCopy.cc: use xstring;
Packit 8f70b4
	  fixed eta display.
Packit 8f70b4
	* commands.cc: drop some unneeded isdigit calls; cast char to
Packit 8f70b4
	  unsigned char to prevent sign expansion.
Packit 8f70b4
	* CopyJob.cc: use xstring.
Packit 8f70b4
	* url.cc: optimize; cast char to unsigned char to prevent sign expansion.
Packit 8f70b4
	* log.cc, log.h: outline SetOutput.
Packit 8f70b4
	* StringSet.cc, StringSet.h, DummyProto.cc, DummyProto.h: outline ctor/dtor.
Packit 8f70b4
Packit 8f70b4
2009-03-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: (toString) new method.
Packit 8f70b4
	* Speedometer.cc: use it.
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: show sleep time left.
Packit 8f70b4
	* commands.cc: fixed 'exit kill'.
Packit 8f70b4
Packit 8f70b4
2009-03-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: set NOREST mode on specific error message;
Packit 8f70b4
	  unset epsv_supported if it actually isn't.
Packit 8f70b4
	* resource.cc: make ftp:prefer-epsv off by default.
Packit 8f70b4
	* pgetJob.cc: fixed off-by-one -c bug.
Packit 8f70b4
Packit 8f70b4
2009-03-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: outline SetRange.
Packit 8f70b4
	* pgetJob.cc: convert off_t to long long before passing to printf.
Packit 8f70b4
	* ftpclass.cc: fix warning; pre-select both PROT modes.
Packit 8f70b4
	* FileInfo.cc: fixed parsing of NT unix-like listings with one digit hour.
Packit 8f70b4
Packit 8f70b4
2009-02-02  Kevin Lo <kevlo@kevlo.org>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: silent some warnings.
Packit 8f70b4
	* lftp_pty.c: add missing headers for openpty(3) on OpenBSD.
Packit 8f70b4
Packit 8f70b4
2009-01-28  Jiri Skala <jskala@redhat.com>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed a possible null dereference.
Packit 8f70b4
Packit 8f70b4
2009-01-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc: make it compile on old ipv6 systems.
Packit 8f70b4
Packit 8f70b4
2009-01-27  Arkadiusz Miskiewicz <arekm@maven.pl>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc, Resolver.h: add support for IPv6 scope for link-local addresses.
Packit 8f70b4
Packit 8f70b4
2009-01-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: (ftp:prefer-epsv) new setting;
Packit 8f70b4
	  fixed message for ignore-pasv-address; use EPSV when ftp:prefer-epsv
Packit 8f70b4
	  is true and it's supported.
Packit 8f70b4
Packit 8f70b4
2009-01-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer_ssl.cc: shutdown ssl connection only when there is no data left.
Packit 8f70b4
Packit 8f70b4
2008-12-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, resource.cc: (ftp:trust-feat) new setting.
Packit 8f70b4
Packit 8f70b4
2008-11-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, resource.cc: add another proxy-auth-type: proxy-user@host.
Packit 8f70b4
Packit 8f70b4
2008-11-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* OutputJob.cc: fixed a memory corruption bug (occured in zmore).
Packit 8f70b4
Packit 8f70b4
2008-11-10  Justin Piszcz <jpiszcz@lucidpixels.com>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add include sys/wait.h
Packit 8f70b4
Packit 8f70b4
2008-11-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.cc, FileSetOutput.cc, Job.cc, Job.h, MirrorJob.cc,
Packit 8f70b4
	  SleepJob.cc, echoJob.cc, mgetJob.cc: make AddWaiting set parent/fg.
Packit 8f70b4
Packit 8f70b4
2008-11-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileFeeder.cc, FileFeeder.h: use Ref.
Packit 8f70b4
	* FileSet.cc, MirrorJob.cc: don't include lstat.h
Packit 8f70b4
	* SysCmdJob.cc: call super::PrepareToDie.
Packit 8f70b4
	* Job.cc, Job.h: use Ref for fg_data; don't call Done for running job;
Packit 8f70b4
	  add PrepareToDie method; use List macros; use xarray::search.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: add auto_terminate_in_bg; use resource names;
Packit 8f70b4
	  new setting cmd:move-background-detach.
Packit 8f70b4
	* commands.cc: add no-detach bg exit option.
Packit 8f70b4
Packit 8f70b4
2008-10-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc, misc.h: (in_foreground_pgrp) new function.
Packit 8f70b4
	* lftp.cc: use in_foreground_pgrp.
Packit 8f70b4
	* ftpclass.cc: don't require ftp:acct when proxy settings provide an acct.
Packit 8f70b4
Packit 8f70b4
2008-10-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: clone session properly - it fixed mirror -RP.
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: (shutdown) new method.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: automatically try PROT P if enforced
Packit 8f70b4
	  by server.
Packit 8f70b4
	* buffer_ssl.cc, buffer_ssl.h: shutdown ssl when sending eof.
Packit 8f70b4
Packit 8f70b4
2008-08-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopyFtp.cc: add another timeout check.
Packit 8f70b4
	* SFtp.cc: don't ignore UNKNOWN type entries; add debug.
Packit 8f70b4
Packit 8f70b4
2008-08-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: add number suffix support (i.e. 10k for 10240).
Packit 8f70b4
	* LsCache.cc, resource.cc: use new number suffixes.
Packit 8f70b4
	* ftpclass.cc: use new ResValue::to_number method.
Packit 8f70b4
Packit 8f70b4
2008-08-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SMTask.cc, SMTask.h: add PrepareToDie virtual method.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, FileCopy.cc, FileCopy.h, GetFileInfo.cc,
Packit 8f70b4
	  GetFileInfo.h, SleepJob.cc, SleepJob.h, SysCmdJob.cc, SysCmdJob.h,
Packit 8f70b4
	  TreatFileJob.cc, TreatFileJob.h, echoJob.cc, echoJob.h, mgetJob.cc,
Packit 8f70b4
	  mgetJob.h: use PrepareToDie, use Refs.
Packit 8f70b4
	* buffer.cc, buffer.h: allow to make IOBufferFDStream with FDStream ref.
Packit 8f70b4
	* PtyShell.cc, PtyShell.h: use Refs.
Packit 8f70b4
	* Job.cc, Job.h: use const in RemoveWaiting.
Packit 8f70b4
Packit 8f70b4
2008-07-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc: use gnulib's unsetenv.
Packit 8f70b4
	* SleepJob.cc, MirrorJob.cc: use gnulib's get_date.
Packit 8f70b4
	* Makefile.am: link only liblftp-tasks with gnulib.
Packit 8f70b4
	* DummyProto.cc: inc stddef.h.
Packit 8f70b4
	* FileAccess.cc: hook md5 and glob from gnulib.
Packit 8f70b4
Packit 8f70b4
2008-05-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, pgetJob.cc: don't include unneeded headers;
Packit 8f70b4
	  move assert.h where needed.
Packit 8f70b4
	* PollVec.h: include poll.h with CDECL.
Packit 8f70b4
Packit 8f70b4
2008-05-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ascii_ctype.h: use gnulib c-ctype.
Packit 8f70b4
Packit 8f70b4
2008-05-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* resource.cc: use locale_charset.
Packit 8f70b4
	* FileSet.cc, MirrorJob.cc: use lstat.h.
Packit 8f70b4
	* ftpclass.cc, ResMgr.cc, NetAccess.cc: use inet_pton.
Packit 8f70b4
Packit 8f70b4
2008-05-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: outline some funcs; disable ALLO on 202 reply;
Packit 8f70b4
	  add support for two-arg SITE UTIME; add support for MFMT; new setting
Packit 8f70b4
	  ftp:use-site-utime2.
Packit 8f70b4
Packit 8f70b4
2008-05-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: add ALLO check and set use-allo if unsupported.
Packit 8f70b4
Packit 8f70b4
2008-05-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: fixed handling of missed strings in Status reply.
Packit 8f70b4
Packit 8f70b4
2008-05-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: (MergeCookie) use xstring methods; fixed NULL dereference.
Packit 8f70b4
	* xstring.cc, xstring.h: xstring::skip_all new method.
Packit 8f70b4
Packit 8f70b4
2008-04-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed cwd tracking for ftps; fixed rate_limit allocation
Packit 8f70b4
	  for HTTP proxy; don't re-create data_iobuf when receiving data over
Packit 8f70b4
	  HTTP proxy, because we could lose some already received data (reported
Packit 8f70b4
	  by Arkady Sherman <Arkady.Sherman@ksu.ru>).
Packit 8f70b4
Packit 8f70b4
2008-04-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* GetFileInfo.cc: init size/time fields.
Packit 8f70b4
	* SFtp.cc: more debug messages; fill array_info even in case of error.
Packit 8f70b4
	* buffer.cc, resource.cc: don't use empty charset name.
Packit 8f70b4
Packit 8f70b4
2008-03-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* resource.cc: make sftp:use-full-path on by default; validate it
Packit 8f70b4
	  properly as a boolean.
Packit 8f70b4
Packit 8f70b4
2008-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc: use time 12:00:00 when time is unknown (instead of 12:00:30).
Packit 8f70b4
Packit 8f70b4
2008-03-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc: handle stderr messages during file transfer.
Packit 8f70b4
	* Http.cc: add 303 and 307 codes (suggested by Stephane Chazelas <Stephane_Chazelas@yahoo.fr>).
Packit 8f70b4
Packit 8f70b4
2008-02-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SSH_Access.cc, SSH_Access.h, Fish.cc, Fish.h, SFtp.cc, SFtp.h, Makefile.am:
Packit 8f70b4
	  split off the ssh interaction logic to separate module (SSH_Access).
Packit 8f70b4
	* MirrorJob.cc: add basename only if it is not already there.
Packit 8f70b4
Packit 8f70b4
2008-02-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: fix spinning when fail-exit is triggered with non-empty
Packit 8f70b4
	  root cmd_buf.
Packit 8f70b4
Packit 8f70b4
2008-02-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: new setting ftp:ssl-shutdown-timeout;
Packit 8f70b4
	  wait for ssl shutdown after CCC (new wait state WAITING_CCC_SHUTDOWN);
Packit 8f70b4
	  move some timers and connection state variables to Connection class;
Packit 8f70b4
	  use xstring_c for some members.
Packit 8f70b4
	* FileAccess.h, NetAccess.h: use xstring_c for some members.
Packit 8f70b4
Packit 8f70b4
2008-02-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: ftp:proxy-auth-type replaces
Packit 8f70b4
	  old ftp:proxy-auth-joined setting; implement two more auth types:
Packit 8f70b4
	  joined-acct and open (partly based on patch from David Wolfe <davidw@wolfeden.org>).
Packit 8f70b4
Packit 8f70b4
2008-02-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* network.cc, network.h, Makefile.am: (network.*) new files.
Packit 8f70b4
	* xarray.h: (search) new method.
Packit 8f70b4
	* Resolver.h, Resolver.cc: use new sockaddr_u methods;
Packit 8f70b4
	  don't add the same address multiple times; report found addrs.
Packit 8f70b4
	* NetAccess.cc, NetAccess.h: use new sockaddr_u methods.
Packit 8f70b4
	* ftpclass.cc: workaround proftpd NLST bug; workaround for
Packit 8f70b4
	  a server bug sending single NL; simplify encode_eprt.
Packit 8f70b4
Packit 8f70b4
2008-02-06  Laurent MONIN <zas@norz.org>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add open -s option, describe slot command syntax.
Packit 8f70b4
Packit 8f70b4
2008-02-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* parsecmd.cc: don't delete Ref (fixes double delete bug).
Packit 8f70b4
Packit 8f70b4
2008-01-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: (ftp:waiting-150-timeout) new setting;
Packit 8f70b4
	  limit time to wait for 150 reply; stop waiting for 150 reply after receiving
Packit 8f70b4
	  another reply.
Packit 8f70b4
	* FileCopy.cc: (xfer:buffer-size) new setting.
Packit 8f70b4
Packit 8f70b4
2008-01-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: always use passive mode for proxy_is_http==true;
Packit 8f70b4
	  use GetFlag function everywhere to test flags.
Packit 8f70b4
Packit 8f70b4
2008-01-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.h: use SMTaskRef properly (fixes kill all core dump).
Packit 8f70b4
	* SFtp.cc: don't use FSETSTAT to truncate the file on upload when
Packit 8f70b4
	  not needed (pos==0 can use open mode with truncation).
Packit 8f70b4
	* Fish.cc: unset translation when charset is set to an empty string.
Packit 8f70b4
	* SFtp.cc, SFtp.h, resource.cc: (sftp:use-full-path) new setting;
Packit 8f70b4
	  use sftp:charset properly; unset translation when charset eq "".
Packit 8f70b4
Packit 8f70b4
2008-01-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: fixed hex printing of the handle.
Packit 8f70b4
Packit 8f70b4
2008-01-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: use copy of va_list properly (fixes a coredump on some systems).
Packit 8f70b4
	* url.cc: (encode) use xstring::get_tmp to allow several encode calls at once.
Packit 8f70b4
	* HttpDir.cc: init link_target properly (fixes NULL pointer fault).
Packit 8f70b4
Packit 8f70b4
2007-12-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileGlob.cc, HttpDir.cc, LocalAccess.cc, ftpclass.cc:
Packit 8f70b4
	  fixed constness for strchr, strrchr and strstr
Packit 8f70b4
	  (reported by Yann Rouillard <yann@pleiades.fr.eu.org>).
Packit 8f70b4
	* GetJob.cc, GetJob.h: don't decode URL escapes when no URL schema used.
Packit 8f70b4
Packit 8f70b4
2007-12-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: workaround the case when transfer ends without data connection.
Packit 8f70b4
Packit 8f70b4
2007-12-12  Martin Nagy <mnagy@redhat.com>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: (GetPercentDoneStr) prevent buffer overflow.
Packit 8f70b4
Packit 8f70b4
2007-11-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: make most xstring methods return *this;
Packit 8f70b4
	  new function get_tmp(s,n).
Packit 8f70b4
	* misc.cc: use new get_tmp.
Packit 8f70b4
	* xmalloc.h: add ().
Packit 8f70b4
Packit 8f70b4
2007-11-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (get_tmp(const char*)) new function.
Packit 8f70b4
	* misc.cc: use it.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: optimize Log* methods.
Packit 8f70b4
	* MirrorJob.cc: count rm errors properly.
Packit 8f70b4
Packit 8f70b4
2007-11-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: don't reset timeout_timer all the time.
Packit 8f70b4
	* resource.cc: make ftp:use-stat-for-list off by default.
Packit 8f70b4
Packit 8f70b4
2007-11-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc: (Log2) don't use %.*s (it mishandles invalid mb characters).
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: repeat --weak new option.
Packit 8f70b4
Packit 8f70b4
2007-10-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* parsecmd.cc: don't accept incomplete comments.
Packit 8f70b4
	* CmdExec.cc: set slot name before ChangeSession (fixes a glitch).
Packit 8f70b4
	* ConnectionSlot.cc, ConnectionSlot.h: use FileAccessRef.
Packit 8f70b4
	* url.cc, FileAccess.cc: use const for FindSession result.
Packit 8f70b4
Packit 8f70b4
2007-10-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: set prot='P' for ftps if PROT command fails.
Packit 8f70b4
	* IdNameCache.cc, IdNameCache.h: use Ref; use xstrcmp.
Packit 8f70b4
Packit 8f70b4
2007-10-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: handle timeouts when 150 reply is not received yet.
Packit 8f70b4
Packit 8f70b4
2007-10-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Job.cc: fix `wait all'.
Packit 8f70b4
Packit 8f70b4
2007-10-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* NetAccess.cc: clear proxy_proto properly.
Packit 8f70b4
	* ftpclass.cc: (TurnOffStatForList) new method; fine tune STAT for LIST
Packit 8f70b4
	  handling for some servers.
Packit 8f70b4
Packit 8f70b4
2007-10-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Ref.h: (get) new method.
Packit 8f70b4
	* FileSet.cc: workaround for OSF/1 compiler.
Packit 8f70b4
Packit 8f70b4
2007-10-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc: fix xstring::cat.
Packit 8f70b4
	* xarray.h: drop automatic cast to T*.
Packit 8f70b4
	* Resolver.cc, Resolver.h: use explicit xarray::get.
Packit 8f70b4
	* SFtp.cc: fix type mismatch warning.
Packit 8f70b4
Packit 8f70b4
2007-10-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: handle and log STAT errors properly.
Packit 8f70b4
Packit 8f70b4
2007-09-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fix for non-standard FEAT reply.
Packit 8f70b4
	* SFtp.cc, SFtp.h: use timer to flush imcomplete data.
Packit 8f70b4
Packit 8f70b4
2007-09-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* module.cc: use xstring; (access_so) new function.
Packit 8f70b4
Packit 8f70b4
2007-09-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* LocalAccess.cc, LocalAccess.h: let other tasks run while doing
Packit 8f70b4
	  ListInfo; better status messages.
Packit 8f70b4
	* NetAccess.cc: optimize translations; use xstring::format.
Packit 8f70b4
	* FileSet.h: (count, curr_index, curr_pct) new methods.
Packit 8f70b4
Packit 8f70b4
2007-09-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: skip leading space in STAT reply.
Packit 8f70b4
	* resource.cc: add another server overload message.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: (depth-first, no-empty-dirs, ascii)
Packit 8f70b4
	  new options.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, complete.cc: (CmdByIndex) return cmd name.
Packit 8f70b4
Packit 8f70b4
2007-09-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: improve STAT reply handling.
Packit 8f70b4
	* ArgV.cc, ArgV.h: (getopt_error_message) new method.
Packit 8f70b4
	* commands.cc: use getopt_error_message; don't pass longopt - unneeded;
Packit 8f70b4
	  (cls) remove options after time_style is used.
Packit 8f70b4
Packit 8f70b4
2007-09-12  Lamer <lamer@vnsecurity.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, resource.cc: (ssl:check-hostname) new setting.
Packit 8f70b4
Packit 8f70b4
2007-09-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ArgV.cc: use strtok instead of tokenize.
Packit 8f70b4
	* misc.cc, misc.h: drop tokenize.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, commands.cc: use xarray for dyn_cmd_table.
Packit 8f70b4
	* ColumnOutput.cc, ColumnOutput.h: use RefArray for datum.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: outline DirList ctor and dtor.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, FileGlob.cc, FileGlob.h, FileSet.cc,
Packit 8f70b4
	  FileSet.h: outline ctor/dtor.
Packit 8f70b4
	* FindJob.cc, FindJob.h: use RefArray for stack.
Packit 8f70b4
	* FindJobDu.cc, FindJobDu.h: use RefArray for size_stack; use Ref.
Packit 8f70b4
	* xarray.cc, xarray.h: (xqueue) new class; (xarray::chop,last,qsort,
Packit 8f70b4
	  move_here) new methods; (xarray_s) new class.
Packit 8f70b4
	* xstring.h, Ref.h: (_clear,_set,unset) new methods.
Packit 8f70b4
	* Fish.cc: use xqueue for RespQueue.
Packit 8f70b4
	* HttpDirXML.cc: use Refs, use xarray_s for stack.
Packit 8f70b4
	* Job.cc, Job.h: use xarray for waiting; (AllWaitingFg) new method.
Packit 8f70b4
	* CopyJob.cc, MirrorJob.cc: define waiting_num.
Packit 8f70b4
	* Resolver.cc: use xarray.
Packit 8f70b4
	* SMTask.cc, SMTask.h: use xarray for stack.
Packit 8f70b4
	* history.cc: use url::encode.
Packit 8f70b4
	* SleepJob.cc: fixup for new waiting.
Packit 8f70b4
	* ftpclass.cc: when directory STAT reply includes 211- prefixes, strip them.
Packit 8f70b4
Packit 8f70b4
2007-09-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed typo leading to coredump.
Packit 8f70b4
Packit 8f70b4
2007-08-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: set entity_size only for RETRIEVE mode; better handle 1xx replies.
Packit 8f70b4
Packit 8f70b4
2007-08-31  Craig Ruff <cruff@ucar.edu>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: handle 125 reply as 150.
Packit 8f70b4
Packit 8f70b4
2007-08-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: clone session when doing transfer (fixes -P).
Packit 8f70b4
	* buffer.cc, buffer.h: (Append, AppendTranslated) new methods.
Packit 8f70b4
Packit 8f70b4
2007-08-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc, buffer.h: move Put_LL shortcut to IOBuffer.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: (expand_tilde) add start index arg;
Packit 8f70b4
	  (Path::Optimize) use xstrings, add a special case for optimization of url paths,
Packit 8f70b4
	  (Path::Change) use xstrings, expand single tilde in url.
Packit 8f70b4
	* misc.cc, misc.h: dirname works with xstring.
Packit 8f70b4
	* GetFileInfo.cc: use new dirname.
Packit 8f70b4
	* FileCopy.cc: use new dirname; getfd in FileCopyPeerFDStream mode PUT, so that
Packit 8f70b4
	  it becomes IOReady.
Packit 8f70b4
	* HttpDir.cc: use xstrings.
Packit 8f70b4
	* xstring.cc, xstring.h: (append(s,len), append(xstring)) new methods; fix set_substr;
Packit 8f70b4
	  (set_substr(i,len1,s,len2)) new method.
Packit 8f70b4
Packit 8f70b4
2007-08-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (get_tmp, format, vformat, cat, join) new static methods.
Packit 8f70b4
	* CopyJob.cc, Fish.cc, Http.cc, ftpclass.cc, log.cc, misc.cc, url.cc, SFtp.cc:
Packit 8f70b4
	  use new xstring methods; prefer xstring::length over strlen.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: (ReceiveOneLine) new method; clean up ReceiveResp.
Packit 8f70b4
	* buffer.h: (Put(xstring&)) new method.
Packit 8f70b4
Packit 8f70b4
2007-08-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: don't use put_ll_timer in ascii mode.
Packit 8f70b4
Packit 8f70b4
2007-08-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: new Log* methods.
Packit 8f70b4
	* log.cc, log.h: (vFormat) new method.
Packit 8f70b4
	* RateLimit.cc, RateLimit.h, NetAccess.cc, Makefile.am: move RateLimit
Packit 8f70b4
	  implementation to a separate file.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: use new Log* methods; don't call getpeername
Packit 8f70b4
	  for just connected socket; wait for 150 reply before accessing data socket.
Packit 8f70b4
	* Fish.cc, SFtp.cc, Http.cc, LocalAccess.cc, Resolver.cc,
Packit 8f70b4
	  NetAccess.cc: use new Log* methods.
Packit 8f70b4
	* SFtp.cc: limit upload packet size.
Packit 8f70b4
	* LsCache.cc: increase cache size to 16Mb.
Packit 8f70b4
Packit 8f70b4
2007-08-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSetOutput.cc: truncate xstring correctly.
Packit 8f70b4
	* lftp.cc, commands.cc, CmdExec.cc, CmdExec.h: use Ref for top_exec.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, resource.cc: add transfer log support
Packit 8f70b4
	  and xfer:log setting.
Packit 8f70b4
Packit 8f70b4
2007-08-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.h: disable clone and assign for xstring_ca.
Packit 8f70b4
	* xstring.cc: use a clearer alloc condition.
Packit 8f70b4
	* FtpListInfo.cc: simplify parser with xstring.
Packit 8f70b4
	* xarray.cc, xarray.h: (keep_extra) new member.
Packit 8f70b4
Packit 8f70b4
2007-08-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FileSet.h: fix clone ctor, add Dump method.
Packit 8f70b4
	* MirrorJob.cc: use NO_DATE.
Packit 8f70b4
	* ftpclass.cc: don't do ResetLocationDate in clone ctor - it leads
Packit 8f70b4
	  to loss of cwd; set correct real_cwd when handling of CWD reply.
Packit 8f70b4
	* NetAccess.cc: save listing in cache with proper mode.
Packit 8f70b4
	* commands.cc: update copyright.
Packit 8f70b4
	* ftpclass.cc: don't change TYPE unless needed.
Packit 8f70b4
Packit 8f70b4
2007-08-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xarray.h: zero terminate xarray_p.
Packit 8f70b4
	* ftpclass.cc: correctly truncate xstring.
Packit 8f70b4
	* FtpDirList.cc: fixed list colouring (line parse).
Packit 8f70b4
	* StringSet.cc: optimize.
Packit 8f70b4
Packit 8f70b4
2007-08-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Ref.h, xarray.h, SMTash.h: make a base class _RefArray; new class
Packit 8f70b4
	  TaskRefArray; new class xarray_p; (xarray::borrow) new method.
Packit 8f70b4
	* StringPool.cc, StringPool.h, StringSet.cc, StringSet.h: use xarray_p.
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: use TaskRefArray.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: check anonymous password for leading minus sign
Packit 8f70b4
	  before enabling stat-for-list.
Packit 8f70b4
Packit 8f70b4
2007-08-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, url.cc: use xstring and StringSet.
Packit 8f70b4
	* xarray.cc, xarray.h: new files.
Packit 8f70b4
	* Makefile.am: add xarray files.
Packit 8f70b4
	* NetAccess.cc, NetAccess.h, ftpclass.cc, Http.cc, FileSet.cc,
Packit 8f70b4
	  FileSet.h, PollVec.cc, PollVec.h, ColumnOutput.cc, ColumnOutput.h,
Packit 8f70b4
	  Resolver.cc, Resolver.h: use xarray.
Packit 8f70b4
	* StringSet.h: (borrow) new method.
Packit 8f70b4
	* Ref.h: make RefArray a friend.
Packit 8f70b4
Packit 8f70b4
2007-08-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.h, FileSet.cc: (NotNewerThan, NotOlderThan, Subtract*) new methods.
Packit 8f70b4
	* MirrorJob.cc: use SubtractNotNewerThan and SubtractNotOlderThan.
Packit 8f70b4
Packit 8f70b4
2007-08-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, NetAccess.cc, NetAccess.h: increment retries on
Packit 8f70b4
	  soft transfer errors which do not cause disconnect; check retry
Packit 8f70b4
	  count before re-starting transfer.
Packit 8f70b4
	* FileCopy.cc: increment saved retry count before next try.
Packit 8f70b4
	* resource.cc: remove obsolete code.
Packit 8f70b4
	* log.cc, log.h: use Ref; use xstring::vsetf.
Packit 8f70b4
	* keyvalue.cc, keyvalue.h: use xstring::appendf.
Packit 8f70b4
	* ArgV.cc, CmdExec.cc: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-07-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: set STORE_FAILED error properly in some cases.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: new setting ftp:use-stat-for-list.
Packit 8f70b4
Packit 8f70b4
2007-07-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: clear handle on disconnect (fixes coredump).
Packit 8f70b4
Packit 8f70b4
2007-07-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add $$ eval substitution.
Packit 8f70b4
	* xstring.cc, xstring.h: (appendf, vappendf) new methods.
Packit 8f70b4
Packit 8f70b4
2007-07-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: (eval) new command.
Packit 8f70b4
Packit 8f70b4
2007-07-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ColumnOutput.cc, ColumnOutput.h: use Refs.
Packit 8f70b4
	* CopyJob.cc, CopyJob.h: use Refs; allow to specify CopyJob creator
Packit 8f70b4
	  for CopyJobEnv.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: close session when it's not needed; suspend
Packit 8f70b4
	  only open sessions; new Clone methods; disallow negative buf size.
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h: use Refs; remember data source error.
Packit 8f70b4
	* Job.h: make JobRef===SMTaskRef.
Packit 8f70b4
	* OutputJob.h: remove unused members/methods.
Packit 8f70b4
	* MirrorJob.cc, commands.cc: use new pget.
Packit 8f70b4
	* complete.cc: use JobRef.
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: derive from CopyJob.
Packit 8f70b4
Packit 8f70b4
2007-07-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: allow to borrow active connection if last
Packit 8f70b4
	  connection failed.
Packit 8f70b4
Packit 8f70b4
2007-07-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: fixed DataRecoder.
Packit 8f70b4
	* buffer.h: (PutRaw) new method.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: send encoded parts of url untranslated.
Packit 8f70b4
	* url.cc, url.h: (path_ptr) new method.
Packit 8f70b4
Packit 8f70b4
2007-06-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc: (CharsetValidate) return error without iconv.
Packit 8f70b4
	* buffer.cc, buffer.h: nicer conditionals.
Packit 8f70b4
Packit 8f70b4
2007-06-15  Jakob Truelsen <antialize@gmail.com>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, SFtp.cc, buffer.cc, buffer.h: allow compilation without iconv.
Packit 8f70b4
Packit 8f70b4
2007-06-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.h: don't include LsCache.h.
Packit 8f70b4
	* FileSet.cc, FileSet.h: const Count.
Packit 8f70b4
	* GetPass.cc: don't return NULL for empty pass.
Packit 8f70b4
	* LocalAccess.cc, LocalAccess.h, LsCache.cc, LsCache.h,
Packit 8f70b4
	  MirrorJob.cc, MirrorJob.h: use Refs.
Packit 8f70b4
	* xstring.h: (last_char) new method.
Packit 8f70b4
	* xmalloc.h: (alloca_append) new macro.
Packit 8f70b4
	* url.cc, url.h: (url::decode) new static method; make
Packit 8f70b4
	  url::dir_needs_trailing_slash support urls instead of just proto.
Packit 8f70b4
	* FileAccess.cc: add trailing slash to urls when needed; keep url when doing cd ..
Packit 8f70b4
	* commands.cc: consult cache when deciding how to Chdir.
Packit 8f70b4
	* NetAccess.cc: move peer cloning here from Http; cache FileSet.
Packit 8f70b4
	* Http.cc: don't add slash if url is known; cache dir status.
Packit 8f70b4
Packit 8f70b4
2007-06-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc, buffer.h: make Unpack* const.
Packit 8f70b4
	* Ref.h: (get_non_const) new method; Cast<T> new template.
Packit 8f70b4
	* SFtp.cc, SFtp.h: use Refs, use const where appropriate.
Packit 8f70b4
Packit 8f70b4
2007-05-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc: fixed Disconnect to unset buffers.
Packit 8f70b4
	* FileGlob.h: dir_list should not be Ref.
Packit 8f70b4
	* xstring.cc, xstring.h: (xstring_c::vset, xstring::setf) new methods.
Packit 8f70b4
	* CopyJob.cc, misc.cc, pgetJob.cc, resource.cc: use xstring::setf.
Packit 8f70b4
	* OutputJob.cc: use xstring_c::vset.
Packit 8f70b4
	* url.cc: encode non-ascii chars; use setf.
Packit 8f70b4
	* xmalloc.cc: better debug print.
Packit 8f70b4
	* Http.cc: fixed Read (broken when _Read was split off);
Packit 8f70b4
	  fixed handling of urls without path.
Packit 8f70b4
Packit 8f70b4
2007-05-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* convert-netscape-cookies: use strict; better error message.
Packit 8f70b4
Packit 8f70b4
2007-05-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: use Ref for expect.
Packit 8f70b4
	* xmalloc.cc, xmalloc.h: 3-arg xstrset - new function.
Packit 8f70b4
	* xstring.h: (xstring_c::nset) new method.
Packit 8f70b4
	* FileAccess.cc, FileCopy.cc, FindJob.cc, HttpDirXML.cc, MirrorJob.cc,
Packit 8f70b4
	  commands.cc, misc.cc, resource.cc, url.cc, url.h: use xstring in ParsedURL.
Packit 8f70b4
Packit 8f70b4
2007-05-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: (_Read) new private method to use in LogErrorText
Packit 8f70b4
	  (fixed incorrect resetting of retries).
Packit 8f70b4
Packit 8f70b4
2007-05-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.h: use static_cast (as we use -fno-rtti).
Packit 8f70b4
	* NetAccess.cc, NetAccess.h: use Ref; split off RateLimit.
Packit 8f70b4
	* RateLimit.h: new file.
Packit 8f70b4
	* Fish.cc, SFtp.cc: change for Refs in NetAccess.
Packit 8f70b4
	* Http.cc, Http.h: use Ref.
Packit 8f70b4
	* ProcWait.h: make dtor public.
Packit 8f70b4
	* Resolver.cc, Resolver.h, buffer_ssl.cc, buffer_ssl.h, ftpclass.cc,
Packit 8f70b4
	  ftpclass.h: use Ref.
Packit 8f70b4
Packit 8f70b4
2007-04-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: more inlines; make dtor public.
Packit 8f70b4
	* StatusLine.h: make dtor public.
Packit 8f70b4
	* SMTask.h: make SMTaskRef inherit from Ref.
Packit 8f70b4
Packit 8f70b4
2007-04-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: use explicit borrow().
Packit 8f70b4
	* Fish.cc, Fish.h, SFtp.cc, SFtp.h: use Refs.
Packit 8f70b4
	* Ref.h: declare Ref::null; deny assignment from other Ref.
Packit 8f70b4
	* HttpDir.cc: use Ref::null.
Packit 8f70b4
	* buffer.h: optimize ctors.
Packit 8f70b4
Packit 8f70b4
2007-04-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CatJob.cc: use new FileCopyPeerFA::New.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: use Ref for saved_session.
Packit 8f70b4
	* ConnectionSlot.cc, ConnectionSlot.h: add const.
Packit 8f70b4
	* DirColors.cc, DirColors.h: pass const Ref&.
Packit 8f70b4
	* DummyProto.cc: use new DirList ctor.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: use Refs; (FileAccessRef::null) new
Packit 8f70b4
	  const;
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, FileCopyFtp.cc, FileCopyFtp.h: use Refs;
Packit 8f70b4
	  const; Cast method.
Packit 8f70b4
	* FileGlob.cc, FileGlob.h, Filter.cc, Filter.h: use Refs.
Packit 8f70b4
	* FileSet.cc, FileSet.h: use consts.
Packit 8f70b4
	* FindJob.cc, FindJob.h, Fish.cc, Fish.h, FtpDirList.cc, FtpDirList.h,
Packit 8f70b4
	  GetFileInfo.cc, GetFileInfo.h, GetJob.cc GetJob.h, HttpDir.cc,
Packit 8f70b4
	  OutputJob.cc, OutputJob.h, SFtp.cc, SFtp.h, SleepJob.cc, SleepJob.h,
Packit 8f70b4
	  buffer.cc, buffer.h, commands.cc, mkdirJob.cc, mkdirJob.h: use Refs.
Packit 8f70b4
	* Http.cc, ftpclass.cc: change order of args to *DirList.
Packit 8f70b4
	* ftpclass.h, history.cc, history.h: add const.
Packit 8f70b4
	* Job.cc, Job.h: use Refs in SessionJob; drop Reuse method.
Packit 8f70b4
	* LocalAccess.cc: pass 0 as session to DirList.
Packit 8f70b4
	* NetAccess.cc, commands.cc: use non-static Roll method.
Packit 8f70b4
	* SMTask.h: drop operator=(SMTaskRef&).
Packit 8f70b4
Packit 8f70b4
2007-04-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: don't delete Refs.
Packit 8f70b4
	* CopyJob.h, OutputJob.cc, OutputJob.h: return ref to Ref instead of
Packit 8f70b4
	  pointer.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: use Refs; make more virtual methods for fxp.
Packit 8f70b4
	* FileCopyFtp.cc: use the new virtual methods instead of ptr casting.
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h: (FileSetOutput::parse_res) new
Packit 8f70b4
	  method.
Packit 8f70b4
	* GetJob.cc, GetJob.h: use Ref and new FileCopyPeerFDStream ctor.
Packit 8f70b4
	* SMTask.cc, SMTask.h: fixed Ref assignment; more info in PrintTasks.
Packit 8f70b4
	* commands.cc, complete.cc: use FileSetOutput::parse_res.
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: use new FileCopyPeerFDStream ctor.
Packit 8f70b4
	* CatJob.cc, CatJob.h, FileCopyOutputJob.cc: use JobRef; pass const ref to JobRef.
Packit 8f70b4
	* FileCopyOutputJob.h, FileCopy.h, Makefile.am: split off FileCopyOutputJob.h.
Packit 8f70b4
Packit 8f70b4
2007-04-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Ref.h: (Ref) new template class.
Packit 8f70b4
	* SMTask.h: (SMTaskRef) new template class.
Packit 8f70b4
	* Job.h: (JobRef) new template class.
Packit 8f70b4
	* CatJob.cc, CatJob.h, CmdExec.cc, CmdExec.h, CopyJob.cc, CopyJob.h,
Packit 8f70b4
	  FileSetOutput.cc, FileSetOutput.h, FindJob.cc, FindJob.h, Job.cc,
Packit 8f70b4
	  Job.h, MirrorJob.cc, MirrorJob.h, OutputJob.cc, OutputJob.h,
Packit 8f70b4
	  TreatFileJob.cc, TreatFileJob.h, buffer.cc, buffer.h, commands.cc,
Packit 8f70b4
	  echoJob.cc, echoJob.h, mgetJob.cc, mgetJob.h, mvJob.cc, mvJob.h,
Packit 8f70b4
	  pgetJob.cc, pgetJob.h: use Ref.
Packit 8f70b4
Packit 8f70b4
2007-04-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc, HttpDir.h, LocalAccess.cc, LsCache.cc, LsCache.h: use xstring.
Packit 8f70b4
	* xstring.cc, xstring.h: make vstrlen do va_copy.
Packit 8f70b4
Packit 8f70b4
2007-04-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, parsecmd.cc: use Buffer for cmd_buf;
Packit 8f70b4
	  use xstring where needed; fix FIXME in WriteCmds and ReadCmds;
Packit 8f70b4
	* buffer.cc, buffer.h: make Get const; (Prepend) new method.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h, PatternSet.cc, PatternSet.h,
Packit 8f70b4
	  PtyShell.cc, PtyShell.h, commands.cc, lftp_ssl.cc, lftp_ssl.h:
Packit 8f70b4
	  use xstring.
Packit 8f70b4
	* ArgV.h: (CombineCmd) new method.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, CopyJob.cc, CopyJob.h, DummyProto.cc,
Packit 8f70b4
	  DummyProto.h, FileCopy.cc, FileCopy.h, FileGlob.cc, FileGlob.h,
Packit 8f70b4
	  Filter.cc, Filter.h, FindJob.cc, FindJob.h, FindJobDu.cc,
Packit 8f70b4
	  FindJobDu.h, Fish.cc, FtpDirList.cc, FtpDirList.h, GetFileInfo.cc,
Packit 8f70b4
	  GetFileInfo.h, GetJob.cc, GetJob.h, LocalDir.cc, LocalDir.h,
Packit 8f70b4
	  PtyShell.cc, alias.cc, alias.h, bookmark.cc, bookmark.h, commands.cc,
Packit 8f70b4
	  complete.cc, ftpclass.cc, history.cc, history.h, lftp.cc,
Packit 8f70b4
	  mgetJob.cc, mgetJob.h: use xstring.
Packit 8f70b4
	* lftp_rl.c, lftp_rl.h: const in filename_dequoting_function.
Packit 8f70b4
	* resource.cc: const mismatch.
Packit 8f70b4
	* GetPass.cc, GetPass.h: use file descriptor instead of FILE;
Packit 8f70b4
	  use xstring; return const char*.
Packit 8f70b4
	* ColumnOutput.cc, ColumnOutput.h: use StringSet, xstring.
Packit 8f70b4
	* xstring.cc, xstring.h: (chomp, rtrim) new methods.
Packit 8f70b4
Packit 8f70b4
2007-04-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.h: (eq, ne, xstring0::length) new methods.
Packit 8f70b4
	* OutputJob.cc, OutputJob.h: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-04-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: allow truncate on unset xstrings; change
Packit 8f70b4
	  truncate_at so that it works on binary strings.
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h, commands.cc: use xstring;
Packit 8f70b4
	  disable FileSetOutput cloning and assignment.
Packit 8f70b4
	* xstring.h: (xstring_ca) new class for allocated strings.
Packit 8f70b4
	* FileSetOutput.cc, SFtp.cc: use it.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: use xstring; make unquote return result length.
Packit 8f70b4
	* QueueFeeder.cc, QueueFeeder.h, StatusLine.cc: use xstring.
Packit 8f70b4
	* SleepJob.cc: use xstring_ca.
Packit 8f70b4
	* CmdExec.cc: don't add extra \001 for readline prompt.
Packit 8f70b4
Packit 8f70b4
2007-04-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.h: disable cloning of xstring*.
Packit 8f70b4
	* FindJob.cc, Http.cc, keyvalue.cc: avoid unnecessary xstring cloning.
Packit 8f70b4
	* FileAccess.h, FileCopy.cc, FileCopy.h, FileSet.cc, FileSet.h,
Packit 8f70b4
	  FileSetOutput.cc, Filter.cc, Filter.h, MirrorJob.cc, NetAccess.cc:
Packit 8f70b4
	  (FileTimestamp) new struct; use it where needed; submit even
Packit 8f70b4
	  imprecise timestamp from MirrorJob to CopyJob.
Packit 8f70b4
Packit 8f70b4
2007-04-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* keyvalue.cc: truncate key and value before reading next record.
Packit 8f70b4
Packit 8f70b4
2007-04-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-03-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ChmodJob.cc, TreatFileJob.cc: FileInfo::name is now xstring -
Packit 8f70b4
	  use get().
Packit 8f70b4
	* xstring.cc, xstring.h: move get_non_const to xstring0;
Packit 8f70b4
	  get rid of AUTO len (unused); make get_space public and make it
Packit 8f70b4
	  take granularity as argument; (set_length) new method.
Packit 8f70b4
	* Http.cc: (LogErrorText) get rid of unused code.
Packit 8f70b4
	* FileSet.h: use xstring_c for symlink.
Packit 8f70b4
	* xstring.cc: allow set_allocated(0); simplify truncate.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, FileCopyOutputJob.cc, buffer.cc,
Packit 8f70b4
	  buffer.h, buffer_ssl.cc, Resolver.cc: use xstring as base for Buffer;
Packit 8f70b4
	  in_buffer is gone; ZeroTerminate is too.
Packit 8f70b4
	* xstring.cc, xstring.h: append(char) new method; (borrow) new method.
Packit 8f70b4
	* keyvalue.cc, keyvalue.h: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-03-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h: (set_substr) new method.
Packit 8f70b4
	* FileGlob.cc, FileSet.cc, FileSet.h, MirrorJob.cc, NetAccess.cc,
Packit 8f70b4
	  mgetJob.cc, mgetJob.h, rmJob.cc: use xstring in FileInfo.
Packit 8f70b4
	* xstring.cc: support overlapping set.
Packit 8f70b4
	* xstring.h: add compact variant of xstring (xstring_c).
Packit 8f70b4
	* Resolver.cc, Resolver.h: use xstring_c in cache.
Packit 8f70b4
	* xstring.h: add xstring_c::truncate.
Packit 8f70b4
	* xmalloc.cc: allow overlapped xstrset.
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h, ResMgr.cc, ResMgr.h, resource.cc:
Packit 8f70b4
	  use xstring_c for resources.
Packit 8f70b4
Packit 8f70b4
2007-03-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: use xstring.
Packit 8f70b4
	* xstring.cc, xstring.h: add len member; support binary strings.
Packit 8f70b4
	* SFtp.cc, SFtp.h: use xstring.
Packit 8f70b4
	* Resolver.cc, Resolver.h: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-03-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* LocalAccess.cc: prevent double-delete of args in LocalDirList
Packit 8f70b4
	  (reported by Liu Yubao <yubao.liu@gmail.com>).
Packit 8f70b4
	* FileAccess.cc, commands.cc: cosmetics.
Packit 8f70b4
	* pgetJob.cc: fixed core dump when target directory is not writable
Packit 8f70b4
	  (reported by Justin Piszcz <jpiszcz@lucidpixels.com>).
Packit 8f70b4
Packit 8f70b4
2007-03-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, Job.cc, Job.h, MirrorJob.cc, SleepJob.cc, commands.cc,
Packit 8f70b4
	  mgetJob.cc, pgetJob.cc: use xstring for cmdline.
Packit 8f70b4
Packit 8f70b4
2007-03-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, Fish.h: use StringSet for path_queue.
Packit 8f70b4
	* StringSet.cc, StringSet.h: (LastString, Pop) new methods.
Packit 8f70b4
	* NetRC.cc, NetRC.h: use xstring.
Packit 8f70b4
	* commands.cc: fixes for xstring in NetRC.
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: change line to xstring; drop line_len;
Packit 8f70b4
	  improve <NUL> handling; require <CR><NL> to end line.
Packit 8f70b4
Packit 8f70b4
2007-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* xstring.cc, xstring.h, Makefile.am, xmalloc.h: split off xstring.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, Fish.cc, Fish.h, Http.cc, Http.h,
Packit 8f70b4
	  LocalAccess.cc, NetAccess.cc, NetAccess.h, SFtp.cc, ftpclass.cc,
Packit 8f70b4
	  ftpclass.h: use xstring.
Packit 8f70b4
Packit 8f70b4
2007-03-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.h: don't delete the object in ListDel.
Packit 8f70b4
Packit 8f70b4
2007-03-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: tell target to find file size before requesting
Packit 8f70b4
	  source to get file information - this avoids HEAD when doing
Packit 8f70b4
	  `get -c' to local destination.
Packit 8f70b4
	* Http.cc, Http.h: try to log error text if it is already available.
Packit 8f70b4
	* HttpDir.cc, misc.cc, misc.h: move remove_tags to misc.
Packit 8f70b4
	* buffer.cc, buffer.h: (ZeroTerminate) new method.
Packit 8f70b4
	* xmalloc.h: (xstring) new class.
Packit 8f70b4
Packit 8f70b4
2007-02-27  Damon Harper <gnu@usrbin.ca>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: new option --only-existing.
Packit 8f70b4
Packit 8f70b4
2007-02-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
        * CmdExec.cc, FileAccess.cc, FileCopy.cc, Filter.cc,
Packit 8f70b4
	  FindJob.cc, Fish.cc, GetFileInfo.cc, GetPass.cc, Http.cc,
Packit 8f70b4
	  LocalAccess.cc, MirrorJob.cc, NetAccess.cc, OutputJob.cc,
Packit 8f70b4
	  PtyShell.cc, QueueFeeder.cc, ResMgr.cc, SFtp.cc, StringSet.cc,
Packit 8f70b4
	  alias.cc, buffer.cc, commands.cc, lftp.cc, misc.cc: use xstrset
Packit 8f70b4
	  to assign dynamic strings.
Packit 8f70b4
	* commands.cc: -p option has priority over the url.
Packit 8f70b4
Packit 8f70b4
2007-01-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: use default closure feature of ResClient;
Packit 8f70b4
	  clear ls cache when ftp:list-options changes.
Packit 8f70b4
	* xmalloc.cc, xmalloc.h: (xstrset) new function.
Packit 8f70b4
	* ftpclass.cc: use xstrset.
Packit 8f70b4
Packit 8f70b4
2007-01-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc, misc.h, Fish.cc, Fish.h: move shell_encode to misc.cc.
Packit 8f70b4
	* MirrorJob.cc: use shell_encode to quote properly file names for shell;
Packit 8f70b4
	  this fixes potential security vulnerability when one generates a
Packit 8f70b4
	  script with mirror --script and then executes it.
Packit 8f70b4
Packit 8f70b4
2006-12-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Cache.h: (Cache::AddCacheEntry) new method.
Packit 8f70b4
	* Resolver.cc, Resolver.h, LsCache.cc, LsCache.h: use it.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: (ResClient) new base class for resource users.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, Resolver.h, Resolver.cc,
Packit 8f70b4
	  Speedometer.cc, Speedometer.h: use it.
Packit 8f70b4
	* misc.h: add list macros.
Packit 8f70b4
Packit 8f70b4
2006-12-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Timer.cc, Timer.h: reset timer when creating it from TimeInterval,
Packit 8f70b4
	  this fixes sleep command; (re_set) forced resetting; use it.
Packit 8f70b4
Packit 8f70b4
2006-12-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: remove obsolete note about infinite cache size.
Packit 8f70b4
Packit 8f70b4
2006-12-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SMTask.cc, SMTask.h: eliminate sched_total and the need to merge
Packit 8f70b4
	  multiple block vectors; tasks set the global SMTask::block directly.
Packit 8f70b4
	* Job.cc: (WaitDone) make it more robust - protect from deleting the
Packit 8f70b4
	  jobs we wait for.
Packit 8f70b4
Packit 8f70b4
2006-12-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: reset timeout_timer when waiting for transfer
Packit 8f70b4
	  confirmation; reset it when sending a command after some idle
Packit 8f70b4
	  time; (Read) fixed check for null iobuf.
Packit 8f70b4
	* Timer.cc: (Reset) reset only to a later time.
Packit 8f70b4
Packit 8f70b4
2006-11-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: (--on-change) new option.
Packit 8f70b4
	* log.cc, log.h: optimize Log::Format for when the message is not
Packit 8f70b4
	  going to be output.
Packit 8f70b4
	* buffer.cc, buffer.h, ftpclass.cc, ftpclass.h: (DataTranslator) new
Packit 8f70b4
	class; use it in DirectedBuffer; (DataRecoder) new class for charset
Packit 8f70b4
	conversion; use DataTranslator in IOBufferTelnet; skip 3-byte telnet
Packit 8f70b4
	commands; optimize buffer data movement.
Packit 8f70b4
Packit 8f70b4
2006-10-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.cc: clear and reset cp when a sub-job finishes (fixes
Packit 8f70b4
	  coredump in mget).
Packit 8f70b4
Packit 8f70b4
2006-09-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: use Delete on SMTask derivative Speedometer.
Packit 8f70b4
	* SMTask.cc: add debug print when deleting running task.
Packit 8f70b4
	* FileAccess.cc: fixed coredump when path.url is null after Change.
Packit 8f70b4
	* CopyJob.cc: Delete done CopyJob - fix a leak.
Packit 8f70b4
Packit 8f70b4
2006-08-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FileSet.h, MirrorJob.cc, MirrorJob.h, resource.cc:
Packit 8f70b4
	  new mirror option --skip-noaccess and setting mirror:skip-noaccess.
Packit 8f70b4
	  (FileSet::ExcludeUnaccessible) new method.
Packit 8f70b4
Packit 8f70b4
2006-08-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, QueueFeeder.h, commands.cc: add settings
Packit 8f70b4
	  cmd:parallel and cmd:queue-parallel; backout QueueFeeder changes;
Packit 8f70b4
	  drop queue --parallel option.
Packit 8f70b4
Packit 8f70b4
2006-08-22  Markus Schoder <lists@gammarayburst.de>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, commands.cc, QueueFeeder.h: add queue --parallel option.
Packit 8f70b4
Packit 8f70b4
2006-08-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SMTask.h: drop MakeRef macro, it makes trouble with multiple arg evaluation.
Packit 8f70b4
Packit 8f70b4
2006-08-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, resource.cc: add mirror:include-regex setting.
Packit 8f70b4
Packit 8f70b4
2006-08-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h, commands.cc,
Packit 8f70b4
	  FindJobDu.cc, FindJobDu.h: update for new human_readable; use enum
Packit 8f70b4
	  for long options.
Packit 8f70b4
	* MirrorJob.cc: use enum for long options.
Packit 8f70b4
	* ftpclass.cc: load ssl keys for data connection.
Packit 8f70b4
	* resource.cc: new setting ftp:ssl-data-use-keys.
Packit 8f70b4
Packit 8f70b4
2006-08-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: disable ssl on errors if not forced.
Packit 8f70b4
	* Timer.cc: fix timer chain head corruption.
Packit 8f70b4
Packit 8f70b4
2006-08-02  Daniel Black <dragonheart@gentoo.org>
Packit 8f70b4
Packit 8f70b4
	* Makefile.am: fix linking with modules and socks.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, ConnectionSlot.cc, Job.cc: save url returned
Packit 8f70b4
	  from GetConnectURL from overwriting by next GetConnectURL call.
Packit 8f70b4
	* lftp_ssl.cc: don't free cred if it was not allocated.
Packit 8f70b4
Packit 8f70b4
2006-08-01  Pascal Bleser <pascal.bleser@skynet.be>
Packit 8f70b4
Packit 8f70b4
	* Makefile.am: fixed install with modules.
Packit 8f70b4
Packit 8f70b4
2006-07-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc: fixed proto comparision when using hftp with ftp url scheme.
Packit 8f70b4
Packit 8f70b4
2006-07-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FileSet.h: optimize FileSet::Merge.
Packit 8f70b4
	* NetAccess.cc: make sure FileSet is properly sorted after tilde
Packit 8f70b4
	  transformation.
Packit 8f70b4
Packit 8f70b4
2006-07-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: change use_propfind_now in Reconfig.
Packit 8f70b4
	* FileAccess.cc: add references to classes which are used in modules,
Packit 8f70b4
	  this fixes static compilation.
Packit 8f70b4
	* lftp.cc: remove DirColors reference (in FileAccess.cc now).
Packit 8f70b4
	* Makefile.am: better use of libtool capabilities.
Packit 8f70b4
Packit 8f70b4
2006-07-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: use timestamp only if it's precise.
Packit 8f70b4
	* HttpDir.cc: fix month off-by-one.
Packit 8f70b4
	* FileCopy.cc: use SetSize so that seek_pos gets changed from FILE_END;
Packit 8f70b4
	  debug state changes.
Packit 8f70b4
	* Makefile.am: use liblib.la; don't use lib for includes.
Packit 8f70b4
Packit 8f70b4
2006-07-22  Nix  <nix@esperi.org.uk>
Packit 8f70b4
Packit 8f70b4
        Adapt to synch with gnulib-20060722.
Packit 8f70b4
Packit 8f70b4
        * ChmodJob.cc: filemode.h needs CDECL guards.
Packit 8f70b4
        * ChmodJob.cc (ChmodJob): mode_free() is gone, just free() now.
Packit 8f70b4
        * ChmodJob.cc (GetMode): Adjust mode_adjust() prototype, keeping
Packit 8f70b4
        current behaviour by deactivating umasking (which is meaningless
Packit 8f70b4
        on remote systems in any case).
Packit 8f70b4
        * ChmodJob.cc (CurrentFinished): mode_string() is now named strmode().
Packit 8f70b4
        * ChmodJob.cc (RelativeMode): mode_change is now an array, not a
Packit 8f70b4
        linked list.
Packit 8f70b4
        * ColumnOutput.cc (append): mbswidth()'s flags have flipped.
Packit 8f70b4
        * FindJobDu.cc (print_size): human_readable() and human_readable_inexact()
Packit 8f70b4
        have merged.
Packit 8f70b4
        * FileSetOutput.cc: filemode.h needs CDECL guards.
Packit 8f70b4
        * FileSetOutput.cc (print): human_readable(), mode_string() and mbswidth
Packit 8f70b4
        flag changes as above.
Packit 8f70b4
        * MirrorJob.cc (ShowRunStatus): mbswidth flag changes.
Packit 8f70b4
        * StatusLine.cc (update): Likewise.
Packit 8f70b4
        * commands.cc (CMD): Likewise.
Packit 8f70b4
        * misc.cc (squeeze_file_name): Likewise.
Packit 8f70b4
Packit 8f70b4
        * filemode.c: Synched with gnulib; moved to lib/.
Packit 8f70b4
        * human.c: Likewise.
Packit 8f70b4
        * modechange.c: Likewise.
Packit 8f70b4
        * xstrtol.c: Likewise.
Packit 8f70b4
        * xstrtoul.c: Likewise.
Packit 8f70b4
Packit 8f70b4
        * mbswidth.c: Synched with gnulib.
Packit 8f70b4
        * mbswidth.h: New, from gnulib.
Packit 8f70b4
        * wcwidth.h: Likewise.
Packit 8f70b4
Packit 8f70b4
        * Makefile.am (liblftp_tasks_la_SOURCES): Remove stuff that's
Packit 8f70b4
        moved to lib/.
Packit 8f70b4
        * Makefile.am (liblftp_jobs_la_SOURCES): This depends on
Packit 8f70b4
        liblftp-tasks.la.
Packit 8f70b4
        * Makefile.am (INCLUDES): Include from lib/.
Packit 8f70b4
Packit 8f70b4
2006-07-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: add --user and --password options for open.
Packit 8f70b4
Packit 8f70b4
2006-07-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: use ascii mode for ls, as before.
Packit 8f70b4
Packit 8f70b4
2006-07-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: update help for pget.
Packit 8f70b4
Packit 8f70b4
2006-07-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h, ftpclass.cc, Http.cc: don't load keys/certs
Packit 8f70b4
	  for ftp data connection.
Packit 8f70b4
Packit 8f70b4
2006-07-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SleepJob.cc: disable option reordering in repeat; small cleanup.
Packit 8f70b4
	* pgetJob.cc: fix a coredump.
Packit 8f70b4
Packit 8f70b4
2006-07-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, Http.cc: (SetLimit) new method;
Packit 8f70b4
	  (UNKNOWN_POS) new constant; move FILE_END here.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: use SetLimit; move FILE_END to FileAccess.h.
Packit 8f70b4
Packit 8f70b4
2006-07-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CopyJob.h: (SetRangeLimit) new method.
Packit 8f70b4
	* FileCopy.h: (SetRangeLimit) new method; make SetRange seek when needed.
Packit 8f70b4
	* pgetJob.cc, pgetJob.h: add explicit start0 and limit0 members for chunk 0;
Packit 8f70b4
	  read position for chunk 0 before trying to fetch it (when pget_cont).
Packit 8f70b4
Packit 8f70b4
2006-06-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, ResMgr.h, resource.cc, Cache.h: rename ResDecl to ResType;
Packit 8f70b4
	  make ResDecl a derived from ResType; make resources a static array
Packit 8f70b4
	  of structures (to save on constructors); make ResDecls class to
Packit 8f70b4
	  register bulk of ResType's.
Packit 8f70b4
	* GetJob.cc, GetJob.h: add truncate_target_first flag (for pget).
Packit 8f70b4
	* pgetJob.cc, pgetJob.h, MirrorJob.cc, commands.cc: support pget -c.
Packit 8f70b4
Packit 8f70b4
2006-06-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* GetJob.cc, GetJob.h, pgetJob.cc, pgetJob.h: simplify copy peer
Packit 8f70b4
	  creation; pass url from pget to CreateCopyPeer (this fixes
Packit 8f70b4
	  pget http://...?args).
Packit 8f70b4
	* resource.cc, ftpclass.cc: add use-allo setting.
Packit 8f70b4
Packit 8f70b4
2006-06-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, FileCopy.cc, FileCopy.h: support for ALLO command; get file size
Packit 8f70b4
	  for local sources in any case.
Packit 8f70b4
	* Fish.cc: use GNU head if available for upload; use a larger bs for dd in upload
Packit 8f70b4
	  and count characters with wc -c (a great speed up for both cases). A fixed
Packit 8f70b4
	  version of script by Dmitry Butskoj <buc@odusz.so-cdu.ru> was used (from mc).
Packit 8f70b4
Packit 8f70b4
2006-06-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* StatusLine.cc: handle prev_line==0 case (fixes coredump).
Packit 8f70b4
Packit 8f70b4
2006-06-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: new options for repeat (--while-ok, --until-ok).
Packit 8f70b4
Packit 8f70b4
2006-06-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SleepJob.cc, SleepJob.h, commands.cc: new options for repeat (--count, --delay).
Packit 8f70b4
	* NetAccess.cc, NetAccess.h, Http.cc: drop two arg SetSocketBuffer and
Packit 8f70b4
	  SetSocketMaxseg methods.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: move abor_close_timer to Ftp::Connection;
Packit 8f70b4
	  init it from resource ftp:abor-max-wait; read and discard data from aborted
Packit 8f70b4
	  data connection.
Packit 8f70b4
Packit 8f70b4
2006-06-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: use TimeInterval two arg ctor.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: use abor_close_timer instead of abor_time;
Packit 8f70b4
	  use Time::Passed and TimeDiff vs int cmp.
Packit 8f70b4
	* Timer.cc, Timer.h: new method IsInfty; reset event when start==now.
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: fix normalize for negative msec;
Packit 8f70b4
	  inline lt; new method Time::Passed; comparision of TimeDiff with
Packit 8f70b4
	  int seconds.
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: use Timer.
Packit 8f70b4
	* commands.cc: don't use Ascii for quote, this fixes `quote POST'.
Packit 8f70b4
Packit 8f70b4
2006-06-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* DummyProto.cc, DummyProto.h, : const everywhere.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: consts; drop url member; new cache; ClassCleanup.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, Fish.cc, Fish.h, FtpDirList.cc,
Packit 8f70b4
	  FtpListInfo.cc, GetFileInfo.cc, Http.cc, Http.h, HttpDir.cc,
Packit 8f70b4
	  Job.cc, LocalAccess.cc, LocalAccess.h, NetAccess.cc, NetAccess.h,
Packit 8f70b4
	  SFtp.cc, SFtp.h, commands.cc, ftpclass.cc, ftpclass.h: const; new cache.
Packit 8f70b4
	* Cache.cc, Cache.h: new files; base Cache class.
Packit 8f70b4
	* LsCache.cc, LsCache.h, Resolver.cc, Resolver.h: use base Cache class.
Packit 8f70b4
	* Makefile.am: add Cache files.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: consts.
Packit 8f70b4
	* Timer.cc, Timer.h: add ctor from resource/closure; drop iterators.
Packit 8f70b4
	* lftp.cc: call FileAccess::ClassCleanup; ajust max tasks left.
Packit 8f70b4
Packit 8f70b4
2006-06-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, FtpDirList.cc, HttpDir.cc, SFtp.cc, NetAccess.cc: cache is now enabled per host.
Packit 8f70b4
	* LsCache.cc, LsCache.h: derive LsCache from Timer; drop expire_helper.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: add ResMgr::SimpleQuery(ResDecl); optimize queries.
Packit 8f70b4
	* SMTask.cc, SMTask.h: add PrintTasks debug method.
Packit 8f70b4
	* TimeDate.h: add TimeInterval comparisions.
Packit 8f70b4
	* Timer.cc, Timer.h: add Iterate* methods; add TimeLeft method.
Packit 8f70b4
	* commands.cc: call PrintTasks from .tasks command.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, NetAccess.cc, NetAccess.h: make Connect
Packit 8f70b4
	  and ConnectVerify non-virtual; init timers in ResetLocationData.
Packit 8f70b4
	* Timer.cc, Timer.h: add ResetDelayed method; drop Reset(time_t).
Packit 8f70b4
	* buffer.h: make event_time of type Time.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: use Timer for STAT timing.
Packit 8f70b4
Packit 8f70b4
2006-05-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: use correct ctor of Timer.
Packit 8f70b4
	* IdNameCache.cc, IdNameCache.h: don't use Delete for Timer.
Packit 8f70b4
	* SMTask.cc: use Timer timeout and call Timer::ReconfigAll.
Packit 8f70b4
	* TimeDate.h: drop unneeded operators.
Packit 8f70b4
	* Timer.cc, Timer.h: don't inherit from SMTask for efficiency.
Packit 8f70b4
	* ftpclass.cc: don't call Timer::Reconfig - not needed now.
Packit 8f70b4
Packit 8f70b4
2006-05-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: move Poll and CheckHangup to NetAccess;
Packit 8f70b4
	  drop event_time member and BumpEventTime method.
Packit 8f70b4
	* Fish.cc, Http.cc, SFtp.cc, ftpclass.cc, ftpclass.h: use
Packit 8f70b4
	  timeout_timer.Reset instead of BumpEventTime.
Packit 8f70b4
	* NetAccess.cc, NetAccess.h: drop timeout member; add timeout_timer;
Packit 8f70b4
	  drop duplicate member retries (fixes a bug).
Packit 8f70b4
	* TimeDate.h: make time_t operator const.
Packit 8f70b4
	* Timer.cc, Timer.h: allow Reset from Time or Timer; reset only to a
Packit 8f70b4
	  later time.
Packit 8f70b4
Packit 8f70b4
2006-05-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, Http.cc, NetAccess.cc, NetAccess.h, Resolver.cc, Resolver.h,
Packit 8f70b4
	  SFtp.cc, ftpclass.cc, ftpclass.h: use Timer for net:idle, dns:fatal-timeout.
Packit 8f70b4
	* ResMgr.h, TimeDate.h: add default TimeInterval{R,} ctors.
Packit 8f70b4
	* LsCache.cc: use TimeIntervalR to convert string to TimeInterval.
Packit 8f70b4
	* Timer.h, Timer.cc: add const; new methods GetLastSetting, TimePassed,
Packit 8f70b4
	  TimeRemains.
Packit 8f70b4
	* misc.h: move MINUTE, HOUR, DAY to TimeDate.h.
Packit 8f70b4
	* resource.cc: change net:idle format to TimeInterval.
Packit 8f70b4
	* SleepJob.cc: use SMTask::now.
Packit 8f70b4
	* SMTask.cc, SMTask.h, lftp.cc: use TimeInterval and Timer in RollAll.
Packit 8f70b4
	* Timer.cc, Timer.h: use TimeInterval in Set.
Packit 8f70b4
Packit 8f70b4
2006-05-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, FileSetOutput.cc, Fish.cc, Http.cc, Resolver.cc,
Packit 8f70b4
	  SFtp.cc, SMTask.cc, ftpclass.cc: explicitly request unix time.
Packit 8f70b4
	* LsCache.cc: use numeric TimeInterval ctor.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: split off TimeIntervalR from TimeInterval;
Packit 8f70b4
	  move TimeInterval to TimeDate.{cc,h}.
Packit 8f70b4
	* Resolver.cc: use TimeInterval::Finished method.
Packit 8f70b4
	* SleepJob.cc, SleepJob.h: use Time; TimeInterval::GetTimeout.
Packit 8f70b4
	* Speedometer.cc: explicitly create TimeDiff.
Packit 8f70b4
	* TimeDate.cc, TimeDate.h: optimize time_tuple and Time methods;
Packit 8f70b4
	  move TimeInterval here.
Packit 8f70b4
	* Timer.cc: use TimeIntervalR.
Packit 8f70b4
	* ftpclass.cc: close aborted data connection in few seconds after ABOR;
Packit 8f70b4
	  don't use ABOR just after another command.
Packit 8f70b4
	* ftpclass.h: add abor_time and last_cmd_time members.
Packit 8f70b4
Packit 8f70b4
2006-05-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: fixed dyn_cmd_table initialization - last static command
Packit 8f70b4
	  was overwritten due to off-by-one error.
Packit 8f70b4
Packit 8f70b4
2006-05-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, SFtp.cc, resource.cc: add support for recoding in fish
Packit 8f70b4
	  and sftp (version<4); new settings fish:charset, sftp:charset.
Packit 8f70b4
Packit 8f70b4
2006-05-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed compilation without ssl.
Packit 8f70b4
	* SMTask.cc, SMTask.h: fix compilation with some compilers (e.g. sun).
Packit 8f70b4
	* commands.cc: support auto-rename in get1.
Packit 8f70b4
	* FileCopy.h: add AutoRename method.
Packit 8f70b4
	* Http.cc: fixed extraction of suggested file name; fixed decoding
Packit 8f70b4
	  of chunked transfers when content-length is explicitly known.
Packit 8f70b4
Packit 8f70b4
2006-04-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add zlib version; wrap library line nicely.
Packit 8f70b4
Packit 8f70b4
2006-04-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: init ssl layer after connection through http proxy is
Packit 8f70b4
	  established.
Packit 8f70b4
	* commands.cc: pass port to FileAccess::New along with hostname, this
Packit 8f70b4
	  fixes opening sites with explicit port (it could either use default
Packit 8f70b4
	  port or spin).
Packit 8f70b4
Packit 8f70b4
2006-04-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ArgV.cc, ArgV.h: include getopt.h in the header.
Packit 8f70b4
	* CmdExec.cc: add defaults for session and cwd when creating CmdExec.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: make sure classes are inited; add port
Packit 8f70b4
	  argument for New method; do Connect in New.
Packit 8f70b4
	* Job.cc, Job.h: add WaitDone method.
Packit 8f70b4
	* MirrorJob.cc: no need to include getopt.h.
Packit 8f70b4
	* ResMgr.h, resource.cc: add class_inited static member.
Packit 8f70b4
	* commands.cc: move history command to lftp.cc.
Packit 8f70b4
	* ftpclass.cc: handle PRET errors.
Packit 8f70b4
	* getdate.y: use plain free.
Packit 8f70b4
	* lftp.cc: move history here; ClassInit's are called automatically now;
Packit 8f70b4
	  use Job::WaitDone.
Packit 8f70b4
	* log.h: add ShowNothing method.
Packit 8f70b4
	* example1.cc, example2.cc: fixed for new interfaces.
Packit 8f70b4
	* example1-cmd.cc: new example.
Packit 8f70b4
	* example-module1.cc: new example.
Packit 8f70b4
Packit 8f70b4
2006-04-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc, Fish.cc: send password twice if needed, it handles the case
Packit 8f70b4
	  of a protected private key.
Packit 8f70b4
Packit 8f70b4
2006-04-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopyOutputJob.cc: don't return MOVED if nothing changed, this
Packit 8f70b4
	  fixes rare spinning.
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, lftp.cc: rename top_exec to CmdExec::top;
Packit 8f70b4
	  add CmdExec::Exit method.
Packit 8f70b4
	* Job.cc: don't show status of deleted jobs.
Packit 8f70b4
	* commands.cc: add exit options: top, kill; accept exit code along
Packit 8f70b4
	  with options.
Packit 8f70b4
Packit 8f70b4
2006-03-31  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: get exit_code before AtExit, so it is not changed by
Packit 8f70b4
	  cmd:at-exit commands.
Packit 8f70b4
	* Http.cc: workaround some servers' problem with size>2G.
Packit 8f70b4
Packit 8f70b4
2006-03-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: make scheduler run after ssl handshake - this fixes
Packit 8f70b4
	  ftp upload hang when the file is empty.
Packit 8f70b4
Packit 8f70b4
2006-03-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, resource.cc: add mirror:dereference setting,
Packit 8f70b4
	  --no-dereference, --perms options.
Packit 8f70b4
Packit 8f70b4
2006-03-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FindJob.cc, FindJob.h: add PROCESSING state, so Chdir
Packit 8f70b4
	  is not called continuously.
Packit 8f70b4
	* LsCache.cc: use Path::Change instead of Chdir.
Packit 8f70b4
Packit 8f70b4
2006-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: don't create target file if source does not exist.
Packit 8f70b4
	* Job.cc: don't delete killed job right not; CollectGarbage after
Packit 8f70b4
	  KillAll or Cleanup, don't delete the jobs in loop.
Packit 8f70b4
	* Job.h: make Kill and KillAll static; add Cleanup method.
Packit 8f70b4
	* commands.cc: show done jobs before exit.
Packit 8f70b4
	* lftp.cc: do Job::Cleanup before termination.
Packit 8f70b4
	* resource.cc: change http:use-propfind default to no.
Packit 8f70b4
Packit 8f70b4
2006-02-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: Close session in Chdir, VerifyPath
Packit 8f70b4
	  (fixed coredump).
Packit 8f70b4
	* LsCache.cc: avoid Chdir, as it Closes session.
Packit 8f70b4
	* FileCopy.cc: use SMTask ref count.
Packit 8f70b4
	* SMTask.cc, SMTask.h: (ref_count) new member.
Packit 8f70b4
	* ftpclass.cc: remove unneeded abort().
Packit 8f70b4
Packit 8f70b4
2006-02-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fixed condition when exact time is needed for cls.
Packit 8f70b4
Packit 8f70b4
2006-02-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fixed a stupid bug with cls (time-style).
Packit 8f70b4
	* resource.cc: assign env TIME_STYLE to cmd:time-style.
Packit 8f70b4
Packit 8f70b4
2006-02-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSetOutput.cc, commands.cc: add cmd:time-style setting.
Packit 8f70b4
Packit 8f70b4
2006-01-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: use PROPFIND for cd check before HEAD.
Packit 8f70b4
Packit 8f70b4
2006-01-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSetOutput.cc, FileSetOutput.h, commands.cc: add cls --time-style
Packit 8f70b4
	  option.
Packit 8f70b4
Packit 8f70b4
2006-01-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* complete.cc: fixed an abortion when cmd:remote-completion is false.
Packit 8f70b4
	* lftp_ssl.cc: don't do shutdown/bye, as it makes problems with CCC.
Packit 8f70b4
	* Makefile.am: use automake conditionals to select modules to build.
Packit 8f70b4
Packit 8f70b4
2005-12-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, Filter.cc, Fish.cc, FtpListInfo.cc, Http.cc, HttpDir.cc,
Packit 8f70b4
	  ftpclass.cc, keyvalue.cc: handle return values (fix warnings).
Packit 8f70b4
	* Makefile.am: install shared libs liblftp-tasks and liblftp-jobs;
Packit 8f70b4
	  don't make static libs when not needed.
Packit 8f70b4
Packit 8f70b4
2005-12-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FtpListInfo.cc, bookmark.cc, ftpclass.cc, history.cc,
Packit 8f70b4
	  misc.cc, netrc.cc, keyvalue.cc: handle return values (fix warnings).
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: add TimeInterval::Set method.
Packit 8f70b4
	* Resolver.cc, resource.cc: add dns:max-retries setting; prefer
Packit 8f70b4
	  getaddrinfo if available; change dns:fatal-timeout to TimeInterval type.
Packit 8f70b4
	* lftp_ssl.cc: treat GNUTLS_E_UNEXPECTED_PACKET_LENGTH as EOF indicator;
Packit 8f70b4
	  output a warning when that error appears.
Packit 8f70b4
	* FileCopy.cc: try to put available data in case of `get' error;
Packit 8f70b4
	  optimize line-buffering.
Packit 8f70b4
	* misc.cc, misc.h: (memrchr) new function.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: (Connection::CloseDataSocket) new method;
Packit 8f70b4
	  close data socket in case of data connection error for the case
Packit 8f70b4
	  when error handling is delayed.
Packit 8f70b4
Packit 8f70b4
2005-12-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: add libiconv version to `version' output.
Packit 8f70b4
Packit 8f70b4
2005-12-15  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, rmJob.h, commands.cc: don't remove directories
Packit 8f70b4
	  recursively when NO_RECURSION flag is set; drop rmdirJob class;
Packit 8f70b4
	  add rmJob::Rmdir method.
Packit 8f70b4
	* SMTask.h, LsCache.cc: (SMTask::DeleteLater) new method; use it.
Packit 8f70b4
Packit 8f70b4
2005-12-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fix netrc usage when no user name is given.
Packit 8f70b4
	* ftpclass.cc: flush cache when changing charset.
Packit 8f70b4
Packit 8f70b4
2005-12-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, commands.cc: show all queued commands on `queue' command;
Packit 8f70b4
	  clear done jobs even if queue is stopped.
Packit 8f70b4
Packit 8f70b4
2005-12-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: support open ranges.
Packit 8f70b4
Packit 8f70b4
2005-12-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc: fix guess_year for month boundary.
Packit 8f70b4
	* ftpclass.cc: another fix for sun c++ compiler.
Packit 8f70b4
	* lftp_tinfo.cc: use termcap.h if available and no curses; fix usage of tgetstr.
Packit 8f70b4
Packit 8f70b4
2005-11-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: add --max-errors option.
Packit 8f70b4
	* SFtp.cc, SFtp.h: add support for sftp version 5 and 6.
Packit 8f70b4
Packit 8f70b4
2005-11-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CatJob.cc: use DEFAULT_PAGER.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: add suggested_filename member; copy it
Packit 8f70b4
	  from get to put; add auto_rename member; prepare for automatic renaming.
Packit 8f70b4
	* ftpclass.cc: fix compilation with Sun comiler.
Packit 8f70b4
Packit 8f70b4
2005-11-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: set handshake_done for openssl - this fixes IOBufferSSL::Done().
Packit 8f70b4
Packit 8f70b4
2005-11-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileSet.cc, FileSet.h: add new filtering modes - SubtractNewerThan,
Packit 8f70b4
	  SubtractSizeOutside.
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: add --size-range and --older-than options.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: change Range to use long long; fixed a bug with
Packit 8f70b4
	  start/end reversed.
Packit 8f70b4
Packit 8f70b4
2005-11-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, ftpclass.h: allow PROT command to be used
Packit 8f70b4
	  after CCC; issue PROT before CCC if all transfers has to be
Packit 8f70b4
	  protected; open data ssl layer when PROT=P even after CCC.
Packit 8f70b4
Packit 8f70b4
2005-11-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, buffer.h: move doubling of IAC to proper level,
Packit 8f70b4
	  that is do it in IOBufferTelnet.
Packit 8f70b4
Packit 8f70b4
2005-11-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed handling of 334 reply to AUTH command.
Packit 8f70b4
Packit 8f70b4
2005-11-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fix compilation without ssl.
Packit 8f70b4
	* lftp_rl.c: fix compilation with some compilers.
Packit 8f70b4
Packit 8f70b4
2005-11-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Resolver.cc: fix compilation when dn_expand is not declared (e.g. HP-UX).
Packit 8f70b4
	* commands.cc: fix `open -u user URL'.
Packit 8f70b4
	* ftpclass.cc, ftpclass.h, resource.cc: add ftp:ssl-use-ccc setting.
Packit 8f70b4
	* lftp_ssl.cc: shutdown ssl connection before destruction.
Packit 8f70b4
Packit 8f70b4
2005-10-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* bookmarks.cc: (hide_password) move to url.
Packit 8f70b4
	* url.cc, url.h: (hide_password) move here; (remove_password) new
Packit 8f70b4
	  function.
Packit 8f70b4
	* CmdExec.cc: use squeeze_file_name when showing cd status.
Packit 8f70b4
	* misc.cc: (squeeze_file_name) use url::remove_password.
Packit 8f70b4
	* buffer.cc, buffer_ssl.cc: don't return MOVED if we had eof already -
Packit 8f70b4
	  this fixes a rare spinning.
Packit 8f70b4
Packit 8f70b4
2005-10-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: add workaround for proftpd resetting data connection
Packit 8f70b4
	  when there is no files for NLST.
Packit 8f70b4
Packit 8f70b4
2005-10-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, Http.cc: check ReconnectAllowed() after host name
Packit 8f70b4
	  resolving.
Packit 8f70b4
Packit 8f70b4
2005-10-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* misc.cc: (get_lftp_home) return NULL if LFTP_HOME is empty.
Packit 8f70b4
	* history.cc, bookmark.cc, lftp_rl.c: don't read/write anything to
Packit 8f70b4
	  user-specific files if get_lftp_home returns NULL.
Packit 8f70b4
	* FileAccess.cc: swap default SameSiteAs and SameLocationAs, this
Packit 8f70b4
	  fixes loop in `open file:/path'.
Packit 8f70b4
	* SMTask.cc: (CollectGarbage) don't protect scan->next if it is NULL.
Packit 8f70b4
Packit 8f70b4
2005-10-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SMTask.cc, SMTask.h: do delete the task in Delete if not running;
Packit 8f70b4
	  (CollectGarbage) protect next element in chain when deleting one task.
Packit 8f70b4
	* Job.cc: (BuryDoneJobs) avoid looping caused by Delete not
Packit 8f70b4
	  always deleting the task.
Packit 8f70b4
	* misc.cc, misc.h: (get_lftp_home) new function.
Packit 8f70b4
	* bookmark.cc, commands.cc, history.cc, import-ncftp, import-netscape,
Packit 8f70b4
	  lftp.cc, lftp_rl.c: use it (based on patch by Nikolai Weibull
Packit 8f70b4
	  <mailing-lists.lftp-development@rawuncut.elitemail.org>).
Packit 8f70b4
Packit 8f70b4
2005-10-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SMTask.cc, SMTask.h: simplify Schedule; make garbage collection
Packit 8f70b4
	  a separate function; don't delete the task in Delete, just mark
Packit 8f70b4
	  it for GC.
Packit 8f70b4
	* ProcWait.cc: don't rely on Delete to delete the task, just mark
Packit 8f70b4
	  it for deletion.
Packit 8f70b4
Packit 8f70b4
2005-10-17  Paul TBBle Hampson <Paul.Hampson@anu.edu.au>
Packit 8f70b4
Packit 8f70b4
	* lftp.cc: add missing initialization for add_newline.
Packit 8f70b4
Packit 8f70b4
2005-10-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: use xfer:destination-directory only for get/mget,
Packit 8f70b4
	  not for put/mput.
Packit 8f70b4
Packit 8f70b4
2005-10-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Job.cc: fixed another coredump with KillAll/Schedule.
Packit 8f70b4
Packit 8f70b4
2005-10-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Job.cc, Job.h: fixed core dump with KillAll.
Packit 8f70b4
	* HttpDir.cc: fixed prefix path removing.
Packit 8f70b4
Packit 8f70b4
2005-10-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: skip all spaces in FEAT reply to workaround some
Packit 8f70b4
	  broken servers.
Packit 8f70b4
Packit 8f70b4
2005-09-30  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc, resource.cc: new setting xfer:destination-directory.
Packit 8f70b4
Packit 8f70b4
2005-09-27  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.h: make handshake_done public.
Packit 8f70b4
	* lftp_ssl.cc: do_handshake even when writing no data.
Packit 8f70b4
	* buffer_ssl.cc, buffer_ssl.h: call ssl->write even with no data
Packit 8f70b4
	  when handshake is not done yet; (Done) check handshake_done -
Packit 8f70b4
	  this fixes a bug with uploading empty files.
Packit 8f70b4
	* ftpclass.cc: check buf->Done instead of Size.
Packit 8f70b4
Packit 8f70b4
2005-09-26  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: simplify path combination; pre-encode %2F for hftp.
Packit 8f70b4
	* HttpDir.cc: ignore special and closing tags; move workaround for
Packit 8f70b4
	  broken proxies to handle all links; specially handle empty paths.
Packit 8f70b4
	* FileAccess.cc: don't change url when going up .. - simply drop it.
Packit 8f70b4
Packit 8f70b4
2005-09-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fixed exit code of slot command.
Packit 8f70b4
Packit 8f70b4
2005-09-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: don't add basename of source dir if target is slot:
Packit 8f70b4
	  or bm: pseudo-url without trailing slash.
Packit 8f70b4
	* history.cc: decode only non-urls.
Packit 8f70b4
	* Http.cc: fix path combination (avoid double slash); use new_cwd->url
Packit 8f70b4
	  when available.
Packit 8f70b4
Packit 8f70b4
2005-09-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: free ca_list and crl_list when an error happens while
Packit 8f70b4
	  loading the certificates. This fixes a core dump.
Packit 8f70b4
Packit 8f70b4
2005-09-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fixed `open host.com/path'; fixed a coredump
Packit 8f70b4
	  when a bookmark contained lots of quotable characters.
Packit 8f70b4
Packit 8f70b4
2005-08-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* parsecmd.cc: return PARSE_AGAIN if the command ends with \0,
Packit 8f70b4
	  which means it is incomplete.
Packit 8f70b4
	* CmdExec.cc: use now instead of time().
Packit 8f70b4
	* StatusLine.cc: use ShowN in Clear so that status line is not
Packit 8f70b4
	  continuously cleared while executing scripts.
Packit 8f70b4
Packit 8f70b4
2005-08-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc: don't try PROPFIND on a file to get file listing.
Packit 8f70b4
Packit 8f70b4
2005-08-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: fixed --loop without --delete (the loop
Packit 8f70b4
	  was infinite if there were files to be deleted).
Packit 8f70b4
Packit 8f70b4
2005-08-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Fish.cc, SFtp.cc: fixed a hang-up in http (and possibly
Packit 8f70b4
	  in other protocols).
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: make Path::Change accept url-encoded
Packit 8f70b4
	  path too.
Packit 8f70b4
	* CmdExec.cc: allow cd redirections to file.
Packit 8f70b4
Packit 8f70b4
2005-08-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h: use FileAccess::Path for old_cwd.
Packit 8f70b4
	* ConnectionSlot.cc, ConnectionSlot.h, FindJob.cc, FindJob.h,
Packit 8f70b4
	  GetFileInfo.cc, GetFileInfo.h, LsCache.cc: use FileAccess::Path.
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: use cwd.url in GetFileURL; new method
Packit 8f70b4
	  PathVerify; set new_cwd->url in SetFileURL; use Path for saved_cwd;
Packit 8f70b4
	  modify url in Path::Change; unset is_file for some known directories;
Packit 8f70b4
	  implement operator== for Path; new method ChdirAccept.
Packit 8f70b4
	* Http.cc: modify url generation using cwd.url and cwd.is_file.
Packit 8f70b4
	* commands.cc: modify cd and open to work with file URLs;
Packit 8f70b4
	  fixed `source' command to return error code on bad files.
Packit 8f70b4
	* history.cc, history.h: save URL in cwd history if present;
Packit 8f70b4
	  add single argument Set method.
Packit 8f70b4
	* url.cc, url.h: (dir_needs_trailing_slash) new function.
Packit 8f70b4
Packit 8f70b4
2005-07-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: don't request date/size information when not needed.
Packit 8f70b4
Packit 8f70b4
2005-07-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.h: fixed a seg fault on empty directories.
Packit 8f70b4
	* LsCache.cc: use replace_value.
Packit 8f70b4
Packit 8f70b4
2005-07-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* resource.cc: make inet6 the first af to lookup.
Packit 8f70b4
	* CmdExec.cc: add cmd:trace setting.
Packit 8f70b4
Packit 8f70b4
2005-06-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: accept AUTH and REST with no arguments in FEAT reply;
Packit 8f70b4
	  use ftp:auto-passive-mode setting.
Packit 8f70b4
	* resource.cc: add ftp:auto-passive-mode setting.
Packit 8f70b4
	* MirrorJob.cc: workaround FreeBSD tcgetpgrp bug.
Packit 8f70b4
Packit 8f70b4
2005-06-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: (FileAccess::Path) new class.
Packit 8f70b4
	* Fish.cc, Http.cc, LocalAccess.cc, SFtp.cc, ftpclass.cc: use it properly.
Packit 8f70b4
	* FileAccess.cc: (Path::ExpandTilde) fix NULL dereference.
Packit 8f70b4
	* Fish.cc: use home_auto; call LsCache::SetDirectory.
Packit 8f70b4
Packit 8f70b4
2005-06-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* bookmarks.cc, bookmarks.h, commands.cc: (bmk:auto-sync) new setting;
Packit 8f70b4
	  (list-p, load, save) new bookmark subcommands.
Packit 8f70b4
Packit 8f70b4
2005-06-22  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: (GetURL) new method; don't delete peers too
Packit 8f70b4
	  early, so info can be get from them after transfer.
Packit 8f70b4
	* CmdExec.cc, CopyJob.h, FileCopy.cc, FileCopy.h, FileSetOutput.cc,
Packit 8f70b4
	  FileSetOutput.h, Fish.cc, Fish.h, FtpDirList.cc, FtpDirList.h,
Packit 8f70b4
	  Http.cc, Http.h, HttpDir.cc, HttpDir.h, OutputJob.cc, OutputJob.h,
Packit 8f70b4
	  SFtp.cc, SFtp.h, SMTask.cc, SMTask.h, buffer.cc, buffer.h,
Packit 8f70b4
	  ftpclass.cc: (SuspendInternal, ResumeInternal, SuspendSlave,
Packit 8f70b4
	  ResumeSlave) new methods to simplify suspend/resume with slave tasks;
Packit 8f70b4
	  make suspend member private, use IsSuspended.
Packit 8f70b4
	* CopyJob.cc, CopyJob.h, Job.h, MirrorJob.cc: (GetBytesCount,
Packit 8f70b4
	  GetTimeSpent) make them virtual; (FormatBytesTimeRate) new method;
Packit 8f70b4
	  use it in mirror.
Packit 8f70b4
Packit 8f70b4
2005-06-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc, CmdExec.h, FileFeeder.cc, FileFeeder.h: add Fg/Bg methods
Packit 8f70b4
	  to CmdFeeder to allow passing terminal to subprocesses; allocate
Packit 8f70b4
	  FgData for FileFeeder.
Packit 8f70b4
	* Filter.cc, Filter.h: move cwd to FDStream; add GetCwd, SetProcGroup
Packit 8f70b4
	  methods.
Packit 8f70b4
	* PtyShell.h: make GetProcGroup const.
Packit 8f70b4
	* ProcWait.h: (GetState) return enum type.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: (FileExecutable) new method; optimize file checking.
Packit 8f70b4
	* commands.cc: use SetCwd instead of Chdir for setting cwd from history.
Packit 8f70b4
	* lftp_ssl.cc: add Fedora-4 ca-bundle location.
Packit 8f70b4
	* misc.cc: fix gcc4 warning.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h, resource.cc: new settings xfer:verify,
Packit 8f70b4
	  xfer:verify-command; verify completely received file.
Packit 8f70b4
	* FileCopy.cc, FileCopy.h: show verify status; fix problems with
Packit 8f70b4
	  xfer:verify=no; show only last line of verify error.
Packit 8f70b4
	* Filter.cc, Filter.h: (StdoutToNull) new method.
Packit 8f70b4
	* verify-file: add rpm support.
Packit 8f70b4
Packit 8f70b4
2005-06-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* CmdExec.cc: fix exit code for redirections.
Packit 8f70b4
Packit 8f70b4
2005-06-14  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, SFtp.cc, Fish.cc, Http.cc: use BumpEventTime
Packit 8f70b4
	  instead of copying event_time in MoveConnectionHere, this fixes
Packit 8f70b4
	  timeout error when net:idle > net:timeout.
Packit 8f70b4
	* Filter.cc, Filter.h: move full_name to base class FDStream.
Packit 8f70b4
	* LsCache.cc, Resolver.cc, Timer.cc: use new TimeInterval ctor.
Packit 8f70b4
	* NetAccess.cc, resource.cc: make net:timeout a TimeInterval.
Packit 8f70b4
	* ResMgr.cc, ResMgr.h: make TimeInterval ctor for ResValue.
Packit 8f70b4
Packit 8f70b4
2005-06-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: improve status line.
Packit 8f70b4
Packit 8f70b4
2005-06-02  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FindJob.cc: don't add a slash for root directory.
Packit 8f70b4
Packit 8f70b4
2005-05-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: make it compatible with gnutls 1.0.x.
Packit 8f70b4
Packit 8f70b4
2005-05-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: fix handling of file names starting with a tilde.
Packit 8f70b4
Packit 8f70b4
2005-05-19  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: fix compilation on AIX 5.1
Packit 8f70b4
	* commands.cc: fixed minor problem with `lftp -u user --help'.
Packit 8f70b4
Packit 8f70b4
2005-05-18  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: use dlsym to find library versions, this fixes
Packit 8f70b4
	  compilation with modules.
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: (LoadCA, LoadCRL) new methods.
Packit 8f70b4
	* lftp.cc: don't call lftp_ssl as it can be modular.
Packit 8f70b4
Packit 8f70b4
2005-05-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, buffer_ssl.h, ftpclass.cc, ftpclass.h, module.cc,
Packit 8f70b4
	  resource.cc: fixed compilation without ssl.
Packit 8f70b4
Packit 8f70b4
2005-05-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: fix coredump when symlink target is unknown.
Packit 8f70b4
	* lftp_ssl.cc: set cert error if cert type is not supported.
Packit 8f70b4
Packit 8f70b4
2005-05-12  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FtpListInfo.cc: add AS/400 parser, handle trailing slash in NLST.
Packit 8f70b4
Packit 8f70b4
2005-05-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc: allow V1 root crt.
Packit 8f70b4
Packit 8f70b4
2005-05-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: fixes compilation with openssl; add instance
Packit 8f70b4
	  to openssl code; improve temp error handling for gnutls.
Packit 8f70b4
	* commands.cc: improve version info.
Packit 8f70b4
Packit 8f70b4
2005-05-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: verify peer certificate chain with gnutls;
Packit 8f70b4
	  load CA and CRL globally; gnutls debugging support.
Packit 8f70b4
	* lftp.cc: deinit ssl.
Packit 8f70b4
	* resource.cc: ssl:*-path are only available with openssl.
Packit 8f70b4
Packit 8f70b4
2005-04-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc, HttpDirXML.cc: replace atoll with sscanf.
Packit 8f70b4
	* GetJob.cc: do expand_home_relative on output file name.
Packit 8f70b4
	* Filter.cc, PtyShell.cc: fix gcc4 warning.
Packit 8f70b4
	* Makefile.am: add gnutls support.
Packit 8f70b4
	* buffer_ssl.cc: use ssl->error member.
Packit 8f70b4
	* lftp_ssl.cc, lftp_ssl.h: implement basic gnutls support.
Packit 8f70b4
Packit 8f70b4
2005-04-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, buffer_ssl.cc, buffer_ssl.h, ftpclass.cc, ftpclass.h,
Packit 8f70b4
	  lftp_ssl.cc, lftp_ssl.h, misc.cc, misc.h: prepare for gnutls
Packit 8f70b4
	  usage - make lftp_ssl class.
Packit 8f70b4
Packit 8f70b4
2005-04-20  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: (data_address_ok) don't return false if no checking
Packit 8f70b4
	  needed and getpeername fails; send CLNT before LANG and OPTS UTF8.
Packit 8f70b4
Packit 8f70b4
2005-04-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: resume recv_buf in Close, this fixes a rare hang.
Packit 8f70b4
Packit 8f70b4
2005-04-07  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: (SFtpListInfo::Do) check if done first, this fixes
Packit 8f70b4
	  looping in SMTask::Roll.
Packit 8f70b4
Packit 8f70b4
2005-04-06  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* NetAccess.cc: retry with LONG_LIST in case of any error with MP_LIST.
Packit 8f70b4
	* MirrorJob.cc: don't let parent mirror act in between our actions;
Packit 8f70b4
	  let other tasks run when ListInfo are created, this fixes mirror
Packit 8f70b4
	  multitasking when using listings from cache.
Packit 8f70b4
Packit 8f70b4
2005-04-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc, MirrorJob.h: add --loop option.
Packit 8f70b4
Packit 8f70b4
2005-04-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h, buffer.cc, buffer.h: (SetErrorCached) new method.
Packit 8f70b4
	* commands.cc: don't quote lftp -c argument when it is single.
Packit 8f70b4
	* FileCopy.cc, Fish.cc, FtpDirList.cc, HttpDir.cc, LsCache.cc, LsCache.h,
Packit 8f70b4
	  NetAccess.cc, SFtp.cc: add negative cache support.
Packit 8f70b4
	* Http.cc: set use-propfind and use-mkcol when those methods are unsupported.
Packit 8f70b4
Packit 8f70b4
2005-04-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: re-request missed data (could happen when file is growing).
Packit 8f70b4
Packit 8f70b4
2005-03-29  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc, HttpDir.h, HttpDirXML.cc: parse invalid XML as html,
Packit 8f70b4
	  this works around some servers that return plain index for PROPFIND.
Packit 8f70b4
Packit 8f70b4
2005-03-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* commands.cc: interpret the rest of line after lftp -c as command.
Packit 8f70b4
	* Http.cc, HttpDir.cc, HttpDir.h, HttpDirXML.cc: use USE_EXPAT define.
Packit 8f70b4
Packit 8f70b4
2005-03-24  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDirXML.cc: fixed coredump when there is no files; added
Packit 8f70b4
	  handler for creator-displayname; check parent node for href.
Packit 8f70b4
Packit 8f70b4
2005-03-13  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* buffer.cc: prevent spinning when disk is full in IOBufferFDStream;
Packit 8f70b4
	  better saving of errno.
Packit 8f70b4
	* Filter.cc, Filter.h: allow passing errno value to MakeErrorText.
Packit 8f70b4
Packit 8f70b4
2005-03-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* HttpDir.cc: extract listing info for HttpListInfo.
Packit 8f70b4
Packit 8f70b4
2005-03-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopyFtp.cc, ftpclass.h: handle timeout when waiting for ack.
Packit 8f70b4
	* misc.cc: (strip_trailing_slashes) don't strip last slash in root directory.
Packit 8f70b4
Packit 8f70b4
2005-03-05  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc: don't strip trailing slash in OptimizePath.
Packit 8f70b4
	* Http.cc: send full URL in Destination header; fix Done for a number
Packit 8f70b4
	  of methods.
Packit 8f70b4
	* misc.cc, misc.h: (strip_trailing_slashes) new function.
Packit 8f70b4
	* mvJob.cc: append basename of target ends with a slash.
Packit 8f70b4
	* ftpclass.cc, resource.cc: (ftp:ignore-pasv-address) new setting.
Packit 8f70b4
	* Http.cc, Http.h: add support for `quote MOVE/COPY'.
Packit 8f70b4
	* FileAccess.cc: set event_time in Open to prevent false timeout.
Packit 8f70b4
Packit 8f70b4
2005-03-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* NetAccess.cc: make TOS changes compile on solaris.
Packit 8f70b4
Packit 8f70b4
2005-03-01  Mark Schreiber <mark7@alumni.cmu.edu>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, NetAccess.cc, NetAccess.h: use TOS on ftp connections.
Packit 8f70b4
Packit 8f70b4
2005-02-25  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc: set C locale before time conversion (fixes Last-Modified
Packit 8f70b4
	  parsing).
Packit 8f70b4
	* FileSetOutput.cc: get time format at run time, not statically.
Packit 8f70b4
	* Http.cc, resource.cc: add use-propfind and use-mkcol settings, turn
Packit 8f70b4
	  them off by default for hftp.
Packit 8f70b4
Packit 8f70b4
2005-02-23  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, HttpDir.cc, HttpDir.h, HttpDirXML.cc: compile without
Packit 8f70b4
	  expat.
Packit 8f70b4
	* SFtp.cc: fix Buffered so that it does not return more than possible.
Packit 8f70b4
	* misc.cc: fix guess_year for timezone mismatches.
Packit 8f70b4
Packit 8f70b4
2005-02-10  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc: more verbose error for NOT_SUPP.
Packit 8f70b4
	* Http.cc: add NOT_SUPP error for MP_LIST mode.
Packit 8f70b4
	* HttpDir.cc, HttpDirXML.cc, HttpDir.h: add support for MP_LIST
Packit 8f70b4
	  transformation into human readable listing.
Packit 8f70b4
	* ftpclass.cc: don't send further commands until data socket is
Packit 8f70b4
	  connected (in sync mode).
Packit 8f70b4
Packit 8f70b4
2005-02-08  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileCopy.cc: split off FileCopyPeerOutputJob.
Packit 8f70b4
	* FileSet.cc, FileSet.h, FileSetOutput.cc, FileSetOutput.h,
Packit 8f70b4
	  commands.cc: add support for reverse sorting.
Packit 8f70b4
	* example2.cc: blocking fix.
Packit 8f70b4
	* FileCopyOutputJob.cc: new file (split from FileCopy.cc).
Packit 8f70b4
	* Makefile.am: move some modules to libtasks, where they belong.
Packit 8f70b4
Packit 8f70b4
2005-02-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* FileAccess.cc, FileAccess.h: move entity_content_type here; add
Packit 8f70b4
	  entity_charset.
Packit 8f70b4
	* FileSet.cc, FileSet.h: (allocated) new member; optimize memory
Packit 8f70b4
	  allocation.
Packit 8f70b4
	* Http.cc, Http.h: make atotm a static method; implement MP_LIST
Packit 8f70b4
	  as PROPFIND; extract entity charset.
Packit 8f70b4
	* HttpDir.cc, HttpDir.h: try MP_LIST; call ParseProps.
Packit 8f70b4
	* HttpDirXML.cc: new file; implement ParseProps.
Packit 8f70b4
Packit 8f70b4
2005-02-03  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc: don't set error when optional STAT or FSTAT return error.
Packit 8f70b4
	* FileGlob.cc: skip ./ in file names so that globbing works with tildes.
Packit 8f70b4
	* FileSet.cc: allow setting name to tail of itself.
Packit 8f70b4
Packit 8f70b4
2005-01-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc, Http.cc, LsCache.cc, SFtp.cc, ftpclass.cc: cast `now' to
Packit 8f70b4
	  time_t explicitly to please some compilers.
Packit 8f70b4
Packit 8f70b4
2005-01-21  Thomas Glanzmann <sithglan@stud.uni-erlangen.de>
Packit 8f70b4
Packit 8f70b4
	* SFtp.cc, Fish.cc, resource.cc: change connect-program to work with
Packit 8f70b4
	  Solaris 9 ssh.
Packit 8f70b4
Packit 8f70b4
2005-01-21  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Fish.cc: make reget more efficient by using larger block size and
Packit 8f70b4
	  dd skip.
Packit 8f70b4
	* Resolver.cc: declare dn_expand and dn_skipname if needed.
Packit 8f70b4
Packit 8f70b4
2005-01-11  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc, TimeDate.cc: fix buffer size handling for strftime.
Packit 8f70b4
Packit 8f70b4
2005-01-09  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: fixed SITE UTIME and overloaded MDTM - send proper
Packit 8f70b4
	  modification time.
Packit 8f70b4
Packit 8f70b4
2005-01-04  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* LocalAccess.cc: move Block'ing to Read and Write, this fixes spinning
Packit 8f70b4
	  if disk is full.
Packit 8f70b4
	* SFtp.cc: fix timeout handling when idle time > timeout.
Packit 8f70b4
Packit 8f70b4
2004-12-28  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* Http.cc, Http.h: (DirFile) new method; use MKCOL, MOVE, add Depth
Packit 8f70b4
	  header for DELETE and support 102 reply (WebDAV preliminary support).
Packit 8f70b4
	* MirrorJob.cc, resource.cc: add mirror:set-permissions setting.
Packit 8f70b4
Packit 8f70b4
2004-12-17  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: use get -O to reduce log size.
Packit 8f70b4
	* commands.cc: add -e for pget.
Packit 8f70b4
Packit 8f70b4
2004-12-16  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* MirrorJob.cc: fixed mirror --no-symlinks.
Packit 8f70b4
	* ftpclass.cc: fixed a core dump.
Packit 8f70b4
Packit 8f70b4
2004-12-01  Alexander V. Lukyanov <lav@yars.free.net>
Packit 8f70b4
Packit 8f70b4
	* ftpclass.cc: add debug message about EOF on data socket.