              Technical notes on version 1.7 10Dec01
                       12 December 2001
                        Kern Sibbald

General:
- The size keeps growing: Total files = 169 Total lines = 40504
- All daemons must be updated at the same time as the
  Job Start protocol between the Director and File daemon
  changed.
- Major rework of how JCRs are handled so that they
  are always locked when walking the JCR chain. 
- JCRs now have use_count, and global free_jcr() routine,
  with daemon specific routine provided in new_jcr() call.
- Storage daemon is now Job reentrant.
- Updated the Copyright to include 2002.
- Tested RESTORE, fixed to handle DOS restore to Unix,
  and fixed some directory permission creation bugs.

Changes submitted this submission:
- Implemented a general db_list_sql_query() so that
  the Console program can submit arbitrary catalog 
  queries.
- Reworked rl_catch_signals so that it works on Win32.
- Added authentication between the Storage daemon and the
  Client. Also provide a random authorization key.
- Consolidated more variables in the global part of the
  JCR record.
- Improved setting JobStatus.
- Storage daemon now passes JobStatus changes back to the
  Director.
- Removed obsoleted File daemon job id from Job Start protocol.
- Require confirm on Cancel command if there is only
  one Job to be cancelled.
- Added a prompt for the run command when running a restore
  job.
- Added two new Console commands:

  sqlquery    prompts for a command and submits it
              to the SQL engine.  

  query       prompts for submitting a "canned" command.
              There are currently 3 canned commands.

              "List where a file is saved"
              "List total files/bytes by Job"
              "List total files/bytes by Volume"

- Improved Status output -- more precise information on wait
  conditions when doing Director status.  More improvements
  to come.
- File deamon now reports "Files examined" in Status output.
  This is significant when doing an incremental backup where
  a lot of files are examined but few are saved.
- Fixed a bad status check when opening a drive in the
  Storage daemon (forgot to change for updated calling sequence).
- When RESTORING if a file could not be created, there were a
  pile of error messages due to a bug with the stream not being
  synchronized -- fixed.
- Removed debug code that set the interval between mount messages
  to 1 hour -- this bit John.
