{ $Project$ $Workfile$ $Revision$ $DateUTC$ $Id$ This file is part of the Indy (Internet Direct) project, and is offered under the dual-licensing agreement described on the Indy website. (http://www.indyproject.org/) Copyright: (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved. } { $Log$ } { Rev 1.73 3/23/2005 5:17:36 AM JPMugaas Removed some unused stuff. Rev 1.72 2/23/2005 6:34:30 PM JPMugaas New property for displaying permissions ina GUI column. Note that this should not be used like a CHMOD because permissions are different on different platforms - you have been warned. Rev 1.71 10/26/2004 9:19:14 PM JPMugaas Fixed references. Rev 1.70 6/14/2004 12:05:50 AM JPMugaas Added support for the following Item types that appear in some Unix listings (particularly a /dev or /tmp dir): FIFO, Socket, Character Device, Block Device. Rev 1.69 4/19/2004 5:04:58 PM JPMugaas Class rework Kudzu wanted. Rev 1.68 2004.02.03 5:44:44 PM czhower Name changes Rev 1.67 24/01/2004 19:16:42 CCostelloe Cleaned up warnings Rev 1.66 1/22/2004 4:19:04 PM SPerry fixed set problems Rev 1.65 11/26/2003 6:22:12 PM JPMugaas IdFTPList can now support file creation time for MLSD servers which support that feature. I also added support for a Unique identifier for an item so facilitate some mirroring software if the server supports unique ID with EPLF and MLSD. Rev 1.64 3/9/2003 12:01:14 PM JPMugaas Now can report errors in recursive lists. Permissions work better. Rev 1.63 2/21/2003 06:54:26 PM JPMugaas The FTP list processing has been restructured so that Directory output is not done by IdFTPList. This now also uses the IdFTPListParserBase for parsing so that the code is more scalable. Rev 1.62 2/17/2003 11:10:12 PM JPMugaas Cisco IOS now supported. Rev 1.61 2/17/2003 04:43:44 PM JPMugaas TOPS20 support Rev 1.60 2/15/2003 10:29:16 AM JPMugaas Added support for some Unix specific facts with MLSD and MLST. Rev 1.59 2/14/2003 05:41:44 PM JPMugaas Moved everything from IdFTPUtils to IdFTPCommon at Kudzu's suggestion. Rev 1.58 2/13/2003 10:04:28 PM JPMugaas Moved some routines out of this unit and into a separate place so the code could be reused better. Rev 1.57 2/13/2003 01:31:56 AM JPMugaas Made sure MLSD output is valid. I also reordered the facts in the MLSD output to match with the FEAT listing. Rev 1.56 2/12/2003 12:23:44 PM JPMugaas Bug Fixes: 1) Blank line starting a recursive list. 2) The ADetails parameter was working in the opposit as it should have been. Rev 1.55 2/12/2003 07:06:06 AM JPMugaas Now honors the following parameters: x - display entrie in columns accross C - diplay entries in columns downward l - long format - standard for many FTP Servers 1 - one entry per line. Rev 1.54 2/11/2003 06:50:34 PM JPMugaas Now supports the following: -X sort by extension -S soft by file size. More consistant with NcFTP Deamon. Rev 1.53 2/11/2003 03:43:00 PM JPMugaas Q - put filename in quotes m - list files and dirs in a comma separated list are now supported. Rev 1.52 2/10/2003 03:05:14 PM JPMugaas Now can read Unix lists with both the owner and group missing. This can if the use sent the -g and -o switches. Rev 1.51 2/10/2003 02:09:28 PM JPMugaas Now can properly process dir output using -s and or -i switches. Note that Inote and Block count may not be parsed properly but it shouldn't cause an error. Rev 1.50 2/8/2003 12:43:24 PM JPMugaas BugFix: In Unix, a time is only reported if the modified date is within 6 monthes of the current date. The code assumed that the time is always given if it's in the same year as the date (not always so). http://www.opengroup.org/onlinepubs/007908799/xbd/utilconv.html#usg Rev 1.49 2/8/2003 11:43:48 AM JPMugaas Made note about LineSet appearing to have two '-'. There are just two charactors that are sometimes rendered the same in some programs. Rev 1.48 2/8/2003 10:41:30 AM JPMugaas inode support for /bin/ls output. Rev 1.47 2/8/2003 04:37:16 AM JPMugaas Rewrote the dir sorting for recurive stuff so that it is more flexible and permits more sorting options. Added support for the "t" parameter and the /bin/ls "f" parameter. Rev 1.46 2/5/2003 10:13:38 PM JPMugaas Added -o, -g, -p parameter support and refined the -F parameter so executable file names are followed by a '*'. Rev 1.44 2/5/2003 02:42:10 PM JPMugaas Now supports the -r parameter for reverse-sorting lists even with recursive dirs. Rev 1.43 2/5/2003 08:43:48 AM JPMugaas Added a ExportLSSwitches property to control the output of Unix list data export. I also added support for the following switches: s - print blocks in List F - add a / to the end of dirs and symbolic links pointing to dirs A - surpress . and .. entries. The switches are the same for the /bin/ls command but we may not support them all. More will follow. Fixed a bug where the file being pointed to was not exported. Rev 1.42 2/4/2003 05:32:52 PM JPMugaas Added ability to export recursive lists in both Unix and MS-DOS styles. Rev 1.41 2/4/2003 09:35:40 AM JPMugaas Now handles Microsoft IIS DIR style with recursive listing. Fix for Recursion with NcFTP and MIcrosoft IIS in Unix DIRSTYLE mode. Fixed Novell Unix Print Services detction and Unix detection. Rev 1.40 2/3/2003 11:03:36 AM JPMugaas Now exports the directory listing into TStrings. Also made it possible to export a "total x" line for Unix style dirs. Rev 1.39 1/27/2003 02:53:18 AM JPMugaas Fixed bug that I mistakenly introduced. Rev 1.38 1/27/2003 02:09:08 AM JPMugaas Now, all permission feilds are empty at creation. If the Unix permission feilds are empty when emulating Unix, default permissions will be given. Rev 1.37 1/27/2003 01:07:44 AM JPMugaas In Unix, a list item was exported with two spaces between a year and the filename instead of one space separating both items. Rev 1.35 1/27/2003 12:16:02 AM JPMugaas Minor adjustment to the MS-DOS DIR output. It turns out that