]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
ebl update to BwebConsole (drop Expect/Bconsole and scp)
[bacula/bacula] / bacula / ChangeLog
index 3f30f214e96b3d6a1a8d0be03dbe80cafd87d105..92c769333ec299ab9714652dabd28784f52f0b64 100644 (file)
@@ -1,7 +1,561 @@
               Technical notes on version 1.39  
-                        Kern Sibbald
 
 General:
+
+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.  
+
+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.
+
+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.
+
+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.
+
+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.
+
+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.
@@ -20,956 +574,953 @@ kes  Turn off new test code in src/console.c
 
 Version 1.39.18
 29Jul06
-- 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).
-- 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 one's head is not easy.
+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.
 
 Version 1.39.17
 28Jul06
-- Tweak new runscript feature to work with 1.38.x FDs. 
-- Correct crypto.c to fix segfault when restoring an encrypted stream 
-  on fd which don't use rsa keys.
-- Add yes/no english keywords on localised yes/no questions.
+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
-- Several important commits from Robert Nelson for code cleanup and
-  Win32 build.
-- 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.
+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
-- Change cats/sql.c to elimate %-*s format, which I think is turned
-  off in bsnprintf.
-- Add Comment field to llist of a volume.
-- Allow true/false in some yes/no questions.
-- Implement update volume enable=(on|off|true|false|archived|0|1|2)
-- Remove a few /n's when scanning commands from another daemon. This
-  permits adding additional fields later.
-- Modify dbcheck to handle ctl-d and to delete Log table entries.
-- Update README.mingw
+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
-- Tweak authentication to work with 1.38.x FDs. 
-- Tweak catalog make scripts.
-- Fix catalog upgrade scripts so that they work.
-- Correct despooling debug code to eliminate race condition.
+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
-- Add additional fields as specified by Arno to LocationLog.
-- Add comment field to the Media record.
-- Add Time field to the Log record.
-- Correct migration SQL (thanks to Bill Moran) so that it
-  runs with PostgreSQL also.
-- Add spooling/despooling info in status output of SD.
+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
-- Spend a lot of time integrating mkcdrec with the rescue disk.
-- Add VOLMGMT message class for volume management messages (none yet).
-- Add CATALOG as a destination.  It goes into the LOG table.
-- Implement the Log table in the DB.
-- Implement the Location Log table in the DB (for user use).
-- At Eric's request add a run_scripts() just after blast_data in
-  src/filed/job.c
+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
-- Add Enabled column to Location, correct some typos in DB schemas.
-- Correct bug I introduced into RunScripts enum.
-- Add log table to Catalog
-- Purge original job migrated if the migration terminates normally.
-- Cleanup purging of files/jobs so that it is done only in a 
-  single subroutine.
-- Add new VOLMGMT message class.
-- Add Catalog message destination (user conf code remains to be written).
+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
-- Modify read_record and friends to properly deal with migration      
-  needs.
-- Update debug code in read_record.    
+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.
-  ==========================================================
-
-- 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.
-- Add name() methods to all the resource classes.
-- Implement separate read and write storage resource 
-  allocation/deallocation in jobq.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.
-  ==========================================================
-
-- Add more detail (Storage, Device) to list of volumes printed
-  for restore.
-- More code in migrate. In particular start multiple jobs if
-  migrating a volume.
-- Probably overkill, but ensure that the bsr is unique even within a 
-  job in FD and SD.
-- Rework bsys.c drop() so that it now should work as expected.
-- Update a bunch of old copyrights -- particularly in .h files.
-- Remove src/lib/bshm.c/h
+     ======================= 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.
+     ==========================================================
+
+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
+
+     ======================= 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.
+     ==========================================================
+
+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
-- Migration fixes
+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
-  ===========================================================
-
-- 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.
-- Rename the cram_md5 routine names to be slightly more appropriate
-  to what they are doing (challenge and respond).
-- Robert committed his #ifdef and header cleanup.
+     ======================= 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
+     ===========================================================
+
+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
-- Fix a complier warning in files/backup.c
-- Cleanup NOT NULL vs DEFALT 0 in database creation.
-- Tweak btape.
-- Robert committed his low impact changes.
-- I removed a size_t from the jcr.h definition.
-- Update the tape regression scripts (still to be tested).
-- Add gcc and gcc-c++ requires to srm as suggested by a user.
-- Require done or quit to exit from in memory tree restore.
+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
-- Write install/uninstall of new manpages. There are now a
-  pile of man pages. Some of which need a lot of work.
-
-  ======================= 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.
-  ==========================================================
-
-- Add complete text of GPL to LICENSE.
-- Implement job report that indicates where Storage and Pool
-  came from -- with overrides and Pool storage and NextPool,
-  it is all very complicated.
-- Create a few common subroutines for backup.c and migrate.c
-- Eliminate warning messages from tray-monitor.c
+kes  Write install/uninstall of new manpages. There are now a
+     pile of man pages. Some of which need a lot of work.
+
+     ======================= 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.
+     ==========================================================
+
+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
-- Apply fix for scheduler for missing unlock_jobs().
-- Clean out autoconf caches before rebuilding configure
-- Fix the FreeBSD pthreads lib define updated by Dan.
-- Add missing semicolon in src/console/console.c
-- Add Robert's enhanced version of build-win32-cross-tools
-  as well as his patch file.
-- Note, the new gcc options are likely to break building of
-  wx-console or the tray-monitor ...
+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
-- Implement Robert's suggestion to suppress printing compile lines.
-- Detect GCC correctly (I hope)
-- If using GCC (actually g++) add the following compiler flags
-  -fno-strict-aliasing -fno-exceptions -fno-rtti
-
-  ===================== Warning =============================
-  Turn on new bsnprintf() code.  This could cause print output
-  to look different.
-  ===========================================================
-
-- Fix crypto when not using openssl. I previously overlooked this.
-- Eliminate crypto type punning problems by eliminating void * and
-  using uint8_t * instead.
-- Harden authentication failure in FD by single threading errors
-  and forcing a 6 second wait.
-
-  ===================== Warning =============================
-       Removed  "Accept Any Volume" directive.
-  ===========================================================
-
-- Major cleanup and simplification of regress using shell functions
-  (more tests to be converted to new format)   
-- Add detection of 64 bit Irix as indicated by user.
-- Increment catalog database id from 9 to 10.
-- Add a few of the new database fields to the various C++
-  structures.
-- Implement code to fill in the most important new fields (e.g.
-  Media Enable).
-- Ensure that most of the new fields are in create/get/insert/update.
-  More work to be done.
+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
+
+     ===================== Warning =============================
+     Turn on new bsnprintf() code.  This could cause print output
+     to look different.
+     ===========================================================
+
+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.
+
+     ===================== Warning =============================
+          Removed  'Accept Any Volume' directive.
+     ===========================================================
+
+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
-- Update some very old licenses in src/cats.
-- 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.
-- Delete mac_record subroutines.
-- Add new table values to create/update/get routines as appropriate.
-- Update the update_tables and make_tables scripts.
-- Make a first cut in using a union where multiple pointers (actually
-  pointers to pointers) are stored.
-- Make some changes to base64.c suggested by Robert and others and add
-  a small amount of documentation.
-- Add some changes suggested by Peter for Solaris (bregex...)
-- Make runscript.h always built because it needs to be pulled into
-  more places.  In particular its RES was left out of a union.
-- Renumber the enum{} list in runscript.h to avoid starting from zero.
-  This makes it slightly easier to detect uninitialized variables.
+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
-- Remove xpg4 lib from FreeBSD build as it is no longer needed and
-  sometimes creates install problems.
-- Change a couple of %T in strftime to %H:%M:%S as seen in Robert
-  Nelson's code.  More to do.
-- Convert a few store_bit to store_bool in filed_conf.c.    
-- DVD tweak to block.c as supplied by Uwe Muessel.
+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
-- Modify configure.in to check for typeof().
-- In findlib/attribs.c use typeof instead of templates if possible.
+kes  Modify configure.in to check for typeof().
+kes  In findlib/attribs.c use typeof instead of templates if possible.
 01Jun06
-- Implement partial error messages for src/filed/acl.c
-- 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.
-- Small updates to projects.
+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
-- Add Eric Bollengier patch for new RunScript directive. It breaks
-  compatibility between dird and fd.
+kes  Add Eric Bollengier patch for new RunScript directive. It breaks
+     compatibility between dird and fd.
 26May06
-- Prevent DVD code from rewriting label if the device cannot be
-  opened read/write.
-- Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to
-  fix Debian build bug.
-- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-- Integrate manpages contributed by Jose Luis.
-- Update projects file.
-- Add manpages Makefile.in to configure.in
-- Remove installation of bacula.8 in scripts directory.
+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
-- 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).
-
-    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).
-
-    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.
-- 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).
-- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
-  set to zero. 
-- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-- Apply patch from Rudolf Cejka bug #614 to removed trailing
-  colons in query.sql file.
-- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
-  not to create orphans.
-- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
-  in restore long listing.
-- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
-  of incorrect MarkedId.
-- Apply patch from adioso bug #616 to correct text in manual (replace
-  Director with File daemon).
-- Rework a few of the zlib changes so that they build properly.
+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).
+
+       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).
+
+       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.
 
 21May06
-- 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.
-- Modify LICENSE to correct some problems pointed out by Debian.
+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
-- Correct EOF with no \n lex.c problem.
-- Tweak compat.h compat.cpp and merge with apcupsd
-- Add additional INFO messages if autochanger cannot be used.
+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.
 
 02May06
-- Simplify Win32 Makefile
-- Correct count of buffers/bytes used by smartall.c
-- Updated compat.h after porting apcupsd to MinGW.
+kes  Simplify Win32 Makefile
+kes  Correct count of buffers/bytes used by smartall.c
+kes  Updated compat.h after porting apcupsd to MinGW.
 01May06
-- Work on getting wx-console building on MinGW. wxWidgets now builds
-  started adding Makefile ...
-- Moved MinGW library objects to src/win32/lib to reduce clutter.
+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
-- Reloading a bad configuration file doesn't kill director any more.
-  Thanks to fix from Eric Bollengier.
+kes  Reloading a bad configuration file doesn't kill director any more.
+     Thanks to fix from Eric Bollengier.
 29Apr06
-- Fix problem of accents with new Win32 code.
-- 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 -- i.e. there is
-  some mapping problem with wide characters.
-- The code no longer compiles with Microsoft VC++.
+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
-- Start implementing Christopher's St.Bernard code.
-- Add Christopher's mods for opening files.
-- Strip \r \n from Win32 error messages (Christopher)
-- Add more info about Win32 system if unknown (Christopher)
-- Use bstrn(cpy, cat) routines to avoid overrun in compat.cpp
-- Fix a number of incorrect strings marked for translation, when
-  they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
-  Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
-  listing. This fixes some problems with Win32 printing incorrect
-  values.
-- Correct the clock shift comm time calculation between the DIR
-  and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
-  machines -- 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.
-- Remove lib/regex.c (replaced by bregex.c).
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
+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
-- Fix bug in build-win32-cross-tools script reported by Howard
-- Implement cross compiled bconsole
+kes  Fix bug in build-win32-cross-tools script reported by Howard
+kes  Implement cross compiled bconsole
 25Apr06
-- Fix barcode test, eliminate BOOL (doesn't exist on Linux).
-- Write first cut of README.mingw32
-- Add back ua_label barcode fix from Rufolf Cejka.
-- 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 ...
+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
-- Add 'Dir Status' button to the gnome console.
-- More work on migration.
-- Restore non-compatible base64 coding to permit compatibility.
-- Display heap stats in Storage daemon without debug level.
+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
-- Integrate most of the MinGW changes -- more to do.
+kes  Integrate most of the MinGW changes -kes  more to do.
 21Apr06
-- Implement using pg_config for finding PostgreSQL files.
-  Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
-  working directory. Fixes bug #578.
-- 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.
-- 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.
-- 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.
-- 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
+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
-- Ensure that DB signature is never NULL.
-- Ensure that DB table names are not translated.
-- Fix scheduler to handle time skew (eg daylight savings).
-- Fix scheduler to use lock_jobs() to avoid most problems
-  with reload. Window is now milliseconds.
+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
-- Apply patch from Christopher Hull
-  - Allow multiple connections to database with different
-    parameters.
-  - Invalidate the scheduler when doing a reload. Fixes seg
-    fault, but still 60 second window.
-  - Additional info in Reschedule message.
-  - Use set_jcr_job_status() everywhere to prevent loss of
-    cancel, error.
-  - Display peer IP in FD if error from connecting DIR.
-  - Don't increment file count for DIRBEGIN.
-  - Replace illegal characters in Win32 filename by _.
-  - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
-  - Hash hard link filenames rather than linked list.
-  - Fix for security failure in chdir on Win32.
-  - Add CreateDirectoryA/W win32 API entry points.
-- Add /silent option to Win32 FD for Install/Remove service.
-- Always print Heap statistics in FD.
+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
-- Remove the -f option from the chown in Makefile.in for more
-  portability.
-- Change setting the group in Makefile.in to use chgrp for
-  more portability.
-- Implement a write_store and read_store to replace
-  dirstore in reserve.c
-- Implement a Bacula read/write lock for Python rather
-  than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
-  as reported by a user.
+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
-- Correct some problems with database creation (new tables).
-- Replace a bunch of old 0x%x by %p.
-- Get first cut of Migration with Job selection working.
+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
-- Change store_bit() to store_bool() for the Spooling in 
-  dird_conf.c -- bug reported by Robert Nelson.
+kes  Change store_bit() to store_bool() for the Spooling in 
+     dird_conf.c -kes  bug reported by Robert Nelson.
 15Apr06
-- Correct Makefile bug found by Dan Langille.
+kes  Correct Makefile bug found by Dan Langille.
 14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
+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
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
-  to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
-  Python regexp program.  
-- Use the new bregex.c to implement Regex expressions on Win32.
+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
-- More work on migration.
-- Implement wild program in tools directory for testing
-  wild-cards. Almost identical to the regex program.
-- Up port VSS single thread locking code.
-- Replace N_(..) by NT_(...) to inhibit translation of
-  commands.
-- Modify Makefile to change the permissions on Working Directory
-  to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or 
-  owner/group on WorkingDir fails.
-- Remove early selection of Scratch Volumes in the recycling
-  algorithm.
-- Correct the old recycling algorithm so that Scratch Volumes
-  are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
+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
-- Remove automatic case folding on Windows FDs. You must
-  explictly use the 'Ignore Case = yes' option.
-- 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.  
+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
-- Make weof() and clrerror() methods of class DEVICE.
+kes  Make weof() and clrerror() methods of class DEVICE.
 08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect().  Thanks to
-  Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
-  unless the string is quoted.                     
-- Apply Eric's patch to ua_label.c so that daemon protocol
-  is not translated.
-- Add NT_ definition for strings that should not be translated.
-- Apply NT_() to ua_label.c
-- Remove timed wait for VSS on Win2K3 as it is not yet
-  implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
-  sysconfig directory rather than the bin directory.
+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
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
-  as many FC5 g++ compiler warnings as possible.
+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
-- Split the bacula start/start script into four files:
-   bacula         -- starts and stops calling other scripts
-   bacula-ctl-dir -- starts/stops the director
-   bacula-ctl-fd  -- starts/stops the File daemon
-   bacula-ctl-sd  -- starts/stops the Storage daemon
+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
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
-  threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
-  message rather than nothing.
-- Correct false re-read last block error message when two jobs 
-  are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid  
-  possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
-  reservation lock and device mutex.
+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
-- Initialize jcr mutex before first use. Thanks to Thorsten for
-  tracking this down for me !!!! as it broke the Win32 build.
+kes  Initialize jcr mutex before first use. Thanks to Thorsten for
+     tracking this down for me !!!! as it broke the Win32 build.
 20Mar06
-- Integrate addition of line count limitation to bsmtp -l from
-  Sebastian Stark <stark at tuebingen.mpg.de>
+kes  Integrate addition of line count limitation to bsmtp -l from
+     Sebastian Stark <stark at tuebingen.mpg.de>
 17Mar06
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-- Implement regex matching in migrate.c
+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
-- Fix bug #537 to allow arbitrary time to mount a volume for
-  restore, if polling is turned on.     
-- If dir_user or dir-group is specified in ./configure apply it to
-  the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
-  Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
+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.
 
 14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
-  records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- 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.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
-  lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
-  multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- More details in implementing David's migration syntax proposal.
-- Save and restore dcr when swapping drives so that if we have
-  a write dcr it is not lost.
-- 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.
-- Stop SD command loop if job is canceled.
+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.
 
 08Mar06
-- Remove old code from findlib/create_file.c
-- Rename mac.c migrate.c
-- Add user friendly display of VolBytes in job report.
-- Rename target... to previous... to make it a bit easier to
-  understand.
-- Add selection type and selection pattern to Migration (idea
-  given by David Boyes). 
+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). 
 
 04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
-  buffers in all cases.
-- 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.
-- Allow listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
-  and rates with suffexes from John Kodis <kodis at comcast.net>.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
-  Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
+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
-- Modify the Python class examples to inherit object -- new way
-  of defining classes. Patch from Felix Schwarz.
-- Implement jobuid to replace old usage of job in keywords as
-  suggested by Eric Bollengier.
-- 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
-- Implement write variables for Python to set Priority (anytime), and
-  Job Level, only during JobInit event.
+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
-- Fix the block listing bug pointed out by Arno.
-- Update the po files at Eric's request.
+kes  Fix the block listing bug pointed out by Arno.
+kes  Update the po files at Eric's request.
 24Feb06
-- Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to 
-  accept time qualifiers.
-- Make catalog respect ACL.
-- Add recycle count to Media record.
+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.39.6-beta1 24Feb04
 23Feb06
-- Add Rudolf Cejka's new rc-chio-changer.
-- Implement pulling Volume from Scratch Pool if the
-  Volume is in the autochanger.
-- Implement additional command arguments for update Volume.
+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.39.5 
 22Feb06
-- Back port changes to 1.38.5
-- Fix recycle SQL for StorageId.
-- Fix misplaced quote in mtx-changer script.
+kes  Back port changes to 1.38.5
+kes  Fix recycle SQL for StorageId.
+kes  Fix misplaced quote in mtx-changer script.
 20Feb06
-- Note. Your database must be updated, or you must create 
-  a new database. I have not yet incremented the database level.
-- Add Location table. 
-- Add LocationId, DeviceId, and MediaTypeId to Media record.
+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
-- Implement create/get mac record in database for adding extended
-  Migration data to the job record.
-- Add new MAC table to update/make database scripts.
-- Return Storage name used when getting VolumeNames for a job.
-- Change bsr file keyword Storage to Device, which is more accurate.
-- Ensure that Mac records are pruned/purged.
-- Tweak SD tools to deal with changing media type.
-- Integrate more dev.c subroutines as methods (e.g. strerror, bsr, ...)
-- Pass pointer to dcr pointer to acquire_device_for_read() so
-  that the subroutine can switch devices, and hence dcrs.
-- Modify the multiple MediaType read code to re-use the same
-  dcr when switching devices. This makes the code much more
-  robust.
-- Integrate patch from Karl Hakimian that reads JobIds, FileIndexes
-  from a table for restore.
-- Add Storage name to VolParams, but it really should be Device.
+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
-- Add disk-changer to scripts directory + configure/Makefile
-- Eliminate PoolId from jcr -- it is in jcr->jr.PoolId
-- Implement store_bit scanner to replace store_yesno.  Mostly done.
-- Implement new store_bool that stores in a bool. 
-- Add true/false to yes/no conf directives.
-- Make first cut at changing appropriate store_yesno to store_bool.
-- Complete implementation of Pool storage devices.
-- Move starting clones to job.c
-- Move create_restore_bootstrap_file() to job.c
-- Make copy_storage() more general to be able to handle
-  Pool storage.
-- Cleanup a lot of migration code for manual running, including
-  using Pool storage.
-- Move getting a scratch Volume into a subroutine.
-- Make all places a Volume that is added to a pool to 
-  respect max vols.
-- Fix bug in autochanger recycle code (improper edit 64 bit).
-- Fix segfault in restore command when no value specified.
-- Start adding code to handle multiple MediaTypes in restore.
-- Eliminate race condition in getting Volume name for
-  two drive autochanger.
-- More debug code in autochanger.
-- Add storage keyword to bootstrap file, add parsing.
-- Move slot in bsr file into Volume record as there will be
-  a different slot for each Volume.
-- Create reserve.h
+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
-- Implement Pool storage overrides.
+kes  Implement Pool storage overrides.
 06Feb06
-- Implement first cut of Migration.
-- 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.
-- Implement StorageId patch supplied by user (reggie) in bug
-  #536.  This should permit Bacula to work correctly with two
-  autochangers.
-- Implement Job listing variations suggested by a user.
-- Move updating bootstrap code in backup.c to subroutine
-  update_bootstrap_file().
-- Add new job status elapsed time and bytes written user
-  friendly job report output patch sent by John Kodis
-  <kodis at comcast.ne>.
-- Implement a storage list in Pools.
-- Separate out setup_job() code from run_job().
-- Get migration working -- lots of changes in mac.c in both
-  DIR and SD.
-- Apply patch from user (Eric Bollengier I think) that fixes a  
-  DIR crash when no arguments are supplied to a dot command.
-- Fix typo (strcpy->strcmp) in ua_prune.c as reported by Martin.
-- Fix command arg name->volume in label command of gnome-console.
-- 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.
+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
-- Apply user supplied patch for more readable rate output
-  in job report.
-- Continue implementing migration.
-- Implement support for removable filesystems in SD.
-- Ensure that btraceback scripts can be read by anyone.
-- Replace dvd-freespace and dvd-writepart by dvd-handler.
-- Correct bug where canceling restore before the FD contacts
-  the SD causes the drive to be left in read mode.
-- Move ofline_or_rewind into DEVICE::close().
-- Eliminate close_device.
-- Convert several dev subroutines to methods (e.g. bsf,
-  eod, ...)
-- Eliminate force_close_device().
-- Implement Device Type directive in Device resource that
-  can have values File, Tape, Fifo, DVD, or Prog.
-- Add has_cap() method to Device.
+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
-- Add patch from bug #527 to allow RedHat user to specify
-  options/user/group for starting each daemon in      
-  /etc/sysconf/bacula.
+kes  Add patch from bug #527 to allow RedHat user to specify
+     options/user/group for starting each daemon in      
+     /etc/sysconf/bacula.
 16Jan06
-- 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, ...).
+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
-- Add periodic (every 24 hours) garbage collection of memory 
-  pool by releasing free buffers.
+kes  Add periodic (every 24 hours) garbage collection of memory 
+     pool by releasing free buffers.
 14Jan06
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
+kes  Correct bug counting sized (for display only) in smartall.c
+kes  Print FD mempool stats if debug > 0 rather than 5.
 12Jan06
-- Make db_lock() mutex error fail the job rather than abort
-  Bacula.  Canceling the job caused the mutex to fail.
-- Correct bug in alist.c that re-allocated the list if the
-  number of items goes to zero.
-- Move the reservation system thread locking to the top level
-  so that one job at a time tries all possible drives before
-  waiting.
-- 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.
+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
-- 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.
-- During 'update slots' clear all InChanger flags where the
-  StorageId is zero (old Media records).
+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).
 
 Beta release 1.38.4:
 09Jan06
-- Fix autochanger code to strip leading spaces from returned
-  slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
-  drive. Put close() just before each run_program().  Fixes
-  Arno's changer bug.
+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
-- Add PoolId to Job record when updating it at job start time.
+kes  Add PoolId to Job record when updating it at job start time.
 06Jan06
-- 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.
-- 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.
+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.39.3:
 04Jan06
-- Start implementing Verify list output.
-- Move the suitable_drive flag to a better place to prevent
-  premature termination of the reservation if all drives
-  are busy -- should fix Arno's diff/inc pool failures.
+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
-- Add mutex to single thread VSS code in Win32.
+kes  Add mutex to single thread VSS code in Win32.
 22Dec05
-- Simplify code in askdir.c that waits for creating an appendable
-  volume so that it can handle multiple returns from the wait
-  code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when "autochanger drives" is called and
-  it is not an autochanger.
-- 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.
-- 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.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
-  code. This should fix bug #500.
+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
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
-  of the mode.
-- If GUI mode is on, suppress automatic printing of 
-  You have messages. 
-- Delete old bnet packet code.
-- Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
-  wx-console. -- not implemented because bconsole must be updated.
-- Modify restore command in wx-console to set gui on and to use
-  only .messages instead of messages.  Hopefully this fixes bug
-  #514.
-- Fix seg fault in exit of acquire when canceling a job --
-  reported by Wolfgang Denk
-- Pull in latest reservation system changes from 1.38
-- Make .messages command always print messages regardless
-  of the automessages flag.
+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
-- Fix seg fault if user labels a drive directory bug #513
-- Remove quotes around Version as it breaks things.
+kes  Fix seg fault if user labels a drive directory bug #513
+kes  Remove quotes around Version as it breaks things.
 16Dec05
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
+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
-- Correct reservation system to do a last ditch try
-  for any mounted volume, then anyone anywhere.
-- Add quotes around table Version because of
-  error in MySQL 4.1.15 -- bug report submitted.
-- Correct some minor problems with btape in the fill
-  command.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.            
-- Simplify the O_NONBLOCK open() code for tape drives,
-  and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
-  message.
-- With -S on bscan (show progress) do not divide by zero.
+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
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.  
-- Make wait_for_device() always return after 60 seconds of wait.
+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.39.2:
 13Dec05
-- Add stubs for non-crypto build.
+kes  Add stubs for non-crypto build.
 12Dec05
-- Use localhost if no network configured
+kes  Use localhost if no network configured
 11Dec05
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Remove debug print.
-- Add bail_out in error during state file reading.
+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
-- Merge changes made to 1.38.3 into HEAD
-- Add stubs for pygtk-console code
-- Create Makefile.in for pygtk-console code
+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
-- Merge updates into 1.38 branch
-- Update specs to include mysql4 define.
-- Fix when attributes are sent, must be after binit().
-- Stop read_record() if status not ok in second loop.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
-  and partial records in read_record().  This allows bscan
-  to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+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
-- Fix Win32 built to work with new crypto code.
-- Apply patch supplied by user (slightly modified) to fix
-  correct detection of holes in block devices and FIFOs. 
-  Bug # 506.
-- Apply patch supplied by user (slightly modified) 
-  to fix SD hang with multiple pools and bad client
-  IP. Fixes bug # 508.
+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
-- Add nagios plugin to the examples directory. Submitted by
-  Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
-  from find_one.c as it can generate too many warning messages.
-- 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".
+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
-- Reset timeout values before select() per patch from 
-  Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
-  errors.  Hopefully this will fix Win32 exit problems.
-- 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.
+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
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
-  caused an error.
-- Add back index code so that two drive autochangers can get
-  a second tape.
-- Change a bunch of debug levels to aid debugging autochangers.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
-  at the same time.
+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
-- Landon merged his data encription changes into the HEAD
-- 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.
+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
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
-  fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
+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
-- Add Migrate, Copy, Archive Job types (some where there)
-- Correct some more editing of JobId's (for 64 bit compatibility).
-- Ensure that StorageId is stored in Media record when ever possible.
-- Add Migration Job to Job.
-- Add Migration Time, Migration High Bytes, Migration Low Bytes
-  Next Pool to Pool resource.
-- Add more code to mac.c (migration archive copy).
-- Change Start Storage daemon job to require read and write storage
-  pointers.
-- Pass read storage data to SD as well as write storage data.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD.  Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Add read output to Status in SD.
+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
-- Add red-black btree routines
+kes  Add red-black btree routines
 21Nov05
-- Remove abs() in bfile.c so that it compiles on Solaris. 
-  Bug #491.
+kes  Remove abs() in bfile.c so that it compiles on Solaris. 
+     Bug #491.
 20Nov05
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487   
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
-  fork filename. Bug #489 
-- Add Pool name to SD status output.
+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
-- Apply SunOS patch for ACLs submitted by David Duchscher.                  
-- Make sure to set storage before trying to set drive.
-- Add bacula_mail_summary.sh to examples directory. It makes
-  a single email summary of any number of jobs. Submitted
-  by Adrew J. Millar.
-- Make sure when we do a mount to unblock the device even
-  if the drive could not be opened.  
+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
-- Remove the USE_WIN32STREAMEXTRACTION #defines (always on)
-  and correct a few minor problems to make it build on Linux.
+kes  Remove the USE_WIN32STREAMEXTRACTION #defines (always on)
+     and correct a few minor problems to make it build on Linux.
 10Nov05
-- Remove delete of CVS from all Makefiles
-- Fix seg fault when clicking on Add button in wx-console
-  restore panel.  Bug #470.
-- Fix copyright date and URL typo -- bug #468.
-- Change autostart install for FreeBSD to look for rc.conf  
-  rather than rc.local as suggested fix for bug #466.
-- Apply patch supplied by Eric Bollengier to fix PostgreSQL    
-  grant on status. Bug #465
-- Apply patch supplied by Eric Bollengier to fix PostgreSQL
-  update script. Bug #464
-- Tweak #ifdefing a bit in new Win32 stream code.
-- Fix #ifdeffing for FD_NO_SEND_TEST.
-- Add documentation of performance #defines
-
-
-Release 1.38.11 (28Jun06) released 28JunO6
+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