]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
fix segfault on redhat4
[bacula/bacula] / bacula / ChangeLog
index 3f30f214e96b3d6a1a8d0be03dbe80cafd87d105..8e11ff39a93576ffabca8d74ff0e535014ec761c 100644 (file)
-              Technical notes on version 1.39  
-                        Kern Sibbald
+              Technical notes on version 3.0.x
 
 General:
-30Jul06
-kes  Make bscan ignore ACL streams.
-kes  Update projects files with new Feature Requests.
-kes  Generate current English and French manuals and upload
-     them to the site.
-kes  Update the home page to include the new British/French flags to
-     switch between translations. Work done by Alexandre Baron.
-kes  Make disk-changer script print an error message if the changer
-     directory is not defined.
-kes  Create a generic DB routine for getting an int (32/64 bit) from
-     the DB.
-kes  Add more migration code.
-kes  Add a few more files to .cvsignore here and there.
-kes  Minor fixes for SD write rate and despooling rate.
-kes  Turn off new test code in src/console.c
 
-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.
+Release Version 3.0.2:
+16Jul09
+ebl  Fix #1323 about a problem when mounting a requested volume
+     during a restore.
+15Jul09
+kes  Add more example SD Device configurations.
+ebl  Force the client_encoding to SQL_ASCII when database is already
+     using this mode.
+ebl  Fix #1335 about postgresql error message during copy session
+ebl  Cleanup old job records when starting the director 
+     (Created/Running -> Failed)
+14Jul09
+kes  Apply patch in bug #1315 by McMichaeli that fixes scripts/logwatch
+kes  Add more output when spooling and no space left
+ebl  Fix postgresql driver bug that displayed <NULL> rows from time to time.
+ebl  Implement the project 'restore' menu: enter a JobId, automatically 
+     select dependents
+ebl  Should fix #1323 about verify accurate jobs and deleted files.
+13Jul09
+kes  Send bootstrap directly from DIR to SD
+kes  Create build scripts for Win64 somewhat equilavent to the Win32 ones.
+10Jul09
+ebl  Print correct JobId in bls, should fix #1331
+kes  Apply python detect patch from Bastian Friedrich <bastian.friedrich@collax.com>
+09Jul09
+kes  Add --with-hostname to ./configure
+mvw  Changed ACL_OTHER into ACL_OTHER_OBJ as IRIX doesn't seem to have
+     ACL_OTHER. Fixes bug #1333
+03Jul09
+ebl  Should fix the first part #1323 about the restore option
+     'List Jobs where a given File is saved' wich display deleted files
+02Jul09
+ebl  Make estimate command accurate compatible. Should fix #1318
+ebl  Add estimate accurate=yes/no
+01Jul09
+kes  Fix bug #1317 Allow duplicate jobs = no does not work
+28Jun09
+mvw  Fix missing case for NetBSD xattr restores.
+25Jun09
+kes  Modify xattr.c and acl.c not to fail the job on errors. This should
+     fix bug #1305.
+23Jun09
+mvw  Fix 2 rather big bugs in the xattr and acl code and fix a small
+     memory leak on a particular code path for Linux xattr/acl handling.
+ebl  Update FileSetId when initializing job.
+ebl  Add '*' when volume is online when displaying volume list in restore.
+       Should complete project 31.
+21Jun09
+kes  Re-fix bug #1311 if MaxDiffInterval exceeded ensure job upgraded
+17Jun09
+kes  Fix bug #1305 make errors obtaining acl during backup non-fatal
+kes  Fix bug #1309 inappropriate error message during btape fill command
+kes  Fix bug #1307 AllowHigherDuplicates=no prevents automatic job escalation
+12Jun09
+kes  Remove non-portable code referencing pthread_t fixes bug #1308.
+kes  Create patch that may fix bug #1298 and bug #1304, which causes
+     an SD crash after canceling a job.
+08Jun09
+kes  Attempt to get bat conf file installation to work with DESTDIR
+05uun09
+kes  Improve error messages when a migration sql query is used and correct
+     the problem identified in bug #1303 with starting Job names
+     containing spaces.
+ebl  Fix #1306 about a problem when building the static bconsole
+26May09
+ebl  Apply Steve Polyack patch to add DirSourceAddress and FDSourceAddress
+     directives. That permits to choose the outgoing interface.
+25May09
+mvw  Allow acl and xattr to be explicitly enabled and fail the configure
+     if we are asked to enable acl or xattr support and the OS doesn't support
+     acls or xattrs.
+23May09
+kes  Create Client record in database at startup -- makes bat work better.
+kes  When doing a tree selection restore, look at the PurgedFiles column
+     in the first JobId, and if non-zero, the Job was purged, so do
+     not do selection.
+21May09
+kes  Add Catalog = all to the default Messages resource.
+19May09
+ebl  Fix #1029 about IPV6/IPV4 address resolution order with help
+     of David Steinn Geirsson.
+kes  During jcr destruction hold jcr_chain lock only for minimum
+     time necessary.  This should fix the SD deadlock in bug #1287.
+18May09
+kes  Simplify messages printed by SD when reserve fails. This
+     should fix bug #1285.
+14May09
+kes  Apply fix to sql_cmds.c suggested by
+     Ulrich Leodolter <ulrich.leodolter at obvsg.at>
+     which prevents restore by file selection from using
+     Copy jobs.
+kes  Add new nagios_plugin_check_bacula.tgz from
+     Masopust, Christian <christian.masopust at siemens.com>
+kes  Add bconsole @help command
+kes  Fix Show FileSet command to handle spaces
+04May09
+kes  Add --with-bsrdir and --with-logdir for placement of Bacula bsr
+     files and Bacula log files.
 
-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.
-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.
-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
-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.
-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.
-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
-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).
-09Jul06
-- Modify read_record and friends to properly deal with migration      
-  needs.
-- 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.
-  ==========================================================
+       
+Release Version 3.0.1:
+29Apr09
+kes  Fix bug #1282 Setting job.Priority in python crashes director by
+     checking if string addr is NULL.  Not tested.
+kes  Fix bug #1281 allow all on restore command line to restore
+     pruned JobIds without prompting.
+28Apr09
+dirk Correct bat Select dialog. Fixes bug #1276.
+kes  Check for job_canceled() in fd_plugin code.
+kes  Update Win32 table creation to have new DB version 11 format
+kes  Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf
+27Apr09
+ebl  Fix bug #1274 where a migration job can be canceled like the
+     original job by the MaxRunTime directive.
+mvw  Added fix for bug #1275 where acl or xattr data is saved for
+     virtual filenames generated by filed plugins.
+26Apr09
+ebl  Remove "Reposition" message when restoring
+kes  Fix platform scripts not to clean configured files during
+     'make clean' use 'make distclean' to clean everything. Fixes
+     bug #1272.
+kes  Update projects file
+21Apr09
+ebl  Tweak version string to display versionid field at the end
+     and keep fields order.
+16Apr09
+kes  Add additional mysql connection debug code submitted by:
+     Chandranshu <chandranshu@gmail.com>
+14Apr09
+kes  Fix bug #1246 Sometimes access denied with VSS enabled. UCS
+     conversion cache was not properly flushed at the end of a Job.
+kes  Fix bug #1268 Full Max Run Time cancels jobs (when Max Run Time = 0).
+11Apr09
+kes  Modify insertion of read Volumes in SD to be done before the
+     drive reservation. This ensures that a Volume to be read will not
+     be reserved for writing. Significant enhancement.
 
-- 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.
-  ==========================================================
+Release Version 3.0.0:
+05Apr09
+kes  Fix Win32 make clean to clean correctly 
+kes  Cleanup Win installer dialog messages a bit ...
+04Apr09
+kes  Separate object/binaries in Win32 and Win64 builds. More to be done.
+kes  Add bconsole to Win64 installer.
+03Apr09
+kes  Implement more automatic build of Win64 client. Note, there are still
+     lots of warning messages, but it seems to build a correct binary.
+02Apr09
+kes  Enhance Job messages from SD when the FD->SD protocol is incorrect
+     and the SD hangs up. Previously this looked like a comm error.
+mvw  Fixed problem in xattr and acl code trying to send empty acl or xattr
+     streams.
+mvw  Fix for bug #1261 where we send out a null stream when a file only an
+     acl and xattr support is also turned on.
+mvw  Added some warnings to configure when using libtool and static in
+     one configure.
+30Mar09
+ebl  Fix small memory leak in fileregexp bsr code
+29Mar09
+kes  Correct bacula32.def entry point as specified by James.
+kes  Add code to FD plugin driver to make a copy of the plugin
+     filename to be saved to avoid save_file from zaping it.
+28Mar09
+kes  Directly mark all files saved by plugin as being seen for Accurate.
+kes  Add checks on the plugin version and the plugin license. Currently
+     only implemented for FD plugins.
+kes  Add installation of /usr/share/doc/bacula
+kes  Modify plugin checkFile to return bRC_Seen to cause file
+     to remain.  Previously was true/false.
+27Mar09
+kes  Implement installation of bat help files
+     The help files are installed in the htmldoc dir and can be set
+     by --htmldoc=xxx on the ./configure. Default is:
+     /usr/share/doc/bacula/html
+kes  Update projects file
+kes  Apply patch from  Pasi Karkkainen <pasik@iki.fi> that adds
+     Previous Job name to migrate job report.
+26Mar09
+kes  Apply bacula-autoconf-db-m4.patch from Kjetil Torgrim Homme 
+     <kjetilho@linpro.no> that doesn't *require* the static libraries
+     for the SQL database engine. Fixes a build problem if the static
+     libraries are not loaded.
+25Mar09
+ebl  Update Makefiles to compile win64 using make WIN64=yes
+kes  Disable plugin options in ua_run.c
+kes  Added the following to provide solutions to the plugin/Accurate
+     problem -- bug #1236 Cannot restore incremental backups with 
+     the Exchange plugin.
+     - New Bacula read-only variable bVarAccurate -- returns accurate flag
+     - New Bacula write-only variable bVarFileSeen -- marks a file as seen
+     - New plugin entry point -- checkFile that is called at the end
+       of an Accurate job and allows the plugin to mark a file as seen.
+24Mar09
+kes  Temporarly turn off comm timers because it causes bat to seg fault.
+     Must research making SIGUSR2 work with bat and Qt.
+24Mar09
+ebl  Use MTIMEONLY fileset option in accurate check
+23Mar09
+ebl  Tweak code to compile win64 version with mingw
+21Mar09
+Kes  Attempt to correct timing problems with starting bat and obtaining
+     lists. Maintain in_command counter to know when a list is coming.
+20Mar09
+kes  Convert seconds.seq separator into seconds_seq so that Bacula
+     editing of the Job name from the full Job name works. This fixes
+     bug #1255 'variable %n changed'.
+kes  Second half of proposed fix for bug #1227 that does not
+     mark virtual volumes for unloading.
+kes  Proposed fix for bug #1227 Job and labeling new tape.
 
-- 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
-05Jul06
-- 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
-  ===========================================================
+Beta Release 2.5.42-b2
+16Mar09
+kes  Increase timeout for unmounting DVD as suggested by reporter
+     of bug #1250.
+15Mar09
+jh   Fix by James Harper to print error code when attempting to
+     restore two databases (only one is permitted). This responds
+     to bug #1234.
+kes  Apply the nodump patch supplied by Frank Kardel that fixes
+     the NODUMP flag problem. This fixes bug #1221
+kes  Add more output if a user attempts to clone a job but does not
+     uniquely specify the Job name.  This responds to bug #1248 which
+     was not a bug, but improves user feedback.
+14Mar09
+kes  Fix problems with bug #1247 and 64 bit time_t OSes by not 
+     editing (printf) time_t values.
+12Mar09
+kes  Install bacula (start/stop script) in sbindir in addition to
+     scripts dir.
+ebl  Tweak configure to remove bash specific code
+ebl  Remove TCABD reference
+11Mar09
+ebl  Free lock manager in when btape exits
+09Mar09
+kes  Apply patch from bug #1224, which fixes waiting on max Storage
+     jobs during migration.  Submitted by Alexandre Simon.
+kes  On 03Mar08 (a year ago) applied patch from bug #1059 (kardel)
+     to implement the NODUMP flag on FreeBSD.
+07Mar09
+kes  When deleting a Volume by MediaId require the Id to be
+     prefixed by a * to avoid confusing with an integer volume
+     name.
+kes  Prevent bls from printing binary data when a plugin stream
+     encountered. This fixes bug #1238
+kes  Prepare to add JS_Warnings termination status.
+kes  Attempt to resolve bwx-console Win32 crash. Not likely to
+     work.
+06Mar09
+kes  Move src/win32/dll to src/win32/lib, which is much more logical.
+kes  Fix the Win32 build.
+kes  Fix broken casting in src/compat/print.cpp.
+kes  Eliminate jcr Errors and always use jcr JobErrors.  This should
+     ensure that SD and FD errors are correctly reported.  Also add
+     JobErrors to SD returned values. This should fix bug #1242.
+28Feb09
+mvw  Implemented xattr support for Solaris 9 and above and extensible
+     attributes for OpenSolaris.
+mvw  Added some limits to the xattr code so that we don't blow up the
+     filed on big xattrs.
+mvw  Fixed some comments which changed due to xattrs being implemented.
+mvw  Changed xattr support checking in configure to test first for
+     generic solutions and when not found for specific OS functions.
+25Feb09
+mvw  Don't try to copy empty jobs (e.g. with jobbytes == 0)
+     which gives Unable to get Job Volume Parameters errors.
+     Which leads to copying the same job over and over again.
+21Feb09
+kes  Ensure that src/qt-console/.libs is cleaned properly
+20Feb09
+mvw  Use acl_data_len instead of seperate var for length
+     of acl stream.
+ebl  Add database update scripts to updatedb dir
+19Feb09
+ebl  Fix #1226 about bconsole segfault when using readline()
+18Feb09
+kes  Apply Eric's next-beta.patch that enables 64 bit FileIds and
+     adds new columns to the catalog.
+kes  Ensure that libtool directory always cleaned + reduce 
+     unnecessary output during make clean.
+15Feb09
+ebl  Check postgresql database encoding that should be SQL_ASCII
+     and print a warning if it's something else.
+08Feb09
+kes  Free name item in guid_to_name.c when already in list.
+kes  Add more info to error message in ua_tree.c
+05Feb09
+kes  Make re-read last block fatal if block numbers differ by
+     more than one.
+30Jan09
+ebl  Try to disable _FORTIFY_SOURCE by default
+29Jan09
+ebl  Tweak compat.h for new mingw
+28Jan09
+ebl  Add new ScratchPool directive to Pool. Thanks to Graham
+ebl  Turn on db_get_file_list() single SQL because the failure
+     was due to a full FS. And the accurate test fails with the
+     other code.
+27Jan09
+ebl  Fix a bug that doesn't update RecyclePool all the time 
+     during the first startup.
+25Jan09
+kes  Turn off db_get_file_list() giant SQL because if fails on
+     my production machine.
+kes  Fix bat.pro.in so that bat is properly installed rather
+     than just copied.
+24Jan09
+kes  Modify search for .conf file so that if one is given on
+     the command line, it will be used, otherwise it will use
+     the SYSCONF directory.  It will no longer look in the current
+     directory unless explicitly requested on the command line.
+     This fixes bug #1189.
+kes  Fail a job that references a plugin if no Plugin Directory is
+     defined.
+22Jan09
+kes  Fix bug #1211 crash during reload with bad dird.conf file.
+21Jan09
+ebl  Add detection of intptr_t and uintptr_t to configure process
+20Jan09
+ebl  Change some cast to use intptr_t instead of long
+18Jan09
+kes  Apply acl_solaris_update.patch submitted by Marco (thanks).
+kes  Remove configure check for resolv.h -- it is apparently not needed
+     and causes build warnings on FreeBSD.
+kes  Ensure that the installer and newinstaller Makefiles are called
+     during a make clean.
+12Jan09
+kes  Apply Eric's fix for suppressing extended attributes error messages
+     when dealing with deleted files.
+11Jan09
+kes  Add src/win32/newinstaller -- single file installer
+kes  Attempt to explicitly call gmake when needed, or if not found
+     skip the calls.  This should fix the FreeBSD regression/build.
+10Jan09
+kes  Fix bat.pro.in so that bat will install.
+09Jan09
+kes  Add more debug output to VSS init.
+kes  Attempt to correct win32 debug in berrno.
+09Jan09
+kes  Fix bug reported by Dan where make fails in clean of src/win32. 
+07Jan09
+kes  Fix bug #1212, SD is unable to recycle purged volumes. fstat()
+     was broken.
+06Jan09
+ebl  Despool attributes directly from the director if attribute
+     spool file is present
+Beta Release 2.5.28-b1
+05Jan09
+kes  Fix bat install broken by $DESTDIR change.
+02Jan09
+kes  Fix annoying compiler warnings in console/conio.c
+kes  Fix win32 build (depended whether or not ./configure was run).
+28Dec08
+kes  Apply fix suggested by Bruno Friedmann to configure.in to
+     find python2.5
+26Dec08
+kes  Turn on Eric's match_bsr tape block checking code.
+kes  Correct values used for tape block numbers in record.c.
+23Dec08
+ebl  Fix a problem with PoolUncopiedJobs option which was broken
+     by the new JT_JOB_COPY type.
+kes  Fix bug #1206 -- Error: sql_update.c:194, which was probably
+     caused by the user modifying the Bacula DB schema.
+kes  Remove rogue line of C code.
+kes  Fix bug #1208
 
-- 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.
-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.
-26Jun06
-- Write install/uninstall of new manpages. There are now a
-  pile of man pages. Some of which need a lot of work.
+Beta Release 2.5.28-b1
+02Jan09
+kes  Fix annoying compiler warnings in console/conio.c
+kes  Fix win32 build (depended whether or not ./configure was run).
+28Dec08
+kes  Apply fix suggested by Bruno Friedmann to configure.in to
+     find python2.5
+26Dec08
+kes  Turn on Eric's match_bsr tape block checking code.
+kes  Correct values used for tape block numbers in record.c.
+23Dec08
+ebl  Fix a problem with PoolUncopiedJobs option which was broken
+     by the new JT_JOB_COPY type.
+kes  Fix bug #1206 -- Error: sql_update.c:194, which was probably
+     caused by the user modifying the Bacula DB schema.
+kes  Remove rogue line of C code.
+kes  Fix bug #1208
 
-  ======================= 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.
-  ==========================================================
+Beta Release Version 2.5.26
+20Dec08
+kes  Correct typo in Win32 Makefile editing
+kes  Correct typos in debug output.
+kes  Improved error detection in creating bsrs.
+kes  Add debug code to Win32 restore
+19Dec08
+kes  Fix Win32 build.
+ebl  Cleanup director VolParam struct
+18Dec08
+ebl  Replace File:Block in BSR by Address to fix #1190
+16Dec08
+kes  Correct missing return in Darwin code.
+15Dec08
+ebl  Copy joblog after a Copy job
+14Dec08
+kes  Tweak block.c read to more closely simulate write for computing
+     block addresses and turn on disk block testing.
+kes  Implement a crude 'list joblog' mostly for debugging.
+13Dec08
+kes  Fix Migration bug #1206 sql error with NULL FileSetId when no jobs
+     to migrate.
+kes  Fix Migration JobLog bug #1171. Get the JobIds correct.
+12Dec08
+ebl  Fix segfault in bscan when using debug mode
+11Dec08
+kes  Fix configure to do minimum Win32 configure so that make clean
+     works.
+kes  Tweak modify FD header to use %ld instead of %d.
+kes  Remove hand scanning of FD header in SD and use Bacula's
+     sscanf, which is now OS independent.
+kes  Define new object (file/dir) begin and end Volume label records 
+     in SD.
+kes  Use new method of defining XATTR #defines to avoid need for having
+     them in config.h.in
+10Dec08
+ebl  Rename all STREAM_ACL_..._T into STREAM_ACL_..
+09Dec08
+ebl  Add a new lock manager that can detect deadlock situation
+     This new option is activated with a --enable-lockmgr configure
+     option.
+ebl  Add new Director->MaxConsoleConnections directive
+03Dec08
+ebl  Fix bacula-sd hanging after tape gets full + unload 
+02Dec08
+ebl  Remove extra db_lock() in get_prune_list_for_volume()
+ebl  Apply 2.4.3-prune-deadlock.patch that fixes a problem when
+     using Catalog as message backend.
+01Dec08
+kes  Apply Marco's Darwin xattr patches.
+28Nov08
+kes  Fix Win32 build.
+26Nov08
+kes  Apply Marco's Extended attribute support patch.
+kes  Update projects file
+25Nov08
+kes  More changes to ensure that during thread switches the jcr
+     is removed from the TSD.
+kes  Ensure that consoles attach jcr to thread, and that only the
+     thread attached is removed from the TSD.
+24Nov08
+kes  Move definition of FileId_t to bc_types and define it once in the jcr.
+22Nov08
+kes  Remove all time_t from arguments in favor of utime_t, which is
+     machine independent.
+kes  Add more debug to match_bsr.c and use %u for unsigned debug editing.
+20Nov08
+ebl  Apply patch for bug #1182  about Recycle flag
+     that is not updated after a pool change.
+kes  Since the user has been warned, allow console purge command 
+     to purge volumes that are in use.
+kes  Fix Win32 build to add new sd_plugins.c
+ebl  Apply patch from bug #1175 that reset the Slot and the Inchanger
+     flag in db_make_inchanger_unique().
+ebl  Remove a Emsg() after recieving a Fatal signal that can lock
+     the catalog.
+19Nov08
+kes  Apply patch from bug #1187. It prints an error message if the
+     Maximum Block Size in the SD is too big.  
+kes  Increase Maximum Block Size to 2,000,000 bytes.
+kes  Use doubly linked bsr list so that consumed bsrs may be
+     removed.  Removing not yet implemented.
+18Nov08
+kes  Implement a fix that very likely fixes the undesired volume
+     purge reported by Graham Keeling.
+kes  Implement bsr block level checking for disk files. However,
+     it does not work correctly in accurate tests, and all the
+     migration and copy tests, so it is turned off.
+ebl  Make SD plugins work.
+14Nov08
+ebl  Apply Riccardo's patch to compile bacula+mysql on mandriva
+13Nov08
+ebl  Add more variables accessible through the director plugin
+     interface.
+12Nov08
+ebl  Do work on plugins
+     - fix compilation of the director plugins
+     - add plugin list to status dir output
+     - add director plugin dump after a fatal signal
+ebl  Apply Riccardo's patch that fix some win32 compilation errors 
+     and a bug with bat version browser.
+11Nov08
+ebl  Add Plugin debug after a fatal signal.
+ebl  Add db and rwlock debug after a fatal signal.
+10Nov08
+ebl  Fix maxwaittime to fit documentation, this time is now counted
+     from the job start and group all wait periods.
+ebl  Add tips for postgresql to improve performance when having
+     multiple batch insert at the same time.
+09Nov08
+ebl  Remove extra debug for db lock.
+07Nov08
+kes  Apply Riccardo's second patch that cleans up the #include
+     file order + a few Win32 particularities to make bat work
+     on Win32.
+ebl  Add allow_transactions flag to mysql db backend.
+kes  Apply win32-fixes patch from Riccardo that makes the Win32
+     bat more stable and faster (but still slow).
+06Nov08
+kes  Fix bug with job name duplication if more than 60 jobs created
+     during a minute.
+kes  Correct some bugs of cleanup in SD if the FD connection fails.
+ebl  Add code to get more information after a fatal signal.
+05Nov08
+ebl  Apply Bastian's patch that add spooldata=yes|no option
+     to run command.
+04Nov08
+ebl  Fix bash shell to sh shell in database creation script
+02Nov08
+kes  Fix orphaned jobs (possible deadlock) while pruning.
+kes  Use jcr stored in bsock rather than searching in getmsg.c.
+     This results in about a 5% speed improvement with four
+     concurrent jobs.
+kes  Implement win32_chmod that uses wide characters, if possible,
+     to get and set the file attributes.
+29Oct08
+kes  Apply pane freezing during updates patch from Riccardo Ghetta.
+kes  Rework next_vol and autoprune a bit due to failure in
+     recycle-test.  prune_volumes() now returns no status,
+     but should prune at least one Volume, if possible.
+kes  Modify check_if_volume_valid_or_recyclable to reject a
+     volume with Recycle set off.
+kes  Modify prune_volumes() to continue if volume Recycle is off
+     or if the volume has expired. Add more debug.
+28Oct08
+kes  Fix bug #1046 VolumeToCatalog incorrectly reports mounted 
+     filesystems as missing on the Volume.
+kes  Rewrite the set_jcr_job_status() code to include job status
+     priorities so that more important status changes occur but
+     lower priority status changes will not overwrite something
+     more serious.  This could possibly cause reporting incorrect status
+     reporting in some cases.  More testing is needed to ensure
+     I have the right priorities. This vastly simplifies the previous
+     contorted logic.
+     Verify Diff status should now be correctly reported, whereas it
+     was previously lost.
+kes  Reduce some debug output.
+kes  Apply Joao's patch to SQLite tables to make chars work.
+27Oct08
+ebl  Fix #1175 About update slots that don't reset InChanger flag when 
+     slot is empty.
+ebl  Fix #1173 where prune_volume() returns a volume from the scratch.
+25Oct08
+kes  Remove jobq.c constraint that read and write SD must be
+     different. This may lead to more deadlocks in the SD,
+     but they should be resolved there.
+kes  Ensure that job report is always printed even if job is failed
+     in the director.
+kes  Don't print job report twice for failed VBackup jobs.
+24Oct08
+kes  Fix editing of retention time difference to use 64 bit
+     int instead of 64 bit unsigned. This should permit very
+     long retention periods.
+kes  Implement code to prohibit a write job from appending to  a 
+     Volume that will be used for a read operation.  This is
+     new code and could possibly cause some conflicts.
+23Oct08
+kes  Integrate James Harper's Exchange Win32 plugin patch.
+kes  Apply patch from Marco van Wieringen that implements the new
+     Solaris libsec interface for ACLs so that Bacula can save and
+     restore both the new ACLs and old ACLs.
+kes  Marco's patch also corrects the file dependency generation code
+     so that it works properly both with shared libraries and static
+     libraries.
+kes  Marco's patch also includes a small cleanup of the cats Makefile
+     to remove some references to non-existent files.
+22Oct08
+kes  Modify win32 Makefiles to use full paths in most cases.
+     In particular add MAINDIR environment variable that points
+     to the main Bacula source directory.
+21Oct08
+kes  Add read volume list code to SD -- not yet used.
+kes  Add James' binutils patch
+kes  Split volume management code out of src/stored/reserve.c into
+     a new file vol_mgr.c 
+kes  Modify configure to do an automatic make clean.  This ensures
+     that any changes to ./configure options are handled correctly.
 
-- 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
-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 ...
-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
+Beta Release Version 2.5.16
+19Oct08
+kes  Add Makefile dependency when using LIBTOOL_LINK so that any
+     change in ./configure options will be accounted for.
+18Oct08
+kes  Fix typo in the ACL patch that I overlooked.
+kes  Apply Marco's libtool include patch.
+17Oct08
+kes  Apply Bastian Friedrich's ACL patch to eliminate ACL
+     errors during restore.
+kes  Minor cleanup of create_restore_volume_list() code.
+kes  Fix typo in console Makefile.in
+16Oct08
+ebl  Fix #1110 about RunScript that can't execute a script with
+     Unicode caracters in the path.
+15Oct08
+kes  Apply tray-monitor patch from Bastian Friedrich to make it
+     work with the new FD.
+14Oct08
+kes  Apply cleanup patch from Marco
+kes  Apply patch from  Marco van Wieringen <mvw@planets.elm.net>
+     that implements libtool to create shared objects out of
+     the Bacula libraries.
+kes  Fix tray-monitor so it will speak to new FD.
+ebl  Fix bug with ansi label when volume name length < 6
+ebl  Fix segfault in debug level > 50 with btape.
+ebl  Remove warning message in btape when command is empty.
+kes  Fix Win32 build to pull in new BACULA define.
+13Oct08
+kes  Change IncludeDir to Exclude Dir Containing.
+kes  Implement code to prohibit ExcludeDirContaining in an
+     Exclude section (same for Plugin and Options).  A bit
+     of a kludge with RES_ITEM2 ...
+ebl  Add field to command list to restrict Runscript console
+     command.
+ebl  Use a separate JCR when running Console command with Runscript.
+ebl  Permit to mark version as Beta in some ouputs
+11Oct08
+kes  Add plugin types in jcr.h to reduce need to cast.
+kes  Do better checking of plugin return values.
+kes  Free plugin context after calling pluginFree() as
+     requested by James.
+kes  Allow plugin to call JobMessage with NULL context.
+kes  Do not add plugin to global list if loadPlugin returns error.
+kes  Rework plugin.h a bit to reduce dependence on Bacula.
+10Oct08
+kes  Move generation of bsr file for Virtual Backup to run section
+     so that it is generated just before actually running.
+     Suggested by Graham Keeling.
+09Oct08
+kes  Add malloc and free Bacula entry points for plugins. Increment
+     FD plugin interface version. Create a bacula plugin context 
+     structure to keep track of whether or not the plugin is disabled.
+kes  Apply FileIndex fix for plugin name stream suggested by James.
+kes  List plugins in FD status report when debug > 0.
+08Oct08
+ebl  Add a new VerId variable that is printed in version command.
+kes  Fix migration SQL not to migrate a job that has not terminated.
+     This is a partial fix to bug #1164.
+kes  Sort JobIds returned from db_accurate_get_jobids() to fix Virtual
+     backup start time bug reported by Graham Keeling.
+08Oct08
+ebl  Fix possible bug in cancel_job() with job that are not
+     yet created.
+07Oct08
+kes  Fix bat build for Win32.
+06Oct08
+kes  Copy plugin link field into ffpkt.
+05Oct08
+kes  Integrate patch from Kjetil Torgrim Homme <kjetilho@linpro.no>
+     It provides FileRegex in bsr files and code to collect regex
+     from the user during restore, an Allow Mixed Priorities feature,
+     and documentation for the above.
+ebl  Remove db berkeley from configure process
+kes  Do dirty check on hostname (Linux only) and if not resolvable
+     use localhost as default.
+kes  Increase vtape max block to 20GB.
+04Oct08
+kes  Refactor restore code to create a close_previous_stream(). This
+     This may destabilize the source.
+kes  Implement planned startRestoreFile() plugin call.
+ebl  Remove missing Loaded information from status slots storage command.
+ebl  Fix Console command problem that cancels the job
+kes  Add more plugin restore debug code.
+03Oct08
+kes  Fix plugin_bwrite - plugin-blseek mixup pointed out by James.
+kes  Rewrite plugin restore interface a bit to correspond to how Bacula
+     creates and writes to the restored file.
+kes  Add some DebugMessage() calls to the bpipe-fd.c program.
+30Sep08
+kes  Apply Marco van Wieringen's set of patches, cleans up Migration/Copy
+     Implement 'Pool Uncopied Jobs', allow Solaris Compiler to build
+     Bat; allow add and delete in place of mark and unmark.
+kes  Another attempt to fix the endRestoreFile plugin bug noted below.
+29Sep08
+kes  Apply dbi driver patch from Joao.
+kes  Correct a bug in passing the context to the endRestoreFile() plugin command.
+     Bastien Friedrich reported the bug.
+kes  Create plugin instance only when FD job starts.
+kes  Add new FD plugin event: bEventCancelCommand when
+     a cancel command is issued to the FD.
+28Sep08
+kes  Add cmd_plugin flag to jcr so we can globally know if a 
+     command plugin is running.
+kes  If command plugin running, do not attempt (for the moment)
+     to get Win32 extended attributes.
+kes  Ensure that proper Win32 flags are set in bfile packet
+     if plugin_bopen() works on Win32.
+kes  Remove generated src/plugins/fd/Makefile
+27Sep08
+kes  Implement build and install of bpipe-fd.so plugin.
+kes  Rework the interface that passes packets to the plugin
+     so that the packet is started and ended by the packet size.
+     This allows the driver to do a sanity check.
+26Sep08
+kes  Rework the pluginIO Bacula internal code to enable   
+     proper handling of Win32 error codes from GetLastError.
+kes  Apply Joao's patch to regress startover_libdbi.
+25Sep08
+ebl  Add -B option to dbcheck to get catalog information
+kes  Fix Win32 build to include new library function.
+kes  Remove some old reader/writer code.
+kes  Implement ./configure --with-plugindir=xxx
+ebl  Fix the mysql bug in the new accurate code
+kes  Improve plugin debug. Create plugin test.
+kes  Set main thread specific data to INVALID because it
+     has no jcr. This allows debug output to work correctly.
+kes  Add src/plugins/fd/Makefile to ./configure process.
+kes  Make first cut attempt to correct SQL that computes the current
+     Pool usage.  This is to fix bug #1159.
+kes  Do a bunch of plugin cleanups for Win32 and more careful checking
+     of PluginDirectory and whether or not a plugin was found.
+24Sep08
+kes  This code should fix the race condition that leads to a Director
+     crash at job end time when the job list is updated. This was reported
+     in bug #1162.
+kes  Add more plugin documentation and fix include of config.h for
+     Win32 build (I hope).
+22Sep08
+ebl  Revert to htable instead of rblist
+ebl  Cleanup accurate code (remove tcdbm parts) and use red/black
+     tree instead of htable.
+ebl  Use a dedicate DB link to compute and send the accurate list
+     file to the client.
+21Sep08
+kes  Fix compile errors in filed/fd_plugin.c.
+20Sep08
+kes  Remove all double quotes from SQLite creating script and
+     replace by single quotes as suggested by John Huttley.
+18Sep08
+kes  Apply dbcheck patch from Yuri Timofeev <tim4dev@gmail.com>.
+     It significantly improves the performance of dbcheck for
+     MySQL.
+kes  Fix bad debug code call in src/filed/accurate.c
+17Sep08
+kes  Change two Jmsgs in accurate to Dmsg to reduce unnecessary
+     output. Perhaps we really need to implement M_SAVED.
+16Sep08
+kes  Fix bug #1156 FD crash during processing of Accurate data.
+kes  Tweaks to htable code to improved debugging and make names
+     a bit more meaningful.
+15Sep08
+ebl  Remove time_t from update_stats()
+14Sep08
+kes  Modify the license of the example plugin program to allow
+     it to be used by anyone for making a Bacula plugin.
+kes  Make apply_rp_codes() in bpipe-fd.c be static.
+13Sep08
+kes  Remove Encryption and Accurate lines in vbackup output -- not used.
+kes  Fix subtle bug in vbackup by not changing DEV_RECORD packet.
+kes  Add host name to items printed during dump.
+kes  Make Check File Changes default on.
+11Sep08
+kes  Set the default FD timeout to 3 minutes (previously 30).
+kes  Apply Bastian Friedrich's weird spelling correction patch.
+10Sep08
+kes  Always print Verify hash differences. Rename variable to make the
+     code slightly more readable.
+09Sep08
+kes  Correct tests for MaxFullInterval as reported by
+     Ulrich Leodolter <ulrich.leodolter@obvsg.at>..
+kes  Fix MaxDiffInterval code as well.
+kes  Enable Win32 plugin load code in lib.
+kes  Make Verify code that computes disk checksums use the same
+     algorithm as backup when dealing with sparse files.
+kes  Attempt to run VSS on any systems newer than Vista -- should
+     make it work on Windows Server 2008.
+ebl  Change the new statistic implementation. Remove the UseStatistic
+     directive and add a 'update stats [days=...]' command. You can
+     now decide when copy job records from Job table to JobStat.
+     Statistics are much more accurate with this.
+08Sep08
+kes  Fix SQL case problem that may cause the failure of DiskToCatalog
+     in bug #1149.
+kes  First cut adding SD plugins.
+03Sep08
+kes  Add Slot if it is non-zero to writing bsr file after a
+     backup.
+kes  Change a number of bnet_fsend() into class method calls.
+kes  Begin audit of diff of 2.4 branch to trunk code.
+01Sep08
+ebl  Fix the mysql creation script that double-created an 
+     index of the same field on the Media table.
+     Add an index to on VolumeName to the Media table for mysql.
+30Aug08
+kes  Another try at fixing Vbackup. It looks much better this time.
+     Disable file index sanity check in FD with value stored in
+     attributes record because with Vbackup the File Index gets
+     changed, but not the attributes record.
+     Enhance some debug code.
+     Fix handling of re-indexing records that are copied in Vbackup.
+29Aug08
+kes  Made level_to_str() know about Virtual backup.
+kes  Set correct Virtual backup write pool.
+kes  Fix compile warning in new dbcheck port code.
+kes  Fix migration code broken by previous virtual backup fix.
+28Aug08
+kes  Fix problem of Virtual backup not writing a sequential FileIndex.
+kes  Reset Virtual backup time/date to the value from the last backup.
+kes  Ensure that storage name is passed to SD on read.
+kes  Correct a problem with Level and Virtual backup, rework how
+     bsrs are printed in debug to use standard routine.
+kes  Apply patch from Chris in bug #1133 that provides alternate db port
+     support for dbcheck.
+ebl  Remove catalog dependency from bcopy tool.
+ebl  Modify catalog scripts to have an easier packaging integration,
+     using default variables.
+     Make difference between SQLite3 and SQLite in db_get_type()
+27Aug08
+kes  Apply most of changes in a patch from:
+      Michael Stapelberg <michael+bacula@stapelberg.de>
+      that allow the Bacula FD to compile on IRIX 6.5.
+26Aug08
+kes  Apply patch from Bastian Friedrich that accepts a yes on a
+     delete volume command line.
+kes  Attempt to fix bug #1128 InChanger flag cleared during Migration
+     job when reading from one autochanger and writing to another.
+kes  Minor tweaks (copyright dates convert to use method instead of bnet).
+21Aug08
+kes  Fix NULL Volume error when reading (or Migration or VBackup) must switch
+     drives when no tape is mounted.
+18Aug08
+kes  Add additional info to some SD messages.
+kes  Add fix supplied by Martin Simmons for turning off EOL character
+     in new console multi-command code.
+14Aug08
+kes  Fix a Verify InitCatalog problem where in certain cases
+     a garbage filename may be entered in the verification database.  This 
+     fixes bug #1143.
+13Aug08
+kes  Add VSS 64 bit dll entry point in src/win32/filed/vss_generic.cpp
+     sent in by Riyas Yoosuf.
+12Aug08 
+kes  Fix seg fault in Dir during estimate command with no level value
+     given. This fixes bug #1140.
+08Aug08
+kes  Add message to migration job when the target job is already migrated.
+     This closes bug #1129.
+30Jul08
+kes  Fix Win32 build.
+kes  Raise some restore debug levels.
+kes  Replace off_t by boffset_t where ever I found it.
+28Jul08
+kes  Define a machine dependent ioctl request type for use with 
+     vtape_ioctl().
+26Jul08
+kes  When a migration job actually runs, re-check the Job record
+     and skip if the job is already migrated. This should
+     significantly reduce the problems with bug #1129.
+24Jul08
+kes  Set MALLOC_CHECK_=0 in environment before starting Bacula to
+     turn off glibc checks that prevent getting good dumps.
+kes  Implement console 'wait mount' command. Doesn't yet work.
+kes  Implement timeout=nn on console 'wait mount timeout=nn' command.
+kes  Break the do_swapping into do_unload, do_swapping, and
+     do_load.  It is much more logical that way.
+kes  Implement a set_dcr_from_vol subroutine in acquire.c for
+     reading volumes. This allows the dcr to be refreshed after being
+     zapped when the wrong volume is mounted.
+     This should fix bug #1126 -- During multiple tape restore, bacula 
+     does not ask for physical tape change, but rereads same tape
+23Jul08
+kes  Apply patch submitted for bug #1107 with a small modification.
+     This fixes a bug where bcopy copied too many records.
+kes  Make some tweaks to bsmtp based on patch submitted in bug #1124.
+     This fixes bug #1124.
+kes  Make the default bat restore Pool be Any. This fixes bug #1118.
+22Jul08
+kes  Remove debug statement that crashes the SD at the end of
+     a tape during restore. Fixes bug #1125.
+21Jul08
+kes  Implement Win32 bat changes made to Branch-2.4
+20Jul08
+kes  Tweak separator command in console to start disabled and
+     allow defining no separator character.  Also make code a
+     bit more fault tolerant.
+kes  Make btraceback write the traceback to the working directory
+     before attempting to mail it.
+kes  Add a RFC to Projects.
+18Jul08
+kes  Attempt to implement a kludge to make Qt work with bat
+     on Win32.
+kes  Setup rstorage correctly. Virtual backups are working.
+17Jul08
+kes  Move setting JobLevel and JobType into a method, which should
+     allow completing Virtual Backups.
+kes  Fix verify jobs to work again.
+16Jul08
+kes  Virtual Backup tweaks -- it is close to working.
+15Jul08
+kes  Ensure that SD tried to mount a volume not in an autochanger
+     at least once before asking for operator intervention.
+kes  Make SD aware of Virtual Backup jobs.
+kes  Add VirtualFull for bat.
+kes  Changes to get read storage correct for Virtual Backup.
+14Jul08 
+kes  Remove old code from label.c
+kes  Split display_display_info() out of write_bsr_file()
+kes  do_vbackup_init() working -- i.e. bootstrap file built.
+kes  Change Bacula trademark owner from John Walker to Kern Sibbald
+kes  First non-working cut of vbackup
+kes  Correct FD heartbeat code to use volatile variable accessed by
+     two threads.
+kes  Zero thread id with memset if on Win32 in case it is a struct.
+kes  If cannot create JobMedia record, continue to try to write eof
+     and clean up in block.c
+12Jul08
+kes  Add code to interface OpenSSL to new Win32 pthreads code which
+     used a structure for thread_t.
+09Jul08
+ebl  tweak bat for win32 compilation
+08Jul08
+ebl  Remove tokyo cabinet from the source
+ebl  Update configure/autoconf to support berkeley DB
+ebl  Add a sort to db_get_file_list() to improve bsr construction time.
+07Jul08
+kes  Add a mtx-changer.conf file that is not overwritten during
+     an upgrade. It fully configures the mtx-changer script.
+kes  Clear in-use bit on vol when unused while swapping.
+06Jul08
+kes  Remove sleep at end of ./bacula
+kes  Clear hash packet for hardlinked files correctly. This corrects
+     a long standing bug where hardlinked files selected individually
+     would occasionally not be restored.
+05Jul08
+kes  Apply Eric's patch to ensure that autoprune does not return
+     a Volume not in the autochanger unless requested to do so.
+kes  Correct bat restore display of multiple drives. This fixes    
+     bug #1117.
+kes  Do find_a_volume() each time an unload is done. This
+     fixes the failure of maxvol2-test.
+04Jul08
+kes  Add some SD debug code.
+kes  Do find_a_volume() each time an unload is done.
+kes  Apply Joao's DBI patch that adds easier configuration of DBI drivers,
+     and adds --with-db-port to ./configure.
+kes  Use Qmsg() in job.c watchdog callback.
+03Jul08
+kes  Release main control rwlock if ABORTing.
+kes  Make watchdog connect timeout queue messages rather than sending
+     directly to avoid lock conflicts with the real thread.
+kes  Add const char in dbd.c to avoid compiler warnings.
+kes  Fix python compiler string warning. Note, IMO the GNU C++ 
+     compiler guys have made a *very* bad change to their compiler.
+     They now force all strings to be 'const' unless you explicitly
+     cast them, which is extremely ugly and ruins nice code as well
+     as creates a lot of useless work.
+02Jul08
+kes  Fix mtx-changer to detect both versions of Ubuntu (Debian)
+     mt. This fixes bug #1116.
+kes  Add const in python files to reduce compiler warnings.
+     This may have to be backed out because of later compiler
+     strict checking.
+kes  Fix failure of 2drive-concurrent-test. Always read label;
+     clear_unload() only after drive is defined in acquire_for_read().
+27Jun08
+kes  Generally clean up the manual tape loading code. The main
+     conceptual change is that when a volume is marked to be unloaded,
+     its volume name is retained, and it is only marked as unloaded
+     when either the autoloader says it is unloaded or another tape
+     is read on that drive.                                     
+25Jun08
+kes  Add debug code and refactor subroutine in stored/mount.c
+kes  Fix format problem in bscan output reported in bug #1105.
+ebl  Fix get_next_volume_for_append logic with autochanger
+      - use pruned volumes if found
+      - don't reset the inchanger flag after getting a recycled volume
+        or a scratch one
+     Fix recycle_oldest_purged_volume to take InChanger flag in account
+23Jun08
+ebl  Add mmap/unmmap implementation for tokyodbm under win32
+22Jun08
+kes  Make first step toward eliminating globals from config
+     scanning. Also should be a workaround for FORTIFY_SOURCE
+     GNU C bug -- fixes bug #1042.
+21Jun08
+kes  Apply duplicate job tests to restarted jobs.
+kes  Copy more data when restarting a job so that run
+     overrides are kept. This should fix bug #1094.
+20Jun08
+kes  More word alignment cleanup.
+kes  Fix bug where SD did not ask operator if the device could not
+     be opened. Reported by Eric.
+19Jun08
+kes  Add dbuser to DIR conf file (replaces user).
+kes  Add --with-db-password to ./configure
+kes  Fix regress to handle db_password.
+ebl  Add new 'status storage slots' that list autochanger
+     content.
+ebl  Update vtape driver to compile only under Linux.
+ebl  Fix a bug when restoring with a wrong mediatype.
+18Jun08
+kes  Eliminate ints from conf files and structures to avoid
+     word alignment problems
+17Jun08
+kes  Fix bug reported by Scott Barninger where the bacula script
+     refers to scripts in the wrong directory. Needed to meet the
+     requirements of recent FHS location changes.
+ebl  Disable vtape for FreeBSD.
+15Jun08
+ebl  Modify disk-changer to check if slot contains something before
+     loading it.
+14Jun08
+ebl  Fix vtape on win32 and debian.
+ebl  Fix autoselect patch (cause segfault).
+13Jun08
+ebl  Fix autoselect option broken for a while. Fix #1089. Need some
+     work with StorageId to be able to use a particular drive in a 
+     autochanger.
+09Jun08
+ebl  Rename vtape to vtape.
+ebl  Update vtape driver.
+08Jun08
+ebl  Modify vtape driver to avoid sparse file.
+kes  Add make clean of qt-source directory during ./configure
+kes  Store last block number written to tape in DEVICE and
+     use it for testing for correct last block on EOT.
 
-  ===================== 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.
-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.
-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.
-04Jun06
-- Modify configure.in to check for typeof().
-- 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.
-27May06
-- 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.
-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.
-
-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.
-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.
-
-02May06
-- Simplify Win32 Makefile
-- Correct count of buffers/bytes used by smartall.c
-- 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.
-30Apr06
-- 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++.
-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
-26Apr06
-- Fix bug in build-win32-cross-tools script reported by Howard
-- 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 ...
-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.
-22Apr06
-- Integrate most of the MinGW changes -- 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
-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.
-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.
-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.
-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.
-16Apr06
-- Change store_bit() to store_bool() for the Spooling in 
-  dird_conf.c -- bug reported by Robert Nelson.
-15Apr06
-- 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 =
-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.
-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.
-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.  
-09Apr06
-- 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.
-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.
-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
-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.
-21Mar06
-- 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>
-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
-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.
-
-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.
-
-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). 
-
-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.
-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.
-26Feb06
-- Fix the block listing bug pointed out by Arno.
-- 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.
-
-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.
-
-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.
-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.
-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.
-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
-07Feb06
-- 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.
-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.
-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.
-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, ...).
-15Jan06
-- 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.
-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.
-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).
-
-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.
-07Jan06
-- 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.
-
-
-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.
-26Dec05
-- 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.
-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.
-17Dec05
-- Fix seg fault if user labels a drive directory bug #513
-- 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.
-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.
-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.
-
-Changes to 1.39.2:
-13Dec05
-- Add stubs for non-crypto build.
-12Dec05
-- 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.
-10Dec05
-- Merge changes made to 1.38.3 into HEAD
-- Add stubs for pygtk-console code
-- 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.
-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.
-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".
-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.
-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.
-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.
-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.
-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.
-Changes to 1.39.0:
-23Nov05
-- Add red-black btree routines
-21Nov05
-- 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.
-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.  
-13Nov05
-- 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
+28Dec08
+Release Version 2.4.4
+27Oct08
+Release Version 2.4.3
+26Jul08
+Release Version 2.4.2
+07Jul08
+Release Version 2.4.1
+04Jun08
+Release Version 2.4.0
+25Jan08
+Release Version 2.2.8