Completed 10 years ago (Apr 11, 2007, 4:12:38 PM)
Coda-6.9.1, RPC2-2.5, and RVM-1.14
Coda now works on 64-bit systems. The client and server were successfully built and used on a machine with em64t extensions with a 64-bit Linux kernel. The new RVM-1.14 and RPC2-2.5 releases also incorporate some essential 64-bit fixes.
Another welcome change is that venus now tries to keep cached access rights available for users even across system reboot or client restart which should improve life for people that frequently shut down or dual boot their machines.
- A lot of 64-bit related fixes.
- Allow access to cached files during disconnection if the user currently has no valid tokens, but did have access before the token expired.
- Add venus.conf options for the default reintegration time and age parameters. Also increased default reintegration time to 5 seconds.
- New venus.conf option to allow backfetches (defaults to 'disallow'). The default reintegration behaviour for store operations has been changed so that we always push new data to one server and then trigger resolution to bring the other replicas in sync. This push+resolve method uses less bandwidth, but is slower on a fast network compared to the old behaviour where all replicas connect back to the client and each would 'backfetch' a copy of the new file data. Aside from the reduced bandwidth usage, pushing the data from the client to the server makes file contents always traverse over authenticated (and more secure) connections.
- cfs forcereintegrate failed to push the complete CML back to the server when we are weakly connected. This was because partialreintegrate (trickling a file back to one server and then resolving) returned as soon as one chunk was pushed back.
- partialreintegration didn't fail when it encounted a server-server conflict but instead restarted reintegration from the beginning of the file.
- au command would segfault if no realm is specified.
- Reintegration for the local root user was extremely slow because of a bad test.
- Changed naming of volume states, WriteDisconnected is now 'Reachable', Disconnected is now 'Unreachable'.
- New venus.conf option 'isr'. This is a special feature when running in a virtual machine. Before deleting a container file, venus will first overwrite it with zeros. This should improve compression of the VM disk-image. As this isn't very useful for normal usage this option is disabled by default.
- Incorporated several contributed fixes for the build process. On systems with rpmbuild it should now be possible to enable the Lua hooks by running rpmbuild --with lua. However I'm getting rpmbuild failures when enabling that, so the prebuilt rpc2-2.5_1.i386.rpm is built without Lua support.
- Default security setting has been changed to not allow the old (XOR-based) handshake for new connections. If your server still needs to allow clients that are still using a version or RPC2 that is older than release 2.0 it is possible to re-enable the old handshake by setting the RPC2SEC_ONLY environment variable to 'no' (or 0, or false).
- Seed the PRNG by grabbing random data from /dev/urandom instead of the blocking /dev/random device. This fixes issues with random failures and timeouts especially while backups are running or stuck Coda processes shortly after a reboot.
- And of course several 64-bit related fixes.
- Fix an overflow when freeing RVM allocated memory on 64-bit.