]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
Updates for debugging disk seek
[bacula/bacula] / bacula / ChangeLog
index 4acf428a8df006a21a83f072adbbe6bd4ec1224b..92c769333ec299ab9714652dabd28784f52f0b64 100644 (file)
-Changes to 1.37.37 released 26 Aug 05
-24Aug05
-- Ensure that the drive is closed before calling the
-  mtx-changer script so that the script can access the drive.
-- Add drive name to reserved Volume list printout in SD.
-23Aug05
-- Fix bug in acquire.c that incorrectly reported volume
-  busy.
-- Add additional debug code and messages in reserve.c
-- Eliminate unwanted warning message in reserve.c
+              Technical notes on version 1.39  
 
-Changes to 1.37.36 released 22 Aug 05
-20Aug05
-- Landon's fix for NLS detection
-- Eliminate incorrect compiler warning on FreeBSD. 
-- Move Win32 errno message build into berrno constructor.
-- Minor Win32 tweaks
-19Aug05
-- A number of minor Win32 fixes.
-- Remove a PostQuitMessage() as suggested by Thorsten so that
-  BartPE restore can work correctly.
-- Fix for create JobMedia so that VolIndex remains valid even
-  during a delete Job or pruning -- bug 402.
-- Minor tweak for Win32 build.
-18Aug05
-- Win32 fix -- remove debug O_NONBLOCK code.
-- Fix bug 399 -- make_catalog_backup does not work for sqlite3
-- Implement unloading a volume in a different drive if it
-  is needed in the current drive.
-- Implement search for unused autochanger drive.
-- Implement search for exact Volume in reservation before
-  other searches.
-- Fix picking up drive in Dir so that it is not done in
-  the status command.
-- Eliminate double check on "loaded" for autochanger.
-17Aug05
-- Start coding better reservation algorithm
-- Always look for slot for label command.
-- Add more debug code for autochangers.
-- Apply fix from Stephan Leemburg <sleemburg@jvc.nl> for
-  improper scanning of schedule resource:
-  Run = Level=Full Pool=Catalog daily at 1:20
-- Apply patch from Chris Lee <labmonkey42@gmail.com> for 
-  adding --enable-build-dird --enable-build-stored.
-- Tweak datadir definition in configure.in
-16Aug05
-- Fix bug that missed drive=nn specification.
-- Eliminate nonblocking kludge in heartbeat of FD as
-  it caused high CPU usage.
-- Pickup loaded slot when doing open() of tape drive.
-- Make autochanger reservation code go through full list
-  first pass until exact match found.
-15Aug05
-- Fix how FileSet is saved in job record to correct continual  
-  Full save.
-- Make datadir print on config.out listing.
-- Move get FileSet record up in backup init to eliminate continual
-  Full save seen by Peter Sjoberg.
-- Add VolumeName to read-only Python variables.
-- Add VolumePurged event for Python.
-- Suppress /dev/ Filesystem change prohibited INFO messages.
-- Do not delete FT_RAW files before restore (allows FIFOs
-  to be used for restore).
-13Aug05
-- Add drive specification to mount, unmount, release, label,
-  and relabel for Autochangers.  Note Dir<->SD protocol has
-  changed.
+General:
 
-Changes to 1.37.35:
-12Aug05
-- Disable parts of NLS as the configure does not work here.
-- In job backup init (backup.c) define definitive Job level and
-  since time, *then* apply Job Pool override selection if any.  
-11Aug05
-- Modified bconsole script so that it is improperly
-  installed, it will refuse to execute.  This avoids
-  recursive call loops.
+12Nov06
+kes  Change error message 'illegal' to 'invalid' -- bug #707
+kes  Add rather primitive device resource deadlock detection in
+     the job queue handler. It detects the same read and write device
+     for migration and cancels the job. 
+kes  Start adding a unique_dbid_hander() routine in migration to avoid
+     duplicate mediaids and duplicate jobids.
+kes  Add patch from bug #708 to permit relative paths such as ../xxx
+     in the restore tree routine.
+kes  Add Eric Bollengier's patch to reduce locking time in the SD after
+     despooling, and thus many jobs finish faster.
+kes  Correct locking order of reservations lock and device mutex in
+     reserve.c -- this should correct Arno's deadlock that occurred
+     when doing mount/unmount at the same time a job is reserving a
+     drive.
+05Nov06
+rbn  Fixed problems with encryption when combined with compression 
+     or sparse files.  Unfortunately this means that all previous 
+     encrypted backups can't be restored.
+rbn  Fixed problem in bfgets with Windows and Mac end of lines.
+rbn  Fixed bug in Windows version of close_bpipe() that cause programs
+     like bsmtp() to hang waiting for the pipe to be closed.  Fixed 
+     binary file type problems in open_bpipe().
+rbn  Fixed a number of bugs in the mysql DB scripts.
+03Nov06
+ebl  Fix broken runscript on director. (RunBefore, RunAfter)
+ebl  Use M_ERROR instead of M_FATAL in runscript.c
+31Oct06
+ebl  Small fix src/dird/job.c to add JobErrors count to catalog.
+rbn  Ignore UTF-8 marker at the start of .conf files.
+rbn  Add stab2cv to 3rd party dependencies.  This is a utility I 
+     wrote that is licensed under the GPL and available on SourceForge.  
+     It converts the stab debugging info generated by gcc into Codeview 
+     format.  Currently it just translates function names to global 
+     symbols.  This is sufficient to get reasonable stack traces from 
+     Dr Watson and to look at minidumps.
+rbn  Fix bug # 699 - winbacula client crashes whilerunning bat scripts.
+rbn  Enable Windows XP look and feel for the tray icons and wx-console.
+rbn  Add Windows specific FileSet example to bacula-dir.conf.
+rbn  Reorganize Start menu so that documentation and configuration are 
+     in subfolders.
+21Oct06
+rbn  Change daemons and utilities so that if -c is omitted from the 
+     command line AND there is no configuration file in the current 
+     directory then the 'standard' configuration file (eg 
+     /etc/bacula/bacula-*.conf) will be used.  If the argument to -c 
+     doesn't contain any path separators AND there is no configuration 
+     file by that name in the current directory then the 'standard' 
+     configuration file directory will be searched for a file by that 
+     name.
+rbn  Fixed restore on Windows so that backslashes as path separators works.
+rbn  Add missing query.sql file to Windows installer.
+rbn  Fixed Windows versions of catalog backup scripts.
+20Oct06
+kes  Fix optional files in Makefile.in of src/filed that caused
+     a syntax error when using no optional files.
+15Oct06
+lf   Fix a cosmetic bug in filed.c that caused spurious OpenSSL error
+     messages; there is no reason to attempt to load a private key.
+     from master key files.  
 
-Changes to 1.37.34:
-06Aug05
-- Apply David's ACL fix to src/filed/acl.c
-05Aug05
-- Apply patches sent by David Duchscher <kreios@gmail.com> for
-  making ACLs work on MacOS X and FreeBSD.
-04Aug05
-- Apply patch in bug#397 that improved configure
-  - find readline under $with_readline/include/readline
-  - no libutil under Solaris
-  - no need for -ldl under Solaris 
-- Make reservation system single threaded during the
-  search to avoid two threads competing for the same
-  resource.
-- Correct a return code in find_suitable_device_for_job()
-  Possibly cause of "busy writing to another volume".
-03Aug05
-- Modify open() for tape so nonblocking really works.  
-- Use fcntl() to reset blocking status rather than close()
-  and reopen the drive.
-- Make sure dev->open() is always called so that any change
-  in read/write permissions will occur.
-- Open drives initially in daemon in read-only mode.
-- Ensure that each time the VolHdr.VolumeName is zapped
-  or changed that free_volume() is called on the old name.
+Version 1.39.26 released: 
+12Oct06
+kes  Apply the three patches from Richard Mortimer. 
+     bacula-reposition.patch, bacula-tape-reopen.patch, and
+     bacula-eod.patch. This corrects tape positioning on older devices,
+     and also a problem with btape.
+kes  Apply fix from bug report #696 where writing to a FIFO does not
+     work due to a dumb typo.
+kes  Unlock the tape door before the file descriptor is released. This
+     should fix lots of somewhat subtle failures when using an autochanger.
+11Oct06
+kes  Correct mtx-changer bug that I introduced in a recent commit, and
+     pointed out by Robert Nelson -- thanks.
+rbn  Fix Windows' daemons so that messages print to stdout if not 
+     running as a service.
+rbn  Add daemon name to trace file name (eg bacula-dir.trace).
+rbn  Fix environment variable expansion in directory names on Windows.
+rbn  Fix autochanger support in fill command.
+rbn  Update SQL scripts to match Unix versions.
+rbn  Fix daemon usage displays.
+rbn  Cleanup bacula-dir.conf template.
+rbn  Install openssl.cnf so that the openssl.exe installed in the
+     Bacula\bin directory can be used to generate keys and 
+     certificates for TLS and encryption.
+rbn  Fix cleanup of spool files on Windows.
+rbn  Remove /silent option from daemons on Windows.  The new default 
+     is the same as the old /silent.  To enable the message boxes that 
+     previously were suppressed by /silent you must add /debug instead.
+     NOTE: As a result of this change, the first time you upgrade from 
+           a previous version of 1.39.x you will receive the message 
+           boxes when the remove of the old services succeeds.  This 
+           is the same behaviour as when migrating from a version prior 
+           to 1.39.0.
+     However, going forward, these message boxes will not appear on 
+     upgrades or new installs.
+rbn  Add new /debug option. This option enables the message boxes that 
+     previously were suppressed by the /silent option.  In addition the 
+     daemons running as services will open a console window if this 
+     option is used.
+rbn  Fix bug with service not being removed on migrated installs.  This 
+     should correct those cases where the file daemon install was failing
+     when upgrading from versions prior to 1.39.x.
 
-Changes to 1.37.33:
-03Aug05
-- Require 5 arguments to mtx-changer except list and slots
-- Turn -EPIPE status returns from bpipe to ETIME
-- Include Slot in SD status output 
-- Do not term_dev() during initialization in SD if the device
-  could not be opened.  In the case of a tape drive, there may
-  be no tape in the drive.
+08Oct06
+kes  Turn on heap reporting in Dir with zero debug level.
+kes  Send a message to the sys log when Bacula forces a SEG FAULT, and
+     send the same message to stdout.
+07Oct06
+kes  Begin work on new GUI "console".
+kes  Make configure look in non-standard MySQL library directory 
+     for Solaris.
+kes  Make mtx-changer automatically configure the autochanger wait
+     procedure for Solaris, FreeBSD, and Linux.  Previously, only Linux
+     was implemented.
+kes  Correct drop_sqlite_tables.in script to not delete the database.
+kes  When writing to a log file, close and reopen the file descriptor
+     if there is an error writing the file.
+kes  Modify the autochanger loaded?, load, and unload commands to print
+     the full text of any mtx output if there is an error.  Helps to
+     ease diagnosis of autochanger problems.
+kes  Correct a few Win32 errno returns in the VSS code so that hopefully
+     a resonable Win32 error message will be printed.
+kes  Convert a few strcat()... to bstrncat() in the Win32 code.
+06Oct06
+rbn  Added Windows version of bsmtp.
+rbn  Fixed path search for Windows so that Bacula\bin is automatically 
+     searched for programs and scripts.
+rbn  Fixed bugs in mtx-changer.cmd and made template bacula-sd.conf
+     Windows specific.
 
-Changes to 1.37.32:
-02Aug05
-- Correct PostgreSQL database scripts as suggested by a user.
-- Add additional info to FATAL message generated when a device
-  is busy writing to another volume.
-- Suppress an inappropriate NULL Volume name message after a cancel.
-- Correct a warning message in reserve.c
-29Jul05
-- Apply user's patch to make mutiple modifiers for times
-  work correctly.
-- Make read_dev_volume_label() handle ANSI/IBM labels
-  correctly -- ie space over any label at the beginning
-  of the tape.
-28Jul05
-- Make ANSI/IBM writing of HDR1/2 labels ignore any
-  errors if at end of tape.
-- Apply Martin's patch to improve Python detection in
-  configure.in
-- Temporarily turn off disk seeking until I find the
-  cause of the problem.
-27Jul05
-- Add OSF1 patch supplied by user.
-- Use number of files selected from write_bsr() only
-  if it is not defined.
-- Explicitly seek to end of file when getting size for
-  restore test.
-- Correctly set EndBlock position in JobMedia record
-  for files.
-- Remove unnecessary set StartBlock in bscan. Caused bscan
-  regression error.
-26Jul05
-- Modify mtx-changer to wait a maximum of 300 seconds.
-- Do restart of failed jobs only for Backups job types.
-- A number of DVD updates from Nicolas.
-24Jul05
-- Turn off old service helper code in Win32.
-- Correct Messages bug found by Phil in stored.
-23Jul05
-- Complete (almost) documentation of 1.38.
-- Add error messages for error conditions with VSS.
-- Fix additional problems with VSS backup that I introduced.
-Changes to 1.37.31:
-22Jul05
-- Correct compiler complaints in wx-console and tray-monitor.
-- Correct VSS problems recognizing c:
-- Add VSS before job status
-- Fix output of status from being one big line.
-- Change cd xx; make to cd xx && make as suggested by Phil.
-- Cleanup projects file
-- Remove unnecessary casting of FF_PKT in filed.
-- Apply Thorsten's bugfix for vss_generic.cpp
-- Add check for df path for dvd_freespace
-- Use df to get space used on DVD.
-- Change sense of flag indicating erase DVD or not before writing.
-- Fix bpipe so that it never modifies the result pointer.
-- Replace more dev_name by print_name().
-- Rewrite edit_device_codes_dev() so it does not overwrite the
-  supplied buffer.
-- Update printing of labels (for bls) so that critical information
-  is printed (Job name and timestamp).
-- Cleanup old spool files when starting the SD.
-- Modify vss.cpp to allow C: as a path name.  Otherwise VSS
-  doesn't work when only a drive name is given.
-- Modify vss.c to eliminate double / in filenames.
-- Update doc -- particularly the restore chapter.
-18Jul05
-- Make all files in working directory have .xxx at end.
-- Work on DVD writing.
-- Fix keepatime bug (bugs database).
-- Move Python variables from Job to Bacula. They are
-  DirName, Version, ConfigFile, and WorkingDir
-- Fix delete of bootstrap to only occur on Bacula created
-  filenames.
-- Allow cancelling a Job name that is not active. It is
-  sent to the daemons.
-17Jul05
-- Fix name space pollution by OpenSSL 0.9.8 reported by
-  Matthias Kurz -- applied his patch.
-- Fix bpipe.c so that it does not modify results pointer.
-  ***FIXME*** calling sequence should be changed.
-- Remove some remaining references to dev_name.
-- Fix calls to mount_dev() and unmount_dev() to
-  correspond to returned value (bool instead of int).
-- Try without success to make DVD writing work.
-== Nicolas
-15Aug05
- - Convert dvd-writepart to Python.
- - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when
-   killing external programs.
-13Aug05
- - Add gettext macros in autoconf/gettext-macros.
- - Modify how localedir is set in configure.in.
- - Remove setlocale check (useless).
-10Aug05
- - Mark translatable strings in all source files.
-08Aug05
- - Create French and Italian translation files (fr.po, it.po).
- - Add support for translation in configure and Makefiles.
- - Update autoconf/aclocal.m4 so it is automatically created with aclocal
-   (Note: autoconf/gnome-macros is not used anymore, it may be removed).
-30Jul05
- - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog
-   killed the program, and return an error if it is the case.
-26Apr05
- - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter 
- - lex_open_file now returns NULL if the file can't be opened. All calling functions have
-   been adapted.
- - Remove set_exit_on_error function
-07Apr05
- - Fix "unknown device type" problem with DVD devices.
- - Fix crash when there is no media in the DVD drive.
-09Jan05
- - Update the documentation and ReleaseNotes.
-05Jan05
- - Add FreeSpaceCommand in Device (SD configuration file) and implement it.
- - Some modifications (again) on how guessed volume names are handled (now it should work).
- - Part files on the hard disk are removed if they are empty.
-04Jan05
- - Major fixes on how guessed volume names are handled.
- - Minor fix in src/stored/append.c.
- - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c.
- - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD.
-03Jan05
- - Add WritePartAfterJob directive in Job resource (Director)
- - Add WritePartAfterJob directive in Schedule Resource (Director)
- - Implement these new directives
-02Jan05
- - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume
-   name of a mounted device, so the label can be read.  
- - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W).
- - Removed WriteFirstPartCommand directive in Device (SD configuration file).
- - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev).
-01Jan05
- - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file).
- - Implement these directives (volumes can now be restored from a manually written DVD). 
- - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file).
- - Implement these directives (DVD writing now works).
- - New function run_program_full_output in src/lib/bpipe.c.
- - Lots of bugfixes and cleanups in the new code.
-29Dec04
- - Add VolParts field in Media table
- - Add MaximumPartSize directive in Device (SD configuration file)
- - File Volumes can now be splitted in multiple files ("parts")
- - Fix SQL error in sql_list while doing "llist jobmedia"
+Version 1.39.24 beta released:
+02Oct06
+rbn  Fix restore problem with c:\ prefix bug #676.
+rbn  Verify that drive letter is valid on restore.
+rbn  Fix re-open() options for tape.
+kes  Apply dvd find volume patch from Richard Mortimer.
+kes  Eliminate the dvd specific mount routines using only the
+     dev->mount/unmount.
+kes  Make update_free_space a method of DEVICE and rename 
+     update_freespace.
+01Oct06
+kes  Require a messages command acl to be able to receive messages
+     in a console.
+kes  Add console, system, and scan job types in util.c.
+28Sep06
+kes  Print the Volume purged message only for real jobs to keep
+     from cluttering up the daemon messages.
+kes  Lock the tape drive door while Bacula is using the device.
+kes  Add back the 'No Jobs running' message to FD and SD status because
+     my regression script depends on it, and I'm too lazy to change the
+     scripts.
+kes  Start using structure assignments (not too happy about it ...).
+kes  Fix a bug in the tools Makefile that broke on Solaris.
+kes  Unload any autochanger drive during a 'release' command.
+26Sep06
+kes  Enhance error message when restoring without bootstrap file.
+kes  Check restored size only for regular files.
+kes  Store Python job level in job record in Dir.
+kes  Add back code to open tape device nonblocking, but if rewind fails
+     release file descriptor.
+kes  Modify acquire.c to first try autoloading the device. Also, ask operator
+     to mount tape if drive cannot be opened.
+rbn  Made Windows service tray status windows resizable.
+rbn  Fixed horizontal scrolling of text in status window.
+rbn  Preserve horizontal and vertical scroll position while 
+     updating.  This prevents the display being reset to the
+     top line every 5 seconds.
+rbn  Fix Windows cross-compile compatibilty problems with 
+     *nix variants such as OS X without the zic command.
+rbn  Eliminate dependency on man2html.
+25Sep06
+kes  Update src/win32/dll/bacula.def for change in BPIPE definition for
+     Win32 build.                 
+kes  Fix a compiler warning in compat.cpp
+kes  Change strcpy to bstrncpy in compat.cpp
+kes  Remove some broken code in bdb_list.c
+kes  Fix, hopefully the last, ACL problem in the restore command.
+kes  Update the README.mingw32
+kes  Add new version of upgrade-win32-client.txt to examples directory.
+     Submitted by Michel Meyers.
+kes  Print an INFO message in the job report when a Volume is marked Purged.
+rbn  Fixed handling of external program and script execution
+     so that the format of the command line is more flexible.
+     Now executable path names containing spaces are translated
+     to the equivalent short name automatically.  The result is
+     passed to cmd.exe with the quotes removed.
+24Sep06
+kes  Apply the recycle patch from Richard Mortimer.
+kes  Convert a few if statements in dev.c to switch statements.
+kes  Start using print_errmsg instead of bstrerror().
+kes  Print a job message in SD when a job is marked to be canceled.
+23Sep06
+kes  All code added back. Fixed block.c read/write to loop only 3
+     times. This apparently keeps the OS from crashing (at least     
+     most of the time).
+kes  The kernel bug still persists. Backup something then immediately
+     do a bscan on the same tape, and the kernel will crash.     
+kes  Simplifed tape open().  It no longer uses nonblocking mode, which 
+     means that opening with no tape loaded will probably take at least
+     6 minutes before an error is reported.
+kes  Do not use MTSETDRVBUFFER if not running as root.  Do a MTRESET
+     when doing set_os_device_parameters.
+kes  Report open error in mount.c
+kes  Remove all .exe files from the installer directory on make clean.
+20Sep06
+kes  Start adding back removed code.
+kes  Back out a number of changes because backups to tape crash my
+     system.
+kes  Remove the inetd code from the File daemon.
+18Sep06
+kes  Add -c option to pg_dump so that it initializes tables when   
+     restored.
+kes  Fix FirstWritten time on Volume to be obtained from SD so that
+     it is the actual time the volume was first written.
+kes  Minor Makefile changes.
+kes  Handle EBUSY during read(). Improve how EBUSY is handled in write().
+ebl  Add yes keyword to prune/purge command
+16Sep06
+kes  Correct a test in block.c that prevented restore of a DVD from
+     looking at the last part in the spool directory.
+kes  Make some error messages clearer mostly by using the word DVD
+     in the message. Improve infor message in read_record for DVDs.
+kes  Remove DVD kludges in dircmd.c label/relabel.
+kes  Move the dvd relabel code from dircmd.c into      
+     write_new_volume_label_to_dvd() adding a relabel argument.
+kes  Rewrite the truncate_dvd() code to be much simpler and
+     more logical. First blow away any spool part, then create a
+     new empty part and write to the DVD.
+kes  Rewrite the can_write_on_non_blank_dvd() code making it
+     only ensure that no valid data is on the DVD -- i.e. it
+     can be overwritten.
+15Sep06
+kes  Minor Makefile fixes.
+kes  Put attach_dcr_to_dev in a subroutine.
+kes  Make attaching/detaching to/from a device use a flag and 
+     only detach if actually attached.
+kes  Add dvd-simulator.in to scripts directory and add to configure.
+kes  Fix code in acquire.c that checks fd != 0 to use dev->is_open().  
+     This could be a cause of a number of drive reservation problems.
+     Note, this code is now in attach_dcr_to_dev().
+kes  Suppress doing Volume updates if it is a system job.  This should
+     prevent the DVD label blocking.
+kes  Clear the freespace ok flag in a couple of strategic places.
+14Sep06
+kes  Put removing zero sized spool part file in subroutine and
+     call from release_device().
+kes  Add Richard's patch for relabel to dircmd.c, but save and restore
+     dev Volume name.
+kes  Rework a lot of subroutines in dev.c to take dcr as an
+     argument. This is done to eliminate the usage of attached_dcrs
+     in lseek().
+kes  Change truncated_dvd to blank_dvd, which seems more suitable.
+kes  Apply most of Richard Mortimer's truncate patch.
+kes  Create lseek() method for DEVICE that takes dcr as an
+     argument. This is to eliminate the use of attached_dcrs in
+     lseek().  The calls to lseek_dev() must still be changed.
+13Sep06
+kes  Apply Richard Mortimer's patches for printing an error 
+     message in btape when a DVD is used, and to initialize traceback.
+kes  Added error message to btape when trying to access a file.
+kes  Move prototype of update_slots() to protos.h.
+12Sep06
+kes  Add JobErrors, JobFiles, SDJobFiles, SDJobErrors, SDJobStatus,
+     and FDJobStatus to the Director Python variables.
+kes  Make sure valid argument passed to str_to_utime() where Arno
+     had a seg fault.
+kes  Apply Richard Mortimer's patch for bcopy, bextract, and bscan.
+     I.e. part of two different patches.
+11Sep06
+kes  Modify disk changer to simulate some of the error conditions
+     of mtx-changer.
+kes  Make sure the close() call in the SD tools is just before the
+     getchar() call.
+kes  Implement dir_get_volume_info() in bls using the patch from
+     Richard Mortimer but call find_num_dvd_parts().
+kes  Implement find_num_dvd_parts() that mounts and scans a DVD
+     and counts the parts. 
+kes  Move the omode code in open_dvd() up so that the cannot
+     write on blank disk can check can be bypassed for read mode.
+     Not yet implemented.
+10Sep06
+kes  Disable normal data spooling for DVD writing which uses  
+     a different spooling mechanism.
+kes  Apply patch from Richard Mortimer to ensure that the number
+     of DVD parts is correctly updated.
+rbn  Save installer details log in the Bacula directory as 
+     install.log.
+rbn  Add installer generation of client and storage templates
+     suitable for @inclusion on the director.
+rbn  Mark previously installed components for Win32 read-only since 
+     deselection doesn't do anything.
 
-Changes to 1.37.30 released 16 July 2005:
-14Jul05
-- Fix "dir" command scanning field misalignment in
-  wx-console.
-- Switch to using the wxWidgets Unicode library.
-- Include msvcr71.dll in distribution.
-- Add VSS to status line in Win32 FD if enabled.
-- Get VSS build scripts working with Thorsten's help.
-- Unlink the bootstrap file after sending it to
-  the FD.
-- Remove sending include/exclude lists to the FD during
-  a restore -- deprecated code.
-- Cleanup the bootstrap files in the FD.
+Version 1.39.22 beta released:
+08Sep06
+kes  Fix logic error in handling error return from mtx-changer 
+     script.
+kes  Make status from SD aware of -1 (unknown) Slot status.
+kes  At Eric's suggestion make both the 'slots' and 'drive' commands
+     to the Storage daemon work even if the drive is busy.
+kes  Make two separate Win32 menu links for starting bconsole and
+     wx-console in winbacula.nsi
+kes  Apply DVD part_spooled patch from Richard Mortimer 
+     richm@oldelvet.org.uk 
+kes  Put installer/Readme.txt into Win32 EOL format for Notebook.
+rbn  Fixed problems migrating settings from previous releases in
+     Win32 installer. Add Readme.txt with an option to show it on 
+     the installer Finish page.
+07Sep06
+kes  Use get_catalog_resource() to open catalog database
+     to ensure that ACLs are respected and that user is
+     correctly prompted for database.
+kes  Integrate multiple console/director patch from 
+     Carsten Paeth calle@calle.in-berlin.de
+ebl  Add character substitution in Job/JobDefs WriteBootStrap.
+     You can use now 'WriteBootStrap = '/path/%c_%n.bsr''
+kes  Apply patch supplied in bug #656 to pass priority field
+     in the run dialog to the Director in gnome console
+kes  Restore DCR after VOL_NAME_ERROR in mount.c.  Hopefully
+     this will fix bug #627 where Bacula eventually gets 
+     confused about what Volume it wants.
+kes  Add a new close_part() class in the SD to save the device
+     state around open/close_part/open for DVD writing.  This
+     should fix the num_dvd_parts getting zeroed as reported by
+     Richard Mortimer.
+kes  Apply patch from Richard Mortimer that correct edit code
+     for debug output of st_size.
+ebl  Add support of encrypted data stream to bscan.
+     display data_len instead of data content (may be binary)
+06Sep06
+kes  Add dev->close() in dir_ask_sysop_to_mount_volume() in
+     bcopy. Fixes bug #669 reported by Eric.
+kes  Fix incorrect number of arguments in SQL statement in
+     sql_get.c as reported by Eric.
+kes  Manual updates.
+kes  Update examples directory.
+kes  Remove unused variable in winservice.cpp
+kes  Make Win32 make command build installer.
+rbn  Add new Install Type page, used to select between Automatic
+     and Custom installs.  Automatic installs only prompt for
+     configuration items that can't be reasonably defaulted.
+rbn  Added Bacula logo to page headers.
+rbn  Added Upgrade support
+     - Configuration and component selection are migrated from
+       pre-1.39 installs.
+     - Configuration of upgraded components is preserved and 
+       not prompted for
+     - Configuration of new components is handled according to
+       the Automatic / Custom selection.
+     - Component selection is defaulted to previously selected 
+       components.
+rbn  Installation of Server components is disabled on 
+     Windows 95, 98 and ME.
+rbn  Added URLs for support, info and upgrades to Bacula entry
+     in Add/Remove Programs.
+rbn  Added Version info to Bacula entry in Add/Remove Programs.
+04Sep06
+kes  Correct dvd code that breaks tape labeling.      
+kes  Implement Enabled on update slots.
+02Sep06
+kes  When doing a label, pass the VolBytes back to the Director,
+     which puts it in the catalog.
+kes  Print an error message if the user attempts to prune an
+     archived Volume.
+kes  Need to start using %ld when sscanfing 32 bit values.
+kes  Update the free
+kes  Correct the counting of VolCatBytes for DVDs. 
+kes  Add code to mount.c to require that VolCatBytes corresponds to
+     what is actually found when doing an append.
+kes  Update freespace only after writing on the DVD.
+kes  Remove code that blows away the current part in the spool file.
+01Sep06
+kes  Apply new dvd-handler patch from Richard Mortimer.
+kes  Tweak so that debug level 20 shows only DVD commands.
+kes  Correct spooled_part flag in dev.c close() so that it is cleared
+     when the spool file is deleted or does not exist.
+kes  Print part number in read_records when eof hit (restore).
+rbn  Installer default changed to start services on new install.
+31Aug06
+kes  Make find with no args in tree restore return error rather than
+     stopping the selection. Fixes bug #665
+kes  Rework DVD writing to ensure that the last part is written
+     on open_next_part when dealing with a spool file.
+kes  Correct the lseek_dev() routine to handle end point correctly
+     (bug introduced by me).
+kes  Allow part number to exceed num_dvd_parts in lseek_dev().
+rbn  Change make_session_key on Windows to use WIN32 APIs to produce 
+     a better seed.
+rbn  Add new tool scsilist.exe which displays the changer, tape and 
+     CD/DVD (1394, SCSI, SATA, ATAPI) devices and the information required 
+     to add them to bacula-sd.conf.
+30Aug06
+kes  Apply dvd-handler patch from Richard Mortimer.
+kes  Apply dvd error check patch from Richard Mortimer.
+kes  Apply bpipe race patch from Richard Mortimer.
+kes  Rework how DVD labels are handled and set append only
+     when part > num_dvd_parts.
+27Aug06
+kes  Rework many features of DVD writing and reading. Added many error
+     messages.  Most importantly changed part to represent the current
+     part number base zero. This makes current DVD writing incompatible
+     with previous version.
+26Aug06
+kes  Add host:port to connect failure messages to FD and SD from Dir.
+kes  Add WhereACL to console ACL list.  If nothing is specified, only
+     the default is permitted for restore. Otherwise, *all* allows any
+     path, or you can specify permitted paths. This should allow control
+     over where users can restore files. This is untested.
+kes  Modified message to add a ? (as in loaded?) when querying the autochanger
+     for what Slot is loaded.  
+kes  Fixed the use of Slot, so that is more correctly maintained, thus
+     eliminating unneeded duplicate calls to determine what Slot is loaded.
+25Aug06
+kes  Install man pages with 'make install'
+kes  wx-console crashes because of differences between Bacula and wxWidgets
+     malloc()/free().  Tweak wx-console to use bmalloc()/bfree() for Bacula
+     calls.     
+kes  correct improper indenting in wx-console/console_conf.c
+kes  update wx-console header copyrights
+kes  Fix bug #658 where wx-console mangles file/directory names containing
+     commas.
+24Aug06
+kes  Add Media.Enabled flag to client backups for dotcmds.c
+kes  Enforce Media.Enabled=1 for a current restore to work.
+kes  Require restore case 3 to have sqlquery permission to work.
+kes  Remove obsolete del_MAC sql command.
+kes  Ensure that bscan creates Volumes with Enabled=1.
 
-Changes to 1.37.29:
-14Jul05
-- Remove old commented out code from configure.in
-- Add baculavssfd.mak file for building VSS version of
-  Win32 FD.
-- Correct date (year) in vss.cpp and vss_generic.cpp
-13Jul05
-- I finally found and squashed the elusive SD crash.        
-  I needed to initialize the used volume list before
-  firing off the device initialization thread.
-Changes to 1.37.28:
-11Jul05
-- Make sure that bpipe results are zapped even on
-  error return.
-- Lots of documentation.
-- Do not prune volume marked as append when needing a
-  new Volume.
-- Print a warning message in SD if a non-used Volume
-  is specified and autolabel not turned on.
-- Correct a bug in chksum.c concerning SHA1 signatures 
-  (an * should have been & when checking for a bit flag).
-- Print File:Block for all label records in label.c -- concerns
-  primarily bls when doing Job listings (-j).
-- Correct is_volume_in_use() to return false if testing
-  on the same device where the Volume is already mounted.
-- Define a init_done flag in the SD that is set when the
-  devices are initialized and make users connecting wait.
-  This prevents useless connect failure warning messages.
-- Do additional device locking in ask_op_to_mount_volume()
-  to prevent race conditions with a user labeling a Volume
-  or autolabeling.
-09Jul05
-- Add a test for error return from bnet_wait... in heartbeat.c
-  in FD to avoid CPU loop.
-- Implement TLS in gnome console and wx-console.
+Version 1.39.20 beta released:
+22Aug06
+kes  Correct missing Client table reference in SQL pointed out by
+     Marc.
+21Aug06
+kes  Fix Win32 build (new entrypoint, start baculafd).
+20Aug06
+kes  Add -n option to bconsole to turn off conio.
+kes  Print JobIds to be migrated in Job Report.
+kes  Add additional user supplied notes to the messages part of 
+     bacula-dir.conf concerning multiple email addresses.
+kes  Fix an incorrect comment pointed out by a user in dvd_handler.in
+kes  Add more recent Feature requests to Projects file.
+19Aug06
+kes  Apply Maritn's fix to src/win32/Makefile.
+kes  Apply Martin's fix to configure.in for pthreads on FreeBSD 4.x
+kes  Implement pruning for Migration and migrated jobs.
+kes  Implement PoolOccupancy migration.
+kes  Implement PoolTime migration.
+16Aug06
+kes  If doing a mount, look for a slot, and if specified pass it to
+     the SD so that it can load the autochanger.
+kes  Return DVD=1 flag if a label command is done to a DVD. This
+     permits setting VolParts to 1.
+kes  Apply DVD patch from Richard Mortimer <richm@oldelvet.org.uk>, but
+     rework ua_label code based on DVD media type to use DVD flag returned.
+15Aug06
+kes  Eliminate some compile warnings in dird_conf.c
+kes  Format the bytes field in the terminated jobs part of the status
+     command for the three daemons with suffixes to reduce print size 
+     of backup bytes.  Suggested by a user.
+kes  When not descending into a directory, print the File= name that
+     triggered it -- makes why not descending a bit clearer.
+kes  Do not unload autochanger when doing a list command -- basic code
+     from Eric Bollengier.
+12Aug06
+rbn  Reworked the MinGW32 build-dependencies script, it has been renamed
+     to build-depkgs-mingw32.  It now handles two options -h to display
+     help and -C to reextract the source and apply the patches.  The -C
+     option is useful for updating the source after new patches are 
+     released.
+rbn  Moved the 3rd party package URLs to a separate file External-mingw32.
+     This allows updating to new versions without having to modify the
+     script and makes it easier to figure out which packages and which
+     versions are used.
+rbn  Added a new script build-depkgs-msvc.cmd which does the same thing
+     as build-depkgs-mingw32 except they are built using Microsoft Visual C
+     and placed in the depkgs-msvc directory.  There is also an 
+     External-msvc file to describe the packages.
+08Aug06
+rbn  Fix Windows cross-compile compatibilty problems with FreeBSD.
+07Aug06
+kes  Fix bug #462 incorrect error message printed when client script called
+     from File= was not found.
+kes  Fix bug #558 (waiting for feedback) where Bacula needs too much time to
+     do a rewind on Solaris when no tape is in the drive (Solaris does not
+     have the detailed errno found on Linux).  Added Solaris specific code.
+     Note, this may apply to other OSes as well.
+06Aug06
+kes  Defined BUILDING_CATS in src/cats/cats.h so that *nix builds.
+dsb  Updated rpm spec for 1.39 - updatedb 9 to 10, add new man pages,
+     fix bug 648 - update sqlite script patches, lock out gnome2console
+     builds for platforms with gtk+ < 2.4.
+     Updated build_rpm.sh - add remote source directory, add switch for 
+     signing, refine file names.
+     Updated spec file again for Mandriva build as they have this curious
+     custom of silently converting all manpages to bzip2 format just before
+     the final packaging step.
+05Aug06
+rbn  Fixed the Windows Makefiles so that they won't accidentally try and
+     pickup binaries for the Unix build.  This allows both the Unix
+     build and the Windows build to be built in the same tree without
+     interfering with each other.
+rbn  Fixed error handling and cleaned up mtx-changer.cmd.
+rbn  Added the rest of the database scripts.  These are installed but are
+     not yet edited for variable replacement.
+rbn  Broke out the cats functionality from bacula.dll and put into new
+     separate dlls for each database type.  At installation time the
+     correct one is copied to bacula_cats.dll.
+rbn  Eliminate the need to install the mysql.dll on client only builds.
+rbn  Moved dird/sql_cmds.c into the cats directory so all the database
+     specific #ifdefs were in the cats directory.
+rbn  Added a new sql_cmds.h with all the declarations for the variables
+     exported from sql_cmds.c.
+rbn  Moved catalog_db[] from lib/message.c to a new routine db_get_type()
+     which is implemented in bdb.c, mysql.c, postgresql.c and sqlite.c in
+     src/cats.
+kes  Correct improperly formatted list command output reported by Dan.
+04Aug06
+kes  Correct despool time calculation.
+03Aug06
+kes  Remove previous changes to compat.cpp as they create problems.
+kes  Use old style MD5 for FileSets to avoid Full saves on every Job.
+kes  Attempt to fix problems with the msg_queue crashing on Solaris
+     when Bacula is terminating, but problems remain.
+kes  Add WIN32_VSS to HAVES in src/Makefile.inc.in to correct VSS
+     name editing problems with too many \\?\es.
+kes  Fix some Bacula source code style problems in compat.cpp.
+kes  Add debug code to compat.cpp and convert non-Bacula debug code
+     to Bacula style.
+02Aug06
+kes  Change the name of the technical notes file from kes-1.39 to
+     technotes-1.39.  Prefix my messages with 'kes  '.
+kes  Allow dequeue_messages() to be called twice. Should fix bug  
+     # 649.
+kes  Add Job type to bscan Job information output.
+01Aug06
+kes  Update copyright date in program files, and for the most part
+     put it on a #define.
+kes  Implement %q in bsnprintf.c apparently I forgot it.
+31Jul06
+kes  Make disk-changer sed command compatible with FreeBSD.
+kes  Make a first cut at a ReleaseNotes and ChangeLog for a 
+     beta release.
+kes  Make make clean descend into the src/win32 directory.
+kes  Fix some #ifdefing so that Solaris and FreeBSD compile 
+     sys/stat.h was turned off.
+kes  Use suffix editing for new transfer rate messages.
+kes  Attempt to come up with a workaround which seems to be an OS
+     bug where write() returns EBUSY.  IMO this should not happen.
+     It triggered in truncatebug test. The workaround retries using
+     a 100 ms wait.
+kes  Eliminate a strerror() call in a class method that failed with
+     older C++ compilers.
+kes  Use rm -rf rather than rmdir to delete the src/win32/release
+     directory during make clean.
+30Jul06
+kes  Make bscan ignore ACL streams.
+kes  Update projects files with new Feature Requests.
+kes  Generate current English and French manuals and upload
+     them to the site.
+kes  Update the home page to include the new British/French flags to
+     switch between translations. Work done by Alexandre Baron.
+kes  Make disk-changer script print an error message if the changer
+     directory is not defined.
+kes  Create a generic DB routine for getting an int (32/64 bit) from
+     the DB.
+kes  Add more migration code.
+kes  Add a few more files to .cvsignore here and there.
+kes  Minor fixes for SD write rate and despooling rate.
+kes  Turn off new test code in src/console.c
 
-Changes to 1.37.28:
-08Jul05
-- Correct a NULL pointer reference in the mount command.
-- Correct typo in Copyright
-- Add detection of EOM for IBM drives (i.e. errno == ENOSPC)
-07Jul05
-- Remove temp file created in mtx-changer script.
-- Make fsf_dev() into a class method.
-06Jul05
-- Modify mtx-changer.in script to return slot:barcode for
-  Volumes that are loaded in the drives.
-- Correct some more places where dev->is_blocked() needs
-  to be checked in dircmd.c in SD.
-- Update doc.
-05Jul05
-- Add code to ensure that reserved but unused volumes
-  are freed. 
-- Correct how Volumes are mounted and handled so that the SD
-  does not get stuck if multiple volumes are used (recycling,
-  relabling, ...)
-- Correct bug where you could relabel a volume while it
-  was being acquired -- created chaos.
-04Jul05
-- Correct seg fault caused by open() calling sequence change.
-03Jul05
-- Add new rc-chio-changer script by Rudolf Cejka to 
-  examples/autochangers
-- Apply Rudolf's changes to bacula.in
-- Expand the space from 8 to 10 characters in editing
-  file sizes for restore and dir of catalog, otherwise
-  GB sizes are truncated -- fixes bug report.
-- Modify wx-console to know about 10 character widths.
-- Allow decending into top level directory if "recurse=no"
-  is set.  Fixes a bug report.
-- Install pthreadVCE.dll when installing console or wx-console
-  on Win32 systems. Fixes bug report.
-02Jul05
-- Tweak dvd-writepart script to prevent door from opening/closing
-  so much.
-- Remove GROUP BY in several PostgreSQL commands to prevent error.
-  Resolves bug report.
-- Ensure that < as first character of filename list is not treated
-  as a directory for restore.
-- Add debug to heartbeat in FD as it seems to go into an
-  infinite loop from time to time during SD failure in DVD writing.
-- Add more debug code to dvd writing.
-- Attempt not to destroy existing fs on DVD. 
-30Jun05
-- Detect device mounted for DVD and suppress be sure to 
-  mount message after label.
-- Set Cleaning tape status to "Cleaning" and force no
-  MediaType.
-- Get DVD writing working with new standard Bacula open()
-  code.
-- Rename get_filename() to make more sense.
-- Detect "is already mounted on" on mount command so to avoid
-  error if device is already mounted.
-- Eliminated guess_name() code. It may be necessary to
-  add it back later.
-- Eliminate seg fault from printing invalid results.
-- Make dvd_write_part() bool.
+Version 1.39.18
+29Jul06
+kes  Incremented the version number to signify that all of Robert's code
+     for Win32 that was in the branch is now integrated into the HEAD,
+     and that Eric has submitted code that we hope will provide limited
+     backward compatibility with 1.38 file daemons (more testing to be
+     done).
+kes  I rationalized a few of the names of the variables (mainly jcr names)
+     that are used during migration as keeping three different jcrs at the
+     same time clear in ones head is not easy.
 
-29Jun05
-- Attempt to fix DVD writing by eliminating a number of the 
-  DVD subroutines to simplify.
-- Modify DEVICE::open() to take dcr as first argument. This
-  will permit providing more info to DVD opening.
-- Fix scanning for time/size items which in some cases
-  ate the next line.
-- Eliminate read_dvd_volume_label().  New code (not yet written)
-  *must* open dvd appropriately before calling 
-  read_dev_volume_label.
-- Modify open_first_part() open_next_part() to take DCR as 
-  argument.
-- Make label command from console work on DVDs.
-- Make mount command from console work on DVDs.
-  Unmount does not work yet.
+Version 1.39.17
+28Jul06
+eb   Tweak new runscript feature to work with 1.38.x FDs. 
+eb   Correct crypto.c to fix segfault when restoring an encrypted stream 
+     on fd which don't use rsa keys.
+eb   Add yes/no English keywords on localized yes/no questions.
+27Jul06
+kes  Several important commits from Robert Nelson for code cleanup and
+     Win32 build.
+kes  Modify console.c so that when conio is enabled, it converts \n to
+     \n\r before outputting to the console.  Hopefully this will fix
+     the problems with expect in Perl that Eric saw.
+24Jul06
+kes  Change cats/sql.c to eliminate %-*s format, which I think is turned
+     off in bsnprintf.
+kes  Add Comment field to llist of a volume.
+kes  Allow true/false in some yes/no questions.
+kes  Implement update volume enable=(on|off|true|false|archived|0|1|2)
+kes  Remove a few /n's when scanning commands from another daemon. This
+     permits adding additional fields later.
+kes  Modify dbcheck to handle ctl-d and to delete Log table entries.
+kes  Update README.mingw
+22Jul06
+kes  Tweak authentication to work with 1.38.x FDs. 
+kes  Tweak catalog make scripts.
+kes  Fix catalog upgrade scripts so that they work.
+kes  Correct despooling debug code to eliminate race condition.
+19Jul06
+kes  Add additional fields as specified by Arno to LocationLog.
+kes  Add comment field to the Media record.
+kes  Add Time field to the Log record.
+kes  Correct migration SQL (thanks to Bill Moran) so that it
+     runs with PostgreSQL also.
+kes  Add spooling/despooling info in status output of SD.
+17Jul06
+kes  Spend a lot of time integrating mkcdrec with the rescue disk.
+kes  Add VOLMGMT message class for volume management messages (none yet).
+kes  Add CATALOG as a destination.     It goes into the LOG table.
+kes  Implement the Log table in the DB.
+kes  Implement the Location Log table in the DB (for user use).
+kes  At Eric's request add a run_scripts() just after blast_data in
+     src/filed/job.c
+10Jul06
+kes  Add Enabled column to Location, correct some typos in DB schemas.
+kes  Correct bug I introduced into RunScripts enum.
+kes  Add log table to Catalog
+kes  Purge original job migrated if the migration terminates normally.
+kes  Cleanup purging of files/jobs so that it is done only in a 
+     single subroutine.
+kes  Add new VOLMGMT message class.
+kes  Add Catalog message destination (user conf code remains to be written).
+09Jul06
+kes  Modify read_record and friends to properly deal with migration         
+     needs.
+kes  Update debug code in read_record.       
+08Jul06
+     ======================= Warning ==========================
+     Separate read and write storage in Jobs in the Director. This
+     is a major rewrite of some of the low level code and hence has
+     a high probability of introducing bugs.
+     ==========================================================
 
-Changes to 1.37.27:
-27Jun05
-- Add Database vendor to CatalogRes tuple for Python.
-- Update doc
-- Implement DoesVolumeExist(Vol) for Python.
-- Prevent python command from seg faulting if no arg given.
+kes  Move the job init code up to *before* the job is put into
+     the job queue (resource allocation queue). This permits the
+     job to establish whether it will read or write or do both.
+kes  Add name() methods to all the resource classes.
+kes  Implement separate read and write storage resource 
+     allocation/deallocation in jobq.c
 
-Changes to 1.37.26:
-26Jun05
-- Add set_mode method in DEVICE.
-- Correct set_mode method in DEVICE
-- Add more DVD debug info 
-23Jun05
-- Check for incorrect duration and size modifiers in conf files.
-22Jun05:
-- Make Version a tuple (version, build-date)
-- Add CatalogRes tuple (DBName, Address, User, Password,
-    Socket, Port)
-- Add Version, ConfigFile, and WorkingDir as Python attributes
-  in the Director.
-- Implement code (principally for Win32) that on failure to
-  create a file, it will cd into the directory and attempt
-  to create the file using a relative path. This avoids creating
-  files with paths which fail on Win32.
-- Fix parsing of times and sizes with decimal numbers.
-- Make free_volume_list() in SD work if vol list is not
-  initialized (./bacula-sd -t).
-21Jun05:
-- Add debug error printout when open() fails.
-- If open() of DVD fails in mount.c, return false.
-- Split open() code for DVD into separate subroutine in dev.c
+     ======================= Warning ==========================
+     Implemented new method of getting the default Storage from the Media
+     record rather than from the MediaType for restore.  As a fall
+     back, if no Storage is defined, use the MediaType.  This
+     eliminates most all prompts if there are multiple MediaTypes
+     used. This is an important and fundamental change.
+     ==========================================================
 
-Changes to 1.37.25 released on 20 Jun 05:
-20Jun05:
-- Fix bug where Storage daemon gets confused about what
-  tape is mounted. (one line of code was inadvertently 
-  deleted).
+kes  Add more detail (Storage, Device) to list of volumes printed
+     for restore.
+kes  More code in migrate. In particular start multiple jobs if
+     migrating a volume.
+kes  Probably overkill, but ensure that the bsr is unique even within a 
+     job in FD and SD.
+kes  Rework bsys.c drop() so that it now should work as expected.
+kes  Update a bunch of old copyrights -kes  particularly in .h files.
+kes  Remove src/lib/bshm.c/h
+05Jul06
+kes  Migration fixes
+04Jul06
+     ======================= Warning ==========================
+        All hash codes in the database are now kept in world
+        compatible base64 format (no = filling). This means that
+        all FileSets will be updated and if you are running
+        verify jobs, you must do an InitCatalog.
+        Authentication uses the new algorithm, but should be
+        backward compatible with 1.38.x
+     ===========================================================
 
-Changes to 1.37.24:
-18Jun05
-- DVD writing/reading seems to be mostly working.
-- Set execute bits on dvd-freespace and dvd-writepart
-- Make dvd-freespace use existing dummy file.
-- Modify dvd-freespace to pickup size from Track Size:
-16Jun05
-- Add Date, Job, level to updates to .bsr file in 
-  dird/backup.c
-- Add debug info to dvd-freespace.in
-- Fix hard coded bacula.sql in make_catalog_backup reported
-  by a user.
-- Make sure a verify volume to catalog never reports an error
-  if there are zero files to verify.
-- Remove confusing debug info in filed/backup.c on network
-  error.
-- Make sure output from console is not sent to system log.
-- Convert open_dev() into a class method.
-- Change VolHdr.VolName to VolHdr.VolumeName.
-- Add a flag in the device state word to indicate that
-  we found Media in the drive (DVD). 
-- Make mount_dev() and unmount_dev() return bool.
+kes  Modify the authentication routines so that the 1.39.15 Director
+     always runs with the compatible binary to base64 code (same as
+     the rest of the world).  It will however detect if an SD or
+     FD is running the old code and if that is the case, will use
+     the old algorithm for authentication.  However, all consoles must
+     use the compatible algorithm, and all data entered into the database
+     (all hash signatures, MD5, SHA1, ..., and all FileSet hashes) will
+     use the compatible algorithm.
+kes  Rename the cram_md5 routine names to be slightly more appropriate
+     to what they are doing (challenge and respond).
+kes  Robert committed his #ifdef and header cleanup.
+30Jun06
+kes  Fix a compiler warning in files/backup.c
+kes  Cleanup NOT NULL vs DEFAULT 0 in database creation.
+kes  Tweak btape.
+kes  Robert committed his low impact changes.
+kes  I removed a size_t from the jcr.h definition.
+kes  Update the tape regression scripts (still to be tested).
+kes  Add gcc and gcc-c++ requires to srm as suggested by a user.
+kes  Require done or quit to exit from in memory tree restore.
+26Jun06
+kes  Write install/uninstall of new manpages. There are now a
+     pile of man pages. Some of which need a lot of work.
 
-Changes from Nicolas Boichat:
-26Apr05
- - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter 
- - lex_open_file now returns NULL if the file can't be opened. All calling functions have
-   been adapted.
- - Remove set_exit_on_error function
-07Apr05
- - Fix "unknown device type" problem with DVD devices.
- - Fix crash when there is no media in the DVD drive.
-09Jan05
- - Update the documentation and ReleaseNotes.
-05Jan05
- - Add FreeSpaceCommand in Device (SD configuration file) and implement it.
- - Some modifications (again) on how guessed volume names are handled (now it should work).
- - Part files on the hard disk are removed if they are empty.
-04Jan05
- - Major fixes on how guessed volume names are handled.
- - Minor fix in src/stored/append.c.
- - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c.
- - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD.
-03Jan05
- - Add WritePartAfterJob directive in Job resource (Director)
- - Add WritePartAfterJob directive in Schedule Resource (Director)
- - Implement these new directives
-02Jan05
- - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume
-   name of a mounted device, so the label can be read.  
- - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W).
- - Removed WriteFirstPartCommand directive in Device (SD configuration file).
- - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev).
-01Jan05
- - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file).
- - Implement these directives (volumes can now be restored from a manually written DVD). 
- - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file).
- - Implement these directives (DVD writing now works).
- - New function run_program_full_output in src/lib/bpipe.c.
- - Lots of bugfixes and cleanups in the new code.
-29Dec04
- - Add VolParts field in Media table
- - Add MaximumPartSize directive in Device (SD configuration file)
- - File Volumes can now be splitted in multiple files ("parts")
- - Fix SQL error in sql_list while doing "llist jobmedia"
+     ======================= Warning ==========================
+        The --mandir ./configure option now points to the top level
+        man directory.  The man files will be installed under
+        mandir/man8 and mandir/man1 as appropriate.
+     ==========================================================
 
-Changes to 1.37.23:
-- Renamed to make unique version for open_next_part()
-  changes.
+kes  Add complete text of GPL to LICENSE.
+kes  Implement job report that indicates where Storage and Pool
+     came from -kes  with overrides and Pool storage and NextPool,
+     it is all very complicated.
+kes  Create a few common subroutines for backup.c and migrate.c
+kes  Eliminate warning messages from tray-monitor.c
+25Jun06
+kes  Apply fix for scheduler for missing unlock_jobs().
+kes  Clean out autoconf caches before rebuilding configure
+kes  Fix the FreeBSD pthreads lib define updated by Dan.
+kes  Add missing semicolon in src/console/console.c
+kes  Add Robert's enhanced version of build-win32-cross-tools
+     as well as his patch file.
+kes  Note, the new gcc options are likely to break building of
+     wx-console or the tray-monitor ...
+24Jun06
+kes  Implement Robert's suggestion to suppress printing compile lines.
+kes  Detect GCC correctly (I hope)
+kes  If using GCC (actually g++) add the following compiler flags
+     -fno-strict-aliasing -fno-exceptions -fno-rtti
 
-Changes to 1.37.23:
-- Renamed to make unique version for open_next_part()
-  changes.
+     ===================== Warning =============================
+     Turn on new bsnprintf() code.  This could cause print output
+     to look different.
+     ===========================================================
 
-Changes to 1.37.22:
-14Jun05
-- Fix the same state variable problem in open_next_part().
-- C++ify the SD code a bit more.
-13Jun05
-- Add more debug code and clarify debug code for DVDs.
-- Do not save and restore state in open_first_part() 
-  since state should be properly set after open_dev().
-- Make default mandir /usr/share/man
-- Install Bacula man page.
-- Implement passing of FileSet Enable VSS to FD.
-- Move main body of reserve drive code into subroutine
-  so that it can be called multiple times.
-12Jun05
-- Eliminate getpass() for Win32 builds in console as the
-  function does not exist.
-10Jun05
-- Correct some reservation problems in SD when no devices
-  are available.
-- Start removing #ifdef HAVE_TLS by sneaky tricks.
-- Begin implementation of TLS in wx-console
-- Remove ignoring SIGCHLD from console.
-- Rework the dlist binary search routines for implemenation
-  of the Volume reservation code -- make it more general.
-- Strip double slashes // from Win32 filenames in an attempt
-  to resolve restore problems on some systems.
-- Fix a minor bugs in the trace code that caused the first
-  line output to be lost.
-- Implement a good first cut at adding Volume reservation code
-  to the storage daemon (in file reserve.c).
-- Remove old unused code from the tree.c routines.
+kes  Fix crypto when not using openssl. I previously overlooked this.
+kes  Eliminate crypto type punning problems by eliminating void * and
+     using uint8_t * instead.
+kes  Harden authentication failure in FD by single threading errors
+     and forcing a 6 second wait.
 
-Changes to 1.37.21:
-06Jun05
-- Fix compile problems on Win32
-- Start writing Volume reservation list (already exists, but
-  is not really very good).
-- Implement attribute caching to put Signature into database     
-  at the same time as the file attributes thus eliminating a
-  number of database accesses.
-- Correct a reservation problem.
-- Implement full Dir Storage use.
-- Reduce a bit of TLS #ifdeffing.
+     ===================== Warning =============================
+          Removed  'Accept Any Volume' directive.
+     ===========================================================
 
-Changes to 1.37.20:
-04Jun05
-- Minor changes
-01Jun05
-- Add more documentation to mtx-changer.in
-- Correct link to manual in authenticate.c in various
-  directories.
-- Create a new src/stored/reserve.c file where the 
-  Use Storage command is processed and drives are
-  reserved.
-- Modify src/stored/autochanger.c to keep track of each
-  Slot that is loaded for each device.
-- Ensure that changer_command and changer_name are picked
-  up from Autochanger resource if not specified, and if
-  neither is specified, err.
-30May05
-- Fix bextract.c compile problem
-- Create bacula.man 
-- Make make distclean clean a bit better
-29May05
-- Remove old code in jcr.c
-- Make testls release jcr chain when terminating.
-27May05
-- Implement Maximum Job Spool Size (actually DCR based)
-26May05
-- Use light weight non-recursive locking on jcr chain.
-- Make JCR a class and implement inc_use_count() and
-  dec_use_count() methods that ensure that the jcr is
-  locked when inc/dec the use count.
-- Remove the global jcr lock when traversing the jcr
-  chain.   
-- Use dlist to implement the jcr chain rather than hand
-  crafted next and prev links.
-- Lock the jcr chain inside each function that modifies
-  the chain.
+kes  Major cleanup and simplification of regress using shell functions
+     (more tests to be converted to new format)   
+kes  Add detection of 64 bit Irix as indicated by user.
+kes  Increment catalog database id from 9 to 10.
+kes  Add a few of the new database fields to the various C++
+     structures.
+kes  Implement code to fill in the most important new fields (e.g.
+     Media Enable).
+kes  Ensure that most of the new fields are in create/get/insert/update.
+     More work to be done.
+22Jun06
+kes  Update some very old licenses in src/cats.
+kes  Modify the database format for handling Migration jobs:
+      Add PriorJobId, RealEndTime to Job table
+      Delete MAC table
+      Remove Stripe from JobMedia record (not used, wasting space)
+      Add ScratchPoolId, RecyclePoolId, Enabled to Media record
+      Add Cost to Location table.
+kes  Delete mac_record subroutines.
+kes  Add new table values to create/update/get routines as appropriate.
+kes  Update the update_tables and make_tables scripts.
+kes  Make a first cut in using a union where multiple pointers (actually
+     pointers to pointers) are stored.
+kes  Make some changes to base64.c suggested by Robert and others and add
+     a small amount of documentation.
+kes  Add some changes suggested by Peter for Solaris (bregex...)
+kes  Make runscript.h always built because it needs to be pulled into
+     more places.  In particular its RES was left out of a union.
+kes  Renumber the enum{} list in runscript.h to avoid starting from zero.
+     This makes it slightly easier to detect uninitialized variables.
+14Jun06
+kes  Remove xpg4 lib from FreeBSD build as it is no longer needed and
+     sometimes creates install problems.
+kes  Change a couple of %T in strftime to %H:%M:%S as seen in Robert
+     Nelson's code.  More to do.
+kes  Convert a few store_bit to store_bool in filed_conf.c.       
+kes  DVD tweak to block.c as supplied by Uwe Muessel.
+04Jun06
+kes  Modify configure.in to check for typeof().
+kes  In findlib/attribs.c use typeof instead of templates if possible.
+01Jun06
+kes  Implement partial error messages for src/filed/acl.c
+kes  Fix return code to fail when doing update barcodes and
+     Pool resource is not found. This previously caused Volumes
+     to be labeled as cleaning tapes.
+kes  Small updates to projects.
+27May06
+kes  Add Eric Bollengier patch for new RunScript directive. It breaks
+     compatibility between dird and fd.
+26May06
+kes  Prevent DVD code from rewriting label if the device cannot be
+     opened read/write.
+kes  Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to
+     fix Debian build bug.
+kes  Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+kes  Integrate manpages contributed by Jose Luis.
+kes  Update projects file.
+kes  Add manpages Makefile.in to configure.in
+kes  Remove installation of bacula.8 in scripts directory.
+24May06
+kes  Implement patch submitted by cesarb in bug #606 to implement O_NOATIME
+     support.
+       O_NOATIME is a open() flag which makes it possible to read a file without
+       updating the inode atime (and also without the inode ctime update which
+       happens if you try to set the atime back to its previous value). It also
+       prevents a race condition when two programs are reading the same file, but
+       only one does not want to change the atime. It's most useful for backup
+       programs and file integrity checkers (and bacula can fit on both
+       categories).
 
-Changes to 1.37.19:
-26May05
-- Fix compile problem of ua_restore.c on broken compilers.
-- Apply patch from bug 326 to permit bacula status by any user.
-- Fix bug 325 -- conversion of 12:30pm to 24hour time.
-25May05
-- Put Dmsg() on inside if() to avoid calling subroutine.
-- Make restore.bsr have unique name.
-- Allow user to define bsr filename on restore command line
-  with bootstrap=xxx.bsr
-- Add limit=nnn to "list jobs" command.
-- Remove old restore code that did not use .bsr file.
-- unlink automatically generated bsr file.
-- Cleanup heartbeat code so that duped fd is almost sure
-  to be released. Previously under certain conditions, the
-  memory was not released due to race conditions.
-- Shorten copyright.
-20May05
-- Unify the reserve_device() for a single device into one subroutine.
-18May05
-- Modify wait during use_device to happen only after all devices
-  have been examined rather than in the reserve_device code.  
-- Correct updating count of number of Volumes in a pool.
+       Recent versions of the Linux kernel and glibc have support for it (the
+       glibc support being mostly copying the O_NOATIME definition to
+       bits/fcntl.h). If there's no support for it on the kernel, trying to use
+       it does nothing (since the kernel ignores unknown flags).
 
-Changes to 1.37.18:
-16May05
-- Add more debug to SD for Autochangers + status output.
-- Add Scratch to PoolType in PostgreSQL make...tables and do not
-  permit NULL PoolTypes. Fix for bug 319 reported by Eric.
-- Update LICENSE.
-- Add quotes around filename in parse_config error message. Bug
-  reported by Eric.
-15May05
-- Change nested \include to \input so that sections are properly
-  included in the pdf manual -- update the Web site.
-- Set reconnect flag in MySQL packet to 1 to ensure that connection
-  is re-established.  MySQL 5 changed default to 0. Fixes bug report.
-- Fix Scratch pool handling as reported in a bug by Eric Bollengier
-  by applying his patch.
-- Remove delete job in favor of delete jobid.
-- Add = NULL to configfile definitions as reported by Eric in a bug
-  report.
-- Update winbacula.nsi.in to reflect new manual file structure.
-10May05
-- Correct a minor build problem with wx-console.
-- Add cancel() to Dir Python scripting.
-- Re-correct bug in parse-config error handling.
-- Reorganization of use_command in SD to permit
-  waiting and multiple drive autochanger support.
-09May05
-- Correct bug in parse_config error handling.
-- Where ever possible mark a volume in error or not   
-  InChanger in mount.c
-- Fix bug in changing tape pools after first backup. Reported
-  by Peter Sjoberg.
-- Enhance mtx-changer to use Working Directory as temp.
-- Remove all but initial setup locking of Res in SD.
-08May05
-- Add Client OS type to Job report.
-- Add version to manual 
-- Update the Web site to have a single page for
-  the documentation links.
+       If the kernel has support for it, trying to use it either works, fails
+       silently (mostly in remote filesystems), or returns errno=EPERM (if you
+       are not either the owner of the file or root). A simple way to prevent the
+       failure is to open the file without the flag and set it later with
+       fcntl(F_SETFL), ignoring any EPERM errors.
+kes  Applied patch posted by Jaime Ventura to bug #570 to correct failure
+     of restarted jobs to complete (due to a destroyed pthreads conditional
+     variable used by the message thread).
+kes  Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+     set to zero. 
+kes  Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+kes  Apply patch from Rudolf Cejka bug #614 to removed trailing
+     colons in query.sql file.
+kes  Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+     not to create orphans.
+kes  Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+     in restore long listing.
+kes  Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+     of incorrect MarkedId.
+kes  Apply patch from adioso bug #616 to correct text in manual (replace
+     Director with File daemon).
+kes  Rework a few of the zlib changes so that they build properly.
 
-Changes to 1.37.18 release 08May05:
-08May05
-- Correct attribute definition compile error in 1.37.17
-- Correct inverted order of CreateTime and MD5 pointed out
-  by a user in a bug report in FileSet db routine causing
-  the MD5 to print in the output instead of the time/date.
+21May06
+kes  Move DIR 'run' command to SD before starting the message thread
+     as suggested by Cristopher Hull to avoid a race deadlock from
+     two threads using the bsock structure.
+kes  Modify LICENSE to correct some problems pointed out by Debian.
+05May06
+kes  Correct EOF with no \n lex.c problem.
+kes  Tweak compat.h compat.cpp and merge with apcupsd
+kes  Add additional INFO messages if autochanger cannot be used.
 
-Changes to 1.37.17:
-07May05
-- Implement cstrlen() in sql list routines.
-- Implement caching of attributes to add the        
-  signature so that only one DB call will be made
-  per file. Not yet turned on.
-- Fix Win32 build for TLS.
-- Optimize File pruning to eliminate one database call. 
-- Fix bug that prevented File pruning from working.
-- Implement a cstrlen() which returns the character
-  length of a UTF-8 string.
-06May05
-- Move test for MaxStartDelay as suggested by Peter.
-- Implement Python methods (I had to read the Python source
-  code).
-- Implement run() method in Director.
-- Add Priority and Scheduled time to Job report.
-- Add JobInit and JobRun events.
-- Add Priority as Python read/write attribute to Job.
-- Correct typo in bsmtp reported by Jo.
+02May06
+kes  Simplify Win32 Makefile
+kes  Correct count of buffers/bytes used by smartall.c
+kes  Updated compat.h after porting apcupsd to MinGW.
+01May06
+kes  Work on getting wx-console building on MinGW. wxWidgets now builds
+     started adding Makefile ...
+kes  Moved MinGW library objects to src/win32/lib to reduce clutter.
+30Apr06
+kes  Reloading a bad configuration file doesn't kill director any more.
+     Thanks to fix from Eric Bollengier.
+29Apr06
+kes  Fix problem of accents with new Win32 code.
+kes  Integrate Howard's VSS patch. Tweak it a bit. VSS now
+     works in the MinGW build with the exception that there
+     is a problem with accented characters -kes  i.e. there is
+     some mapping problem with wide characters.
+kes  The code no longer compiles with Microsoft VC++.
+28Apr06
+kes  Start implementing Christopher's St.Bernard code.
+kes  Add Christopher's mods for opening files.
+kes  Strip \r \n from Win32 error messages (Christopher)
+kes  Add more info about Win32 system if unknown (Christopher)
+kes  Use bstrn(cpy, cat) routines to avoid overrun in compat.cpp
+kes  Fix a number of incorrect strings marked for translation, when
+     they should not be (e.g. commands).
+kes  Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+     Patches supplied by user in bugs #608 and #599.
+kes  Use most recent of st_ctime and st_mtime in restore tree DIR
+     listing. This fixes some problems with Win32 printing incorrect
+     values.
+kes  Correct the clock shift comm time calculation between the DIR
+     and the FD. It was added rather than subtracted.
+kes  Strip all backslashes in filenames to be restored on Win32
+     machines -kes  the names should all be in Unix format, and if
+     there are any backslashes it is most likely due to an improper
+     FileSet definition, and the files will not otherwise be 
+     restorable.
+kes  Remove lib/regex.c (replaced by bregex.c).
+kes  Delete src/win32/License.txt
+kes  Modify installer to install LICENSE
+26Apr06
+kes  Fix bug in build-win32-cross-tools script reported by Howard
+kes  Implement cross compiled bconsole
+25Apr06
+kes  Fix barcode test, eliminate BOOL (doesn't exist on Linux).
+kes  Write first cut of README.mingw32
+kes  Add back ua_label barcode fix from Rufolf Cejka.
+kes  Integrate the majority of the Mingw cross-tools submission
+     made by Howard Thomson. Everything compiles, with zlib, openssl,
+     and VSS turned off. Linking needs a pthreads library ...
+23Apr06
+kes  Add 'Dir Status' button to the gnome console.
+kes  More work on migration.
+kes  Restore non-compatible base64 coding to permit compatibility.
+kes  Display heap stats in Storage daemon without debug level.
+22Apr06
+kes  Integrate most of the MinGW changes -kes  more to do.
+21Apr06
+kes  Implement using pg_config for finding PostgreSQL files.
+     Fixes bug #600. Patch supplied by user.
+kes  Remove -t option from mktemp in mtx_changer.in and use
+     working directory. Fixes bug #578.
+kes  Update job start time after the any run before job so that
+     files created by the script are only backed up once. Fixes
+     bug #599.
+kes  Strip trailing newline only from filenames entered in
+     the restore command when reading a file. This permits
+     the user to enter filenames with trailing spaces. Fixes
+     bug #549. The user supplied a patch that I modified slightly.
+kes  Use the most recent time (st_mtime, st_ctime) in the dir
+     command in restore. This gives the user a better idea of what
+     the newest file really is. This fixes bug #574. The fix
+     was suggested by the user.
+kes  Implement a compatible version of base64. This permits external
+     programs to duplicate Bacula's base64 algorithm using standard
+     routines. This fixes bugs #296, and 565. Patch submitted by   
+     author of bug #565.  
+     ================= Note ========================
+     Previous Signatures stored in the database are no longer
+     compatible with this. The main downside is for Verify jobs,
+     and doing an InitCatalog run will fix the problem. Also, the
+     authentication between the deamons is changed, so all daemons
+     must be simultaneously upgraded.
+     ==============================================
+     If you don't like this fix, set:
+       const bool compatible = true;
+     to
+       const bool compatible = false;
+     in src/lib/base64.c
+20Apr06
+kes  Ensure that DB signature is never NULL.
+kes  Ensure that DB table names are not translated.
+kes  Fix scheduler to handle time skew (eg daylight savings).
+kes  Fix scheduler to use lock_jobs() to avoid most problems
+     with reload. Window is now milliseconds.
+19Apr06
+kes  Apply patch from Christopher Hull
+     kes  Allow multiple connections to database with different
+       parameters.
+     kes  Invalidate the scheduler when doing a reload. Fixes seg
+       fault, but still 60 second window.
+     kes  Additional info in Reschedule message.
+     kes  Use set_jcr_job_status() everywhere to prevent loss of
+       cancel, error.
+     kes  Display peer IP in FD if error from connecting DIR.
+     kes  Don't increment file count for DIRBEGIN.
+     kes  Replace illegal characters in Win32 filename by _.
+     kes  Add SE_CREATE_PERMANENT_NAME privilege in Win32.
+     kes  Hash hard link filenames rather than linked list.
+     kes  Fix for security failure in chdir on Win32.
+     kes  Add CreateDirectoryA/W win32 API entry points.
+kes  Add /silent option to Win32 FD for Install/Remove service.
+kes  Always print Heap statistics in FD.
+18Apr06
+kes  Remove the -f option from the chown in Makefile.in for more
+     portability.
+kes  Change setting the group in Makefile.in to use chgrp for
+     more portability.
+kes  Implement a write_store and read_store to replace
+     dirstore in reserve.c
+kes  Implement a Bacula read/write lock for Python rather
+     than using the Python lock to avoid recursive problems.
+kes  Correct the uninstall directory names in filed/Makefile.in
+     as reported by a user.
+17Apr06
+kes  Correct some problems with database creation (new tables).
+kes  Replace a bunch of old 0x%x by %p.
+kes  Get first cut of Migration with Job selection working.
+16Apr06
+kes  Change store_bit() to store_bool() for the Spooling in 
+     dird_conf.c -kes  bug reported by Robert Nelson.
+15Apr06
+kes  Correct Makefile bug found by Dan Langille.
+14Apr06
+kes  Correct Makefile for Solaris /bin/sh
+kes  Correct mtx-changer.in for Solaris /bin/sh
+kes  Abort if a conf resource does not have a Name =
+12Apr06
+kes  Change the name of the regex program to bregex.
+kes  Add the bwild program to the tools directory. It is similar
+     to the bregex program.
+kes  Implement create bregex.h and bregex.c in src/lib from the
+     Python regexp program.  
+kes  Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+kes  More work on migration.
+kes  Implement wild program in tools directory for testing
+     wild-cards. Almost identical to the regex program.
+kes  Up port VSS single thread locking code.
+kes  Replace N_(..) by NT_(...) to inhibit translation of
+     commands.
+kes  Modify Makefile to change the permissions on Working Directory
+     to 770 if the directory is created.
+kes  Do not fail the Makefile if changing the permissions or 
+     owner/group on WorkingDir fails.
+kes  Remove early selection of Scratch Volumes in the recycling
+     algorithm.
+kes  Correct the old recycling algorithm so that Scratch Volumes
+     are selected when looking for a Volume in the changer.
+kes  Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+kes  Remove automatic case folding on Windows FDs. You must
+     explictly use the 'Ignore Case = yes' option.
+kes  Remove the code added to 1.38.6 and 1.38.7 that pulls a
+     scratch volume in an Autochanger early in the 'recycling'
+     algorithm.  
+09Apr06
+kes  Make weof() and clrerror() methods of class DEVICE.
+08Apr06
+kes  Tweak license to include Microsoft restrictions.
+kes  Move mysql.reconnect to after real_connect().     Thanks to
+     Frank Sweetser for the patch.
+kes  Disallow a backslash in a File = directive (Windows junk)
+     unless the string is quoted.                     
+kes  Apply Eric's patch to ua_label.c so that daemon protocol
+     is not translated.
+kes  Add NT_ definition for strings that should not be translated.
+kes  Apply NT_() to ua_label.c
+kes  Remove timed wait for VSS on Win2K3 as it is not yet
+     implemented.
+kes  Correct bacula.in script to reference bacula-ctl-xx in the
+     sysconfig directory rather than the bin directory.
+26Mar06
+kes  Fix a long standing bug in the bacula start/stop scripts.
+kes  Attempt to add the new bacula-ctl-* files to the rpm.
+kes  Switch to using typeof() for list traversing to avoid
+     as many FC5 g++ compiler warnings as possible.
+25Mar06
+kes  Split the bacula start/start script into four files:
+      bacula         -kes  starts and stops calling other scripts
+      bacula-ctl-dir -kes  starts/stops the director
+      bacula-ctl-fd  -kes  starts/stops the File daemon
+      bacula-ctl-sd  -kes  starts/stops the Storage daemon
+24Mar06
+kes  Create datestyle fix for PostgreSQL. Fixes bug #574.
+kes  Correct editing of JobId from int to int64 in fd_cmds.c
+kes  Eliminate FileSet name race with bash_spaces() and multiple
+     threads by bashing in a local.
+kes  Fix error return from 'use storage' to print a correct error
+     message rather than nothing.
+kes  Correct false re-read last block error message when two jobs 
+     are simultaneously writing at the end of a tape.
+kes  Simplify exit conditions in the reserve.c code to avoid     
+     possible non-release of reservation_lock().
+kes  Suffle lock order in reserve to avoid deadlock between
+     reservation lock and device mutex.
+21Mar06
+kes  Initialize jcr mutex before first use. Thanks to Thorsten for
+     tracking this down for me !!!! as it broke the Win32 build.
+20Mar06
+kes  Integrate addition of line count limitation to bsmtp -l from
+     Sebastian Stark <stark at tuebingen.mpg.de>
+17Mar06
+kes  Implement regex test program in tools directory.
+kes  Attempt to fix time problem with bsmtp with foreign langs.
+kes  Add strip_trailing_newline() submitted by user.
+kes  Implement regex matching in migrate.c
+16Mar06
+kes  Fix bug #537 to allow arbitrary time to mount a volume for
+     restore, if polling is turned on.     
+kes  If dir_user or dir-group is specified in ./configure apply it to
+     the working-dir. Fixes bug #533.
+kes  If rescheduling a job cancel the previous incarnation with the SD.
+     Fixes bugs #566 and 557.
+kes  Fix bug #567 do_message() definition type conflict.
 
-Changes to 1.37.16 (07May05): released 07May05
-07May05
-- Implement cstrlen() in sql list routines.
-- Implement caching of attributes to add the        
-  signature so that only one DB call will be made
-  per file. Not yet turned on.
-- Fix Win32 build for TLS.
-- Optimize File pruning to eliminate one database call. 
-- Fix bug that prevented File pruning from working.
-- Implement a cstrlen() which returns the character
-  length of a UTF-8 string.
-06May05
-- Move test for MaxStartDelay as suggested by Peter.
-- Implement Python methods (I had to read the Python source
-  code).
-- Implement run() method in Director.
-- Add Priority and Scheduled time to Job report.
-- Add JobInit and JobRun events.
-- Add Priority as Python read/write attribute to Job.
-- Correct typo in bsmtp reported by Jo.
+14Mar06
+kes  Add more jcr methods and make mutex and use_count private.
+kes  Create lock/unlock methods for jcr.
+kes  Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+     records to get to seek position.
+kes  Integrate patch from bug #561 to correct conio.c signal definitions.
+kes  Fix Rescheduling failed Jobs. Ensure that SD message thread 
+     terminates correctly by doing pthread_kill(). Do not destroy
+     SD cond wait variable between executions of the job. Use local
+     mutex for cond variable to avoid blocking jcr chain. Fix poor 
+     use of jcr use count in jobq.c for restarted jobs.
+kes  Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+     lib/jcr.c -kes  prevents locking the jcr chaing.
+kes  Apply patch from bug #564, which corrects listing volumes with
+     multiple autochangers. Apply same fix to next volume list.
+kes  Fix bug #562 where restore bootstrap file is not unique.
+kes  More details in implementing David's migration syntax proposal.
+kes  Save and restore dcr when swapping drives so that if we have
+     a write dcr it is not lost.
+kes  Use new routine lock_reservations() to lock the reservations
+     system, and call it while looking for a volume in askdir.c.
+     This could possibly fix bug #543.
+kes  Stop SD command loop if job is canceled.
 
-Changes to 1.37.16 (03May05): released 05May05
-03May05
-- Make a few tls ifdef tweaks.
-- Fix create_file.c Win32 problem pointed out by
-  Peter Sjoberg.
-- Fix really ugly bstrncpy() but found by Thorsten.
-- Move winapi.h/c from findlib to lib for inclusion in 
-  multiple places.
-02May05
-- Thorsten Engel finished his work on Win32 Unicode. We
-  now have a single executable that runs on all Win32 machines.
-- Move job initialization code after job scheduling so that
-  Verify jobs check for the prior JobId after they are really
-  started rather than before.
-- Fix lib/fnmatch.c so that it does proper testing before folding.
-- More documentation -- at tls and ansi labels chapters.
-- Fix fileset_convert.pl to handle empty Exclude statements.
-- Turn regex back off in Win32
-01May05
-- Fix sign extension problem in lex.c that reads UTF-8 
-  with Chinese characters incorrectly.
+08Mar06
+kes  Remove old code from findlib/create_file.c
+kes  Rename mac.c migrate.c
+kes  Add user friendly display of VolBytes in job report.
+kes  Rename target... to previous... to make it a bit easier to
+     understand.
+kes  Add selection type and selection pattern to Migration (idea
+     given by David Boyes). 
 
-Changes to 1.37.14:
-30Apr05
-- Remove a few HAVE_TLS #ifdefs
-- Implement final Python style interface. More implemention to
-  be done, but the interface should change little if at all.
-28Apr05
-- Make default no tls support. You must add 
-  --with-openssl to get tls support.
-27Apr05
-- Update Web header to include google search in the search
-  box -- thanks to input from Michel Meyers.
-- Fix md5sum so that it builds with the new openssl stuff.
-- Take some enhancements to the md5sum test program proposed
-  by a user.
-26Apr05
-- Apply Tru64 patch supplied by Pascal Pederiva <freebsd@paped.com>
-- Apply Unicode fixes for Win32 from "Thorsten Engel" 
-  <thorsten.engel@matrix-computer.com>
-- More work on Python read feature in FD.
-22Apr05
-- Fix (hopefully) the ftello() overflow reported by Peter.
-- Landon Fuller committed his TLS patch.
-- Fixed two minor warnings in console.c with TLS turned off.
-- Updated the Makefile.in for wx-windows and tray-monitor
-  to handle TLS. I can only build the tray-monitor.
-- Fix bscan to open tape in read-only mode (actually fix
-  it so that it doesn't use the standard open routine).
-- Correct what appears to be an error in setting the
-  return value in dvd.c
-21Apr05
-- Get FD Python running -- design Python backup interface.
-- Fix seg fault in SD when referencing Alert Command.
-- More documentation.
-- Fix one more thing in Win32 build.
-20Apr05
-- Doc updates
-- Fix Win32 build
-- Put in production here
+04Mar06
+kes  The po files should now be current.
+kes  Fix new sql_use_result() code to properly release the
+     buffers in all cases.
+kes  Use the keyword ujobid to mean the unique job id; job or jobname
+     to mean the Job name given on the Name directive, and jobid to
+     be the numeric (non-unique) job id.
+kes  Allow listing by any of the above.
+kes  Add the user friendly job report code for reporting job elapsed time
+     and rates with suffexes from John Kodis <kodis at comcast.net>.
+kes  Add Priority and JobLevel as Python settable items.
+kes  Use TEMPORARY table creation where the table is created by
+     Bacula.
+kes  Add new code submitted by Eric for waiting on specific jobid.
+kes  Add ACL checking for the dot commands.
+kes  Fix restore of writable FIFOs.
+kes  Fix a bug in bpipe where the string was freed too early.
+27Feb06
+kes  Modify the Python class examples to inherit object -kes  new way
+     of defining classes. Patch from Felix Schwarz.
+kes  Implement jobuid to replace old usage of job in keywords as
+     suggested by Eric Bollengier.
+kes  Apply patch for enhancing wait from Eric Bollengier. On can now:
+      wait  (wait for all jobs to stop)
+      wait jobid=nn
+      wait jobuid=unique id
+      wait job=job-name
+kes  Implement write variables for Python to set Priority (anytime), and
+     Job Level, only during JobInit event.
+26Feb06
+kes  Fix the block listing bug pointed out by Arno.
+kes  Update the po files at Eric's request.
+24Feb06
+kes  Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to 
+     accept time qualifiers.
+kes  Make catalog respect ACL.
+kes  Add recycle count to Media record.
 
-Changes to 1.37.13:
-19Apr05
-- Fix SQLite and PostgreSQL table creation script syntax
-  problems.
-- Fix new Python code to work for Director.
-- Move lib/python.c to lib/pythonlib.c so that debug output
-  is easier to read (can distinguish lib from dird, ...).
-- Cleanup Python build so that Python is not dragged
-  into programs that don't use it.
+Changes to 1.39.6-beta1 24Feb04
+23Feb06
+kes  Add Rudolf Cejka's new rc-chio-changer.
+kes  Implement pulling Volume from Scratch Pool if the
+     Volume is in the autochanger.
+kes  Implement additional command arguments for update Volume.
 
-Changes to 1.37.12:
-02Apr05
-- Reset NumVols in Pool record from database on every update
-  Pool.
-- Modify DB to support multiple simultaneous copies and
-  RAIT stiping.
-- Pass copy and stripe between DIR and SD and put into
-  the JobMedia DB record.
-- Update and test SQLite and MySQL datebase creation and
-  update scripts.
-- Implement version 9 of the DB.
-31Mar05
-- Convert more atoi to str_to_int64() for DB.
-- Implement filling in NumVols by querying DB rather
-  than trying to keep track of it.
-- Add storage name to string passed to in use storage=
-- Fix newVolume() so that the Python script is always
-  called.
-- Fix handling of pool,PoolId, and storage in ua_output.
-- Same fix in ua_status.c
-- Remove required locking of resources
-- Replace pthread_cond_signal() by pthread_cond_broadcast()
-  hoping to fix the /lib/tls hang problems (lost signal).
-- Move resource locking seaching from parse_conf.c to res.c
-  in src/lib.
-- Modify end of volume handling so that fixup_... does not
-  redo what block.c has already done -- writing Vol info to
-  DIR. This fixes a bug with bad numbers of files on a tape
-  when it filled as reported by Peter.
-- In release_device() do not update the DIR on the Volume
-  info if the the information was already written at the
-  end of the tape.
-28Mar05
-- NOTE!!!! This version has a new DIR <--> SD protocol. Both 
-  must be updated at the same time.
-- Begin implementation of passing all the Storage and Device
-  possibilities to the SD for examination during the reserve 
-  phase.
-- Modify the reserve and acquire code in the SD to make a 
-  job wait if the device is not available.
-- Implement New Volume Each Job in DIR and pass to SD, not yet
-  used.
-- Remove init/update of the Device resource in DIR
-- Remove passing PoolId to SD and back.
-26Mar05
-- Remove \a and -e from error echos in most Makefiles.
-- Add more debug code when there are errors on the tape 
-  to try to find Peter's tape problem.
-- Add wait.c (oops forgot previously).
-- Move all the reserve/acquire_device_for_read/append to have
-  only a DCR as the argument.
-- Rework the reserve_device_for_append() in stored to wait
-  if the drive is not available.  Note! This is a short
-  term solution.
-25Mar05
-- Comment out Multiple Connections in the document.
-- Move the P() and V() to subroutines so that they can be accessed
-  from class methods. The reference to strerror() caused problems.
-- Implement new DEVICE class methods block() and unblock() that
-  do what was previously done in 3 lines of code.
-- Implement wait_for_device(), which will wait for any device
-  to be released then return. This requires a new global mutex
-  and condition variable, and is implemented in src/stored/wait.c
-- Change the code in reserve_device_for_read(), which previously
-  failed the job to use the new device wait code.
-22Mar05
-- Apply reschedule patch to 1.37 code.
-- Add copyright to title page of manual so it is clear.
-- Create patch for rescheduling problem found by Ludovic. Storage
-  pointers were lost during rescheduling.
-- Attempt to fix 2.6 rescue disk -- failed!
-- Start working on adding a wait routine in the SD.
-- Cleanup some old invalid doc in watchdog.
-- Convert a number of references to dev->dev_name to dev->print_name().
-- Add new wait.c file to SD.
-- Add a few more methods to DEVICE in SD to cleanup code a
-  bit -- implement a few of the methods.
-18Mar05
-- Fix more print_name()s for printing device name.
-- Modify open_dev to try 10 times every 6 seconds to
-  open the device if it gets an I/O error (meaning no
-  volume mounted). This gives a bit of settling in time
-  for an autochanger and avoids spurious messages.
-- Change all yes/no to yes|no in the manual.
-- Fix win32 create_file.c typo.
-- Fix a typo in an error message.
-17Mar05
-- Detect if fseeko exists with autoconf. If so, use it 
-  and ftello.
-- Remove old bacula-*.conf from examples directory (out
-  of date).
-- Remove latex-fr index files from CVS.
-- Rewrite code that stops reading the tape so that the
-  tape is marked at EOT, then once the work is done,
-  the EOT flag is removed.
-- Flush output to file after every send in console.
-- Make setting VolFiles to smaller number fatal.
-- Disable Multiple Connections code.
-- Add patch from user for NetBSD statvsfs() fix to
-  fstype.c
-- Take more care with errors in acquire.c
-- Don't run through dvd code in append.c if bad status
-  returned.
-- Modify code so that an autochanger fault is fatal.
-- Use dev->print_name() in more places.
-- Implement dev->can_steal_lock() to simplify code.
-- Make btape re-read first 10000 records on fill command.
-- Check error return and fail job from fseeko and ftello
-  in spool.c.  Don't let a -1 slip in as size.
+Changes to 1.39.5 
+22Feb06
+kes  Back port changes to 1.38.5
+kes  Fix recycle SQL for StorageId.
+kes  Fix misplaced quote in mtx-changer script.
+20Feb06
+kes  Note. Your database must be updated, or you must create 
+     a new database. I have not yet incremented the database level.
+kes  Add Location table. 
+kes  Add LocationId, DeviceId, and MediaTypeId to Media record.
+18Feb06
+kes  Implement create/get mac record in database for adding extended
+     Migration data to the job record.
+kes  Add new MAC table to update/make database scripts.
+kes  Return Storage name used when getting VolumeNames for a job.
+kes  Change bsr file keyword Storage to Device, which is more accurate.
+kes  Ensure that Mac records are pruned/purged.
+kes  Tweak SD tools to deal with changing media type.
+kes  Integrate more dev.c subroutines as methods (e.g. strerror, bsr, ...)
+kes  Pass pointer to dcr pointer to acquire_device_for_read() so
+     that the subroutine can switch devices, and hence dcrs.
+kes  Modify the multiple MediaType read code to re-use the same
+     dcr when switching devices. This makes the code much more
+     robust.
+kes  Integrate patch from Karl Hakimian that reads JobIds, FileIndexes
+     from a table for restore.
+kes  Add Storage name to VolParams, but it really should be Device.
+14Feb06
+kes  Add disk-changer to scripts directory + configure/Makefile
+kes  Eliminate PoolId from jcr -kes  it is in jcr->jr.PoolId
+kes  Implement store_bit scanner to replace store_yesno.     Mostly done.
+kes  Implement new store_bool that stores in a bool. 
+kes  Add true/false to yes/no conf directives.
+kes  Make first cut at changing appropriate store_yesno to store_bool.
+kes  Complete implementation of Pool storage devices.
+kes  Move starting clones to job.c
+kes  Move create_restore_bootstrap_file() to job.c
+kes  Make copy_storage() more general to be able to handle
+     Pool storage.
+kes  Cleanup a lot of migration code for manual running, including
+     using Pool storage.
+kes  Move getting a scratch Volume into a subroutine.
+kes  Make all places a Volume that is added to a pool to 
+     respect max vols.
+kes  Fix bug in autochanger recycle code (improper edit 64 bit).
+kes  Fix segfault in restore command when no value specified.
+kes  Start adding code to handle multiple MediaTypes in restore.
+kes  Eliminate race condition in getting Volume name for
+     two drive autochanger.
+kes  More debug code in autochanger.
+kes  Add storage keyword to bootstrap file, add parsing.
+kes  Move slot in bsr file into Volume record as there will be
+     a different slot for each Volume.
+kes  Create reserve.h
+07Feb06
+kes  Implement Pool storage overrides.
+06Feb06
+kes  Implement first cut of Migration.
+kes  Implement mysql_use_result() from patch by Karl Hakimian.
+     This reduces significantly the memory consumption during
+     the restore tree building, and hence runs faster too.
+kes  Implement StorageId patch supplied by user (reggie) in bug
+     #536.  This should permit Bacula to work correctly with two
+     autochangers.
+kes  Implement Job listing variations suggested by a user.
+kes  Move updating bootstrap code in backup.c to subroutine
+     update_bootstrap_file().
+kes  Add new job status elapsed time and bytes written user
+     friendly job report output patch sent by John Kodis
+     <kodis at comcast.ne>.
+kes  Implement a storage list in Pools.
+kes  Separate out setup_job() code from run_job().
+kes  Get migration working -kes  lots of changes in mac.c in both
+     DIR and SD.
+kes  Apply patch from user (Eric Bollengier I think) that fixes a     
+     DIR crash when no arguments are supplied to a dot command.
+kes  Fix typo (strcpy->strcmp) in ua_prune.c as reported by Martin.
+kes  Fix command arg name->volume in label command of gnome-console.
+kes  Fix SD acquire.c to release correct DCR by explicitly testing
+     on the dcr address rather than trying to devine if it is a read
+     or write dcr.  This failed in error conditions when the device was
+     not fully setup.
+30Jan06
+kes  Apply user supplied patch for more readable rate output
+     in job report.
+kes  Continue implementing migration.
+kes  Implement support for removable filesystems in SD.
+kes  Ensure that btraceback scripts can be read by anyone.
+kes  Replace dvd-freespace and dvd-writepart by dvd-handler.
+kes  Correct bug where canceling restore before the FD contacts
+     the SD causes the drive to be left in read mode.
+kes  Move ofline_or_rewind into DEVICE::close().
+kes  Eliminate close_device.
+kes  Convert several dev subroutines to methods (e.g. bsf,
+     eod, ...)
+kes  Eliminate force_close_device().
+kes  Implement Device Type directive in Device resource that
+     can have values File, Tape, Fifo, DVD, or Prog.
+kes  Add has_cap() method to Device.
+Changes to 1.39.4
+17Jan06
+kes  Add patch from bug #527 to allow RedHat user to specify
+     options/user/group for starting each daemon in      
+     /etc/sysconf/bacula.
+16Jan06
+kes  Add two new queries to query.sql provided by Arno. One
+     list volumes known to the Storage device, and the other
+     lists volumes possibly needing replacement (error, ...).
+15Jan06
+kes  Add periodic (every 24 hours) garbage collection of memory 
+     pool by releasing free buffers.
+14Jan06
+kes  Correct bug counting sized (for display only) in smartall.c
+kes  Print FD mempool stats if debug > 0 rather than 5.
+12Jan06
+kes  Make db_lock() mutex error fail the job rather than abort
+     Bacula.  Canceling the job caused the mutex to fail.
+kes  Correct bug in alist.c that re-allocated the list if the
+     number of items goes to zero.
+kes  Move the reservation system thread locking to the top level
+     so that one job at a time tries all possible drives before
+     waiting.
+kes  Implement a reservation 'fail' message queue that is built            
+     and destroyed on each pass through the reservation system.
+     These messages are displayed in a 'Jobs waiting to reserve
+     a drive' list during a 'status storage='.  Note, multiple
+     messages will generally print for each JobId because they
+     represent the different problems with either the same drive
+     or different drives.  If this output proves too confusing
+     of voluminous, I will display it only when debug level 1
+     or greater is enabled in the SD.
+11Jan06
+kes  Add enable/disable job=<job-name>.     This command prevents
+     the specified job from being scheduled. Even when disabled,
+     the job can be manually started from the console.
+kes  During 'update slots' clear all InChanger flags where the
+     StorageId is zero (old Media records).
 
-Changes to 1.37.7:
-15Mar05
-- Apply NetBSD patch from kardel in bug 258.
-14Mar05
-- Add a second job and a second client to the default
-  bacula-dir.conf file.
-- Remove old style Include/Excludes.
-- Fix ANSI labels to put EOF1 and EOF2 after each file mark.
-- Add Python to SD and FD.
-12Mar05
-- Implement IBM labels
-- Implement EOF and EOV labels at the end of a volume.
-- Fix a rather ugly problem with the PoolId not getting
-  passed correctly. Now the DIR passes the Pool name and
-  Media Type to the SD, who passes them back when requesting
-  the next Volume. The DIR then looks up the correct PoolId.
-  This takes more time, but always works, AND allows wild
-  card Media Types (i.e. the SD can decide).
-- The DIR <==> SD protocol has changed.
+Beta release 1.38.4:
+09Jan06
+kes  Fix autochanger code to strip leading spaces from returned
+     slots number. Remove bc from chio-changer.
+kes  Back port a bit of 1.39 crypto code to reduce diffs.
+kes  Fix first call to autochanger that missed close()ing the
+     drive. Put close() just before each run_program().  Fixes
+     Arno's changer bug.
+07Jan06
+kes  Add PoolId to Job record when updating it at job start time.
+06Jan06
+kes  Pull in more code from 1.39 so that there are fewer file
+     differences (the new ua_dotcmds.c, base64.h, crypto.h
+     hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c 
+     util.c. Aside from ua_dotcmds.c these are mostly crypto
+     upgrades.
+kes  Implement new method of walking the jcr chain. The
+     incr/dec of the use_count is done within the walking
+     routines.  This should prevent a jcr from being freed
+     from under the walk routines.
 
-Changes to 1.37.6:
-11Mar05
-- Fix scanf of PoolId in catreq to handle 64 bit Ids.
-10Mar05
-- Add new ua_update.c file and move update_cmd there.
-- Modify "update slots" to obtain actual number of slots.
-- Tweak autochanger code to handle new slots request.
-- Modify autochanger code to lock/unlock around slots and
-  update slots code.
-09Mar05
-- Patch the FD so that it does not issue an error message if
-  it attempts to restore the permissions on a Win32 drive.
-- Edit "Resource-name" (physical-name) for the device name
-  everywhere in the SD.
-- Remove .linked.tex files in preparation for cutover to
-  using .tex in place of .wml.
-08Mar05
-- Copy latest config.sub and config.guess from autoconf.
-- Try new way of identifying drives with:
-   "resource-name" (physical-name)
-  More work need to a complete conversion.
-07Mar05
-- Rework some of the autochanger data so that the DIR has   
-  the number of drives.
-- Modify the way the Device info is returned so that it comes
-  back as a special message type and can be sent anytime the
-  Device status changes.
-- Copy the change name and changer command into the device
-  record if none is specified.
-- Require the change command and changer name to be specified in
-  and AutoChanger resource.
-- Force all the Media Type records of all devices in an Autochanger
-  to be the same.
-06Mar05
-- Add new "run" command to Job resource in DIR. This permits
-  cloning a job as many times as you want.
-- Pass PoolId to SD on Query request. It is now used in the
-  Find_media catalog request.
-- Reworked the Device resource in the DIR. Eliminated num_waiting
-  and use_count, but added max_writers, reserved, and PoolId.
-- This DIR is nolonger compatible with previous SDs.
-- Add since and cloned keywords to the Console run command
-  to support cloning.
-- Implemented store_alist_str() to allow multiple string items
-  to be specified in a .conf file.
-- Added %s (since time) to Job code editing.
-- Reworked reserving drives in the SD. It now does it much simpler
-  and correctly. 
-05Mar05
-- Integrate HP-UX patch from  Olivier Mehani <olivier.mehani@linbox.com>
-- Fix FD job.c to test correctly for no level.
 
-Changes to 1.37.4:
-04Mar05
-- Change Developers to Developer's Guide as requested by Michael.
-- Fix developers link in manual
-- Add additional dcr changes in SD to allow multiple dcrs.
-02Mar05
-- Fix a few problems with the MySQL table create in 1.37.
-- Delete the new tables in the table delete files.
-- Increase the number of items permitted in a conf table.
-- Make Director loop over alternative Devices specified in the
-  Storage resource until one is reserved by SD.
-- Fix storing of StorageId in Media records.
-- Add AutoSelect = yes|no in bacula-sd.conf
-- Add Autochanger support to Label command.
-- Do not autoselect devices with autoselect set false 
-01Mar05
-- Implement setting DIR Storage device to Autochanger
-  name. 
-- Select first available device in Autochanger.
-- Pass back actual device name used.
-- Allow Query of AutoChanger.
-- Modify Query to include name of AutoChanger if 
-  Device belongs to one.
-- Remove old Pool code in jobq.c
-- Add Autoselect flag to query and DEVICE class (still
-  need Directive).
-28Feb05
-- Lock autochanger script when running.
-- Mark Volume not InChanger if correct volume is not     
-  autoloaded.
-- Corrected some typos in the make_xxx_tables.in files.
-- Made preliminary split of pre-run and run code for each
-  job type. This will permit early opening of SD for reserving
-  drives.
-- Add offline and autochanger fields to Device Query record.
-- Correct pthread_mutex_init() for autochanger in SD.
-- Tweak Makefile for LaTeX manual, plus add nav buttons.
-26Feb05
-- Clean up drive reservation system. Add more sanity checks.
-- Implement a few more methods for the DEVICE class in SD.
-- Add latex directories to make clean
-- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with
-  certain header files (FreeBSD).
-24Feb05
-- Fix an ASSERT that was triggering in stored/acquire.c
-  attempt to fix a bug report.
-23Feb05
-- Corrected SunOs to SunOS in btraceback (user submitted).
-- Applied patch from Roger Haa¥kansson <hson@ludd.luth.se>
-  to warn the user of defective AWKs during ./configure.
-20Feb05
-- Add some changes submitted by a user for HP client build.
-  Not all changes accepted.
-- Rework code in filed/backup.c to ease #ifdefing and make
-  program flow more obvious.
-- Split DVD code out of dev.c into dvd.c
-- Tweak #ifdefing to add back all the performance measurement
-  #defines in version.h
-- Put most of MTIOCGET code in a subroutine to simplify the
-  mainline code.
-- Make clean remove old CVS files
-- Remove unnecessary image files from Latex directory
-- Implement remaining parts of Storage DB record and
-  its use in the Director.
-- Implement
-  FullMaxWaitTime, Differential Max Wait Time, and               
-  Incremental Max Wait time in Job resource.
-- Start work on SD Autochanger code.
-19Feb05
-- Add back JobId index for MySQL as default -- speeds up 
-  pruning.
-- Add more database fields and fix the update scripts to
-  include the new items.
-- Pass actual level to FD so that ClientRun editing can reflect
-  correct level -- ditto for job status. This makes the DIR
-  incompatible with older clients!
-- Move jobq.c acquire resources to static subroutine so that
-  the code logic becomes clearer. This is in preparation for
-  actually using the new Device resources.
-- Fix some lower case problems in sql_cmds.c reported by
-  Debian.
-- Correct a seg fault in the SD reported by a user. Occurred
-  only when a high debug level was set.
-- Modify init_dev() in dev.c to take JCR as first arg so that
-  proper error messages can be reported in next item.
-- Modify the query and use device SD commands to attempt to
-  open the device if it could not previously be opened.
-- Correct error message for Could not reserve device.
-- Correct some minor details with Autochanger resource in SD.
-18Feb05
-- Fix seg fault if debug level 900 set in SD.
-- Truncate Win32 child return code to 8 bits.
-- Remove some old lld's.
+Changes to 1.39.3:
+04Jan06
+kes  Start implementing Verify list output.
+kes  Move the suitable_drive flag to a better place to prevent
+     premature termination of the reservation if all drives
+     are busy -kes  should fix Arno's diff/inc pool failures.
+26Dec05
+kes  Add mutex to single thread VSS code in Win32.
+22Dec05
+kes  Simplify code in askdir.c that waits for creating an appendable
+     volume so that it can handle multiple returns from the wait
+     code.
+kes  Modify the wait code to permit multiple returns.
+kes  Return a zero when 'autochanger drives' is called and
+     it is not an autochanger.
+kes  Make rewind_dev() a method taking a DCR as an argument.
+     This permits closing and reopening the drive if the
+     rewind fails as happens if the drive was loaded while the
+     file descriptor was open. This refreshes the file descriptor.
+kes  Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+     if the device is open or not.  This should eliminate
+     Arnos problem.
+kes  Return error if reserve cannot find at least one suitable device.
+kes  Make wait_for_sysop() return correct state information.
+kes  Fix Win32 state file problem. write was not using compat
+     code. This should fix bug #500.
+21Dec05
+kes  Modify gui on command to set only GUI mode and not batch.
+kes  Modify .messages command to always print messages regardless
+     of the mode.
+kes  If GUI mode is on, suppress automatic printing of 
+     You have messages. 
+kes  Delete old bnet packet code.
+kes  Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
+     wx-console. -kes  not implemented because bconsole must be updated.
+kes  Modify restore command in wx-console to set gui on and to use
+     only .messages instead of messages.  Hopefully this fixes bug
+     #514.
+kes  Fix seg fault in exit of acquire when canceling a job --
+     reported by Wolfgang Denk
+kes  Pull in latest reservation system changes from 1.38
+kes  Make .messages command always print messages regardless
+     of the automessages flag.
+17Dec05
+kes  Fix seg fault if user labels a drive directory bug #513
+kes  Remove quotes around Version as it breaks things.
+16Dec05
+kes  Merge in Aleksandar Milivojevic's mods to the spec file.
+kes  Apply sparse code fix for raw drives and fifos. Bug 506
+kes  Thorsten fixed Unicode cd problem with wx-console bug 505.
+14Dec05
+kes  Correct reservation system to do a last ditch try
+     for any mounted volume, then anyone anywhere.
+kes  Add quotes around table Version because of
+     error in MySQL 4.1.15 -kes  bug report submitted.
+kes  Correct some minor problems with btape in the fill
+     command.
+kes  Updates to ssh-tunnel from Joshua Kugler.
+kes  Added a report.pl program from Jonas Bjorklund.               
+kes  Simplify the O_NONBLOCK open() code for tape drives,
+     and always open nonblocking.
+kes  Do not wait for open() if EIO returned (shouldn't happen).
+kes  Eliminate 3 argument to tape open().
+kes  Correct the slot # edited in the 3995 Bad autochanger unload
+     message.
+kes  With -S on bscan (show progress) do not divide by zero.
+13Dec05
+kes  Make cancel pthread_cond_signal() pthread_cond_broadcast().
+kes  When dcr is freed, also broadcast dev->wait_next_vol signal.
+kes  Remove unused code in wait_for_device.     
+kes  Make wait_for_device() always return after 60 seconds of wait.
 
-Changes to 1.37.3:
-16Feb05
-- Make another attempt at fixing the ClientRunXXX return code 
-  bug on Win32 machines.
-- Apply ua_status patch from Carsten Paeth <calle@calle.in-berlin.de>
-  which enforces console ACLs in the status command for Jobs.
-15Feb05
-- Fix Media LabelDate and FirstWritten to be correctly set.
-- Fix deadlock in multiple simultaneous jobs.
-- Fix tape "truncation"/"number of files" after restore bug.
-10Feb05
-- Ensure that correct error messages are returned when
-  reading an ANSI label.
-09Feb05
-- Modified ANSI label code to preserve any ANSI label 
-  already found by skipping over it rather than rewriting
-  it.
-- Split the ANSI label code into ansi_label.c
-- Do not let user relabel an ANSI labeled tape.
-- Applied a patch for the console help command supplied
-  in a bug report. 
-- Added some new dev methods. Most notably was
-  set_eof(), which handles setting all the dev variables
-  when an EOF is just read. This is now used most everywhere
-  in the code.
-07Feb05
-- Added code to detect that no files were inserted into the 
-  tree for a restore. If a specific JobId was specified, the
-  user has the option of restoring everything.
-- More progress in implementing 64 bit DB Ids.
-- Modified the daemon start messages for RH.
-- Implement update scripts for all database types.
-- First cut at implementing restore directory (it will not
-  recurse).
-04Feb05
-- OK, I think ANSI labels work.
-- Added Label Type = ANSI|IBM|Bacula to Device resource in SD.
-  If this is set, it will force writing of the appropriate
-  label type.
-- Added Check Labels = yes|no to Device resource in SD. If this
-  is set, Bacula will check for ANSI labels and accept them,      
-  otherwise, ANSI labels will not be accepted when the tape
-  is first mounted.
-02Feb05
-- Second cut ANSI labels.
-01Feb05
-- Merge Preben's patch for ACLs and for Mac OS X resource forks.
-- Some doc updates.
-- Display more informative message when a device was not
-  found or could not be opened.
-- Add the sqlite3 database scripts. 
-- Add some patches for 1.36.1 (note, I have now prepared
-  a 1.36.2 with all the patches and some new features --
-  to be documented).
-- Some minor doc updates.
-- Add Arno's baculareport.pl script to the examples directory.
-29Jan05 -- after vacation
-- Add support for SQLite3 (it seems to run at 1/2 the speed
-  of SQLite2).  Use --with-sqlite3 instead of --with-sqlite
-  to get SQLite3.
-- Add target for running qemu to boot Rescue CDROM
-- Add code to support kernel 2.6 in Rescue CDROM -- does NOT yet
-  boot correctly.
-- Implement ANSI labels -- not yet tested.
-  This required changes to DB format. No upgrade script yet.
-  Note, more work needed to modify "update" command to handle
-  changing label types, also must restrict volume name lengths
-  to 6 characters.
-- Add new Device, Storage, and MediaType records to DB. No
-  upgrade script yet.
-- Add MediaType to bsr file record types. Not yet used in SD.
-- Permit multiple device specifications in Storage resource in 
-  Dir conf file.
-- Implement Device resources. Director requests Device resource
-  info from SD on startup. 
-- Note!!!! DIR->SD incompatible with previous versions.
-- Remove multiple Storage definitions in Job resource.  One can
-  still specify multiple Storage resources, but they all go into
-  a single alist, and imply sending data to each Storage daemon 
-  simultaneously.
-- Implement Device query command between DIR and SD.
-- Allow DIR to "reserve" a Device. It will then be acquired
-  when the FD connects to the SD.
-- Turn all DIR resources into classes, and implement a few class
-  methods -- more to come.
-- Turn DEVICE in SD into a class, and implement a number of inline
-  class methods -- more to come.
-- I had serious problems with ACL errors on my Laptop, and so had
-  to add the following patch:
-  @@ -181,7 +181,7 @@
-      }
-      /***** Do we really want to silently ignore errors from acl_get_file
-        and acl_to_text?  *****/
-  -   return -1;
-  +   return 0;
-   }
-- Added edit_int64()
-- Reworked and tested a bit the htable routines.
-- Major changes to SD acquire.c -- DIR can now reserve devices. Needs
-  lots of testing!!!!
-- Made a special state code for DVD -- this simplifies the logic
-  of the code, but I probably broke it. Testing needed!!!!
-- Add AutoChanger resource to SD, but not yet used.
-
-Changes to 1.37.2:
-12Jan05
-- Integrate Preben 'Peppe' Guldberg <peppe@wielders.org>'s
-  acl patch. Fix case where configured but no ACL exists.
-  Rework calling arguments to be shorter and positioned
-  more typically in Bacula usage.
-11Jan05
-- Fix scripts/bacula.in to have awk on an environment variable
-  and add comments for Solaris users.
-- Turn off inet_aton in src/lib/address_conf.c for Win32
-- Add new files to win32 build and eliminate a compiler warning.
-- Add sample DVD Device resource to bacula-sd.conf
-08Jan05
-- Integrate Nicolas' patch for direct DVD support.        
-07Jan05
-- Fix fstype error returns.
-- Apply Preben's cleanup.patch which puts back much of the
-  cleanup code in src/filed/restore.c
-06Jan05
-- Apply all of Preben's patches, but revert to old backup.c
-  and old restore.c in filed. Also turn off code in new
-  acl.c because of errors.  The new code, when fully implemented
-  moves platform specific code into acl.c.
-  One of the patches also implements WildFile and WildDir -- thanks.
-01Jan05
-- Implement Python in the SD (no events yet though).
-- Fix some typos in the previous commit.
-30Dec04
-- Enhance CDROM boot to include some documentation at boot time.
-- NOTE!!!!! The CDROM will not boot 2.6 kernels because the
-    boot sequence has changed significantly. Updates to come
-    later.
-- Add memtest option to CDROM boot.
-- Include Nicolas' changes to fix llist JobMedia records.
-- Make sure that ClientRunBefore/After messages from the program
-  are terminated with a newline. Add strerror to output error
-  messages.
-- Return program exit status code in Win32.
-29Dec04
-- Add memtest86 to Bacula Rescue disk
-- Enhance Rescue disk startup screen
-24Dec04
-- Move some variables to eliminate Solaris 2.6 compiler warnings.
-- Fix the seg fault at the end of a job in the FD when using
-  old style include/excludes.
-22Dec04
-- Apply Preben's ACL patch.
-- Integrate Preben's restore patch.
-- Integrate Preben's verify teaks.
-- Fix doc/latex/Makefile to copy/remove .eps files when building
-  html and web outputs.
-21Dec04
-- Fix Bacula so that it does not exit if there is a syntax error
-  in its conf file during a reload command. Bug 182.
-- Apply fixes suggested for old Solaris networking.
-  Fixes bug 190.
-- Apply Preben 'Peppe' Guldberg <peppe@wielders.org>
-  three patches that clean up white space:
-  ws.patch.02.strings:
-    Breaks strings that span lines into concatenated strings. I am not sure
-    if you like this one. Other code works with concatenated strings, though.
-  ws.patch.03.trailing:
-    This removes trailing whitespace. No changes resulted from this for
-    my setup.
-  ws.patch.04.leading:
-    This replaces space runs at the start of line with tabs. No changes
-    again.
-- Fix overriding storage specification to be done
-  through a subroutine.
-- Fix autoconf so it runs with FC3. 
-- Add Python4.3 to configure search paths.
-- Always copy and delete storage definitions into jcr.
-- Check that VolumeName supplied by Python is valid. 
-  Return 0 if not.
-19Dec04
-- Fix undefined in non-Python build.
-- Update rescue disk to include mkinitrd
-- Fix umount_drives in rescue disk (only one arg to umount)
-- Ensure that if SD is manually set in Console, it is used.
-- Put generate_event on pointer and plug it in init. This
-  permits using it in /lib
-- Correct despooling size reported to be Job specific rather
-  than for the whole drive.
-18Dec04
-- Fix bug 207. jcr use count off by one when manually
-  scheduling jobs.
-- Remove FNMATCH test in configure.in and always use
-  the one in our library to get the FN_CASEFOLD GNU
-  extensions on all platforms.
-- While using the rescue CDROM after my computer would not
-  boot, I realized that it would be very useful to have
-  a umount_disks. So, it is not implemented, along with
-  updates to the READMEs and some minor tweaks.
-- Moved mounting the CDROM in the rescue boot from /cdrom
-  to /mnt/cdrom (more standard location).
-- Reboot in CDROM rescue should now work -- requires -d
-  option (no write) to work.
-- Hopefully fixed all the IPV6/4 problems and buffer
-  problems with networking in lib. Bugs 190 and 204.
-  Cleaned up a lot of #ifdefing problems by using routines
-  in address_conf.c
-17Dec04
-- Apply Preben 'Peppe' Guldberg <peppe@wielders.org>
-  alist fix patch.
-- Remove duplicate code from chksum.h (mentioned by Preben).
-13Dec04
-- Integrate Tim Oberfoell <oberfoell@web.de> patch to ACLs
-  to handle both the "standard" and "default" ACLs.
-12Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  three cleanup patches (btest, verify, find).
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  three cleanup patches (backup, chksum, and verify)
-09Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  patch to avoid doing MTIOCGET on OSes that do not support
-  it such as OpenBSD.
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  patch to add filesystem type matching to FileSets in the
-  Options resource.
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  patch to add Mac OSX resource fork support (save/restore)
-  to Bacula -- HFS Plus support.
-- Add FileSet to client Job listing query.
-06Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
-  patch to backup directories skipped (due to no file system
-  changes or no recursion), and to add a slash to the end
-  of the directory name during the match process.
-- Implement Jamie ffolliott <jamieff@inline.net>
-  patch to dird_conf.c that enables Multiple Connections and
-  fixes a typo in show. The rest of his patch awaits my suggested
-  changes.
-05Dec04 
-- Implement run command in Python
-04Dec04 
-- Implement conversion of the manual, and some minor
-  tweaks to the script tags.
-- Apply a patch supplied by Preben 'Peppe' Guldberg that implements
-  ignore case in wild cards and regexes.
-- Fix a truncated line in the above patch due to my cut and paste.
-03Dec04
-- Fix it so that the InChanger flag is only changed for Volumes
-  in the same Pool.
-- Add PIDOF configuration path and apply to bacula.in
-- Add user supplied patch to add inet_aton() of old Solaris
-  systems.
-- Require pools to match before allowing multiple simultaneous
-  accesses to same storage resource.
-- Add patch supplied by Martin to correct buffer overrun in
-  bsnprintf() with no library snprintf().
-02Dec04
-- Apply user supplied patch that implements No Hard Links.
-- Document Python interface
-- Add hardlink keyword patch supplied by David R Bosso <dbosso@lsit.ucsb.edu>
-01Dec04
-- Fix non-python prototypes in dummy routines.
-- Add python 2.3 to config search list (user submitted patch)
-- Add JobStatus to Python variables.
-28Nov04
-- Add "python restart" command in Console.
-- Make built-in variables table driven.
-- First cut of Python Events for Bacula. Director only.
-  StartJob, EndJob, NewVolume events.
+Changes to 1.39.2:
+13Dec05
+kes  Add stubs for non-crypto build.
+12Dec05
+kes  Use localhost if no network configured
+11Dec05
+kes  Eliminated duplicate MaxVolBytes in cat update -kes  bug 509.
+kes  Remove debug print.
+kes  Add bail_out in error during state file reading.
+10Dec05
+kes  Merge changes made to 1.38.3 into HEAD
+kes  Add stubs for pygtk-console code
+kes  Create Makefile.in for pygtk-console code
+09Dec05
+kes  Merge updates into 1.38 branch
+kes  Update specs to include mysql4 define.
+kes  Fix when attributes are sent, must be after binit().
+kes  Stop read_record() if status not ok in second loop.
+kes  Return rec->FileIndex in dcr->VolLastIndex for normal
+     and partial records in read_record().  This allows bscan
+     to get FileIndex at EOT correct.
+kes  Fix butil.c to correctly set dcr -kes  fixes seg fault in bls.
+08Dec05
+kes  Fix Win32 built to work with new crypto code.
+kes  Apply patch supplied by user (slightly modified) to fix
+     correct detection of holes in block devices and FIFOs. 
+     Bug # 506.
+kes  Apply patch supplied by user (slightly modified) 
+     to fix SD hang with multiple pools and bad client
+     IP. Fixes bug # 508.
+07Dec05
+kes  Add nagios plugin to the examples directory. Submitted by
+     Christian Masopust.
+kes  Remove warning message about multiple saves of hardlinked files
+     from find_one.c as it can generate too many warning messages.
+kes  Modify most restore error messages to be queued so that they
+     appear at the end of the job rather than mixted with the restore
+     listing where they could be 'lost'.
+06Dec05
+kes  Reset timeout values before select() per patch from 
+     Frank Sweetser for problems with non-blocking sockets.
+kes  Unlink the state file if either reading or writing it gets
+     errors.  Hopefully this will fix Win32 exit problems.
+kes  Add sanity check in append.c to ensure that dcr is not NULL.
+     This can happen if multiple drive autochanger SCSI control
+     channel and drive indicies do not correspond.
+05Dec05
+kes  Get next volume from Scratch pool before creating a volume.
+kes  Set new Pool defaults in Vol when moved from Scratch Pool.
+kes  Remove argument from create_bacula_database for SQLite as it
+     caused an error.
+kes  Add back index code so that two drive autochangers can get
+     a second tape.
+kes  Change a bunch of debug levels to aid debugging autochangers.
+kes  Fix reservation so that mutexes are properly applied.
+kes  Rework reservation algorithm so that two drives can be used
+     at the same time.
+04Dec05
+kes  Landon merged his data encription changes into the HEAD
+kes  Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at 
+     If this patch is applied, the number of days can be specified with
+     'list nextvol days=xx'
+     or
+     'status dir days=xx'
+     My use case is to be able to preview the next scheduled job (and the 
+     next tape to be used) on fridays if there are no scheduled jobs during 
+     the weekend.
+Changes to 1.39.1:
+03Dec05
+kes  Fix font code in gnome2 console user patch. Fixes bug #501.
+kes  Fix malformatted bnet error message that caused seg fault
+     fixes bug 502
+kes  Applied user patch to improve README.vc8 in src/win32.
+29Nov05
+kes  Add Migrate, Copy, Archive Job types (some where there)
+kes  Correct some more editing of JobId's (for 64 bit compatibility).
+kes  Ensure that StorageId is stored in Media record when ever possible.
+kes  Add Migration Job to Job.
+kes  Add Migration Time, Migration High Bytes, Migration Low Bytes
+     Next Pool to Pool resource.
+kes  Add more code to mac.c (migration archive copy).
+kes  Change Start Storage daemon job to require read and write storage
+     pointers.
+kes  Pass read storage data to SD as well as write storage data.
+kes  Remove old code from winservice.cpp
+kes  Break on error in scan.
+kes  Fix typo in signal.c
+kes  Separate read/write DCR in SD.     Add jcr->read_dcr.
+kes  Cleanup how find_device() works.
+kes  Add read output to Status in SD.
+Changes to 1.39.0:
+23Nov05
+kes  Add red-black btree routines
+21Nov05
+kes  Remove abs() in bfile.c so that it compiles on Solaris. 
+     Bug #491.
+20Nov05
+kes  Fix crash in tray-monitor when daemon disconnects. Bug #479.
+kes  Fix bnet-server bug found on OpenBSD. Bug #486
+kes  Fix cancel failure bug. Bug #481
+kes  Fix failure when Pool name has spaces. Bug #487      
+kes  Fix SD crash in autochanger code. Mutex failure. Bug #488
+kes  Fix a couple of free()s in src/filed/acl.c
+kes  Fix memory overrun in bfile.c in building OS X resource
+     fork filename. Bug #489 
+kes  Add Pool name to SD status output.
+14Nov05
+kes  Apply SunOS patch for ACLs submitted by David Duchscher.                     
+kes  Make sure to set storage before trying to set drive.
+kes  Add bacula_mail_summary.sh to examples directory. It makes
+     a single email summary of any number of jobs. Submitted
+     by Adrew J. Millar.
+kes  Make sure when we do a mount to unblock the device even
+     if the drive could not be opened.  
+13Nov05
+kes  Remove the USE_WIN32STREAMEXTRACTION #defines (always on)
+     and correct a few minor problems to make it build on Linux.
+10Nov05
+kes  Remove delete of CVS from all Makefiles
+kes  Fix seg fault when clicking on Add button in wx-console
+     restore panel.  Bug #470.
+kes  Fix copyright date and URL typo -kes  bug #468.
+kes  Change autostart install for FreeBSD to look for rc.conf     
+     rather than rc.local as suggested fix for bug #466.
+kes  Apply patch supplied by Eric Bollengier to fix PostgreSQL       
+     grant on status. Bug #465
+kes  Apply patch supplied by Eric Bollengier to fix PostgreSQL
+     update script. Bug #464
+kes  Tweak #ifdefing a bit in new Win32 stream code.
+kes  Fix #ifdeffing for FD_NO_SEND_TEST.
+kes  Add documentation of performance #defines