Things to do:


library:
* Add support for http://mingw.org/
* badflag needs to be reimplemented as a bitfield.
* Until then, if there is no badflag when a file is opened for writing, add one.
* more sanity checks when opening a .afd file for READING; make sure certain 
  segments are there.
* af_update_seg() should check for af->writing before allowing the transacton through.

s3:
* have "ls" use Delimiter option to just list the drives
* Give "ls" an option to list just the AFF files.
* Have implementation read a list of all the segments on open, and cache this. 

all tools:
* move the URL file:/// filenames means that you need to extract the filename, you 
 can't just use the argument. This is an issue for -z in afcopy.


aimage:
 * Have aimage update more often
 * Final report on bytes written is wrong.
 * Fix imaging over the network
 * Keep a log of everything imaged, # of bad blocks, MD5, etc.
 * Image from an SSL tcp connection.
 * notify user of kernel error messages.
 * Digitally sign the AFFs
 * Report if drive is wiped
 * -A mode needs some work; it sometimes compresses too much.

afcat:
 * option - BADFLAG or BLANK errors

afcompare:
 * Make SIGINFO work
 * -d - just compare data
 * -s3 - just check to see if the named segments got written.
       - Just compare MD5s!

afinfo:
 * flag to print if the file is allbad or allzero

afvalidate:
 * create from afinfo
 * validate individual pages, and entire image

afcopy:
 * don't copy the file if it won't fit.
 * preserve timestamps
 * Add fact that somethng was copied to an aff file
 * have the file names .aff.new, and rename to .aff after complete.

afconvert:
 * This didn't work: afconvert -q -o /project3/1028.raw /project2/p3/1028.aff  

afxml:
  doesn't work with s3...
  s3:///0024.aff
 * Allow to disable copy by pages

