2003-09-29	<jaharkes@cs.cmu.edu>
        * ======== Release 6.0.3 =========
	* clog -as <user>, clog uses setuid to switch to the specified user
	  before obtaining tokens. This simplifies getting tokens while
	  keeping passwords safe from a root crontab entry.
	    clog -as www-data [webuser] < /.../passwordfile
	* Fix rounding error in GrowVnodes which was causing a server crash
	  during backups.
	* Runt-resolution fixes.
	* When repairing a directory, set the author on all replicas.
	* Ignore failures when stale directories are already purged.
	* Call endrepair on correct object.
	* Repairing a directory no longer sets the mode to 0644.
	* Incorrect htonl in repair messed up the hostnames in the fixfile.
	* Avoid endless recursion when a primary host disappears.
	* Make logrotate script quieter.
	* Improved volutil create_rep usage message.
	* Fixed RPM spec file to include missing files.
	* Redirect stdout/stderr to /dev/null to work around init issues.
	* Fail when libreadline is not found.
	* Correctly report fetch-progress in codacon (Phil Nelson).
	* Venus crashed when the VSG of a volume changed.
	* Cygwin updates (Phil Nelson).

2003-08-01	<jaharkes@cs.cmu.edu>
        * ======== Release 6.0.2 =========
	* Make sure the server stays responsive while computing SHA
	  checksums by occasionally yielding to other threads.
	* Instantiate a realm in /coda when a user gets tokens.
	* Using double fork to let init catch our zombie processes.
	* Avoid codacon crash when pathnames are very long.
	* Fix '..' traversal across mountpoints which was causing problems
	  on every system but Linux (which never passes '..' to venus).
	* Make sure that updateclnt actually reconnects after the updatesrv
	  was down for some time.
	* Improved performance and importing large groups in pdbtool.
	* Returning a fake ACL for fake local objects. Realm mountpoints,
	  repair related trees, etc. (Ivan Popov)
	* Redzone/yellowzone to avoid running a client into the brick
	  wall of 'no more CML or blocks available' when we are
	  (write-)disconnected. When the CML or disk fills up we start slowing
	  down when we are starting to run low on space, and start blocking
	  mutating threads when space is pretty much exhausted. This way the
	  reintegrating thread has a chance to catch up.
	* Added fts.c/.h when libc doesn't provide it. (Phil Nelson)
	* Removed per-user rpc2 connection limit.
	* Removed masquerade option (it is now always enabled).
	* Fixed mount problems for cloned volumes.
	* Fixed a couple more problems in repair.

2003-06-03	<jaharkes@cs.cmu.edu>
        * ======== Release 6.0.1 =========
	* Added autoconf test to detect (size_t)(&type::member) off-by-one
	  error with some gcc compilers.
	* Actually make sure exec_prefix is defined in the startserver script.
	* Don't install unused copy of codaconfedit in /usr/bin.
	* Fix pathnames generated by mklka to be what we expect.

2003-05-27	<jaharkes@cs.cmu.edu>
        * ======== Release 6.0.0 =========
	* Realms.
	* When instantiating a new volume make sure that the vol daemon
	  does not purge them during initialization.
	* When restarting after failed repair, recover CML linkage to
	  localized objects.
	* Allow for dirty objects without a container file.
	* Only allow mountpoints to be created through a cfs ioctl instead of
	  interpreting magic characters in a regular symlink.
	* Venus now allows arbitrary size volume names, the servers don't.
	* Empty mountlinks trigger pathname based volume lookups. (Ivan Popov)
	* Correctly report disk block usage. (Greg Troxel)
	* A newly created /etc/coda/xxx.conf is now actually readable.
	* More kerberos fixes (Ivan Popov, Mark Phalan, Rafael Perez)
	* Removed libdb 1.85 dependency, related code is now using rwcdb.
	* Perform mount syscall from a child process on *BSD systems to avoid
	  deadlocks during mount.
	* Lookaside caching. (Satyanarayanan)
	* Avoid unnecessary conflict as a result of a strict VV test during
	  reintegration.
	* Removed the server's dependency on the VSGDB.
	* Several server-server conflict resolution and repair fixes.
	* Replaced internal codasrv and venus log-rotation with an external
	  scripted solution.
	* cfs disconnect/reconnect now work without libfail.
	* Moved @sys/@cpu expansion from Lookup to ReadLink and allow
	  filenames to end with '@xxx'. 
	* Avoid string overflow during backups.

2002-12-13	<jaharkes@cs.cmu.edu>
        * ======== Release 5.3.20 =========
	* Don't abort repair when some replicas cannot be found.
	* norton's 'show volume details' didn't work, it's
	  'show volumedetails' now and works.
	* Lots of duplicate code removed dealing with vnode lists in the
	  servers.
	* Build fixes for gcc-3.2, updated configure.in to autoconf-2.5.
	* Fixed createvol_rep to deal with spaces in volume names.
	* Corrected Linux's devfs aliases in the modules.conf file.
	* Fixed occasional memory leak and bad free in venus.
	* Added 'masquerade_port' option to venus.conf to force venus to use a
	  fixed port number when masquerading.
	* Kerberos cleanups and improved integration (no more special kauth2
	  or kclog binaries).
	* Reduced the size of CML entries in the client.
	* Fixed inverted test that blocked the creation of files named '..foo'
	* Keep the vnode bitmaps on the server small, servers would crash when
	  more than 30000 files are created in a single volume. Now we should
	  be ok until we hit about 240000.
	
2002-03-12	<jaharkes@cs.cmu.edu>
        * ======== Release 5.3.19 =========
	* Fixes for createvol_rep script.
	* Avoid using hardcoded configuration file location in scripts.
	* Avoid uninitialized atime and ctime when fetching an object,
	  although we don't keep track of these times, it broke make.
	* Fixed bad cast from rec_dlist to dlist.

2002-02-01	<jaharkes@cs.cmu.edu>
        * ======== Release 5.3.18 (unreleased) =========
	* Coda servers were doing strncmp instead of memcmp on ip-addresses.
	  This fixes 'identity-crisis' problems for replicated servers, where
	  servers didn't know which volumes they were hosting etc. (Ivan Popov)
	* A wrong mknod args in the RPM postinstall, we failed to correctly
	  create the /dev/cfs0 device.
	* Some Coda client postinstall fixes for Debian.
	* Made ValidateAttrs on the server more resilient to bad input.
	* Handle reintegration conflicts when doing a partial reintegration,
	  instead of endlessly looping.
	* Improved devfs support on Linux (Rajesh Balan).
	* We had some stupid assumptions about 'equivalency' between C++
	  classes and C structs which break when compiling with
	  gcc-3.0, there might be more problems lurking there.
	* Windows XP installation fix (Phil Nelson).
	* Searching the colon separated CODACONFPATH environment variable for
	  venus.conf and server.conf configuration files.
	* Added some more paranoia checks while parsing the /vice/db/servers
	  file.
	* No longer ordering VRDB entries entries by ip-address. This allows
	  us to resize a VSG without affecting version-vectors.
	* Replaced the codaconfedit script with a C implementation that
	  searches CODACONFPATH and can be used to query entries as well.
	* Venus now gracefully handles the situation where getvolinfo returns
	  different replicas compared to the cached replication information.
	  Now we only need add server support for VSG changes and a trigger
	  that forces venus to make a getvolinfo call and we can start moving
	  volumes around in the system.
	* Added rds_print_stats to the server's printstats output to aid in
	  finding whether an RVM allocation failure is due to running out of
	  RVM space, or due to a large defragmentation that cannot be logged
	  in the RVM log.

2001-11-06   <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.17 =========
	* venus-setup created NOT_REALLY_CODA in / instead of in /coda
	  (Ivan Popov).
	* Avoid killing clients when receiving truncated directory data.
	* Block when accessing an uncached object during resolution instead of
	  failing. This is especially useful during weak-reintegration.
	* Added -local flag to cfs lv to avoid client-server rpc2 traffic.
	* Fetch data as well as status in write-disconnected mode, the dirty
	  status-only object would prevent subsequent data-fetches until
	  successful reintegration completed.
	* Added venus.conf option 'validateattrs' to limit piggybacked fids
	  during validate attrs to help reducing IP layer fragmentation.
	* Another new venus.conf option 'serverprobe' to increase server probe
	  intervals (keeps firewalls from dropping masqueraded connections).
	* venus.conf.ex file now defaults to turning on both masquerading and
	  using private mmap's for RVM.
	* Disallow unlinking special names with 'cfs rmm'
	* Optimized local-global fid replacement.
	* Removed /dev/cfs0 from RPM package to allow unpacking the RPM on devfs
	  enabled systems, we don't fix up the devfs autoloading stuff yet.
	* Moved /usr/bin/replay to /usr/bin/coda_replay to avoid name conflicts.
	* Added getvolinfo program to be useful when debugging volume mounting
	  problems.
	* Added the missing fflush back in the server logging.
	* Fixed createvol_rep to disable resolution logging when creating singly
	  replicated volumes.
	* Fixed possible errors during runt-resolution.
	* Added assert to the server when not all hostnames in a VSG can be
	  resolved.
	* Avoid servers getting stuck in file-creation when there are
	  pre-existing files in /vicepa.
	* Always pre-allocate fids with the maximum possible stride, will become
	  useful when we allowing modifications to a volume's replication
	  group. However, any replicated volume over a mix of old and new
	  servers has a slightly higher probability on getting unwanted
	  fid-collissions.
	* Reduced server memory usage during reintegration.
	* gcc-3.0 compilation fixes.
	* Lots of cygwin/win32 patches (Phil Nelson).
	* Fixed the test for readline library version (Phil Nelson).
	* Fixed detecting libdb3 with db 1.85 'compatible' API (Russ Mennie).
	* OpenBSD patches (Jeff Bachtel).

2001-06-12   <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.15 =========
	* Improved the db1 autoconf test some more.
	* Fix wild iterator when killing off connection groups.
	* Found server memory leak in the access validation path.
	* Addressed possible race in server down handling.
	* Not returning ENOENT when testing inconsistent files with
	  access(F_OK).
	* More effectively invalidate kernel caches for dangling symlinks as a
	  result of conflicts.
	* Remove some unused code.
	* Allow server-server repair with only one existing replica, needed
	  for repairing conflicts after running out of diskspace.
	* Code cleanups for gcc-3.0 prerelease.
	* Added "skip volumes" argument to norton-reinit -load.
	* Reduce stack usage when printing name contexts.
	* The 'change id' function of pdbtool would silently corrupt the pdb
	  databases, group owner id's were not updated, users were missing
	  as members from groups. Group could become a member of a user.
	  Hueristics to fix these corruptions are added to the 'pdbtool cm'
	  functionality.

2001-03-27   <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.14 =========
        * Reintroduced VSGs in venus.
        * Fixed refcounting for hdb_bindings.
        * Added refcounting on srvent structures.
        * Moved venus/mgrp related operations into venus/mgrp.cc.
        * Re-randomizing during hoardwalks to add fair reclaiming behaviour
          in the low end of the priority queue.
        * Fixed PackVS bug when hosts in an mgrp are not all packed into the
          beginning of the hosts array.
        * Merged decision to use vol->AddCOP2 into vol->COP2.
        * Fixed signal handler so that simply sending SIGHUP rotates the
          logfiles without crashing venus.
        * Replaced a couple of uses of mktemp() with tmpfile().
        * Removed most redefines of VSG_MEMBERS, this constant should now only
          be defined in vcrcommon.rpc2.
        * Reordered test that searches for libdb 1.85.

2001-02-25   <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.13 =========
	* Fixed incorrect ACL creation on new volumes.
	* Caught memory leak in volutil dumpestimates.
	* Corrected include file search order to pick up local headers
	  before system headers. 
	* Turned off rpc2 packet tracing in the servers.
	* volutil info now accepts replicated volume names/ids.

2001-01-19    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.12 =========
	* Fixed partition initialization bug.
	* Patch for pdbtool to import real /etc/group file (Steffen Neumann).
	* Avoid creating duplicate groups when importing.
	* Removed hardcoded uid's for System:AnyUser and System:Administrators.
	* Cleanups for purgevol_rep, it now also purges backup volumes.

2001-01-15    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.11 =========
	* Filerepair merged into repair tool (Rimas Svarcas).
	* Properly expanding sysconfdir (Greg Troxel).
	* Experimental `staging server' support (Shafeeq Sinnamohideen).
	* Fix volutil getvolumelist corruption due to broken snprintf
	  implementations.
	* Directory code cleanups and corrected handling of boundary
	  conditions when growing a directory.
	* venus-setup improvements related to kernel modules, device
	  creation, and setting up initial directories.
	* Avoid crash when no resolution log is available on the server.
	* Brought norton-reinit back from the dead.
	* Hardcoded portnumbers in case of failed getsrvbyname lookups.
	* Select strongest server in an AVSG.
	* Repair cleanups (Rimas Svarcas).
	* Support for masquerading firewalls, use venus.conf option
	  `masquerade' to enable. Only works with 5.3.11 servers.
	* Improved auth2 access checking.
	* Removed last bits of vstab support.
	* Dropping unauthenticated connections to updatesrv.
	* Avoiding endless loops while killing mgrps.
	* Fixed volutil authentication.
	* Fixed partition size calculation, it wrongly assumed 1K blocks.
	* Fixed Y2K bug in volutil info.
	* Fixed file truncation bug (truncating a new file without writing
	  data).
	* Added a yield during volutil dumpestimate to avoid rpc2 timeouts
	  when checking a large volume.
	* Improved volutil dump/restore reporting.
	* Added check for -fno-operator-names (Timothy Wood).
	* Added warning when gethostbyname(myname) returns a 127.x.x.x
	  address.
	* Added warning when db/servers has a server with `reserved' hostid
	  (0, 127 or 255).
	* Added ipaddress=xxx.xxx.xxx.xxx server.conf option to override
	  incorrect gethostbyname(myname) results.
	* Fixed server hostTable iterators.
	* Allow server to bind to IN_ADDR_ANY when not running multiple
	  servers on the same machine.
	* Moved /vice/vol/VRList to /vice/db/VRList to allow SCM takeover.

2000-10-06    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.10 =========
	* Fixed mounting /coda on Linux 2.0 kernels.
	* Caught wrong initialization of a volume flag which causes
	  disconnected volumes when the network is strong and servers
	  are up.

2000-09-29    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.9 =========
        * Some createvol_rep fixes when new servers are added (Phil Nelson).
        * Improved recycling of client connections on the servers, fixes
          client connectivity and minor race problems.
        * Cleanup of the SpoolVMLogRecord code in the server.
        * Replaced the advice_daemon with a rewritten daemon the `sidekick'
          for triggering ASR's (Rimas Svarcas).
        * Venus didn't get shutdown properly on Redhat Linux.
        * --without-openssl configure flag to avoid linking with libssl.
        * Extensive cleanups and improvement for the repair related code
          (Rimas Svarcas).
        * Fixed updateclnt/srv directory skew which prevented files to be
          propagated from the SCM to the other servers.
        * Large restructuring of venus's volume handling code.
        * Chown used to fail on newly created files.
        * Updates to compile with current cygwin32 compiler (Phil Nelson).
        * Removed VMon, rws, VSR statistics gathering related code.
        * Blocked setuid bits.
        * Fixed venus -rvmt 3 (no-RVM operation), added dontuservm as a
          parameter in venus.conf.
        * Turning off resolution in createvol.rep for singly-replicated
          volumes.
        * Venus now properly reclaims unused empty volumes from RVM.

2000-06-22    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.8 =========
	* volutil restore bugfix (Ulrich Kahn).
	* More changes for allowing multiple servers on a machine (Phil Nelson).
	* Venus rotates the logfiles when it receives a SIGHUP.
	* Many changes to the volume creation scripts and associated server
	  code.
	* Updatesrv now only has to run on the SCM.
	* Fixed hosttable overflow crash which struck when 1024 clients had
	  connected to a server.
	* Servers now dump directory contents if queried by volutil showvnode.
	* Some NetBSD-current updates (Phil Nelson).

2000-05-01    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.7 =========
	* Bumped the version number to 5.3.7.
	* Many changes to the server setup scripts (Phil Nelson).
	* Allow for overriding hardcoded paths in server programs by using
	  config files in /etc/coda to configure (multiple) servers. (Phil).
	* Locked up updatesrv to serve files from /vice/ only. Also added an
	  export file (/vice/db/files.export) to restrict this exported set
	  further. (Phil)
	* Avoiding base64_* nameconflicts with kerberos (Owen LeBlanc).
	* Verification phase of directory resolution now works.
	* Fixed crashing on `lost' dirty objects during recovery.
	* Optimizations for hoard walks, avoiding duplicate namebindings, and
          fixed an occasional NULL-ptr dereference.
	* Fixed hoarding of symlinks.
	* Added volume dump estimates and allow for concurrently running dumps.
	* Volutil can now dump/write to stdout, needs rpc2-1.4.
	* Fixed directory bug (Greg Troxel).

2000-03-21    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.6 =========
	* Distributing rpc2 and rvm as separate packages.
	* Removed a bunch of unused code.
	* Hierarchical file cache for Coda clients (Phil Nelson).
	* Lazy creation of hierachical directory trees (Phil Nelson).
	* Fixes to cure needless refetching of weakly reintegrated files.
	* Fixed a bad optimization error in log-based resolution which
          occasionally cancelled out the wrong operations.
	* Correctly handle writeback caching on replicated volumes
          (Shafeeq Sinnamohideen)
	* Filenames in repair files sometimes got truncated.

2000-02-04    <jaharkes@cs.cmu.edu>
        * ======== Release 5.3.5 =========
        * Lots of fixes for Solaris sparc & i386 (Phil Nelson).
        * CML entries were not frozen during trickle reintegration and repair
        * sessions. This lead to problems with failed backfetches, bad
          reintegrations of owrite files, and crashes during log optimizations.
        * cfs rmm didn't inform the kernel that the directory was gone.
        * Broken inet_aton check in configure caused gethostbyname crashes on
          FreeBSD (Shafeeq).
        * New code-paths in sftp (as of the last release) turned up some bugs.
        * Shadowing the container file `V0' copied its contents to `V0',
          actually losing the data during the copy (Shafeeq).
        * Moved default location of venus.log to /usr/coda/etc.
        * Fixed double free of sftp packets on disk errors.
        * Fixed up missing shadow files and making backups of owrite files to
          /usr/coda/spool during venus startup/recovery.
        * cfs forcereintegrate should now work correctly (Shafeeq).
        * Bad COP2 handling lead to undetected server-server conflicts.
        * Several weak-reintegration problems fixed.
        * Weak reintegration marked the wrong objects as needing resolution.
        * Repair didn't freeze CML entries during reintegration, and failed to
          correctly copy filedata when preserving a store operation.
	* -mapprivate flag for norton (Phil Nelson).

1999-12-31    <jaharkes@cs.cmu.edu>
	* ======== Release 5.3.4 =========
	* Recursive (blocked) RPC2 calls were never woken, was a cause for
	  a deadlock in the server to client callbacks.
	* Moved the mariner port to a unix domain socket.
	* Fixed a crash on 'cfs rmm dir/'
	* Skipping non-cacheable objects during the hoard walk.
	* Got rid of a double free (and crash) in the sftp code.
	* Added optional private rvm mappings. Huge performance wins when
	  enabled, but only works for rvm-files. (Phil Nelson)
	* Fixed the year being printed as 100 in the logfiles in 2000.
	* Build cleanups, moved kernel-src and lwp to separate packages.
	* Switched codaservers to exit by default, added a -zombify flag and
	  test for /vice/srv/ZOMBIFY to switch back to the endless sleep.
	* Cleanups in backup and setup scripts. (Kurt Huwig and David J. Graff)
	* Added more options for venus.conf.
	* Added support for multi-level incremental backups.
	* Fixed resolving the parent directory when GetAttr fails.
	* Fixed SetACL problem where an invalid username would result in the
	  acl for user `0' to be added.
	* Fixed losing files (and possible crash) during venus startup after a
	  file was opened for writing during reintegration (shadowing).
	* Fixed losing filedata when a file gets shadowed twice. 
	* Didn't resolve the directory owner when doing log based resolution.

1999-10-21    <jaharkes@cs.cmu.edu>
	* ======== Release 5.3.3 =========
	* Dumpdir argument of the backup program was not considered optional.
	* Skip invalid lines while parsing the VSGDB. 
	* Build cleanup, now correctly builds vcrcommon.h.
	* Setattr sometimes wanted fso data even when it was not required.
	* Removed broken fcntl locking for directories.

1999-10-11    <jaharkes@cs.cmu.edu>
	* ======== Release 5.3.2 =========
	* Bugfixes:
	    - Truncating a file while disconnected caused venus to crash.
	    - A memory leak was triggered by failing SFTP transfers, this has
	      been partially fixed.
	    - Fixed a crash that occured after a double kill of a namecontext
	      during a hoard walk after token expiry.
	    - Collapsed hoard namecontexts were never re-expanded due to some
	      optimizations.
	* Cleanups & features:
	    - Thanks to a huge patch from Jozsef Kadlecsik, many #ifdef's in
	      the code are now based on autoconf detected features instead of
	      operating system.
	    - Reworked the init scripts a bit.
	    - New configuration file, $sysconfdir/coda/venus.conf, which
	      allows persistent changes to rvm/logfiles/cache directory
	      locations, which should allow distributions to push Coda into
	      their standard directory hierarchy.
	    - Fixed a (false) conflict that was created after a token expired.
	    - Several compiler errors/warnings fixed, thanks to Troy
	      Benjegerdes and Kurt Garloff.
	    - Phil Nelson has been making many fixes and updates for the
	      Solaris port.

1999-09-01    <jaharkes@cs.cmu.edu>
	* ======== Release 5.3.1 =========
	* Added CC -fpermissive flag testing to the autoconf script.
	* Applied patches for gcc 2.95 compilation, probably messed up at
	  least one of them :) (Troy Benjegerdes)
	* CML entries were dropped after an out of order CML reintegration
	  (triggered by repair->preservelocal).
	* Partial reintegration was occasionally causing data-loss when
	  talking to multiple servers.
	* Fixed a deadlock when a thread was waiting for resolution to finish.
	* RPC2 timestamp wrap was causing slowdowns after 49 days.
	* pdbtool updates It now accepts usernames as well as userids, and
	  removing a group didn't update the state of the group members.
	* Solaris fixes for venus. (Phil Nelson)
	* Venus now retries retryable repairs a couple of times.
	* MultiRPC NULL pointer dereference bug fixed.
	* Some more resolution problems fixed.
	* Fetch continuations cannot work for directories, forcing a refetch.
	* Fixed directory resolution bugs introduced in 5.3.0
	* AutoRequestWBPermit was a used as a reference instead of a 
	  function call. (Nickolai Zeldovich)

1999-08-13    <jaharkes@cs.cmu.edu>
	* ======== Release 5.3.0 =========
	* Fixes for big-endian problems with rpc2portmapper. (Troy Benjegerdes)
	* Fixed incorrect va_args usage on linux-PPC. (Troy Benjegerdes)
	* Writeback caching. (Shafeeq Sinnamohideen & Larry Greenfield, based
	  on an initial design and code from Lily Mummert & Peter Braam)
	* Maxids command for pdbtool. (Greg Troxel)
	* Fixed libpdb maxid updating, added import/export/source commands to
	  pdbtool, pdbtool now also accept all commands on the commandline.
	* Fixed bitvector addressing problems on big-endian machines.
	* RPC2 updates.
	* Shortened server backprobe interval to stay below the masquerading
	  firewall timeout.
	* Applied kerberos5 patch that add -realm and -keytab options to
	  kauth2. (Nickolai Zeldovich)
	* Added comments concerning safe-deletion of coda-list items. (Clement)
	* Solaris patches, the server is working. (Phil Nelson) 
	* Fixed directory refcounting during failed repair sessions.
	* Avoid null-pointer deref when clients disappear from the network.
	* Fixed pending CML count in 'cfs listvolume'.
	* Corrected known CountedBS rpc2 memory leak & buffer overflow bugs.
	* Solved the 'reintegration entries without data'-bug.
	* Informing user of `imminent' loss of token, every 5 minutes during
	  last hour.
	* Filled in most of the blanks in ViceGetStatistics.
	* Added smon2 an application to obtain server statistics for analysis.
	  Uses rrdtool for the actual logging and graphing work.
	* Corrected error returncode & error handling to disconnect clients
	  that use an incompatible vice.rpc2 version.
	* Fixed up memory leak resulting from dead/silent clients without
	  callback connections (f.i. cmon).

1999-06-25    <jaharkes@cs.cmu.edu>
	* ======== Release 5.2.7 =========
	* Corrected token file decoding.
	* Fixed a repair fixfile parsing error which caused servers to
	  crash for some types of repair commands..
	* Fixed a bug which potentially causes severe bitmap corruptions
	  when a server has multiple data partitions (could also occur
	  with multiple volumes).

1999-06-24    <jaharkes@cs.cmu.edu>
	* ======== (Release 5.2.6) =========
	* Fixed a bug which caused volume creation to fail on new servers.

1999-06-21    <jaharkes@cs.cmu.edu>
	* ======== (Release 5.2.5) =========
	* Applied patch to libal to work correctly with libdb2's
	  libdb-1.85 emulation. (Andreas Koenig)
	* Fixed the repair tool, it now can handle spaces in filenames.

1999-06-09    <jaharkes@cs.cmu.edu>
	* Fixed bug in codacon, it tried to connect to 1.0.0.127.
	* `cfs lv' now lists more information about the volume, like
	  inconsistencies, even while disconnected. (Clement)
	* Changes to allow multiple servers on the same machine. (Peter)
	* We forgot to clear a directory handle when aborting a reintegration.
	* Enabled cross-directory rename resolution.
	* Cleanup of the fetch continuation code, this should take care of
	  several cases that could crash a client.

1999-05-31    <jaharkes@cs.cmu.edu>
	* ======== Release 5.2.4  =========
	* Client uniquifiers were not unique, because the random generator
	  wasn't seeded yet.	
	* Trickle stores were broken, blocking reintegration.
	* A bunch of repair related changes, mainly simplify porting the
	  repair tools to windows.
	* More SFTP tuning for lossy networks.
	* cfs disconnect/reconnect is fixed! (Clement).
	* More Win95 updates (Marc).
	* Handling token expiry at the server side now.
	* Fixed some rvm leaks in the client.
	* Turned off RPC2_strict_ip_matching by default, too many
	  `multihomers' got bitten by this one.
	* Fixed rvm recovery bug in venus.

1999-05-13    <jaharkes@cs.cmu.edu>
	* ======== Release 5.2.3  =========
	* Moved pdb filenames to prot_users.db and prot_index.db.
	* Avoid random data problems and buffer overflows when reading
	  auth2 and volutil tokens.
	* Only query the servers in the vstab for volume information.

1999-05-07    <jaharkes@cs.cmu.edu>
	* Servers would assert when they got a connection from an unknown
	  userid.
	* Codacon couldn't bind to venus if only the loopback device was
	  available.
	* Added libdb2 detection, as it isn't 1.85 compatible (fileformat).
	* Reshuffled the tree a bit
	  resolve          -> librepair
	  res/rvmres 	   -> resolution
	  kernel-src/linux -> linux-coda (separate tree)
	* Correct lock ordering when breaking callbacks on multiple clients.
	* Replaced 'cfs bw' with 'cfs strong/adaptive'.
	* Corrected lock ordering when creating hardlinks.
	* Switched from gdbm to db-1.85.
	* Fixed loss of reintegration records after venus reinitialization.
	  This needed extra space in the RVM header, reinit your venus.
	* Caught several bugs related to partially cached objects.
	* Removed VM resolution, and fixed some bugs with RVM resolution.
	* Incorporated patches to get compiled on NetBSD 1.4
	* Using lower/upper bandwidth estimates to reduce weak-strong
	  changes when we are working at the weakly connected threshold.
	* owrite files with partial data were not discarded.
	* Fixed an endless loop in ViceNewFetch.
	* Gettimeofday on cygwin caused problems, added a workaround.
	* Updated kernel module with the 2.2.6/2.2.7 changes.
	* Fixes to kernel module refcounting.
	* Added statfs upcall, `df' now gives information about the cache
	  usage.
	* Fixed kernel oops when reading from /proc/fs/coda/upcall_stats.
	* Processes got stuck when writing to /proc/sys/coda/*_stats.
	* Increased the precision of the upcall stats timing
	  (echo 1 > /proc/net/upcall_stats to turn it on).
	* Got rid of 1000's of warnings when compiling with -Wall
	  (still not completely done yet).
	* Reduced server retry timeout to max. 15 seconds.
	* Finish trickle stores when switching to strong, instead of
	  resending the complete file.
	* Avoiding gethostbyname lookups if the vstab contains ip's.
	* Correctly comparing directories during resolve, this was the
	  cause of many not really conflicting server-server conflicts.
	* Several repair/resolve related refcounting/deref. bugs fixed.
	* Fixed an uninitialized pointer deref when dumping volumes.
	* Added 200M choice to vice-setup-rvm.
	* Cleanup & proper locking in the callback code on the server.
	* Correctly log client addresses and port numbers in callback msgs.
	* LockQueue manager forgot to initialize thread specific data.
	* Split RPC2 & SFTP netlogs.
	* Quickly pass up NAK's on an SFTP connection.
	* Some overflows fixed in the new ns/B bandwidth calculations.
	* Fixed an uninitialized pointer dereference which caused random
	  crashes for just about all mutating filesystem operations.


1999-03-25    <jaharkes@cs.cmu.edu>
	* ======== `Release' 5.2.1  =========
	* Moving old pdb databases out of the way when re-running
	  vice-setup-user.
	* Fixes small memory leaks in the pdb library.
	* Switched back to cygwin B20, the snapshots were giving version
	  skew problems, added a fix to B20's gettimeofday problem.
	* Modified the bandwidth stuff (ns/B instead of B/s), this more
	  quickly assumes weak connections, but gives better estimates
	  overall.
	* Removes venus reinitialization when installing a new rpm.
	* Fixes several directory refcounting problems in the server.
	

1999-03-04    <jaharkes@cs.cmu.edu>
	* ======== Release 5.1.0 (5.2.pre1) =========
	- summary of some of the differences since 5.0.x
	* New protection database (simplyfies user administration).
	* Removed obsolete venus-vice rpc2 calls.
	* Server support for trickle fetch and fetch continuations.
	* Improved support on the Windows platforms.
	* Avoid deadlocks in the rpc2 binding sequence.
	* Added support for FreeBSD 4.0 (Robert Watson)
	* Testing for -fno-exceptions in configure script.
	* Switching fetches between volume replicas.
	* Removed the need for -child flag on Win95.
	* Nice GUI frontend on Windows for starting/stopping venus.
	  (Michael Callahan and Marc Schnieder)
	* Fixed @sys/@cpu expansions in venus, and allow setuid bits.
	* Added @sys/@cpu commands to cfs to show the `current' expansion.
	* Normal symlinks were sometimes mistaken for inconsistent objects.
	* Many more cleanups and bugfixes.

1999-02-25    <jaharkes@cs.cmu.edu>
	* ======== Release 5.0.3 =========
	* Fixed a bug introduced by the rpc2 cleanups, where lost packets
	  were not retried, this was the cause of the server deadlocks.

1999-02-19    <jaharkes@cs.cmu.edu>
	* ======== Release 5.0.2 =========
	* Resolution refcounting fixes. (Peter)
	* Test if the compiler has -fno-exceptions.
	* Made auth2 block only 15 seconds when authentication fails.
	* Corrected initialization for a couple of LWP threads. (Marc)
	* Zero out SFTP descriptors before usage.
	* Removed leftover merge conflict in norton/reinit. (Anders Hammarquist)
	* NetBSD-sparc support and BSD directory format fixes. (Matt Fredette)
	* Misc other *BSD patches. (Matt and Greg Troxel)
	* Prevention of DoS in the initial rpc2 bind sequence.
	* Fix for > 127 char filenames.

1999-01-21    <jaharkes@cs.cmu.edu>

	* ======== Release 5.0.1 =========
	* Applied an compilation/64bit patch. (Jason Duerstock)
	* Cast a couple of NULL ptrs to correct types. (Peter Breuer)
	* Switched #include <sys/errno.h> to <errno.h>. (Bob Baron)
	* Added Alpha patches to mlwp. (Jim Doyle)

1999-01-19    <jaharkes@cs.cmu.edu>

	* Stop trying to make a Makefile in coda-src/al.
	* Dangling else bug in rpc2/multi3.c (Laszlo Vecsey)
	* Getservbyname in newer glibc's can't handle NULL args. (Laszlo Vecsey)

1999-01-18    <jaharkes@cs.cmu.edu>

	* Our Win95 inet_aton function didn't return an error when it was
	  given an invalid IP address.
	* Fixed a bug in auth2/auser.c, FQDN got mistaken for an IP-address.
	  (Amazingly quick bugreporting kudo's to Robert Watson, Elliot Lee,
	  and Mathew Monroe)

1999-01-13    <jaharkes@cs.cmu.edu>

	* ======== Release 5.0.0 =========
	* New code licensing.
	* Cleaned up LWP stackframes, now gdb doesn't get confused.
	* Updates to the volume management code.
	* Files with long names can now be successfully resolved.
	* Some disconnected operation bugs fixed.
	* Fixed hoard walk problems for ACL protected files.
	* Added Win95/NT Wise packaging files (tbf. in the tools directory).
	* Added FreeBSD ports and NetBSD pkgsrc stuff (see tools directory).
	* Fixed other small annoyances and removed obsolete code/scripts.

1998-12-16    <jaharkes@cs.cmu.edu>

        * Added the 4.6.x changelog entries to the development branch.
	* The development branch contains numerous cleanups and fixes, the
	  important ones are listed below.
	- New directory handling code, which does not corrupt the directory
	  structures on the server and has better `bad-directory' checking and
	  handling code.
	- New RTT and bandwidth estimates in the rpc2 code, currently these
	  estimates are used by SFTP and venus, RPC2 itself remains to be
	  converted to the new scheme. Little timing/correctness errors were
	  fixed.
	- Incorporates patches to build a win95 client with all the little
	  apps around it (clog, cfs, etc.).
	* and more....

1998-12-10    <braam@cs.cmu.edu>
        
	* removed usage of FT_AGetTimeOfDay which caused confusing RTT
	  observations.
	* other important fixes.

1998-10-27    <jaharkes@cs.cmu.edu>

	* fixed null-pointer deref in multi-rpc tracing code.
	* 2 lwp's could gain access to the same exclusive write lock, this
	  caused occasional deadlocks during rvm-truncation, and possibly
	  corruption in other places.

1998-10-05    <jaharkes@cs.cmu.edu>

	* Integrated some of the useful & stable development patches.
	 - Updated README.win95
	 - On linux sendto retries once when ECONNREFUSED is returned.
	 - Updated scripts for the new portnumbers.
	 - Updated server setup scripts.
	 - removed createvol, recreatevol, and recreatevol_rep scripts.

1998-09-08    <jaharkes@cs.cmu.edu>

	* Added Elliot Lee's patches for venus.

1998-09-02    <jaharkes@cs.cmu.edu>

        * ======== Release 4.6.5 =========
        * `cfs cs' as an alias for cfs checkservers
        * rpc2portmap & rc.vice updates for *BSD
        * increased SFTP retries to avoid losing a connection during tranfers.


1998-08-05    <braam@cs.cmu.edu>

	* ======== Release 4.6.4 =========
	* Fixed filcon to return errors instead of filter id's
	* Salvage prints a message when it finishes a partition
	* login directory removed
	* auth directory now contains login stuff and kerberos support
	* port numbers changed to IANA assigned numbers
	* update uses the portmapper (since it has no port anymore)
	* crud removed from several directories
	* norton: you can now create and remove names in directories.


1998-07-23    <jaharkes@telos.odyssey.cs.cmu.edu>

	* ======== Release 4.6.3 =========
	* Removed some network flooding avoidance mechanism which caused SFTP
	to work at 100KB/s on high bandwidth/low latency networks (100Base-T).
	* When a volume is not automatically salvage-able, ALL errors are
	reported instead of one. This is helpful when attempting to repair
	by hand.
	* Fix for norton, recreate a directory entry for some file.
	* Modified coda.spec to _not_ to create the /usr/bin/tixwish softlink.

1998-07-14    <jaharkes@telos.odyssey.cs.cmu.edu>

	* ======== Release 4.6.2 =========
	* coda-src/rpc2: Small piggybacked fragments were rejected by venus.
	* coda-src/scripts/venus-setup: Creates /coda/tmp as well.
	* coda-src/update/updateclnt.cc: Stopped the updateclient from
	changing the systemtime, it now warns you to use xntpd.
	* coda-src/util/proc.cc: Close a leaked filedescriptor.
	* coda-src/venus: Modified number of cachefiles/hdb-/cml-entries.
	* coda-src/volutil/merge.cc: Fixed allocation errors.
	* coda-src/volutil/vol-dump.cc: Filepointer was sometimes closed twice.
	* coda-src/volutil/vvlist.cc: Fixed allocation errors. Added check
	for out-of-bounds array accessing. Corrected off-by-one iterator
	error.
	* kernel-src/vfs/linux21: Lots of fixes.

1998-06-30    <jaharkes@telos.odyssey.cs.cmu.edu>

	* ======== Release 4.6.1 =========
	* coda-src/scripts/createvol_rep: Fixed a bug when using fully
	qualified hostnames in the servers or VSGDB files.
	* coda-src/venus/fso_cfscalls0.cc: Solved the EBADF bug.

1998-06-24    <braam@carissimi.coda.cs.cmu.edu>

	* kernel-src/vfs/linux21: enormous amounts of changes. New
	Makefiles for the linux-coda module.  Improvements to the 
	kernel code. 
	* coda-src/fail: filcon now returns 0. 
	* minor changes for BSD package building.

1998-06-18    <braam@carissimi.coda.cs.cmu.edu>

	* kernel-src/vfs/Makefile.in (SUBDIRS): linux kernel code builds
 	no longer part of Coda building. Too many deps on kernel
 	flags. This has implications for the coda.spec.in file too.
	* lib-src/mlwp/lwp.c: stacks are now mmapped with guard pages.
	* rvm-src/rvm/rvm_logrecovr.c: two important bugs were caught in a 
	large scale debugging effort.  They both resulted from the rvm
	thread not correctly signalling the other threads in case the log
	was empty but recover was triggered because a large transaction
	was pending. Servers now startup fine, even first time around.
	
1998-06-16  Peter Braam  <braam@motet.coda.cs.cmu.edu>

	* rvm-src/rvmlwp and rdslwp: Jan fixed building RVM inside the
	source tree 
	* coda-src/vice/srv.cc: moved RVM initialization before RPC2
	startup. 
	* coda-src/scripts/vutil & venus: Jan: improve signal handling,
	vutil now  changes the debug level correctly on Linux (at last)
	* coda-src/vice/srvproc2.cc: Shafeeq and Peter: more changes to
	connection setup in the server.
	
1998-06-11  Peter Braam  <braam@motet.coda.cs.cmu.edu>

	* kernel-src/vfs/linux21: the volroot list off the superblock was
 	being corrupted with stale entries. Fixed.  Also refresh the
 	opened container inode upon every open.

1998-06-07    <braam@carissimi.coda.cs.cmu.edu>

	* kernel-src/vfs/linux21/psdev.c Moved entry for /proc/fs to the
	proc filesystem directory.  
	* kernel-src/vsf/linux21/dir.c: fixed the nasty segfault caused by
	positive error return in coda_lookup. Cleaned up the interruption
	code.  

1998-06-06  Peter Braam  <braam@motet.coda.cs.cmu.edu>

	* coda-src/scripts/venus-setup: chmod 600 /dev/cfs0 !!!
	* coda-src/venus/vproc.h: for Linux CRTORUID for Linux should use
	fsuid. This allows Samba exporting of /coda 

1998-06-03  Peter Braam  <braam@motet.coda.cs.cmu.edu>

	* Fix to BOGUS/NAKIT macros. There are many unsafe macros in rpc2.
	These are the most important ones and we have made them safe.  This
	was responsible for numerous errors.

1998-05-27    <braam@carissimi.coda.cs.cmu.edu>

	* rvm-src/configure.in/Makeconf: revamped the building process
	of the threaded rvm/rds libraries to stop using symbolic links.
	* volutil/vol-setlogparms.cc: VMRES flag was made obsolete, and 
	"or-ing" the flags changed to assignment.

1998-05-18    <braam@ptar.stelias.com>

	* got rid of /vice/db/hosts.  Names in /vice/db/servers
	must now be equal to those in the VSGDB. This involved minor
	changes in vol/volume.cc
	* changed SIGSTP to SIGUSR and added a routine UtilDetach which
	does setsid  to: updatesrv, updateclnt, auth2. 
	* changed srv to codasrv
	* vice-setup-rvm exits if srv.conf exists

1998-05-14    <braam@carissimi.coda.cs.cmu.edu>

	* increased the stack of advice_daemon in Venus to 0x4000. Stack
	overflow was caused by several char[MAXPATHLEN] on the stack. 
	* increased the stacksize of various things in advice_srv
	* asked advice_srv to exit if Gui falls over
	* Fixed some missing code in advice/conversions.cc
	* Guidir: beginning of better handling of PATHS and 
	GetServerInformation. advice_srv now works .. at CMU for Peter...
	* Makeconf Eliots problem with VPATH/INCLFLAGS. fixed.
	* lwp.c correct initialization of lwp_logfile. 

1998-05-01    <braam@carissimi.coda.cs.cmu.edu>

	* ======== Release 4.6.0 =========
	* lib-src/mlwp: patches added from Odyssey group to aid in
	debugging stack problems.
	* added LWP_SetLog file to set log file and level.
	* coda-src/rpc2, rp2gen: changes from Odyssey: change time 
	measurement units to ms from 10ms; add float type to XDR.
	* included shrink packet bug fix 
	* CODA_ASSERT: changed to while (1) { sleep(1); } to preserve more
	stack. 
	* C++/C: we upgraded libal and auth2 and vicedep to "C". All stub
	will now appear with C linkage (rules for C++ stub code were
	removed). 
	* Changed logging in RPC2 to use a log file rather than stdout. 
	* rvm-src/seg/rvm_loadseg.c: initialized the hdr_vmaddr pointer to 
	NULL. 
	* coda-src/venus/vproc.h: use euid instead of fsuid.  This allows
	samba to export /coda to my windows machine and I can save files
	directly into Coda.
	* coda-src/vice/srvproc.cc ViceNewConnection violated RPC2
	semantics by making a long running call to set up a callback
	connection with Venus.  This resulted in Venus retransmitting
	packets. We moved this setup to ViceNewConnectFS. 
	* kernel-src/vfs/linux21: added /proc entries in /proc/fs/coda
	showing statistics.  Fixed a bug in flag_children (dereferenced a
	NULL in a printk statement).  Took care of O_RDONLY == 0
	(i.e. it's not a bit which is set).
	* coda-src/advice: the Coda console is still not operational
	* coda-src/portmapper: a simple portmapper has been added. We will
	start using this in the future. 
	* coda-src/rpc2/sl.c: ShrinkPacket -- this contained a nasty bug.
	If a  packet was sent with a wrong length field in it a random pointer
	to a buffer may have been returned.  This whole area needs more
	revisiting. 
	* coda-src/scripts/startserver: makes a backup copy of
	SrvErr. Starts the server with the -debarrenize flag to avoid
	silly salvage problems.
	* vice.init: split up into 3 scripts for auth2, update and the
	server. Should now also stop these correctly.  Did away with
	STARTFROMBOOT for Linux.     
	* lwp.c: changed the Logging of errors to write to a FILE
	*lwp_logfile. LWP_SetLog can set this file and the debug
	level. 
	* sys/....h: Bob Baron changed a few header orders for
	compilation on recent FreeBSD's.
	* kernel-src/vfs/linux21: important bug fix -- the VATRR flag
	was cleared instead of set in file_write. Fixed.
	* added suitable RVM addresses for Sparc 1+ machines running
	Linux. 
	* Increased the stack size in the PollServer thread in
	backup. 
	
