/* @(#)HISTORY 1.12     93/11/05 */

--------------------
Ftptool 4.6 --/--/--
--------------------

Transfer status now works if you double-click to View a file.

Doesn't choke if the remote machine has setuid, setgid, or sticky
bits set but no corresponding execute permission.

Doesn't delete the original file if you try to delete a
textedit backup file on the remote server anymore (oops).

Complains (and exits) if the .ftptoolrc is from a newer
version of ftptool.

Now is a bit more lenient when trying to cd up one level.

Added support for DOS directory parsing.

Added ability to specify different decompression schemes
in the extensions list, and have a different compressor.

Ignores '.' and '..' in remote UNIX directory listings (the wuarchive
server gives back this info). This fixes recursive loops when 
transferring directories.

Now allows things like 'host 21' as the hostname, and uses the second
value as the one to connect to. You can also specify a service name here.

Fixed the netrc addition code to be slightly faster.
Ok, a lot faster (less stupidity on my part).

Added a scrolling list to the Host window. This removes the
restriction that menus have on long lists. Double-clicking on an
entry will cause ftptool to try to connect to that site (if you aren't
connected).

The Account field should be treated like the password. It's now encrypted
and masked in the window.

Fixed a majorly wierd bug in the varargs handling of ftp commands.
This could be the nasty one I haven't been able to track down that
breaks random things (hopefully). Thanks R.K.Lloyd@compsci.liverpool.ac.uk.
Also added HP/UX mods based on his suggestions.

--------------------
Ftptool 4.5 12/4/92
--------------------

If you press return in the remote text field, the cached directory list
is discarded and the directory is re-read.

Fixed major bug where it did not fall back to LS if DIR is confused. 

Now maps upper case file names from VMS to lower case on the 
(i.e. FILE.EXT;1 to file.ext)?

Now compiles under OW2 (I think :-)
--------------------

Ftptool 4.4 11/13/92
--------------------

Fixed a bug that caused it to get confused when you aborted a transfer.

Fixed a problem with batch recieve being confused about DST, which
caused it to add an hour on each add or change.

Fixed recursive directory transfers to try to do symbolic links.

Now handles files with embedded spaces properly, if the NAME token is
last in the DIR template (which it is for Unix machines). Unfortunately,
files beginning with spaces will still be wrong.

Added an optional Account field in the host info panel.

Now erases the session log automatically each time you connect.

Local d&d works. You can drag files from either scrolling list
to the other to do gets and puts. Dragging files to the root window
will start a view operation.

Because dragging on a scrolling list selects/deselects items,
and drag and drop will prevent this, you can now also use
adjust (the middle button) to drag-select items without
starting a drag.

In batch mode, you can now have transfers repeated every X minutes.

The Properties->Viewers now supports multiple extensions. You can
teach ftptool what programs to start based on what extensions they
have, or by a "magic" number (specifying the first few characters
of the contents). The "magic" number overrides the extension.
If you don't have the .ftptooltypes file yet, it preloads
the postscript and archive viewers (from the older X resources,
if you have them), and xv for GIF, JPG, and Rasterfiles.

'~' now in the remote text field now interpreted on the remote machine
and it no longer expands environment variables in the remote text field
(it really didn't make sense anyway).

No longer gets confused if you try to receive a directory
that you don't have permission on.

Now works (again) with gateways that filter packets. There was
some code that munged a socket address, which seemed to work
fine at Sun, but others had many problems. That's now fixed.

A new ConfirmOverWrites property stops ftptool from overwriting
local files it gets.

Now comments (somewhat) the fields in the .ftptoolrc.

You can now select the remote OS type: UNIX, VMS, or Other (which uses
a specified template, as before). It should be easier to add support for
other OS's this way.


Ftptool got very confuse by empty filenames (files named ' ').
Now, it temporarily uses non-unix mode if it gets an empty filename
for the NAME token (uses 'ls' instead of 'dir' on that directory), 
so you can at least see the other files.

Now positions many text items so that the first characters are visible,
if they do not fit in the space given.

-------------------
Ftptool 4.3 7/10/92
-------------------

Changed how it handles PWD responses. Should work a bit better as long
as PWD responses are 257 or 251, and enclose the directory in double-quotes.

Can now be compiled with OW2.

No longer dies if the remote system runs out of space.

New 'ignore case' property for directory lists and host menu.

Added directory, file, dot-dot, and unknown-type glyphs to the remote
and local lists.

Added Delete buttons to local and remote list menus.

Fixed it so it doesn't die when the remote machine runs out of
space.

The code is now fully prototyped for ANSI C

You can now use tab to move between text items in the host info window.

Ftptool now breaks up command lines for viewers into arguments,
so you can pass options to the viewers. %f specifies the filename
to view, so you can do something like this to use a larger font
in textedit: 'textedit -scale extra_large %f'.

Added a property to cause ftptool to ignore the case of aliases
when sorting the host menu.

If you changed your host list, but did not want to save it when
quitting (said 'quit anyway' to the pop up), ftptool would still
save it if it you had connected to any sites (to update the
timestamp). Now, it won't save, but any timestamps will be lost.

Fixed a problem where the session window could come up even if the
tool is started iconic, if you are logging.

Added code to make it compule under Ultrix (from Robert.Evans@cm.cf.ac.uk)
and 386 SVR4 (guru@stasi.bradley.edu). I don't have any way of knowing
if it work on those systems or fixing it if there's something specific
to those systems that it breaks on, however.

No longer uses saved window heights and widths if they are smaller
than the default window size. 

Fixed the order of size changes when pressing '+' and '-' to
avoid an apparent server bug. It seems that in 5.0, changing the
parent frames size to be smaller than the childs can cause the
server to crash. At least, that's what I think happened.

Fixed (hopefully) the Total transfer gauge to work, and not crash.
I've been transferring 100's of megabytes for a few hours, and it seems
OK.

Added "Total transferred" to status window. I think it actually works!

Changed the layout of the Connect window to be simpler.

Made 'Delete' and 'Change' in the Batch window work.

Now automatically tries proxy FTP if it can't resolve the remote
host name (if enabled). It is NOT enabled by default!!!

Double-clicking a file tries to View it.

Fixed line 113 of main.c from
	CURSOR_MASK_CHAR, OLC_BASIC_MASK_PTR,
to
	CURSOR_MASK_CHAR, OLC_BUSY_MASK_PTR,

Changed password size in host_list.c.

Made deletion routines ignore '..'.

Made it look up 'ftp' and 'ftp-passthru' values using getservbyname(),
defaulting to values only if it can't find the services.

Fixed the the writing out of boolean values to only "True" and "False".

-------------------
Ftptool 4.2 3/27/92
-------------------

Reads and appends .signature when sending feedback.

Stores defaults in .ftptooldefaults in home directory. At startup, reads
$XAPPLRESDIR/Ftptool if present, then $HOME/.ftptooldefaults if present.
For simplicity, $HOME/.ftptoollayout contains the layout.

Removed the locking code.

Looks for a system ftptoolrc (/usr/local/lib/ftptoolrc) if no 
$HOME/.ftptoolrc found.

Dismisses host window if return pressed in password field.

Allow 'm' as the first entry in the permissions field?
		case 'm': /* Cray and Convex migrated files */
				mode = S_IFREG;
				break;

Allows various uppercase letters from AIX 'ls' output.

Added 'Save layout' option to Properties menu. Also made it a bit more
accurate.

If connect fails (with 421, it still says Connecting.
Same thing for reading directory.

USER and GROUP now take all non-whitespace characters in the field.

-------------------
Ftptool 4.1 2/7/91
-------------------

Ported to SunOS 5.0 (SVR4). Added Makefile.50 temporarily.

4.0 skipped since other people are using test versions of 4.0, and the
format of the host list changed again.

Asks for confirmation of quit if you are still connected.

Instead of 'connected', the icon label now shows the first 8 characters of 
the host name you're connected to.

Option to compile against the resolver library for places without NIS
(static executable compiled against /usr/lib/libresolv.a)

Locks .ftptoolrc when reading/writing.

Abort button actually works now.

Added sunique/runique ability.

Added 'percent complete' gauge.

Added berkeley ftp code to ftptool. Fixes problems with some ftp servers
providing welcome messages before login.

Shows free space and percent free for local filesystem.

Merged Host Information window and Host List window.

Can schedule file transfer at later time.

Transfer mode now a per-host attribute.

Automatically saves host list if only timestamps have been changed.

Fixed encryption routines to only output printable characters.

Fixed bug that could cause dotfile symbolic links to appear even if
you don't want to show dotfiles.

Handles underscore and dash in login name.

Fixed tar viewer to work.

Dismiss buttons on pop-ups. Quit button on tar file viewer

Doesn't quit on 'recoverable' errors during transfers, such as if
you don't have permission to transfer a file, or the file has been
deleted since you selected it.

Fixed it to kill ftp if you quit via the button.

-------------------
Ftptool 3.3 1/10/92
-------------------

If you double-click on a symbolic link, it will attempt to 'cd' there.
You can (hopefully) view and transfer files (and directories) pointed to by 
symbolic links. Transfers are accomplished by trying to transfer the link
as a file, and if that fails, transfer as a directory. However, it won't 
recursively do links in directories (it would not be nice if one was 
pointing into the directory structure being transferred.

Displays 'Reading directory' when reading a directory (fancy that).

Can now sort by type of file, so you can group directories.

Would hang (then dump on Quit) if you ran out of space on the local
system.

Passwords now encrypted in .ftptoolrc file. NOT a strong encryptions,
especially since the source is available!

Quit button was not displayed on startup if OPEN LOOK mode not set.

OPEN LOOK mode changed to boolean (shouldn't affect anything).

Fixed hang problem if remote site allowed you to partially log in,
but then didn't because of a limit.

Can now use ~ and $ expansion in auto-local-cd field.

Lowercase mode to change remote filenames to lowercase. This is for
better VMS-type support along with below.

User defined dir output format to (hopefully) handle non-UNIX cases!
UNIX default:
	PERMS LINKS USER GROUP SIZE MONTH DAY TIME NAME

<NAME> causes remote filenames to be converted to lowercase.

You can set non-unix mode with NONUNIX in the above field, so it always
uses 'ls' for that host. Also, because non-unix machines might really
use $ in the directory name, non-unix mode now disables $ expansion
in the remote text field.

Last Visited timestamp.

-------------------
Ftptool 3.2 12/16/91
-------------------

No longer stops operation if the local directory is modified.

No longer have to be connected to do local operations (compress/uncompress/
make tarfiles from local files)

Host list now resizable.

Now creates .Xdefaults if you don't have one.

Tar viewer works (instead of crashing!)

Properties now split into separate categories.

Can sort local and remote directory lists independently.

Can now automatically cd to a specific local directory for each host.

-------------------
Ftptool 3.1 11/25/91
-------------------

If you kill it with SIGTERM, no longer gets error, and also kills ftp process.

To somewhat handle non-OPEN LOOK Window Managers, set OpenLookMode property:
	1. displays Quit button on main window.
	2. Allows you to dismiss popups by selecting the View option again.

props key on base window brings up properties window

Fixed a bug where ftptool would crash when trying to view a local file
if not connected.

PostScript viewer now a property.

Now uses the default password if you leave the password field blank.

Removed batch mode. Now, you do batch transfers over the batch windows,
and non-batch transfers over the directory lists.

Fixed (hopefully) a freeze on timeouts (added too much again, and broke
something).

Caches the last directories now, so you can avoid the time delays. This
will be settable via a property, since too many directories might cause
exhaustion of memory. Though improving speed, it also causes listings
to be out of date (local directories are stat'ed so they can be reread if
they change).

Fixed the delays on reading directories. Now it shouldn't hang when reading
a remote directory, and shouldn't hang the whole window system (or at least,
not as much).

-------------------
Ftptool 3.0 11/8/91
-------------------

Doesn't have to reread the directory if you change sort modes.

Defaults host info to first one in host list.

Properties can open windows automatically.

Geometry of windows can be saved.

Batch mode! Can select a bunch of files to retrieve, in separate directories,
then transfer them all at one time.

".." is back on the lists.

-------------------
Ftptool 2.8 11/1/91
-------------------

If you have a '.' in your hostname, the domain will not be appended
to your anonymous password (fix for non-Sun internal sites)

property for the default password.

won't core dump if you ^C it.

doesn't hang if you don't have permission to read the directory.

Changed "Within Sun/Outside Sun' to 'Directly Reachable/Indirect through Proxy"

Man page (first attempt, bear with me)

Imakefile (first attempt, bear with me)

Fixed it to show the correct sort order in the properties window if you
change it in your .Xdefaults

Now sets your transfer mode only before a transfer, and sets to ASCII before
reading the remote dir. This _may_ fix some bugs.

-------------------
Ftptool 2.7 10/25/91
-------------------

blank lines in your .ftptoolrc don't break ftptool anymore.

symbolic link values shown again (broke earlier, oops!)

moved 'About Ftptool' to View menu

Made it show more of the ftp error messages rather than its own (more accurate
error messages)

A machine was found that didn't understand 'pwd' or 'cdup'. Now, use
'quote xpwd' or 'quote xcup' if the first ones fail.

-------------------
Ftptool 2.6 10/16/91
-------------------

I hate to have more and more releases, but another couple of sever bugs.

	Doesn't hang anymore if the remote server dies while transferring.

	Fixed a core dump bug with non-unix machines (left off a parameter to 
	xv_set :-()

Bonus (which means I probably broke this): Can pin remote and local list menus.

-------------------
Ftptool 2.5 10/14/91
-------------------

2 major bugs fixed (major enough for another release):

	Now that the temporary directory is deleted at each disconnect, a second
	View fails. fixed.

	fixed broken 'cd to selection' on local window list.

Make it back off and use 'ls' if it thinks it's a non-unix machine.

Add "Custom command" button. Allows you to type whatever command you
want ('mget *' would be a good one). Doesn't care about the response, just
outputs until an 'ftp>' prompt (may have to care if the return is 'timeout')

-------------------
Ftptool 2.4 10/11/91
-------------------

Final bug fixing and code cleanup (hopefully)

Ability to delete files.

Fixed a bug in "dir" output parsing.

Now print ftp errors in some instances ("host unknown" vs. "connect timed out")

fixed bug which could hang it when transferring zero-length files.

If the locations of the various windows end up outside the screen, they
will now be placed at 0,0.

Fixed "cd to selection". Also cleaned up a lot of code dealing with
retrieving filenames from the selection window.

Made "copy" and "delete" pull-rights on the File menu.

-------------------
Ftptool 2.3 10/7/91
-------------------

Now copy arguments before xview consumes them, so they can be passed
to viewer (things like -scale extra_large now work).

Wouldn't create .ftptoolrc if it didn't exist.

Clean up /var/tmp/ftp* at disconnect instead of exit?

Exited upon a "Save Workspace". Oops.

Sort by date was not sorting correctly.

Change Outside/Inside Sun to Direct/Proxy, with proxy host on a per-host
bases in .ftptoolrc. (The names weren't changed since I don't have better
ones).

Add initial directory to host info.

Tries to be able to read the old format .ftptoolrc.

Now sorts the host list.

-------------------
Ftptool 2.2 9/28/91
-------------------

Oops. Bug fixes. 

Fixed bug in counting selected directories.

Fixed painting of lists when busy.

Fixed double-clicking on directories that are selected already.

-------------------
Ftptool 2.1 9/27/91
-------------------

Local and remote functions go in their own windows, To add ability to resize 
scrolling lists, perhaps by placing them side-by-side?

Machine connected to appears in title bar of remote window. Local machine
appears in local window title bar.

Additional exclusive properties for file transfer mode (binary, ascii, etc).

A property sheet for local and remote files, showing all file information
available when selecting file (shows last file selected, if multiple ones
are selected).

Ability to handle non-unix machines (and machines which have banner
messages and such). Non-unix machines should work (VMS has been tested),
but since the list format is non-standard and machine/OS dependent, 
only the filename (if that) can be determined. 

Ability to create tar files, and compress files..

Properties:

	hash marks are a property

	Don't display dot files (based on property)

	Option to sort by name or date or size, and ascending or descending
	order.


Resizing windows and lists pretty much correctly (at least they do it!).

Slightly more OPEN LOOK compliant.

"Use" on personal host list window now connects automatically, if
not already connected.

Will notify you if you try to quit without saving your host list.
Also, will put (needed) on the save option if you modified it.

'connected' on icon when connected.

tilde and environment variable expansion.


Double-clicking on a directory will cd there.

Save defaults (logging, option mode, etc) to .Xdefaults. Read them at startup.

Reading .netrc to create selectable ftp accounts/passwords (encrypted on menu)

Default viewer property

Archive viewer property

Keepalive option to send a noop command every 600 seconds if you're idle

If you try to cd to a directory that doesn't exist, create the directory

Session Log and about window now pinned.

Locate Choice and Clear all choices now back on scrolling list menus.

Doesn't bring up Local Directory window if iconic.

Status image in the corner, changes for every three blocks transfered
(if hashing enabled)

Spot help! (Install ftptool.info in $OPENWINHOME/lib/help)

-------------------
Ftptool 2.0 9/19/91 
-------------------

"Connect" button changes to "Disconnect" when connected.

Button layout is somewhat OPEN LOOK compliant.  At the top of the window:
 
 [Connect] [File v]      [View v]	[Abort]		[Props...]  
   			Get	  			View files
   			Put				Show pop-ups.
 

Login, password, remote host is, and host on separate pop-up which 
connect brings up. (perhaps, but then you lose the notion of who you're
connected to).

Logging window can be brought up with Props.

Determine file type in View and start appropriate editor
(Pageview probably, what about Frame and Interleaf files?)

Add ability to uncompress compressed files.

Pressing a return in the directory text fields executes a CD.

Change cursor to stopwatch when busy.

Instead of error messages on choosing options that don't apply (using
'get file' when no remote file is selected), options are grayed out
when they don't apply.

Fixed bug with local directories (if you change your local directory between
ftp sessions, it doesn't pick it up)

Catch out-of-space errors.

If you hit return in the Password text field, it will connect.

View, get, put, and CD are in scrolling lists menus also.

Add ability to extract tar files into specified direction (Viewing a
tar file lists the contents, then you can extract it from there, or
directly extract from View menu)

Ftp site list (local to user, with comments).  .ftptoolrc aliases sites to 
personal names and comments.

connect button moved to host info popup.

-------------------
Ftptool 1.4 9/15/91 
-------------------

Fixed to repaint when blocked for ftp responses (notify_do_dispatch() and
notify_no_dispatch())

Ability to View local files.

Inactivate buttons and lists when putting/getting/viewing a file, since
FRAME_BUSY is no longer allowable.

Busy and Idle icons. Busy is inverted from the idle icon, and cycles
between 4 icons while transferring.

Ability to interrupt a file transfer (between files. No interrupting a current
transfer yet).

When doing transfers file, stat() the local directory to see whether it has
been modified since we drew it, and reread it if so (losing local selection
information). If we can't stat the local directory, it's possible that it
was deleted, so change to /tmp (arbitraty choice).
For remote dirs, may have to assume they won't change.

-------------------
Ftptool 1.3 9/-3/91 
-------------------

Fixed completion messages.

Added date to file list.

Now Sorts local directory listing.

-------------------
Ftptool 1.2 9/13/91
-------------------

Fixed directory transfers, which I broke with the '/' above.


-------------------
Ftptool 1.1 9/12/91
-------------------

Fixed it to use getpwuid(getuid()) rather than getlogin().
Since ftptool failed on at least one machine in engineering,
also changed it to not exit(1) when it can't find the username.
Assumes "unknown".

Added a '/' to the end of directory names, since it wasn't obvious
(and I agreed) that directories were bold. Now it looks like 'ls -F'

Changed it to not print the directory name when reading it.

