 Differences between Envoy 1.6 and 1.7:

The copy of SetPatch (40.15) in 1.6 was bad, and broke the Pools code.
	This build picks up SetPatch 40.16.


 Differences between Envoy 1.5 and 1.6:

Fix to EFS so that if a Read/Write is failed, and after that one of the
	transactions sent for it comes back, if the connection is still
	not reestablished don't try to unwind the transaction.  I.e. if the
	transaction is marked as aborted, ignore it if it comes back with
	an error.


 Differences between Envoy 1.4 and 1.5:

MAJOR fix to handling of transmission failures.  In EFS, when a reconnect
	happens EFS makes sure that it doesn't try to reconnect again when
	queued packets from the previous connection come back with errors
	(because of the shutting down of the old connection).  This avoids
	the continuous reconnect cycle.
MAJOR fix to NIPC: NIPC was causing transmission failures because when it
	had to retry a dropped RDP packet, it was mistakenly stripping the
	RDP header off the packet (thinking it was an IP header).  This bug
	was introduced when sending of NIPCBuffers was added.  This bug
	helped cause problems by forcing EFS to do reconnects (see above).
Fix to NIPC: NIPC was having to retry packets because the window size was
	set large enough for fast networks (ethernet, arcnet) that a full 
	window of max-size RDP packets would be more than NIPC had buffers
	to handle queued on the SANA driver.  Dropped RDP window to 8 from
	16, and under normal conditions no retries are seen now.  This 
	bug was causing the NIPC bug above to get hit often, causing the EFS
	bug to get hit often.
NIPC piggyback acks enabled.  Cuts down on network traffic considerably.  Also
	fixed bug in piggyback acks so it doesn't force an ACK until the
	RDP window is half-used-up.  Since EFS is a request/response protocol,
	only rarely will acks be generated - most will piggyback.
Fix to NIPC/NIPCBuffPointer(): if passed an offset that was exactly the
	beginning of a BuffEntry (other than the first), it would return a
	pointer to one byte past the end of the previous entry (boundary
	error).  Also affected are other NIPC buffer functions: see the
	NIPC autodoc BUGS entries for details.
Fix to enforcer/mungwall hit with freeing of servernames on locks.


 Differences between Envoy 1.3 and 1.4:

Fixes problems with failed reconnect during write (from the client to the
	server), broken since use of NIPCbufs was added in 0.138.

 Differences between Envoy 0.142 (1.0) and 1.3:

Added V40 c:SetPatch to the distribution, since it has an ExAll() patch
	needed by V37 servers using ExAll() emulation (such as on
	CDFileSystem).  Also added V37 setpatch with exall patch added,
	since pre-2.1 WB machines can't use post-2.1 setpatches.
Install scripts modified to install c:SetPatch, and version numbers added.
Failures to connect by the client no longer hang the machine.
Read/Write of 0 bytes is now queued behind other reads/writes for the same
	filehandle (like all other reads/writes) instead of being replied
	immediately.
Retry of Read/Write packets on temporary loss of network while no longer
	blows up.  
New NIPC library fixed some Inquiry stuff, uses piggybacked acks.

 Differences between Envoy 0.138 and 0.142 (1.0):

Fixed selection in fs exports after deleting entries.
Fixed selection of filesystems in fs imports after changing hosts.
Fixed Mungwall hit in fs exports when deleting users.
Many changes to documentation and install scripts.
Deferred: fix to Users and Groups to select the string gadget on Add.

 Differences between Envoy 0.133 and 0.138:

MAJOR CHANGE: large reads/writes are "throttled", and other packets for a FH
	while it's reading/writing are queued.  No more than 2 32K transactions
	will be queued at any given time.
Side effect:  Client uses NIPCbuffs for BeginTransaction on read/write (saves
	an allocation and copy).
MAJOR CHANGE: when using Full Security (i.e. protection bits), the bits are
	now interpreted according to dos/dos.h.  I.e. 0 is NOT allowed, 1 is
	allowed.  Also, if userid or groupid is 0, the server does not assume
	you have User access to the file (important since the default groupid
	is 0, and files created locally default to UID 0 GID 0).
NIPC.library takes NIPCBuffs for request or response data.  New tags and
	functions for using NIPCBuffs added.  This allows you to tack headers
	and trailers to data from elsewhere for use with BeginTransaction.
Fixed a lot of error-handling of a "stale" filehandles (network down) - many
	(non r/w/s) packets were returning -1 instead of 0 for failure.
Reworked the retry code to better handle network loss/reconnect during a read/
	write.  No longer restarts read/writes from the beginning (which was
	wrong, since part of the read/write might have completed).
Fixed server to handle client requests that don't use the same buffer for
	request and response (i.e. when using NIPCBuffs).
Fixed server handling of V37 ROM/RDSK filesystems.  (It doesn't handle
	ED_OWNER correctly, and filecomments are returned as BSTRs instead of
	CSTRs).
Fixed enforcer hits when Exall returns TRUE but no files are in the block.
Fixed ExAll on root of a filesystem (this was broken, causing problems with
	DirOpus and others using ExAll).
Network Configuration now sorts the realm lists.
"Users" no longer prints passwords out to the serial port(!)

WARNING: the new client REQUIRES the new server AND the new nipc.library.
	The client opens nipc.library version 40.  The new server will work
	fine with old clients.
WARNING: if using Full Security on a server, you'll need to change a lot of
	protection bits.  I advise writing a program to do so recursively to
	the whole file-tree you're exporting.

=============================================================================
 Differences between Envoy 0.131 and 0.133:

Picks up the new List that vertex released (shouldn't crash).
Fixed a bug with servers running V37 (I need to remember if the
    filesystem I'm exporting doesn't like ED_OWNER).
Fixed FileSystem Imports to put <connected> on the right entry,
    instead of always on the first one.

 Differences between Envoy 0.130 and 0.131:

Fixed ACTION_EXAMINE_FH.  It had apparently never worked correctly, and
attempting to use it would have crashed the server.  Both the FS server and
client need to be updated.  No other changes were made.

Note that the Version command uses NameFromFH, and would crash the server
under 0.130.

 Differences between Envoy 0.110 and 0.130:

(Note: these are mostly differences since 0.126, when I (Randell Jesup)
took over EnvoyFS and did a bunch of cleanup.  Greg may have made other
changes unknown to me, since he didn't use RCS often or at all.)

Much cleanup done on the code and RCS/server directories.

FileSystem:
 New packets supported: EXAMINE_ALL, EXAMINE_ALL_END, EXAMINE_FH (may have
	already been supported).
 ExNext now is handled transparently with read-ahead ExAll directory caching
	(3-5 times faster on ethernet, more on slower nets).
 On reconnect to server after server reset/etc, now properly restores the
	position in a file that has had a Seek(fh,xxx,OFFSET_END).
 Timeout code modified (first by Greg, then by Randell)
 SAS 6.3 now used to compile it, also client now uses the optimizer.

Configuration:
 FS Import host requester now has a sizing gadget.  Also, it shows <connected>
	as soon as the connection is made.
 FS Import/Export and Printer Import/Export now compiled with SAS 6.3.

Libs:
 New NIPC released (Ken, please fill in).

C: Commands:
 Now compiled with SAS 6.3.  Minor code cleanup.  List/Protect replaced by
	new beta versions of List/protect (envoy support is being put into the
	main-line List and Protect).  List now supports sorting.

Printer:
 Server now compiled with SAS 6.3.  Client re-assembled, but should not be
	functionally different.


------------------------------------------------------------------------------
 Differences between DevCon distribution (disk rev 0.92) and 0.110:

===================================
= WARNING WARNING WARNING WARNING =
===================================

When you update your Envoy installation to the newest Envoy, be SURE
to check your S:User-Startup file -- old versions of Envoy used to
have two 'RUN' statements there, to start up 'Services Manager' and
'Accounts manager'.  These are now started up by placing the
files in SYS:WBStartup.  The programs were being started from
two different places, apparently giving odd effects.  Therefore:

    DELETE THOSE LINES FROM YOUR USER-STARTUP WHEN UPDATING.

 PS: If on a 2.04 system, Envoy may add an ASSIGN statement to
 your user-startup.  Don't delete that!

===================================
= WARNING WARNING WARNING WARNING =
===================================

 'Filesystem Imports' now encrypts the password you enter for storage in the
 mountfile.  The Filesystem server, 'filesystem.service' had to be modified
 to accept both encrypted and unencrypted (old-style) passwords.  HOWEVER,
 for you to use 'Filesystem Imports', the machines you are talking to MUST
 BE USING THE NEWEST REVISION OF 'filesystem.service', or you may well be
 refused access.

======
= GP =
======

 - Icons added for everything except 'Network Printing'.
 - Now distributing the V39 parallel.device, as Darren fixed several
   bugs in it, and feels that between PARNET SANA-II devices and
   parallel-port Ethernet adapters, it'd be a good idea to distribute
   the correct version with Envoy.

===========
=LIBRARIES=
===========

nipc.library 37.102 released.

Changes:

        o       Fixed the operation of the NIPCInquiry() tags for
                determining ExecBase->AttnFlags and the four tags
                for finding out how much memory a machine has.  All
                of these would previously return 0.

nipc.library V37.103 released to the server.

    - ARP SANA-II IORequests now increased.

    - Entries in the ARP table now time out.

    - Caching of Buffer and BuffEntry structs turned off.
      (was fragmenting memory)

    - Private Statistics calls expanded to allow external
      viewing of NIPC's routing tables.

    - A fix to MATCH_SERVICE was made to respect Services
      that're currently disabled.

    - With the aid of several EuroDevelopers, I've expanded
      NIPC's awareness of the types of HW attached to it.
      A better numerical guesswork system of what kind of
      network bandwidth can be expected between two machines
      is now in place.  This makes the BPS and MTU values
      returned by a SANA-II device -very- important.
      (Slower devices incur higher timeouts in NIPC.)

      Both trans_Timeout and lower-level RDP timeouts are
      affected.

nipc.library V37.104 released to the server.

    - I found this morning that the work I'd done last week on NIPC
      timeouts was only, say, 25% effective.  It was only being processed
      on the passive end of an RDP connection.  The important side -- the
      -active- side -- was doing nothing.  The result was that things
      didn't improve.  (I finally managed to get a setup where I could
      reproduce a set of bug reports!  Yay!)

nipc.library V37.106 released to the server.

    - Fixed/Added code for checking NIPC and shared library
      version & revision numbers via NIPCInquiry().

    - As much as I wanted to avoid it, I needed to set an
      option on an Entity the other day which wasn't
      currently available.  So, rather than write a specific
      routine to do so, I added SetEntityAttrs() and
      GetEntityAttrs() -- which will handle all similar
      cases in the future.

    - The Entity option I needed to set was the ability to
      tell NIPC on a case-by-case basis to nuke hanging
      link Entities on given periods of disuse.

nipc.library V37.107 released to the server.

    - A long-outstanding hole in FindEntity() has finally been taken
      care of.  Since FindEntity() cannot use the api (which requires that
      a FindEntity() has already taken place to operate), it's made up of
      direct communication to RDP.  Unfortuanately, that communication
      had a recovery hole where if the net went down (or a target machine
      rebooted) at -just- the right instant, FindEntity() could Wait()
      forever.

----------

accounts.library 37.3 released.

        o       Added support for multiple machines to share a common
                Accounts Manager.  This is enabled by setting the
                environment variable Envoy/AccountsServer to the name
                of the central host.

----------

envoy.library 37.10 released.

        - The user selection requester wasn't compensating for
          the display bar under V37 listview gadgets, so the
          Okay and Cancel gadgets were not getting centered correctly.

----------

==============
= FILESYSTEM =
==============

Envoy's EnvoyFileSystem V37.13 released to the Envoy tree on the server.

    - Fixed a bug reported by Martin, where doing a 'version' over
      the network filesystem caused an enforcer hit.  I missed a
      special case for packet type 'ACTION_PARENT_FH'.

Envoy's "EnvoyFileSystem" V37.14 has been released to the server.

    - Many people (mostly Willy Langefeld) have complained that
      the requesters that EFS brings up are annoying -- even
      though they time out.  Most of these people have been
      begging for an option to "turn them off".  I dislike such
      options because they're entirely power-user oriented, and
      are likely to confuse Joe-Sixpack.  Nevertheless, I've
      given in and added the low-level support for just such an
      option.

      The flags field in the Unit string in an EFS mountfile now
      has a third option -- 'R'.  If included, that EFS mount will
      NEVER bring up a requester.

      This is only the low-level support -- no point-and-click
      method exists for setting this option, so the only
      recourse for a power-user is manually editing the mount
      files.  Higher-level support may or may not arrive
      soon.

 Envoy's EnvoyFileSystem V37.15 released to the server.

    - The client now has a little bit better retry mechanism,
      and should be slightly more transparent.  (What this means
      to the average user?  Almost nothing.  :') )

----------

Envoy's "Filesystem Imports" 37.11 released to the server.

    - Fixed an Enforcer hit that I found while at DevCon.
      A line of code wasn't cased correctly -- and made the
      mistake of assuming that IAddress of the Intuition
      Message always pointed to a Gadget structure.
      In the case of "Filesystem Imports"' window close
      gadget, it didn't.  :')

Envoy's 'Filesystem Imports' V37.12 has been released to the server.

    - The Host requester window was eight pixels too wide.
      Fixed.

Envoy's 'Filesystem Imports' V37.13 has been released to the server.

    - Now generates envrypted passwords for the mountfiles.
      WARNING!  Use of this version of FI with servers running
      older versions of Envoy won't be pretty.

----------

Envoy's "filesystem.service" V37.11 has been released to the server.

    - As per several requests, I essentially changed the strings that
      "Filesystem Imports" sees when trying to import a filesystem.

      The strings presented used to be the true server paths to the
      mount-point.  Now, they're the volume names that the user has
      provided in "Filesystem Exports" (the true server paths are
      defaulted to if no volume name existed).

      The gain is:

        - Things are a heckuva lot more intuitive.  People see the
          same names in the list that they'll see on the workbench.

        - You don't necessarily give away data that you'd prefer be
          private -- like what volumes things actually lie on.

        - In situations like Catfish, where the volume name changes
          depending on which Fish CD revision is in the CD ROM drive,
          people don't have to keep updating their mounts.

      The downside is:

        - To keep compatibility with past revisions, the code allows
          old mountfiles that directly reference the true mountpoint.
          This isn't a real security hole -- merely odd behavior.

Envoy's filesystem.service V37.12 has been released to the server.

    - Fixed a section of code with poor failure handling.  If the
      lock on the target failed, a pointer would be nulled.  Just
      below nulling the pointer, I was trying to reference something
      off of the pointer.  Oops.

Envoy's filesystem.service V37.13 has been released to the server.

    - Now accepts both normal (old style) and excrypted passwords
      from the client.

Envoy's filesystem.service V37.15 released to the server.

    - Made use of the SetEntityAttr() call in nipc.library to
      force the FS Entity to toss out people who haven't
      communicated in 30 minutes.  This adds only a handful of
      packets to the first communication for a client in a
      long period of time, but helps keep the bookkeeping
      on servers (like SoftServe) that LOTS of people access
      randomly.

    - Took a couple of cheap mods to give preference to recent
      users over users who haven't made recent access.  On
      a heavily loaded server, this should improve performance
      mildly.


----------

=================
= CONFIGURATION =
=================

Envoy User Configuration 37.8 released.

Changes:

        o       Passwords are now hidden with bullet characters for
                security reasons.

        o       When you log in, your account is automatically selected.

----------



Envoy Group Preferences 37.8 released.

Changes:

        o       Added another kludge to fix visual problems under
                V37.  I wasn't taking into account that V37 listviews
                height parameters are off by 12.

Envoy Groups Preferences 37.9 released.

        - The text gadget for the groups's administrator name wasn't
          getting updated when a new group was created.  Also, the
          gadget was not getting cleared when the current group was
          deleted.

----------

Envoy Network Configuration 37.8 released.

Changes:

        o       No longer requires you to enter 0.0.0.0 to clear out
                the Realm Server IP Address.

        o       Turning off Realms with the checkbox gadget properly
                clears out the Realm Server IP Address and Realm Name.

        o       Removed the Hop count gadget and other related junk from
                the Routes panel, since nipc.library doesn't use it for
                anything right now.

        o       Adjusted the placement of the Destination and Gateway
                test strings on the Routes panel to be centered of each
                part of the listview.

        o       Misc other UI tweaks. :)


============
= MANAGERS =
============


Accounts Manager 37.8 released.

        - The right logic wasn't being used when determining whether
          or not a user could remove a group.  It was supposed to require
          that the user is the groups administrator *or* that the user
          has admin privs.  It was requiring both.

Accounts Manager 37.9 released to heartofgold.

Change:

        o       I wasn't allocating the right amount of memory for
                my internal group representation, so I was getting
                mungwall hits when Accounts Manager was shut down.
                Thanks to Carolyn and Peter for noticing this.

Accounts Manager 37.10 released.

Changes:

        o       Changing any user flags would cause that user's
                AdminAll flag to be set, and it couldn't be turned
                off.  Fixed since this causes a *slight* security
                problem. :)

(This bug report came in not 5 minutes after the last release....arghhh)

----------

Services Manager 37.11 released.

Changes:

        o       All this time I had been ignoring the enable bit in
                the Service IFF chunk.
===========
= PRINTER =
===========

 Envoy's "Network Printing" V37.3 released to the server.

    - Thanks to a wonderfully detailed bug report, I fixed a
      problem with V37 installation.  (Old prefs files)




Changes since Beta Disk 37.89
=============================

 **********
 ** NOTE **
 **********

 If updating an older version of Envoy, be SURE to check your
 s:user-startup file.  Older versions of Envoy started the
 Services Manager and Accounts Manager through RUN commands placed
 there.  These programs are now started by placing copies of them
 in WBStartup.  If you leave the RUN commands in s:user-startup,
 the programs will be started twice -- and shut both instances down.
 Envoy will not work properly in this way.

 So ... DELETE THOSE 'RUN' LINES IN S:USER-STARTUP.

 Note that in pre 2.1 systems, a line is added to your user-startup
 for an ASSIGN of PRINTERS:; this line -must- remain.  Be sure not
 to delete it.

 - Icons have been added for most files.

 - The V39 parallel device is now included.  (V37 compatible)

 - NIPC now handles slower devices more gracefully.

 - NIPC had a bug with NIPCInquiry() and querying of disabled services fixed.

 - A machine can depend on an entirely different machine for it's accounts
   database.  No 'nifty' UI exists for setting this, though.  Set the
   environment variable Envoy/AccountsServer to the name (with realm, if
   appropriate) of the central accounts host.

 - Several V37 rendering problems were taken care of.

 - EFS now has it's own form of dynamic timeouts, to try and help using servers
   under varying degrees of load.

 - The EFS client had a bug relating to ACTION_PARENT_FH.  This caused
   various programs to yield an enforcer hit, including 'version'.

 - Due to considerable prodding at DevCon by someone (who knows who he is),
   I added an extra flag to the client to allow a user to turn off requesters
   entirely.  There isn't a way to set/reset this via the UI -- because we
   view it as confusing for the novice.  However, if you're willing to
   edit your mountfile, placing an 'R' in the flags field (the one after
   the pw field) will cause those requesters to -never- come up.
   NOTE:  There isn't any 'ideal' middle ground, folks.  So many people
   have said that they only want "certain" requesters, but have had
   irrational ideas about which ones they wanted.  The underlying theme
   appears to be: "I want any requester that doesn't annoy me."  :')

 - An enforcer hit that I noticed at DevCon with 'Filesystem Imports's
   Close window gadget has been fixed.

 - The filesystem.service now provides the -client volume names- when queried
   by 'Filesystem Imports' about what directories are available.  It used to
   show the entire, and direct server path.  This is more intuitive.  It
   still supports old mountfiles, though.

 - If the filesystem.service couldn't obtain a root lock on the mountpoint,
   it would fail and issue an enforcer hit.  This has been fixed.

 - Passwords in 'user' have been bulleted out.  It was too easy for someone
   to look over the shoulder of an administrator.

 - 'Network Configuration' had several UI changes, plus some intuitive changes.
    It used to be that to zero the 'Realm Server IP Address' gadget, you
    needed to enter 0.0.0.0<RET>; turning off 'Realms' or 'Realm Server' gadgets
    weren't necessarily 'save-effective' in the past, as they depended on whether
    any data was present in the realms or realm-server fields.

 - 'Accounts Manager' had a bug with group removal fixed.  It used to require
   both group admin and full admin to remove a group.  Now, it's only one.

 - A memory problem in 'Accounts Manager' was fixed; mungwall problems at
   manager shutdown are now history.

 - A problem with user flags was fixed in 'Accounts Manager' -- changing any other
   user flags caused 'adminall' to be set.  A -slight- security problem.  :')

 - 'Services Manager' was ignoring the enable bit on a service.  Fixed.


Changes since Beta Disk 37.89
-----------------------------

 - 'Filesystem Imports' had several UI changes, plus the addition of a close
   gadget.

 - Same had problems with 1st character of a mountfile name missing, fixed.

 - Same had problems with colons in mountpaths in positions other than trailing.
   Caused mounting of subdirectories to fail.  Fixed.

 - Gadget added for 'No security', when selected, the listview, add, and
   delete gadgets are ghosted, and -anyone-, regardless of who they claim
   to be, will have complete access to that mount.

 - In 'filesystem exports', renamed 'full permissions' to 'full file security'.
   The former confused several people.  The latter is slightly (?) clearer.

 - In 'filesystem.service', promotion from other->group->user is a user
   belonged in the 'other' category wasn't happening at all.

 - Several other associated 'filesystem.service' permissions bugs were fixed.

 - Also in 'filesystem.service', a FreeMem() of incorrect size was fixed.
   (Caused mungwall hits.)

 - 'EnvoyFileSystem' had several memory loss problems fixed.  Thanks to
   Perry Kivolowitz for providing me with something reproducible.

 - Same had a problem where, in low memory, packets could return and take
   action on a no-longer existing DosPacket.

 - 'envoy.library's Host requester had several misaligned gadgets aligned.

 - Same had the cursor moved to the end of the string gadget at startup.

 - V37 systems had several printing problems.  V37 printer.device didn't
   understand anything other than 'serial/parallel'.  We now install the
   V38 printer.device, and make an assign in user-startup for printers:.
   A file is moved to WBStartup to tweak some IPrefs fields, too.

 - The old port-handler had several bugs related to shutting itself down.
   The new V39 port-handler is now included.  (Allows you to COPY file PRT:,
   for one ...)

 - 'NIPC Configuration' renamed 'Network Configuration'.

 - 'Network Configuration' added checkboxes for using realms and being a
   realm server.  Removed extra gadgets and pages that confused novices.

 - 'Network Configuration' was setting the SANA-II BufferManagement field
   to null.  No longer.

 - Same had several UI changes.

 - Owner's name added to 'Network Configuration'.

 - 'user' and 'group' prefs window size reduced, UI changes.

 - NIPC support for 'MATCH' and 'QUERY' OWNER added in NIPCInquiry().

 - NIPC supervisor process priority raised.

 - NIPC memory leak on closing connections fixed.

 - 'Services COnfiguration' had several UI changes.

Changes since Beta Disk 37.87
-----------------------------

V87 had an incorrect revision of the 'Printer Import' program, which would
cause that program to fail to find any printer servers on the network.  Fixed.

'Filesystem Imports' had trouble mounting volumes when the filenames it
generated for the mountfile had spaces in it.  Fixed.

'Filesystem Imports' made the assumtion that all hostnames contained a
colon.  This is not true for a non-realmed environment.  Fixed.

envoy.library's Host requester was modified not to automatically add
colons to host names, and not to provide a Realms button for non-realmed
machines.

Somewhere around V85, NIPC completely broke for non-realm users.  Considering
that 99% of Envoy's testers don't use Realms, it effectively broke for
-everyone- except those of us here at West Chester.  Fixed.

Because of both a bug in the 'Services Manager' and because of a lack of
quotation marks in the install script, the database files for the accounts
mechanism were not being created.  Fixed.

Tooltypes in the 'Accounts Manager' were being read incorrectly.  Fixed.

Several include files were either in error, or out-of-date.  Fixed.

Changes since Beta Disk 37.85
-----------------------------

Several files were outright -missing- from the previous archive.
These have been included in this release.

The install script had several problems in installation, including
not creating the correct directories before trying to use them.
These also have been fixed.

NIPC has had a routing error fixed; essentially, broadcast packets
would constantly be reforwarded on networks with a default subnet mask,
creating painful amounts of excess traffic on these select networks.

NIPC no longer requires a seperate IP address from AS225, if you choose
to use the two together.  Operation will continue if you are already
using seperate addresses, though.


