
Tue Sep 9 2008 Valient Gough <vgough@pobox.com>
	* work around problem with RLog section inlining

Mon Aug 25 2008 Valient Gough <vgough@pobox.com>
	* fix potential null pointer exception in opendir handler,
	  affects MacOS systems but not Linux.

Sat Aug 23 2008 Valient Gough <vgough@pobox.com>
	* bump library version
	* add BOOST_SYSTEM check

Fri Aug 22 2008 Valient Gough <vgough@pobox.com>
	* replace raw pointers with vector in EncFSConfig

Sun Aug 17 2008 Valient Gough <vgough@pobox.com>
	* bump version to 1.5
	* minor improvement to showFSInfo output
	* make KDF function run longer in paranoia mode

Sat Aug 16 2008 Valient Gough <vgough@pobox.com>
	* enable file hole support by default
	* allow for automatic upgrade to PBKDF2 when changing passwords
	* reset salt and iteration count when creating new password
	* correct variable name pdf -> kdf
	* use PBKDF2 for key generation with salt and variable iteration count

Tue Aug 5 2008 Valient Gough <vgough@pobox.com>
	* bump version to 1.4.3

Fri Aug 1 2008 Valient Gough <vgough@pobox.com>
	* fix xattr support for Mac

Tue Jul 1 2008 Valient Gough <vgough@pobox.com>
	* add patch info to Changelog
	* separate RenameOp definition from implementation to avoid gcc 4.3
	  errors

Sat Jun 28 2008 Valient Gough <vgough@pobox.com>
	* remove logs in Context, which displayed plaintext names

Mon Jun 2 2008 Valient Gough <vgough@pobox.com>
	* fix defaultYes/defaultNo functions

Tue Jul 1 2008 Valient Gough <vgough@pobox.com>
	* patch to fix compile errors in w/ gcc 4.3 from Anthony Shipman.

Thu May 22 2008 Valient Gough <vgough@pobox.com>
	* use autoreconf in reconfig.sh
	* update autoconf and gettext tools
	* remove AM_MKINSTALLDIRS from configure.ac

Sun May 18 2008 Valient Gough <vgough@pobox.com>
	* add makeKey program and showKey option to encfsctl
	* replace C header includes with C++ versions

Sat May 17 2008 Valient Gough <vgough@pobox.com>
	* fix EVP initialization

Thu May 15 2008 Valient Gough <vgough@pobox.com>
	* include cstring in several files, patch by A.Klitzing
	* improve return code check on RAND_bytes call

Wed May 14 2008 Valient Gough <vgough@pobox.com>
	* include binary_object header in FuseUtils

Sat May 10 2008 Valient Gough <vgough@pobox.com>
	* explicit namespace for make_binary_object calls

Wed May 7 2008 Valient Gough <vgough@pobox.com>
	* add string.h to ConfigVar

Sun May 4 2008 Valient Gough <vgough@pobox.com>
	* change boost requirement to 1.34+, to eliminate fs::native usage
	  requirement
	* ensure boost::filesystem::path is created with native option"

Sat Apr 19 2008 Valient Gough <vgough@pobox.com>
	* add direct-load method so that encfsctl cat can work with direct
	  cipher paths

Tue Apr 15 2008 Valient Gough <vgough@pobox.com>
	* add boost filesystem lib check

Sun Apr 13 2008 Valient Gough <vgough@pobox.com>
	* fix bug in export - wasn't able to export symlinks.  
	  Launchpad bug #201974
	* add error checking to readlink call
	* add recent changelog entries
	* switch to V6 XML config format
	* add better boost autoconf detection

Fri Apr 11 2008 Valient Gough <vgough@pobox.com>
	* bump version to 1.4.2
	* add zero-block pass-through option, enabling allow-holes code
	* add error checking to setfsuid/setfsgid calls

Tue Mar 25 2008 Valient Gough <vgough@pobox.com>
	* check for additional arguments to xattr functions

Sat Mar 22 2008 Valient Gough <vgough@pobox.com>
	* remove ulockmgr support, since it isn't needed

Sun Jan 27 2008 Valient Gough <vgough@pobox.com>
	* fix compile problem if ulockmgr isn't available

Tue Jan 22 2008 Valient Gough <vgough@pobox.com>
	* ensure paths end in '/'. fixes launchpad bug 184905

Wed Jan 16 2008 Valient Gough <vgough@pobox.com>
	* no arg required for stdinpass, reported by Scott Hendrickson

Tue Jan 15 2008 Valient Gough <vgough@pobox.com>
	* bump version to 1.4.1.1
	* dump shared library version
	* fix directory rename issue (launchpad bug #183358)

Sat Jan 12 2008 Valient Gough <vgough@pobox.com>
	* more minor changes to password lengths.  Accept up to 512 bytes for
	  text password
	* update man docs

Fri Jan 11 2008 Valient Gough <vgough@pobox.com>
	* bump version to 1.4.1
	* make max-password lengths consistent.  Fix newline quashing, bug
	  report by mpb

Tue Jan 8 2008 Valient Gough <vgough@pobox.com>
	* determine symbolic link size in getAttr call
	* remove old HAVE_SSL wrappers on MemoryPool

Sun Jan  6 22:26:25 PST 2008  Valient Gough <vgough@pobox.com>
	* fix SSL test to keep -lssl at end of compile line, 
	  found by Kenny Simpson

Sun Jan  6 22:16:02 PST 2008  Valient Gough <vgough@pobox.com>
	* run extpass command via shell, to allow passing arguments 
	  to program. Patch by Liraz

Sun Jan  6 21:59:38 PST 2008  Valient Gough <vgough@pobox.com>
	* enlarge max password length

Sun Jan  6 21:27:33 PST 2008  Valient Gough <vgough@pobox.com>
	* fix build/install scripts

Sat Jan 5 2008 Valient Gough <vgough@pobox.com>
	* update TRANSLATORS file
	* tagged v1.4
	* rename BER config methods to Int
	* change license file to GPL3

Thu Jan 3 2008 Valient Gough <vgough@pobox.com>
	* include string.h in files using memset
	* add mount-on-demand

Wed Jan 2 2008 Valient Gough <vgough@pobox.com>
	* change openssl engine config
	* fix idle tracking by adding usage counter in Context
	* move openssl support code to separate file

Tue Jan 1 2008 Valient Gough <vgough@pobox.com>
	* refuse to unlink open files, in case fuse is running in hard_remove
	  mode 
	* fix locking issues from last refactor
	* remove global mutex for fsuid.  This wasn't synchronizing all cases
	  anyway, and testing reveals that fsuid is per-thread not per-process
	  so it wasn't necessary.
	* add '-o' option which passes arg through to fuse
	* add -h option, patch by Ryan Smith-Roberts





Mon Dec 31 2007 Valient Gough <vgough@pobox.com>
	* major changes to DirNode and FileNode.
	  Move open file tracking into Context.
	  breaks idle tracking...
	* fix rename bug by tracking and applying undo in all error paths.
	  https://bugs.launchpad.net/bugs/160214
	* bump version 1o 1.4, make ulockmgr optional
	* more refactoring of common code
	* add ftruncate, fgetattr, lock, utimens functions. 
	* link move fuse and ulockmgr link specification to configure

Sun Dec 30 2007 Valient Gough <vgough@pobox.com>
	* keep FileNode reference in fuse_file_info, to avoid path lookups in
	  related ops move context struct to separate file
	* move globals to filesystem-context scope
	* fixes to get encfs to compile with libfuse 26 API

Sat Dec 29 2007 Valient Gough <vgough@pobox.com>
	* remove LinkedOwner, replace with shared_ptr

Sun Dec 9 2007 Valient Gough <vgough@pobox.com>
	* don't close stderr unless in daemon mode

Tue Oct 9 2007 Valient Gough <vgough@pobox.com>
	* add locking around calls which set fsuid
	* replace custom smart ptr with boost smart ptr
	  Drops backward compatibility files, to avoid porting/testing ancient
	  code.  Add valgrind support for debugging.

Mon Mar 19 2007 Valient Gough <vgough@pobox.com>
	* reverse encryption support by Keary Griffin
	  Adds --reverse option to encfs which causes encfs to produce encrypted
	  filesystem on-demand, rather then unencrypted.

Wed Mar 14 2007 Valient Gough <vgough@pobox.com>
	* move buffer management to avoid memory leak in case ofdecoding error
	* rename Config -> ConfigReader.  Should fix the build problem on
	  systems with case insensitive filesystems (Mac).

Mon Feb 12 2007 Valient Gough <vgough@pobox.com>
	* bump library version number
	* fix atomic function tests to build on gcc 4.2
	  Report and testing from Miklos Szeredi
	* bump version to 1.3.2

Thu Jan 11 2007 Valient Gough <vgough@pobox.com>
	* make sure cache is correctly cleared in case of failure
	  Fixes bug reported by Liraz @ sourceforge.
	  Bug: 1633662  Encfs failing to verify block HMAC

Tue Jul 25 2006 Valient Gough <vgough@pobox.com>
	* add workaround for group permission problem in 'public' mode
	  based on patch by Dan Sheridan.  If node creation fails due to
	  permission problems in 'public' filesystem mode, then try using gid
	  from parent directory.
	* add parentDirectory method to FileUtils and FileNode

Sun Jul 16 2006 Valient Gough <vgough@pobox.com>
	* support for static builds, patch by Marc Zonzon
	* check for fuse_new instead of fuse_main
	* don't let compiler optimize away references
	  Functions for dynamically loaded modules are always referenced now so
	  that the compiler can't optimize them away when doing a static build.
	  This wasn't a problem until recent improvements in gcc.

Sat Apr 1 2006 Valient Gough <vgough@pobox.com>
	* track list of new FUSE callbacks which are not implemented in encfs
	* bump version to 1.3.1

Tue Mar 28 2006 Valient Gough <vgough@pobox.com>
	* skip "." and ".." in recursive rename

Wed Mar 8 2006 Valient Gough <vgough@pobox.com>
	* tagged v1.3
	* cleanup logging output and close stderr on successful startup of
	  daemon.  Encfs was keeping open stderr after startup, so close it
	  during encfs_init.
	* fix visibility of .dot files when Null filename encryption selected.
	  Reported by Andrew Schretter, and patched in January, but I forgot to
	  commit fix.
	* minor fixup to int64 cast after patch import

Mon Mar 6 2006 Valient Gough <vgough@pobox.com>
	* reorder encfs man page place more useful flags first in options list
	* update version, check for fuse 2.5

Mon Mar 6 2006 Csaba Henk <csaba.henk@creo.hu>
	* port to FreeBSD
	* update to FUSE 2.5 API (minimum provided by FUSE for FreeBSD)

Wed Nov 9 2005 Valient Gough <vgough@pobox.com>
	* add workaround for bogus warning message returned on unmount.
	  fuse_main seems to be returning an error code even if it exits
	  cleanly.  Only show an error if it returned with an error
	  immediately.
	* update lib version to 1:3:0
	* bump version to 1.2.5
	* fix compiler warnings about printf int sizes on 64bit machine
	* update atomic add config check, disable threading if not found
	  Fixes core dump due to race condition on dual-core system, reported
	  by Chris of x.nu.
	  Thanks to bock at blacknet.de for providing access to a system for
	  testing.

Mon Sep 12 2005 Valient Gough <vgough@pobox.com>
	* have encfssh make the mountpoint only user readable

Sun Sep 11 2005 Valient Gough <vgough@pobox.com>
	* add encfssh script
	  Script to mount, spawn shell in mount, and unmount when shell exits.
	  Contributed by David Rosenstrauch

Fri Aug 26 2005 Valient Gough <vgough@pobox.com>
	* add 1.2.4 release notes to spec
	* have configure generate po/Makefile
	* add changelog entries

Wed Aug 24 2005 Valient Gough <vgough@pobox.com>
	* raw dir may not be a subdirectory of mount point
	  Fixes issue reported by paulgfx - if raw directory was a subdirectory
	  of the mount point, this would cause infinite recursion (because each
	  request by encfs on the raw data would be translated into another
	  encfs request by the kernel).
	* moves the directory creation until the other tests have been made, to
	  avoid creating directories unless all sanity checks pass.

Tue Aug 23 2005 Valient Gough <vgough@pobox.com>
	* avoid trying to decipher impossibly small filenames
	  Bug reported by paulgfx - if a bogus file was placed in the encfs raw
	  directory with a name that was too small to be a valid encrypted
	  name, it could cause encfs to segfault.  Such files are now skipped.

Sat Aug 20 2005 Valient Gough <vgough@pobox.com>
	* add support for static build
	  In static builds, the linker skips objects from the libencfs library
	  which are never directly referenced.  This breaks all encoding and
	  encryption modules, because they are dynamically registered.  The
	  workaround is to explicitly add references in the library in the
	  static build case.

Wed Aug 17 2005 Valient Gough <vgough@pobox.com>
	* bump version to 1.2.4
	* refactor small amount of error code
	* add environment override for config file location
	  If the environment variable 'ENCFS5_CONFIG' is set, then it will be
	  used as the location for the encfs configuration file.  Otherwise,
	  the normal search will be done, by searching the specified root
	  directory for an appropriate config file.

Fri Aug 5 2005 jjhellst@gmail.com
	* Remove duplicate initFS and checkDir calls
	  Remove duplicated calls to initFS by refactoring call to initFS into
	  initRootInfo function that calls checkDir and initFS.  This removes
	  some of the redundancy in cmd_* handlers.
	  The creation of destDir in cmd_export is also moved to a later stage,
	  so that if encfs volume couldn't be initialized, the destination
	  directory is not created.

Fri Jul 29 2005 Valient Gough <vgough@pobox.com>
	* replace reconfig.sh commands with simpler set
	* try and simplify devel code build

Wed Jul 27 2005 Valient Gough <vgough@pobox.com>
	* fix up export patch and refactor output code

Sun Jul 24 2005 Valient Gough <vgough@pobox.com>
	* encfsctl export command patch from Janne Hellsten
	  This command will export the entire filesystem.

	* move userAllowCreate to userAllowMkdir and make public
	* cleanup configure to get rid of warnings

Wed Jul 13 2005 Valient Gough <vgough@pobox.com>
	* add recent changelog entries
	* bump shared object version to 1:2:0
	  forgot to do this for the v1.2.3 release

Mon Jul 11 2005 Valient Gough <vgough@pobox.com>
	tagged v1.2.3
	* bump version to 1.2.3
	* remove lock removal comment
	* add debugging output

Thu Jul 7 2005 Valient Gough <vgough@pobox.com>
	* add way to get filename in FileIO
	wanted to know filename for displaying error message, but there was no
	way to get it.
	* minor cleanup with locking of DirNode & FileNode
	doesn't change lock regions or behavior, but cleans it up a bit.
	Locks added in constructors even though they aren't necessary in order
	to try and get valgrind's helgrind to not report a race there.. but
	didn't work
	* always warn of MAC comparison failure
	if warnonly mode is not turned enabled, then an error will also be
	thrown

Mon Jul 4 2005 Valient Gough <vgough@pobox.com>
	* register nullname io
	Once had a request for unencrypted filenames (only data encrypted).
	Easy enough by having NullNameIO registered as an option.
	* synchronize read path
	After fixing the paranoia mode problem in the earlier patch, that seems
	to introduce (or exacerbate?) a race condition in the read path.  Until
	I have time to track it down, the safest action seems to be to
	synchronize reads..
	* add 'cat' command to encfsctl
	Allows printing out the contents of a file without having to mount the
	filesystem.

Sun Jul 3 2005 Valient Gough <vgough@pobox.com>
	* another fix to allow symbolic links to /
	Bug report by neuron.
	* allow symbolic link to root directory

Sat Jul 2 2005 Valient Gough <vgough@pobox.com>
	* don't call setIV on symbolic links
	Only call setIV for regular file types and non-existant files.
	This is a fix for a problem with symbolic links which was reported to
	debian bug tracking system: bug #315624 Affects paranoia mode (IV
	chaining + file headers + external IV chaining)

Mon Jun 20 2005 Valient Gough <vgough@pobox.com>
	* update libtool

Thu Jun 16 2005 Valient Gough <vgough@pobox.com>
	* initialize OpenSSL hardware engine support
	Found out about these calls from LinuxJournal, May 2005 issue

Sat May 21 2005 Valient Gough <vgough@pobox.com>
	* disable idle monitoring option with fuse 2.2
	* fix build error on rh7.3
	* bump version to 1.2.2
	* tagged v1.2.2

Tue May 17 2005  Valient Gough <vgough@pobox.com>
	* fix idle monitor thread
	  Idle monitor wasn't working in encfs 1.2.x - reported by Patrick
	  Skerrett on encfs-users mailing list.  Problem was that idle thread
	  needs to be setup after daemon() is called by libfuse, otherwise
	  thread was being killed.
	* increment libencfs version number to 1:1:0

Fri May 13 2005  Valient Gough <vgough@pobox.com>
	* add use_ino by default, new flag --no-default-flags
	  The fuse flags use_ino is now specified by default, since it
	  shouldn't cost anything.  Encfs now has a documented flag
	  --no-default-flags which can be used to turn off all default fuse
	  flags.
	* add big warning message for external IV chaining
	  External IV chaining causes known problems with programs like mutt
	  and procmail, so show a big warning message if it has been enabled,
	  just so there isn't any surprise.

Tue May 10 2005  Valient Gough <vgough@pobox.com>
	* fix memory leak on MAC error
	  When a block MAC error is detected, an exception is thrown, but a
	  local memory-pool buffer is not released, leading to a leak of a
	  block.

Fri May  6 2005  Valient Gough <vgough@pobox.com>
	* add last-block cache

Sun May  1 2005  Valient Gough <vgough@pobox.com>
	* make FUSE default_permissions flag on by default
	* add an 'encode' command in encfsctl

Wed Apr 20 2005  Valient Gough <vgough@pobox.com>
	* bump version number to 1.2.1-4
	* tagged v1.2.1
	* make return code consistent

Tue Apr 19 2005  Valient Gough <vgough@pobox.com>
	* fix distribution build
	* 2005-04-18/19 updates
	* minor cleanup
	* use ::open instead of mkstemp for mknod
	* use lchown instead of chown after mkdir

2005-04-19  Valient Gough <vgough@pobox.com>
	* import latest rosetta translation updates

2005-04-18  Valient Gough <vgough@pobox.com>
	* add "--public" mount option when encfs is run as root, to act as a
	  standard multi-user filesystem.  Based on patch by Sascha Demetrio.
	* enable shared library build.  Encfs and encfsctl now link to libencfs
	  shared library.

2005-04-15  Valient Gough <vgough@pobox.com>
	* provide more scriptable password mechanism, patch from Gerald Klix
	* internal development moved to Darcs revision control (because
	  Bitkeeper folks have shown why open source projects should not rely
	  upon it).

2005-04-08  Valient Gough <vgough@pobox.com>
	* build libencfs shared library - 

2005-04-01  Valient Gough <vgough@pobox.com>
	* autosprintf fixes - patch from Andreas Jochens

2005-03-24  Valient Gough <vgough@pobox.com>
	* import languages files from rosetta

2005-03-10  Valient Gough <vgough@pobox.com>
	* add openssl license exception statement - requested by debian folks

2005-02-21  Valient Gough <vgough@pobox.com>
	* drop remainder of old fuse hide
	* callback support

2005-02-10  Valient Gough <vgough@pobox.com>
	* add sample extpass program script

	* eliminate fixed descriptor number when communicating with external
	  password program.  Fixes problem of fixed descriptor number
	  conflicting with password return socket in some circumstances. 
	  Found by Olivier Dournaux.

	* drop support for older libfuse versions of fuse_main which do not
	  return an integer error code.

2005-02-09  Valient Gough <vgough@pobox.com>
	* log debug messages of error conditions to Info channel instead of
	  Debug

	* fix bug in MAC header code which caused corruption in files > 2GB
	  Reported by Damian Frank.

2005-02-05  Valient Gough <vgough@pobox.com>
	* convert to fuse 2.2 api, dropping support for older versions

	* change encfs version to 1.2

	* add inode number pass-thru support, allowing inode numbers to be the
	  same as the underlying filesystem.  This makes it so that hard links
	  will have the same inode number (which some programs check)..

2005-02-04  Valient Gough <vgough@pobox.com>
	* import translations from rosetta, fix formatting

2005-01-13  Valient Gough <vgough@pobox.com>
	* let libfuse 2.x handle backgrounding itself

2005-01-12  Valient Gough <vgough@pobox.com>
	* prepare for 1.1.11 r4 release.
	* TAG: v1.1.11-4

	* fix up formatting
	* modify Makefile to use 'bk edit' before modifying a .po file

	* import from rosetta

2005-01-07  Valient Gough <vgough@pobox.com>
	* rosetta update

2005-01-04  Valient Gough <vgough@pobox.com>
	* configure.ac:
	* remove hardcoded -lpthread in fuse check

	* add pthread support code for autoconf from librlog

	* misc updates releated to NLS
	* TAG: v1.1.11-3

	* update from rosetta

2005-01-03  Valient Gough <vgough@pobox.com>
	* sv.po, pl.po, fr.po, fi.po, es_ES.po, es.po, de_DE.po, de_CH.po:
	* updated pot and po files
	* fr.po, de_DE.po:
	* merge from rosetta
	* MACFileIOCompat.cpp:
	* change to match same message in another file

	* rosetta translation updates.
	* add workaround to problem of fuse_main not returning an error code in
	  fuse 1.x

2004-12-29  Valient Gough <vgough@pobox.com>
	* rosetta-download.pl:
	* take project name argument

	* import newest Rosetta files
	* fix up .po problems.
	* add rosetta-download.pl script
	* add TRANSLATORS

2004-12-28  Valient Gough <vgough@pobox.com>
	* add README-NLS
	* update fr.po from Rosetta

	* add more po links
	* minor changes after test build on RH7.3

	* boldquot.sed, insert-header.sin, remove-potcdate.sin:
	* new file

	* replace various automake files with links

	* import files from m4 directory, so they appear in an export..


	* mkinstalldirs:
	* new file
	* TAG: v1.1.11

	* add translation files from Rosetta

	* more fixes for RH7.3 build

	* remove dependency on external gettext files
	* some fixes to build on RH7.3

	* NLS updates
	* add BUILD_NLS conditional to try and make encfs buildable without
	  gettext

2004-12-28  gettextize  <bug-gnu-gettext@gnu.org>

	* Makefile.am (ACLOCAL_AMFLAGS): New variable.
	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.14.1.

2004-12-25  Valient Gough <vgough@pobox.com>
	* po-group:
	    docs

	* fix processing of last entry in .pot

	* POTFILES.in:
	    add files

	* Makefile.in.in:
	    use encfs.pot as the final (sorted) pot.
	    encfs-raw.pot is the unsorted data

	* sort translation strings by importance

2004-12-13  Valient Gough <vgough@pobox.com>
	* i18 support

2004-12-12  Valient Gough <vgough@pobox.com>
	* minor i18n changes

	* initial i18n support

2004-11-23  Valient Gough <vgough@pobox.com>
	* add -H option to get fuse_mount usage message

2004-11-08  Valient Gough <vgough@pobox.com>
	* check if fuse_main returns integer.  Should allow encfs to build with
	  older versions of fuse

	* fix fuse argument separation for recent versions of fuse (fix
	  reported by Bill Cox).

	* fix problems with recursive rename undo (reported by Rorick Olson,
	  and possibly others).

2004-11-03  Valient Gough <vgough@pobox.com>
	* lots of cleanup of configuration scripts, since they wouldn't work
	  with the most recent autoconf tools.

	* fixes for recursive rename which was failing because it expected
	  directories to have IV headers.

2004-10-29  Valient Gough <vgough@pobox.com>
	* add flag to allow file holes in BlockFileIO

	* fix for sourceforge bug 1056718 - wrong error code from getxattr

2004-08-15  Valient Gough <vgough@pobox.com>
	* configure.in:
	    change version to 1.1.9
	* TAG: v1.1.9

	* fix for rename() bug in paranoia mode.

2004-08-14  Valient Gough <vgough@pobox.com>
	* 1.1.8 release
	* TAG: v1.1.8

2004-08-13  Valient Gough <vgough@pobox.com>
	* Fix some problems with MAC block header processing.  Backward
	  compatibility is maintained for people who were not experiencing
	  problems.  The new code is much faster, and should be more reliable
	  as well..

2004-08-12  Valient Gough <vgough@pobox.com>
	* minor fixes, test for known error conditions early in filename decode
	  path
	
	* TAG: v1.1.7-2

	* add support for forced decoding in the case of MAC checksum failure

2004-08-11  Valient Gough <vgough@pobox.com>
	* update version and notes for 1.1.7-2
	* TAG: v1.1.7-2

	* fix error in truncate() on unopened file

	* version change to 1.1.7

	* fixes to build on RedHat 7.3 (or system with old OpenSSL) fix race
	  condition in CipherV3

2004-08-09  Valient Gough <vgough@pobox.com>
	* Fix bug which would allow multiple files to be created with the same
	  file IV header.

	* Add mlock calls in case user has permission to lock regions of memory.

	* Add support for IV chaining to old 0.x filesystem support code.  This
	  code is still useful when building on a system that doesn't have a
	  recent version of OpenSSL (such as RedHat 7.x)

	* TAG: v1.1.6

2004-07-22  Valient Gough <vgough@pobox.com>
	* bump version to 1.1.5
	* TAG: v1.1.5

	* fix incorrect test for completion status after recursive rename.
	  some minor code cleanup.

2004-07-10  Valient Gough <vgough@pobox.com>
	* documentation updates

	* changes for version 1.1.4 release
	* TAG: v1.1.4

2004-07-09  Valient Gough <vgough@pobox.com>
	* add external password prompt support.

	* remove explicit file hiding support, as hidefile operations changes
	  were not integrated 

	* into FUSE (but the libfuse internal handling changes were).

2004-07-01  Valient Gough <vgough@pobox.com>
	* fix rename warning to print entire path.
	* disable libfuse V2's default background mode.

2004-06-24  Valient Gough <vgough@pobox.com>
	* cleanup for 1.1.3 release - notes in man page, RELEASE tag update..
	* TAG: v1.1.3

	* hard links cannot be supported with external IV chaining.  Return
	  error if attempted.

	* avoid uninitialized memory warnings

	* add support for filename -> data IV chaining.

2004-06-23  Valient Gough <vgough@pobox.com>
	* Feature: 
	    add support for fuse_operations.hidefile - which allows
	    delete-on-open and rename-on-open operation support. This allows
	    Evolution mail reader to work much better.

	* Security: 
	    don't log plaintext filename in fsync.

	* Other: 
	    use atomic operations if bits/atomicity.h found.  
	    Add more sanity checks with rAssert.

2004-06-19  Valient Gough <vgough@pobox.com>
	* added atomic lookup/open api to DirNode to simplify logic.
	* add ability to store symbolic links to fully qualified path names.
	* add ring buffer cache for unopened FileNode entries.
	* make locking logic more robust in case of exceptions.

2004-06-16  Valient Gough <vgough@pobox.com>
	* minor updates

	* some minor updates

2004-06-08  Valient Gough <vgough@pobox.com>
	* merge RedHat 7.3 build fixes

2004-06-07  Valient Gough <vgough@pobox.com>
	* fix build problems on RedHat 7.3 system

2004-05-28  Valient Gough <vgough@pobox.com>
	* documentation updates for 1.1.x.
	* add extra includes necessary for some platforms...

	* updates for 1.1.2 release

2004-05-26  Valient Gough <vgough@pobox.com>
	* work around potential race condition with unlink.

	* add undo to recursive renames to that a failed rename will undo
	  changes.

2004-05-24  Valient Gough <vgough@pobox.com>
	* update version to 1.1.2

	* Fix bug reported by Jens Arm -- change CipherFileIO and MACFileIO to
	  only adjust size for regular files (not directories, etc).   This bug
	  prevented EncFS from being used on top of an XFS filesystem..

2004-05-23  Valient Gough <vgough@pobox.com>
	* add support for decoding a list of names from stdin in encfsctl.

2004-05-22  Valient Gough <vgough@pobox.com>
	* fix up includes so that extra dependency path discovered in configure
	  get included..

2004-05-20  Valient Gough <vgough@pobox.com>
	* change release to 1.1.1-2
	* fix possible race condition in cipher by locking around use of cipher
	  state variables.  

	* make recursive rename more robust and also propogate changes to
	  denormalized values.

2004-05-19  Valient Gough <vgough@pobox.com>
	* change release to 1.1.1-1
	* add release number to tar builds

	* add support for file rename while open, needed for Evolution to work
	  properly.

	* add variable size blockMAC headers (and random byte components), as
	  random bytes are not needed when file IV headers are enabled.

	* New V5 configuration subversion - 20040518.

	* add try/catch blocks around most operations in encfs.cpp, as uncaught
	  exceptions will cause fuse library to exit.

	* add decode command to encfsctl to decode an encrypted path name.

	* fix memory bounds error in MACFileIO

2004-05-18  Valient Gough <vgough@pobox.com>
	* bump release to 4
	* TAG: v1.1-4

	* add showcruft command to encfsctl which displays undecodable filenames

	* make recursive rename two stages to avoid trying to rename files more
	  then once.

	* add recursive directory renaming if directory IV chaining is enabled,
	  otherwise directory contents are not visible after a rename.

2004-05-17  Valient Gough <vgough@pobox.com>
	* change password prompt text.
	* eliminate harmless uninitialized memory read warning from valgrind.
	* TAG: v1.1

2004-05-14  Valient Gough <vgough@pobox.com>
	* add padding to conversion array to avoid possible array bounds read
	  error with invalid filenames

	* allow CipherV3 to be built even if newer SSL interfaces are not
	  available.

	* add full V3 support (filesystems created by EncFS 0.2 - 0.6)

2004-05-13  Valient Gough <vgough@pobox.com>
	* documentation updates

	* minor documentation updates

	* add documentation of filesystem options to man page

2004-05-12  Valient Gough <vgough@pobox.com>
	* add reference counting for open/release calls, since FUSE can have
	  overlapping retain/release states on a file.

	* fix multiple delete in main exit cleanup.

	* lots of changes to DirNode and FileNode classes to make more thread
	  safe.  The threading problems seemed to be mostly due to the way
	  FileNodes were created and passed around.

	* add xattr support (untested) since I noticed new calls in the FUSE
	  library header from CVS.

	* changed open file caching to be based on plaintext name rather then
	  encrypted name.  FUSE passes the plaintext names to EncFS for
	  processing, so rather then having to encrypt them each time, use the
	  plaintext name for lookup in the cache.  This makes it more likely to
	  have plaintext names sitting around in memory, so I've tried to have
	  the names get cleared when they are no longer in use.

2004-05-04  Valient Gough <vgough@pobox.com>
	* merge FlatDirNode into DirNode.  There is no longer a need to have
	  the base class separate since the purpose was in doing per-directory
	  initialization vectors, which are no longer necessary now with
	  filename IV chaining and per-file IV headers.

	* add 64-bit IV chaining implementations to StreamNameIO and
	  BlockNameIO.

	* add means of finding out current interface of NameIO and Cipher
	  instances.

2004-05-03  Valient Gough <vgough@pobox.com>
	* fix build error with current fuse CVS snapshot

2004-05-01  Valient Gough <vgough@pobox.com>
	* fix checksum decoding bug when IV chaining is not enabled.

2004-04-30  Valient Gough <vgough@pobox.com>
	* Add filename IV chaining mode.  Found an easy way to add per-file
	  initialization vectors.  I thought I was going to have to store
	  per-directory IV data somewhere (or like CVS, store IV data in
	  strange parts of file headers), but I found I could do much better
	  more simply by chaining the initialization vectors during a path
	  encode/decode since EncFS always knows the full path of the file
	  being accessed.  This adds 64 bits of path-dependent initialization
	  vector data without any storage overhead.

2004-04-28  Valient Gough <vgough@pobox.com>
	* Thanks to Anthony Iano-Fletcher for helping test the 1.1 beta.  It
	  was quickly discovered that there was a race condition, so the 1.1
	  release is delayed pending fixes.

	* Add support for initialization vector argument to NameIO name
	  encoding methods.  

	* Add mknod method to FileNode, remove blockSize().
	* Fix warnings from valgrind regarding uninitialized memory access.

2004-04-20  Valient Gough <vgough@pobox.com>
	* TAG: v1.1
	* fix problems found when running rsync, as suggested by Anthony Iano-Fletcher.

2004-04-17  Valient Gough <vgough@pobox.com>
	* fix assert failure from showFSInfo due to BlockNameIO being
	  instanciated with null cipher.

2004-04-16  Valient Gough <vgough@pobox.com>
	* some minor updates - mostly comment additions in preparation for 1.1 release

	* fix uninitialized memory read.

	* change BlockNameIO implementation to include padding bytes in MAC.
	* configuration selection and display changes.

2004-04-15  Valient Gough <vgough@pobox.com>
	* add per-file initialization vector support.  Stores 64-bit
	  initialization vector modifier for each file.  The IV vector is
	  stored encrypted as a transparent header on the file.

	* add a prompt for MAC headers in setup, and show information about
	  filesystem to user.

	* add option to turn off key validation checking

	* add support for per-block MAC headers which ensure data within a
	  block cannot be modified without being detected.

2004-04-14  Valient Gough <vgough@pobox.com>
	* name encoding output for encfsctl and added creator tag to V5 config
	  file.

	* V5 configuration, now supports block mode filename encryption.

2004-04-13  Valient Gough <vgough@pobox.com>
	* botan updates.  The botan API is a complex beast.  I may drop it and
	  instead focus on adding support for something more likely to be found
	  on a system - like mcrypt or gcrypt.

2004-04-12  Valient Gough <vgough@pobox.com>
	* implement Block name encoding.  This hides the size of filenames to
	  some extent.  

	* renamed StdNameIO to StreamNameIO.

	* Clean up Cipher API and eliminate special case name
	  encoding/decoding, which is now part of NameIO logic.

	* Move code from FileNode to FileIO layer to clean up layer separation.

	* Support for version 3 filesystems (created by EncFS 0.x, supported by
	  0.x and 1.0.x) has been dropped. 

2004-04-11  Valient Gough <vgough@pobox.com>
	* remove blockSize from static Cipher constructors.
	* change name of stream encoding interfaces.

2004-04-10  Valient Gough <vgough@pobox.com>
	* change to using smart pointer types and OpaqueValue as CipherKey.
	  memory ownership was starting to become too complex, so I imported a
	  smart pointer class from 'rel' codebase (where Interface and
	  LinkedOwner came from).

	* port truncate fix from mainline.  Use Mutex::Lock helper class for
	  locking

2004-04-09  Valient Gough <vgough@pobox.com>
	* Cipher interface no longer expects a unique short name.

	* FileUtils contains functions for loading / creating filesystem
	  configuration.

	* First try implementation of an 'ls' command in encfsctl.

2004-04-08  Valient Gough <vgough@pobox.com>
	* add support for truncate call with new size > old size.

	* trivial changes

2004-04-08  Valient Gough <vgough@pobox.com>
	* release version 1.0.5

	* add support for truncate call with new size > old size.

2004-03-26  Valient Gough <vgough@pobox.com>
	* release version 1.0.4

	* fix signalling to idle monitoring thread to avoid getting stuck
	  waiting for it.

2004-03-25  Valient Gough <vgough@pobox.com>
	* Update comments in README and INSTALL

	* Make RELEASE a config variable.  Sets release number in spec files so
	  that it only needs to be set in once place.

	* Found that 1.x series was slower then 0.x series due to EVP cipher
	  context usage.  Large speed improvements in SSL_Cipher by optimizing
	  EVP cipher context lifetime.

	* Optimize read and write to go direct to buffer whenever possible.
	  This is the fastest encfs ever.

	* Don't remove files that are not automatically generated.  Caused a
	  distribution build problem when the admin directory was updated.
	  Workaround for make dist complaining about Makefile.am.wo

	* configure.in: use standard "yes" instead of "ok" in result message

2004-03-24  Valient Gough <vgough@pobox.com>
	* Another block padding fix to ensure blocks are padded with '0's

	* Check for a supported libfuse API at configure time.

	* Add support for FUSE_MAJOR_VERSION 2 (the current CVS version of
	  FUSE), which changes the statfs interface.

	* Update admin code.

2004-03-21  Valient Gough <vgough@pobox.com>
	* encfsctl.pod: fix comment

2004-03-19  Valient Gough <vgough@pobox.com>
	* update README with better description of encryption details

2004-03-18  Valient Gough <vgough@pobox.com>
	* TAG: v1.0.3

	* fix truncate bug - truncate was seriously broken, and could cause
	  corruption of a truncated block!

	* Tested filesystem using a perl script which tries to cause as many
	  edge cases as possible w.r.t. partial blocks..  It showed up the
	  problem with padding and truncation..

2004-03-17  Valient Gough <vgough@pobox.com>
	* main.cpp:
	    remove old warning for extra args

	* fix padding bug where some blocks were getting padded with random
	  data instead of with zeros.

	* Remove uncessary padding in the last block of a file, since it gets
	  overwritten by the write call immediatly afterwards.  Should speed up
	  partial block writes.

	* switch to getopt for argument parsing, and support GNU style long arguments

	* add inactivity timeout support (--idle option)

2004-03-14  Valient Gough <vgough@pobox.com>
	* TAG: v1.0.2
	* fix compile problems on RedHat 7.3 system

	* configure.in: fix rlog check when pkg-config isn't found

	* makedist2.sh.in: remove suse9 tag
	* minor fixes to dist creation and spec build

	* add encfsctl man page

	* manpage spelling fixes and install manpage to proper directory

	* make release builds mostly automated

	* add encfs.1 to distribution list so that it will be preprocessed and
	  include in the distribution so that end-users don't need to have
	  pod2man installed to get the man page.

	* make man page build conditional on finding pod2man program

	* add encfs man page, clean up encfs usage output

2004-03-13  Valient Gough <vgough@pobox.com>
	* bump version to 1.0.2

	* use pkg-config to check for OpenSSL and RLog build settings

	* add support for '--' argument to encfs to pass arbitrary options to
	  FUSE / FuserMount.

2004-03-02  Valient Gough <vgough@pobox.com>
	* Bumped version to 1.0.1 for new release.
	* TAG: v1.0.1

	* Fix problem with key generation for Blowfish keys larger then 128
	  bits, reported by Jarkko Haapalainen.

	* Fix more configure script problems when --with-extra-includes is
	  used, reported by Troy Folger.

2004-02-29  Valient Gough <vgough@pobox.com>
	* use user specified includes during compile tests in configure script

	* update Makefile.am to fix a problem reported by Troy Folger using
	  --with-extra-includes configure options

2004-02-27  Valient Gough <vgough@pobox.com>
	* TAG: v1.0
	* yet more minor updates..
	* minor config file fixes.
	* update Botan support a little..
	* make startup configuration a bit more user friendly for 1.0 release..

2004-02-21  Valient Gough <vgough@pobox.com>
	* fix broken algorithm include from last change
	* more cleanup for 1.0 release.

2004-02-20  Valient Gough <vgough@pobox.com>
	* main.cpp:
	    fix algorithm selection off-by-1 test
	    show information when using cipher with fixed size
	* test.cpp:
	    minor change to error message
	* main.cpp, FileUtils.cpp:
	    include unistd.h
	* encfsctl.cpp:
	    fix initializer for struct array
	* SSL_Cipher.cpp:
	    make AES and blowfish support optional based
	    on configure tests
	* Makefile.am:
	    define _XOPEN_SOURCE and _BSD_SOURCE.
	    make SSL_Cipher optional based on configure tests
	* FileNode.cpp:
	    make O_LARGEFILE optional
	* Config.cpp:
	    include unistd.h to find read() and write() prototypes
	* configure.in:
	    check for various OpenSSL EVP_* functions
	* change to use 32 bit checksum for key storage in SSL_Cipher.

2004-02-19  Valient Gough <vgough@pobox.com>
	* Remove libencfs shared library.  Simplifies installation.

	* add "info" channel for logging of operations which can be activated
	  with "-v" flag.

	* drop remote changes - they are no longer valid on local branch

	* update admin directory.
	* build shared code as libencfs shared library.
	* other minor cleanup.

	* close substantial memory leak

2004-02-18  Valient Gough <vgough@pobox.com>
	* implement password change command in encfsctl.
	* fix serious bug in SSL_Cipher::readKey

	* fix test program fatal - needed encfs.h include to pick up fuse.h

	* implement new .encfs4 version 4 control file for new filesystems.  It
	  allows specification of different ciphers, key size and blocksize.

	* Add encfsctl program which can display some information about the
	  filesystem.

2004-02-14  Valient Gough <vgough@pobox.com>
	* some configuration cleanup.
	* added means of getting list of available ciphers.

2004-02-13  Valient Gough <vgough@pobox.com>
	* add SSL_Cipher which implements AES, Blowfish, Twofish, and TripleDES
	  ciphers using OpenSSL.

2004-02-10  Valient Gough <vgough@pobox.com>
	* cleanup and error checking

2004-02-09  Valient Gough <vgough@pobox.com>
	* allow user to disable use of Botan library (and SSL library) in
	  configuration.

	* fix 2GB limit (taken from stable branch).
	* use Botan or SSL memory management for temporary buffers.
	* change block numbers to 64bit.

2004-02-07  Valient Gough <vgough@pobox.com>
	* TAG: v0.6
	* fix 2GB limit

	* performance improvement eliminating bug that caused unecessary open()
	  calls.

2004-01-20  Valient Gough <vgough@pobox.com>
	* remove dependencies on OpenSSL.  Make way for adding more ciphers
	  from other libraries.

2004-01-17  Valient Gough <vgough@pobox.com>
	* switch logging to use external rlog library
	* add syslog logging in daemon (background) mode

2003-12-18  Valient Gough <vgough@pobox.com>
	* build with Intel's ICC compiler (v8.0).  made some changes to avoid
	  compiler warnings.

	* Fix bug from last changeset due to refactoring nextName()

	* refactor some code in the DirNode hierarchy
	* moved mkdir() interface into DirNode

2003-12-17  Valient Gough <vgough@pobox.com>
	* fix error checking test on readBlock result.
	* some minor cleanup.

2003-12-14  Valient Gough <vgough@pobox.com>
	* lots of bug fixes and improvements
	* development branch nearly stable (more testing and memory leak
	  checking needed)

2003-12-13  Valient Gough <vgough@pobox.com>
	* fixes to build after merge from stable branch

	* remove derived files

	* merge from stable to development branch

	* bug fixes for readdir and decipher calls

2003-12-12  Valient Gough <vgough@pobox.com>
	* TAG: v0.5
	* fixes to build - update to libtool 1.5
	* change bootstrap to use admin/Makefile.common
	* change default language for tests to C++
	* add fsync support if support is detected in FUSE

2003-12-11  Valient Gough <vgough@pobox.com>
	* initial work in modularizing parts of encfs
	* compiles, but doesn't work properly yet.

	* Likely memory leak and or file descriptor leak in DirNode / FileNode
	  handling

2003-12-07  Valient Gough <vgough@pobox.com>
	* Delete: configure
	* Delete: aclocal.m4

2003-12-03  Valient Gough <vgough@pobox.com>
	* cleanup mounting when directories do not already exist.  Reported by
	  Frank B.

2003-11-30  Valient Gough <vgough@pobox.com>
	* cleanup reported problems with 0.4:
	    - check for absolute pathname problem, reported by Marcin K.
	    - cleanup of build script problems reported by Duane D.

2003-11-22  Valient Gough <vgough@pobox.com>
	* change encfs/Makefile.am to not install the stupid test program

2003-11-21  Valient Gough <vgough@pobox.com>
	* TAG: v0.4
	* remove derived files (Makefile.in , configure)
	* add comments in README and in usage from program itself

	* fix daemon mode by turning off all message output.  Without this the
	  program was exiting when it tried to print out a message in daemon
	  mode..

2003-11-04  Valient Gough <vgough@pobox.com>
	* new option parsing code checks all arguments
	* added daemon mode where process forks and runs in background

2003-11-03  Valient Gough <vgough@pobox.com>
	* change license to GPL
	* minor change to compile cleanly on SuSE 9.0

2003-10-30  Valient Gough <vgough@pobox.com>
	* bump version number to 0.3
	* TAG: v0.3

	* - add workaround to fix problem with tar creating read-only files
	* - fix some error code return results to return the proper errno

2003-10-22  Valient Gough <vgough@pobox.com>
	* TAG: v0.2
	* regenerated Makefile.in
	* documentation updates
	* change random key to use SHA1 instead of self-encypher

2003-10-13  Valient Gough <vgough@pobox.com>
	* add basic memory pooling to avoid repeated calls to malloc/free.

	* bug fix - encfs_release was being treated as a 'close', fixed.
	* feature - add mutex for threadsafe access to descriptor map
	* cleanup - simplify changeBase2Inline in base64
	* cleanup - remove unecessary headers from some modules

2003-10-12  Valient Gough <vgough@pobox.com>
	* add comments to give some rough idea of usage

	* make blockSize global property, fix compiler warnings

	* fix symbolic link handling and file reference counting

2003-10-11  Valient Gough <vgough@pobox.com>
	* implement basic file descriptor caching.  not thread safe

2003-07-13  Valient Gough <vgough@pobox.com>
	* TAG: v0.2
	* fixes so that make dist creates correct file
	* removed Qt dependency.  Now builds with just stl, openssl, pthread 
	  libs.
	* Switched volume key to .encfs3 as filenames are not compatible with
	  previous version since CRC-16 filename checksum was replaced with a
	  reduced SHA1 HMAC.

2003-07-09  Valient Gough <vgough@pobox.com>
	* add usage example to README
	* TAG: v0.1

	* copy over latest changes from local branch - removal of debug
	  statments to make it less verbose..

	* fix big memory leak
	* add README

	* Initial repository create

