]> git.sur5r.net Git - bacula/docs/commitdiff
Update
authorKern Sibbald <kern@sibbald.com>
Thu, 16 Jul 2009 09:25:16 +0000 (09:25 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 16 Jul 2009 09:25:16 +0000 (09:25 +0000)
docs/techlogs/2007/technotes-2.1 [new file with mode: 0644]
docs/techlogs/2008/RN-2.2.0 [new file with mode: 0644]
docs/techlogs/2008/technotes-2.4 [new file with mode: 0644]
docs/techlogs/RN-2.2.0 [deleted file]
docs/techlogs/technotes-2.1 [deleted file]
docs/techlogs/technotes-2.4 [deleted file]
docs/techlogs/technotes-3.0.2

diff --git a/docs/techlogs/2007/technotes-2.1 b/docs/techlogs/2007/technotes-2.1
new file mode 100644 (file)
index 0000000..371bf94
--- /dev/null
@@ -0,0 +1,992 @@
+              Technical notes on version 2.2
+
+General:
+
+Release Version 2.2.0
+09Aug07
+kes  Apply a second doc patch from Marc.
+kes  Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
+     improves the tips section that discusses how to setup multiple
+     simultaneous jobs.
+08Aug07
+kes  Update bat README file.
+kes  Apply patch from Allan Black <Allan.Black@btconnect.com> that     
+     corrects a typo in the Recycle status check in db_find_next_volume().
+     This will probably fix a number of annoying problems with multiple
+     Recycled volumes.
+kes  Modify most of dird/msgchan.c to use bsock class calls rather than
+     bnet calls -- no functionality change.
+07Aug07 
+kes  Modify the Verify output to specify if files are missing on    
+     the Volume(s) or disk.  Fixes confusion in bug #916.
+kes  When more than one Volume is read in a migration job, the last
+     Volume bytes reported are from the last read volume rather than
+     the last written volume. Fixed. This fixes bug #910.
+kes  Fix display of Recycle flag after update volume=foo recycle=yes.
+     It previously printed New Recyle flag is: no. This fixes bug
+     #917.
+06Aug07
+kes  Correct seg fault when switching tape drives during restore.
+kes  Commit uid_gid_name.c (replacement for idcache.c), but will not
+     be used until after 2.2.0 release.
+04Aug07
+kes  Remove fnmatch() in SD that permitted wild card specifications.
+     This fixes bug #914.
+31Jul07
+kes  Fix %g in filename returned by SQL for browse tree reported by
+     Dirk.
+kes  Fix configure so that it puts config.out in the cwd rather than
+     in src/qt-console
+kes  Attempt to fix the locking problem reported by Eric in bug #906.
+kes  Make berrno class to leave errno unchanged after constructor call.
+kes  Make bnet_server use the heap rather than the stack to allocate
+     its socket fd pointers to avoid a crash at termination. Problem
+     reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
+30Jul07 
+kes  Create new depkgs and depkgs-qt separating the qwt out of depkgs
+     and putting it in depkgs-qt along with Qt4.3.
+29Jul07
+kes  Rework code in acquire.c that switches drives for reading when
+     the Media Type does not match. This should fix bug #906
+28Jul07
+ebl  Fix a director segfault during job setup #907
+kes  Correct seg fault in postgresql when first operation returns no
+     rows.  Fixes Dirks File browser problem seg fault with bat.
+25Jul07
+kes  Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
+     building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
+     2.6 as well).
+24Jul07 
+kes  Implement PopUp YES/NO dialog for bat.
+23Jul07
+ebl  Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
+22Jul07
+kes  Correct RunScript to terminate job in FD on failure.
+kes  Change abort_on_error and AbortJobOnError to fail_on_error
+     and FailJobOnError in RunScripts.
+kes  Minor tweaks of code formating in RunScripts, principally to
+     avoid depassing 80 columns.
+21Jul07
+kes  Eliminate one #ifdef Win32 in bsmtp
+kes  Implement grow tool to grow a file for testing very large databases.
+kes  Add big-vol-test to test Bacula seeking with > 5GB.
+Release 2.1.28 beta
+19Jul07
+kes  Modify find_next_volume() to return all values in Media record.
+kes  Ensure that we keep Recycle Pool when moving Scratch volumes.
+
+Release 2.1.28 beta
+18Jul07
+kes  Update Release notes 
+17Jul07
+ebl  fix a bug in get_scratch_volume() report by Andreas Helmcke
+     Warning, in previous beta version, all media get from scratch keep their
+     old retention.
+16Jul07
+kes  Tweaked Win32 installer to remove temp conf files at uninstall time.
+     This should fix bug #842. Made a note to look at removing the temp
+     files at the end of the install.
+kes  Add ability to mount and unmount a file device providing it is
+     marked as being removable and has the appropriate mount and unmount
+     commands defined in the Device resource. This fixes bug #830.
+kes  When applying a storage override, release all previous storage
+     definitions rather than just prepending the new storage.
+     This should prevent a good deal of confusion.
+14Jul07
+kes  Implement ./configure search for qwt libraries.
+13Jul07
+kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
+     Win32 FD.  This should fix bug #893.
+kes  Remove an unnecessary beep in Win32 init code.
+kes  Update copyright dates in Win32 executable about boxes.
+kes  Replace the FSF copyrighted getopt.c and getopt.h in the Win32
+     code with a BSD getopt.c and getopt.h.
+kes  Remove sched.h from the Win32 compat directory -- not used.
+kes  Remove the Exit menu item from the Win32 tray monitor. If you really
+     need to shut it down, do it through the services panel or the command
+     line.
+kes  Remove some inappropriate Bacula FSFE copyrights.
+ebl  Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
+kes  Fix regress config non-portable test as pointed out by
+     Florian Heigl <florian.heigl@gmail.com>
+kes  Fix PSCMD for HP-UX in configure.in to have proper syntax.
+     as pointed out by Florian Heigl <florian.heigl@gmail.com>
+12Jul07
+kes  Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
+     Reported by Frank Sweetser.
+
+Release 2.1.26 beta
+12Jul07
+kes  Fix client-only build.
+kes  Integrate client-only fixes for bsys (initgroups) and conio from
+     Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
+kes  Make arguments to get_scratch_volume() in same order as other
+     such calls.
+kes  Rework the prune_volumes() subroutine so that after purging and
+     no volume found in desired pool, it will check for a scratch 
+     volume. This prevents recycling the whole scratch pool.
+kes  Add code to status storage to print boffset_t (largefile support).
+11Jul07
+kes  Move qwt (Graphics libarary for Qt4) to depkgs.
+kes  You now need a --with-qwt=<dir> to be able to build bat.
+kes  Update src/win32/cats/bacula_cats.def to include the new       
+     db_get_query_dbids() call on Win32.
+07Jul07
+kes  Correct a problem when selecting a scratch volume and moving
+     it to another pool that lost some columns.
+kes  Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
+kes  Enhance Autochanger error messages to include Volume and device name.
+kes  Rework prune_volumes() code to take account of InChanger flag,
+     and to handle recycling volumes going to the Scratch pool and
+     current pool because the RecyclePool directive.
+kes  Implement a better and more efficient db_get_query_dbids() to
+     handle creating and passing back a list of DBIds.
+
+Release 2.1.24 beta
+03Jul07
+kes  Start work on new more efficient DBId subroutine. First use
+     will be for recycling volume to Scratch inchanger.
+kes  Increase number of JobIds in pruning from 1000 to 10000. 
+     This to be replaced by above routine.
+kes  Begin implementation of building Qt4 on Win32.
+kes  Correct typo in fix I added for bad TLS shutdown.
+kes  Pull 2.0.3 patches into patches directory.
+kes  Update Release notes.  Include qt-console in line count.
+kes  Update Projects file.
+30Jun07
+kes  Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes 
+     bug in migration code where a job that spanned two volumes
+     was migrated twice.
+29Jun07
+kes  Implement new BST_DESPOOLING blocked state. Change from locking
+     during despooling in SD to blocking. This means that other threads
+     can work with the device structure, in particular the reservations
+     system while despooling.
+28Jun07
+kes  Fix return in reservation message queue that missed clearing
+     the jcr lock (implemented 26Jun07 below).
+kes  Rename a number of dev methods to make locking function names
+     a bit clearer.
+kes  Document locking in lock.c. Move lock structures to new file
+     lock.h.
+26Jun07
+kes  Move reservations message lock to lock jcr only this
+     fixes bug #861.
+kes  Move main SD locking code into lock.c (new file).
+kes  Update Win32 build to include lock.c
+
+Release 2.1.22 beta
+26Jun07
+kes  Dirk committed the qwt library code for drawing graphs in bat.
+kes  Tweak install of qwt so that it is integrated with ./configure.
+25Jun07
+kes  Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
+     out by Eric (my typo).
+ebl  Fix configure.in to get batch mode enable
+kes  Return correct string from authenticate.cpp in bat when connecting
+     to Dir.
+kes  Apply patch suggested by Frank Sweetser to fix bug #888 --     
+     spurious line drops when using TLS.  
+kes  Do not file reparse points when restoring a file that already
+     exists -- Win32.
+24Jun07
+kes  Implement Windows reparse points -- similar to directories, but
+     we do not descend into it. This is a first cut. They seem to 
+     be backed up, but restore is not yet tested.
+kes  Remove restore_blocking in tls code when shutting a socket to leave
+     it in blocking mode. Hopefully this will fix the encryption bug  
+     reported by Frank Sweetser.
+kes  When opening a file for backup, tell the OS that we are going to
+     read it sequentially -- optimization.
+kes  Change variable names in authenticate_director() to not conflict
+     with member names in bat. Caused great confusion with compiler,
+     but no warnings.
+23Jun07
+kes  Queue openssl error messages in case of comm problem.
+kes  Do shutdown() call if socket terminated.
+kes  Remove some duplicated code in tls.c
+kes  Move more of the bsock member variables into private and access
+     them with methods.
+kes  Add Frank Sweetser's tls-test to the regression suite.
+22Jun07
+kes  Add Swedish sv.po file
+21Jun07
+kes  Don't print clock skew message in FD if less than 3 seconds diff.
+kes  Add a bit of VSS info to status client.
+kes  Implement a first cut of Vista VSS, using Win2003 code.
+
+Release: 2.1.20 beta
+20Jun07
+kes  Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
+     loaded tape but uses first drive).
+kes  Fixed bug #807 Restore encrypted backup failed on Windows 2003
+     This was indeed a Win32 issue.
+19Jun07 
+kes  Simplify search of autochanger for in-use Volume.  
+kes  Fix exit condition of check for in-use volume.  kes Remove
+     inappropriate my_postgresql_free_result() in db_close()
+     routine.
+kes  Fix bad return in FD when encryption signature not found.
+     Probably caused a crash.
+kes  Inhibit missing encryption signature error messages for 
+     file types where no signature computed.
+kes  Correct inverted check on autochanger in reservation system.
+kes  Tweak debug code in autochanger reservation.
+18Jun07
+kes  Add some additional locking in the cats directory in subroutines
+     that modify packet variables called from batch insert.
+kes  Rework how dcrs are allocated. new_dcr() can now be called
+     with an existing pointer, and it will simply clean it up.
+     This allows the reservation system to test various different
+     devices, and will permit easy device changes.
+kes  A bunch of changes all over to handle new new_dcr() calling
+     sequence.
+kes  Work more on the Volume management in the SD. Remember Volumes
+     for tape drives and for autochangers (even virtual disk changers).
+kes  When looking at the Volume list to reserve a drive, handle 
+     autochanger names correctly by interating through the changer 
+     devices.  Also call the Director to see if a Volume is suitable
+     for the current job.
+kes  Fix some bugs in bscan. Make sure all media records are written.
+     Make sure that valid JobMedia records are written for disk files.
+     Previously they were completely wrong.
+kes  Move source tar files for depkgs-mingw32 to www.bacula.org so
+     that the URLs don't change and so that the developers will all
+     work off the same copy. Rebuild from scrach.
+kes  Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
+
+Release: 2.1.18 beta
+16Jun07
+kes  Fix seg fault in FD from incorrect digest size. 
+kes  Fix argument to non-OpenSSL crypto.c subroutine.      
+
+Release: 2.1.16 beta
+16Jun07
+kes  Remove a few malloc()s from the encryption code.
+kes  Use the class calls to bsock in filed/backup.c and restore.c in
+     place of the old bnet_xxx code.
+kes  Implement code that does an on the fly calculation of the  
+     signing digest during restore of encrypted files.  It makes
+     a best guess at the algorithm, and if it is not correct, will
+     then revert to the old code which reads the file after it is
+     restored.
+kes  Implement at least one missing crypto stream in stream_to_ascii()
+kes  Apply patch from William <chowmeined@gmail.com> that fixes bug
+     #877 where a reload with bad syntax causes Dir to exit.
+
+Cut: 2.1.14 beta (not released)
+14Jun07
+kes  Do not free a volume on a tape drive until another volume is
+     mounted and read, or the autochanger unloads the volume.
+     This should help the SD re-use volumes that are already mounted,
+     and should fix bug #886.
+kes  Apply patch from user brettedgar that allows gnome2-console include
+     the OpenSSL libraries, and hence work with SSL.  Fixes bug #885.
+kes  Apply patch from Lucien Weller that fixes day of week calculation
+     because of DST flag problem. Fixes bug #887.
+10Jun07
+kes  Move find_next_appendable_volume() to after acquiring a valid device
+     in reserve.c.  This fixes bug #864 -- confirmed by reporter.
+09Jun07
+kes  Unable to reproduce bug 872. However added additional testing for
+     integer.
+kes  Bug #874 resolved by documenting SQLite limitations.
+kes  Bug #882 resolved by documenting mtx-changer script for new drive code.
+kes  Bug #881 resolved by removing typo in mtx-changer script.
+kes  Made Frank Sweetser's wiki the official Bacula wiki with his
+     approval. Added a link to the wiki on the web page, and implemented
+     a backup from http://paramount.ind.wpi.edu                                          
+08Jun07
+kes  Fix update allfrompool to pass pool name.
+07Jun07
+kes  Convert to pure GPL v2 license.
+kes  Fix sscanf problems reported by Peter Buschman that caused
+     a bus error on Solaris.
+kes  Rework (simplify) the select prompt in bat.
+kes  Move get_jobid_from_tid() into lib and create a 
+     get_jcr_from_tid().
+kes  Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg().  This
+     should definitely fix the problem of lost error messages in the
+     encryption code.
+kes  Remove over zellous addition of FSFE copyright in a few eggxxx files.
+kes  Eliminate tcpd.h from the project. Enclose the #include from the
+     library with extern C ...
+kes  Add print of signal name when a signal is trapped.
+
+Release: 2.1.12 beta
+04Jun07
+kes  Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
+03Jun07
+kes  Implement SQLITE3_INIT_QUERY in version.h that can do an initial
+     query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
+     makes SQLit3 run 30 times faster, though a bit less safe.
+kes  Implement --with-batch-insert in configure and detection of thread
+     safe libraries.  It is on by default, but turned off if no thread
+     safe library (e.g. SQLite 2) is available.
+02Jun07
+kes  Fix Bacula PostgreSQL buffer overruns.
+kes  Do better checking for NULL results returned from PostgreSQL;
+     implement retry for failed queries; clear results buffer after
+     failed query. Hopefully this will correct the PostgreSQL failures.
+01Jun07
+kes  Implement algorithm to handle only one appendable volume with
+     Prefer Mounted Volumes = no.
+kes  Fix a Bacula PostgreSQL bug dereferencing a NULL pointer      
+     returned from a query.
+kes  Make volume lock recursive.
+kes  Implement an additional volume reservation algorithm that
+     starts by considering all reserved volumes then uses the
+     old brute force algorithm of searching the resources to
+     find a suitable device.
+kes  Add new reservations debug code and refine the old code.
+kes  Update the win32/dll/bacula.defs file.
+29May07
+kes  Tweak reservations algorithm to permit a few more cases, i.e.
+     volume reserved, but on different drive, ...
+kes  Enhance SD status to include Pool and Media Type for drive in a
+     more readable format (a bit longer). 
+kes  Fix PostgreSQL double free.
+28May07
+kes  Minor refactoring of restore decryption code.
+kes  Add code to smartall.c to detect double free of a buffer.
+27May07
+kes  Add < > around %r in from field on mail command of bacula-dir.conf.in
+     so that bsmtp will create a correct email address (mailbox only).
+kes  Modify 'memory' command so that the buffers are listed as 'In use'
+     to avoid confusion with Orphaned buffers.
+kes  I reworked the OpenSSL include/lib flags to be handled in     
+     the standard Bacula way, which should fix bug #863 concerning
+     non-standard OpenSSL libraries.
+26May07
+kes  Implement Help Browser window for bat.
+kes  Fix reload bug that reset StorageId to zero.
+25May07
+kes  Fix TLS #ifdefing when TLS turned off.
+kes  Ensure that when labelling a tape with Slot=0 that InChanger
+     is not set.
+kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
+     the same.
+kes  Add StartTime to final uar_sel_jobid_temp query so that we can
+     add DISTINCT (required by PostgreSQL).
+kes  Implement BSOCK authenticate_director() method. Eventually will
+     authenicate all daemons.
+kes  Move several more functions into the BSOCK class.
+24May07
+kes  Add code to tell the OS that we no longer need a cached
+     file that we were reading. In findlib/bfile.c.  Also,
+     only cache files that we are reading. Thanks to
+     Tobias Oetiker <tobi@oetiker.ch> for the idea.
+kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
+kes  Implement script to automatically generate cats and dll .def
+     files for Win32 dll.
+kes  Update README.mingw32 to include new .def file generation.
+kes  Correct typo in UTF-8 error message as reported by:
+     jhernandez <julianhernandez@gmail.com>
+kes  Add additional sm_check() code on debug level 1.
+kes  Set default debug level to 1.
+kes  Trap SIGABRT in attempt to get traceback.
+23May07
+kes  Reduce bat connect timeout from 30 to 15 seconds.
+kes  More restructuring and implementing BSOCK class in place of
+     old bnet.c code.
+kes  Remove a few unnecessary malloc() tests in crypto code.
+kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
+     not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
+kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
+22May07
+kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
+     Make buffer bigger.
+kes  Fix Verify InitCatalog. The attributes were not pointing to the
+     correct saved location.
+kes  Implement message callback so that GUI is sure to get all
+     daemon messages. Currently displayed in a dialog in bat.
+kes  Ignore SIGUSR2 (Bacula timer) in bat.
+kes  Apply regress patch from bug #859 to allow regress to work 
+     with Solaris compiler.
+21May07
+kes  Begin adding TLS support to bat.
+kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
+     clean up lex.c and make it more readable.
+20May07
+kes  Move more bnet functions into the BSOCK class.
+kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
+kes  Complete change of berrno strerror() method to bstrerror() 
+
+Release: 2.1.10 beta
+18May07
+kes  Cleanup incorrect email addresses in bsmtp.
+kes  Make bat display initial messages rather than discard them.
+16May07
+kes  First cut of adding .mod to the run command.    
+kes  Implement auto display of messages in bat.
+kes  Enhanced preferences to allow all Bacula output to be
+     displayed in bat.
+15May07
+kes  Try to make bsmtp date routines more generic.
+kes  Fixed bug #856 autochanger documentation.
+kes  Rework bsmtp date editing for Win32. This fixes bug #854.
+kes  Add new cats entry point so Win32 builds.
+14May07 
+kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
+     Fixes bug #854.
+kes  Do better checking for the MySQL 64 bit libraries looking for both
+     .a and .so libraries.
+kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
+     /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
+kes  Require the thread safe version of MySQL during configure. Thanks
+     to Andre Noll for pointing this out.
+kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
+     continuing in migration code.
+kes  Apply implementation of tray-monitor font derived from gnome-console
+     submitted by Andreas Piesk <a.piesk@gmx.net>
+13May07
+kes  Eliminate important memory loss in SQLite
+kes  Fixed the batch insert MySQL thread specific data that was not
+     being freed. See cats/mysql.c:db_thread_cleanup().
+kes  Fix restore before command.
+kes  Convert old hdr.name to name() in a few places.
+kes  Implement update jobid command.
+kes  Return all time_t dates in db_get_job_record()
+kes  Stop watchdog in SD earlier.
+kes  Put Pool just after Storage in please mount message.
+kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
+     Eric.
+12May07
+kes  Update the po files.
+kes  Fix Verify InitCatalog by making it cache attributes.
+11May07
+kes  Change name bacula-bat to bat for man 1 page to correspond to
+     Makefile.
+kes  Check for client and store NULL pointers in status command.  This
+     fixes bug #845.
+kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
+kes  Fix sign extended editing of %p.
+kes  Clean out a little old #ifdefing in cats/mysql.c
+10May07
+kes  If time diff between DIR and FD is more than 600 seconds convert
+     INFO message to WARNING.
+kes  Implement heap size display in status for all daemons.
+kes  Attempt to fix MySQL db open memory loss (not successfull).
+kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
+kes  Eliminate memory loss in MySQL (possibly other SQLs) during
+     Query. This looks like a MySQL but but by doing extra releases,
+     the memory goes away.  This should fix bug #847.
+09May07 
+kes  When backup fails, cancel SD before waiting for sd termination.
+kes  If SD is waiting for FD to connect during cancel, wake up the 
+     thread.
+kes  Fix fsf code so that errno is correctly reported.
+kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
+08May07
+kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
+     so that Bacula doesn't later stumble into a seg fault.
+kes  Use the term Restore Client in the restore Job report.
+kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
+     the original job's FileSetId.
+kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
+     spooling in migration jobs.  Not yet tested.
+kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
+     reading conf file from a pipe.  However, do it with open_bpipe()
+     rather than popen.  Not yet tested.
+07May07 
+kes  Fix an ugly bug where the VolCatBytes were getting updated
+     during a restore.
+kes  Implement bconsole memory command that prints current memory
+     usage, plus smartalloc dump.
+kes  Clarify some error messages in backup, admin, and migrate.
+kes  Shrink label dialog to smaller size.
+kes  Invert Cancel OK buttons on restore to be OK Cancel.
+kes  More strerror() to bstrerror() conversions.
+06May07 
+kes  Start implementing bstrerror() in place of strerror().
+kes  Stripping path -- seems to work.
+04May07
+kes  Prevent door and port files from being restored (mostly
+     Solaris stuff).
+kes  Free an unreleased buffer in compat code.
+kes  Change console Job name from *Console* to -Console- to eliminate
+     Win32 filename problems.  Put Win32 path separator when creating
+     Console file.  This fixes bug #846.
+kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
+     implemented.
+kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
+     structure.
+kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
+     to force Win32 error message.
+03May07
+kes  First cut strip path. The data should be passed to the FD,
+     but nothing is done with it yet.
+kes  Enhance the digest and signature routines in the crypto
+     library to accept a JCR and to use it to print error messages
+     so that they will go in the Job report rather than the daemon's
+     messages.
+kes  Simplify some of the verify signature code.
+kes  Simplify a few of the alternative returns in the signature 
+     code.
+02May07
+ebl  Use only POSIX regex instead of GNU regex in breg.c for
+     File relocation. It fix broken freebsd compilation.
+kes  Convert all other Dir files to use new ua class message 
+     routines for bat.
+kes  Tentative fix for missing digest signature in bug 807.
+kes  Correct handle problem in new win32_ftruncate routine.
+kes  Convert ua_purge.c and ua_update.c to use new ua class
+     message routines for bat.
+29Apr07 
+kes  Correct incorrect installation of LICENSE in Win32 installer.
+kes  Display LICENSE at the beginning of the Win32 install.
+kes  Attempt to correct the need for the png files to be installed 
+     for bat.
+kes  Reapply my bat.conf install script in qt-console. I think I 
+     editted bat.pro instead of bat.pro.in and it was lost.
+kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
+     the /var/lock/subsys for subsysdir.  Also corrects typos in the
+     doc.
+28Apr07
+kes  First cut update job.
+kes  Correct configure to include qmake of src/qt-console directory.
+26Apr07
+kes  Make restore job yes/mod/no print in one command so GUI works.
+kes  First cut implementing backup and restore client.
+kes  Correct editing in Verify output that caused a seg fault.
+25Apr07
+kes  Insure that bat.conf is not overwritten during installation.
+kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
+     while I was implementing migration in March 2006 !
+24Apr07
+ebl  Cleanup file relocation, using char *RegexWhere instead of
+     char *where + bool where_use_regexp
+kes  Update some manpages and add bat manpage.
+kes  Make a first cut at converting bacula.spec.in for bwx-console
+     and bgnome-console.
+kes  Apply patch from John Goerzen to add hostname as fourth argument
+     to make_catalog_backup script.
+kes  Fix typos I introduced into bsmtp.c
+kes  Make pm_strxxx() routines handle input of NULL pointer. This
+     is to protect from NULL pointers returned from SQL databases.
+kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
+kes  Add more debug to FIFO code -- fix fifo regression test.
+23Apr07
+kes  Implement posix_fadvise in FD, and for reading spool files in SD.
+kes  Add thread timer to bnet_connect() to break from OS if wait time
+     expires.
+22Apr07
+kes  Update Win32 build to include new files, new symbols, and    
+     renamed files.
+kes  Implement socket level heartbeat (tcp_keepidle)
+ebl  Commit File relocation patch
+kes  Make bat have 'make install' target.
+kes  Warn during install if old gnome-console binary found.
+kes  Warn during install if old wx-console binary found.
+kes  Add -8 option to bsmtp command line to add content type utf-8. 
+     Fixes bug #809. (Character coding problem in bsmtp).
+kes  If < is found in target (from, to, cc) then do not enclose the
+     target in < >  in bsmtp. Fixes bug #772  (malformed address).
+kes  When printing certain items in dbcheck, stop after 300000.
+     Fixes bug #822. (dbcheck loops).
+kes  Incorrect status in Dir after waiting for mount with poll set.
+     Fixes bug #825.
+21Apr07 
+kes  Extend idea of Prefer Mounted Volumes to mean a volume about
+     to be mounted.
+kes  Print waiting to reserve a device every 5 mins.           
+20Apr07
+kes  Don't call close_part in label.c if tape and relabel.
+kes  Don't free volume if busy in close() -- should help with
+     bug 801.
+ebl  Fix #824 RunScript bug (After script could be execute twice)
+     Now, Before Script can use RunsOnSuccess and RunsOnFailure options
+     By default (like before) RunsOnSuccess=true and RunsOnFailure=false
+     Add a regression script to test RunScript
+19Apr07
+kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
+     on Solaris.
+18Apr07
+kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
+     deprecated. No additional bugs will be fixed, and they will be dropped
+     in a future release (probably 2.4.0).
+kes  Change name of wx-console to bwx-console to make it more Bacula
+     unique.
+kes  Change the name of gnome-console to bgnome-console to make it
+     more Bacula unique.
+14Apr07
+kes  Some time in March, a Feature Request with patch from Jorj Bauer
+     <jorj@seas.upenn.edu> was committed by Landon (with my approval).
+     It implements:
+     The ability for the director to validate a Client (FD) CN against
+     an arbitrary set of patterns rather than the hostname, with
+     A new 'TLS Allowed CN' set of directives which are implemented
+     in the Client resource.  Then pattern matching is used in place
+     of hostname matching against the Certificate's CN. As an example, we
+     have certificates which (a) use a local CA, and (b) have a CN of the
+     form client_123.
+kes  Add new/changed entry points to Win32 build
+kes  Create unaccepted-projects for projects that are not accepted.
+kes  Simplify locking in the reservations system.
+kes  Add more debug code in reservations.
+kes  Make sure error condition on reserving a volume is handled correctly.
+kes  Correct handling of volume_in_use.
+kes  Correct handling of initializing a device.
+kes  Move handling of broadcasting releasing a device into release_device().
+kes  Correct attaching dcr to dev so that it is only done if device
+     is properly initiated.
+12Apr07
+kes  Locking debug level tweaks in SD.
+kes  Tweak new Volume code.
+11Apr07
+kes  Add exec external-command [wait-seconds] to bconsole. This
+     executes the external-command.  Note! normally external-command
+     should be enclosed in double quotes.
+kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
+     it should normally be off in a production system.
+10Apr07
+kes  Implement die command for SD so that we can force it to dump.
+kes  Implement SD lock debug code.
+kes  Implement new algorithm for keeping Volume list in SD.  It
+     is now owned by the device.
+04Apr07
+kes  Implement new code for freeing in use volumes that should 
+     resolve if not all, some of the problems of multiple drive
+     tape conflicts described in bug 801.
+03Apr07
+kes  Fix gui/bacula-web/images files in svn.
+kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+02Apr07
+ebl  Fix a bug in batch mode (in string escape)
+kes  Correct migration prune SQL typo that crept in in a    
+     recent 2.1.x change.
+01Apr07
+kes  Move bnet_despool() into class in bsock.c
+kes  Modify job report to include director name and Build OS.
+kes  Move drop root privilege and check_catalog() before fork.
+kes  Add update database scripts (version 9 to 10) to updatedb directory.
+31Mar07
+ebl  Check size and age of each file after its backup to see if
+     it has changed during backup, if 'checkfilechanges' is set.
+     The FD will do an extra check (stat(2)) after
+     each file backup. mtime, ctime and size are compared with
+     'before backup' information. If time or size mismatch, an
+     error message will be generated. You must upgrade FD to use it.
+30Mar07
+kes  Make database name and user configurable
+     --with-db-name=xxx --with-db-user=xxx
+kes  Add back database type to message.c for debugging.
+29Mar07
+kes  Implement dir_sql() which issues an SQL query.
+kes  Modify bat medialist to use dir_sql() and do some minor C++
+     formatting as well as eliminating a number of pointers, simplifing
+     the code.
+28Mar07
+kes  Fix some of the mtx-changer grep commands for tape label readers.
+kes  Convert a number of bsendmsg into the appropriate send/warning/error
+     message class calls.
+kes  Suppress the using database message in the .sql command.
+kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
+27Mar07
+kes  Add context menu for floating a window.
+kes  Some minor cleanup and name changes in qt-console
+kes  Add doing mt setblk 0 in Win32 mtx-changer.
+kes  Apply Martin's bug fix to move definition of ENODATA for 
+     FreeBSD to bsock.c
+ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
+     sqlite2 and sqlite3.
+26Mar07
+kes  More pruning cleanup.
+kes  Turn on wait_for_drive by default in mtx-changer.
+kes  Turn on Batch insert code by default as it now passes regression.
+kes  Add ./configure --enable-bat to enable building of Bat.   
+     No install yet though.
+25Mar07
+kes  Implement a new .sql command for bat.
+kes  Implement code to turn off pruning in obtaining the next volume.
+     Pruning is turned off for the status dir command, but turned on
+     for SD requests and for the list nextvolume command.
+24Mar07
+kes  Correct Qmsg() that was not updated correctly when committing a
+     previous change (probably the recent TLS patch).
+23Mar07
+kes  Write new subroutine is_volume_purged() that explicitly checks
+     if the Volume is purged, and if so marks it as such. This should
+     resolve problems reported about needing to mount twice to recycle
+     volumes.
+kes  Rewrite pruning algorithm to do more work in the SQL engine, and
+     to pass a list of JobIds to be deleted to SQL.  Also, minimize the
+     amount of duplicated code.     
+kes  Do volume pruning only for the Media Type desired (reduces pruning time
+     if multiple Media Types are in the same pool).
+kes  Implement more detailed info in the Job report for the Bacula version
+     and architecture.
+kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
+     ua_purge.c.
+ebl  Add bbatch tool to bench database and insert mode.
+     Fix sql quote stuff in batch mode
+     Fix sql stuff for mysql
+22Mar07
+kes  Correct problems with am/pm scheduling. Fixes bug #808.
+kes  Implement new prunning code that prunes up to 1000 jobs at
+     the same time.  The same technique can be applied to a number
+     of other prune/purge subroutines.
+kes  Add an insanity check when starting a new tape job to ensure
+     that the tape position has not been changed. If so fail the
+     job.
+kes  Fix Win32 build for dlls to add the folllowing:
+     src/lib/bsock.c -- new file with new entry points
+     src/lib/dlist.c  -- new entry points
+     src/cats/sql_create.c -- new entry point
+     src/cats/sql_cmds.c -- new DATA item exported
+21Mar07
+ebl  batch mode cleanup bscan-test is ok now.
+kes  Implement SD code to check length of disk volume before appending.
+18Mar07
+kes  Correct return status on db_batch... routines.
+kes  Add call to db_write_batch_file_records() to migration code.
+ebl  Fix AfterJob timing
+kes  Move the checking of the database in initializion of the Director
+     to after we drop privileges.  This avoids the need for both root
+     and bacula access to the DB.
+kes  Correct a misplaced variable definition in src/filed/backup.c
+kes  Correct how the new batch insert db_create_attributes_record()
+     uses the arguments.  Caused a seg fault in bscan.
+kes  Implement lock() and unlock() methods in DEVICE class.
+     Implement block() and set_block(xx) methods in DEVICE class.
+kes  Modify bnet_connect() so that it uses time() to check for the
+     wait time expiring (on some OSes, some system calls may not
+     return immediately).
+kes  Modify Verify to obtain the previous JobId when it is actually
+     running rather than at schedule time (as it was in 1.38.x).     
+kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
+     fix bug #802.
+kes  When checking pid in pid file, continue running if the pid is
+     the same as ours. This occurs on IRIX after a system crash.
+     Fixes bug #797.
+10Mar07
+kes  Extend new GUI API.
+kes  Make the ua structure a class, and implement send_msg(),
+     error_msg(), warning_msg(), and info_msg().
+08Mar07
+kes  Apply fix from for building wx-console on the Mac from
+     bug #798.
+kes  Implement new select mechanism for GUI programs.
+kes  Reorganize initialization of stackedWidgets in bat.
+07Mar07
+kes  Add updated nagios plugin supplied by Christian Masopust.
+05Mar07
+kes  More bat implementation.
+kes  File migrate bug with Pool Occupancy using mediaid instead
+     of jobids.  Fixes bug #795.
+kes  Fix orphaned buffers in filed backup and verify due to
+     crypto buffers not freed during errors.  Fixes bug #789.
+kes  Extend new GUI api code to tree commands.
+kes  Ensure that tree and dot commands check console ACLs.
+kes  Permit marking directory with trailing slash.
+kes  Allow 20 console connections (instead of only 10).
+04Mar07
+kes  Add smartctl call to bacula-sd.conf as an example of getting
+     tape alert info.
+02Mar07
+kes  Modify jobq.c to let simultaneous restore jobs run. This may 
+     cause them to fail if they cannot get a drive.
+kes  Add Client Connect Wait to Storage daemon to permit users to
+     modify the time the SD waits for a FD connection.
+29Feb07
+kes  Correct virtual changer check which was backwards. This caused
+     volumes to be unloaded into slots already occupied.
+28Feb07
+kes  Apply Command ACL filter to JobId list in restore command.
+kes  Correct typeo in var.c patch.
+27Feb07
+kes  Don't let Bacula prune File or Job records for the current Job.
+kes  Fix variable substitution pad + inc bug reported (with patch)
+     in bug #791.
+26Feb07
+kes  Correct SQLite log table index as reported by Luca Berra.
+24Feb07
+ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
+22Feb07
+kes  Begin implementing new comm signals for API.
+kes  Fix a few places in lib/message.c where the open fd may 
+     not be zeroed.
+kes  Continue implementing lib/bsock.c (real class).  Make jcr,
+     who, host, and port private. There are new methods to access
+     them for non-class use. This required touching a number of files.
+21Feb07
+kes  Add LANG=C to autoconf/randpass so it works with languages other
+     than English.  Fixes bug #788.
+20Feb07
+ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
+     This fixes bug #780
+     You will not be able to generate Include/Exclude list any more.
+     It will be fixed soon.
+     If you want to use this, you can apply
+     trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
+19Feb07
+kes  Restore of sockets created false error messages because Bacula
+     no longer restores sockets, but the code was still trying to
+     set the attributes on a non-existent file. Reported by a user.
+ebl  finish RecyclePool feature
+     Media will takes Pool.RecyclePool
+     when moving from Scratch to a Pool or when user will do
+     update volume=xxx frompool
+     To use it, add RecyclePool = aPool to your Pool resource
+        Pool {
+                Name = Default
+                RecyclePool = Scratch
+                ...
+        }
+     TODO: update manual
+kes  Expand new BSOCK class adding signal() and new BNET signals.
+kes  Begin enhancing the dot commands adding a new API function
+     that returns more information and will make it easier
+     to interface to the Director from a program.
+18Feb07
+kes  Make DEVICE fd private. Its new name is m_fd, and can be
+     obtained with dev->fd() outside the class.  This is the
+     first of many DEVICE members to be made private.
+kes  Implement Michael Renner's idea on having a virtual disk
+     changer. I made some minor modifications (e.g. I did not
+     implement the Virtual Changer directive, but simply set
+     the Changer Command to an empty string.
+17Feb07
+kes  Implement a BSOCK send() method that writes the whole record
+     in a single write() request rather than in two.
+ebl  add update volume=xxx recyclepool=yyyy
+     volume takes recyclepool from pool when using update volume=xxx from pool
+16Feb07
+kes  Fix encryption deblocking bug, which caused some restored files
+     to be truncated. This fixes bug #763.
+kes  Add FD event sequence order prepared by Eric -- for RunScripts.
+kes  Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
+13Feb07
+kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
+ebl  Use btime_t instead of uint64_t in media patch.
+11Feb07
+kes  Optimize the use of the database a bit in the Status dir command.
+     Only open it when needed, ensure that if any previous database
+     was opened, it is closed.
+10Feb07
+kes  Correct VolCatBytes bug from media patch.
+kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
+     in the case of orphaned records.
+kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
+     and File records in 300K chunks to be more efficient. This
+     idea came from Juan Luis Frances (if I remember right).
+kes  Apply Eric's scratch patch that moves a purged Volume to
+     the RecyclePool.  Question: how is RecyclePool set? what
+     happens to the ScratchPool?
+kes  Apply Eric's media patch that collects read/write media
+     times as well as byte counts.  This patch requires a
+     simultaneous upgrade of the DIR and SD.  Note, there
+     should be some way to turn off timing. I'm not sure
+     times are in Bacula units.
+kes  Apply Eric's batch-insert patch.
+09Feb07
+kes  Update projects list.
+08Feb07
+kes  Implement Include/Exclude file lists in FD as dlists using
+     the new dlistString class. This permits efficiently having
+     large include/exclude lists and completes project Item 25.
+kes  Fix dird/ua_cmds.c so that a cancel command checks if the
+     console is authorized to cancel the job.  This fixes bug 
+     #767.
+kes  Modify SD so that the VolCatJobs medium record is updated
+     at the beginning of a Job rather than the end.  This
+     fixes bug #775 where exceeding MaxVolJobs caused jobs
+     to fail.
+kes  Added a mutex around getting and setting Volume information
+     so that multiple simultaneous jobs will single thread.
+07Feb07
+     Switch to using Subversion
+kes  Remove src/pygtk-console/ from configure
+06Feb07
+kes  Delete src/lib/btree.c from win32 build, then add rblist.c
+     plus the entrypoints.
+kes  Apply patch supplied that corrects debug print
+     in canceling jobs for max run time.  Supplied as
+     part of bug #621, which was previously fixed.
+05Feb07
+kes  Test on job_canceled() and sd_msg_thread_done inside
+     loop starting the message thread to avoid a race condition.
+     Fixes bug #771.
+kes  Remove rl_catch_signal from console.c as it conflicted
+     with the header definition. Fixes bug #765.
+ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
+04Feb07
+kes  Clarify some stored/acquire messages to indicate if the
+     problem is with read or append.
+02Feb07
+kes  Fix memory leak with storage ids in cats/sql_get.c
+kes  Terminate watchdog earlier to avoid reference to released
+     memory -- reported by Jason Austin.
+kes  Move closing the database from jobq.c to the director daemon
+     termination routine. This fixes memory leaks for shadow jobs
+     (i.e. migration jobs).
+kes  Free up the unique jobid chain items in migrate.c.  This fixes
+     a memory leak problem.
+kes  Convert some ugly looking for statements to use foreach_alist
+     in findlib/find.c.  This will facilitate converting the structures
+     to use dlist (for large include/exclude lists).
+kes  Fix a bug in the btree.c and btree.h routines, then rename them
+     rblist and add them to be built in src/lib.  Include some new
+     methods written by Rudolf Cejka that make the code more readable
+     (hides some of the ugly casting).
+kes  Add set_next() and set_prev() methods which make the code much more 
+     readable. Also add a new dlistString class that facilitates storing
+     strings in dlists.  To be used in the large include/exclude lists.
+kes  Make some trivial modifications to lib/tree.h that use rblist
+     rather than dlist for storing the tree links. This was suggested
+     by Rudolf Cejka.  The result of this is that the restore tree now
+     uses red-black binary trees rather than simple linked lists. This
+     should give rather dramatic speed improvements for directories
+     contining large numbers of directories/files (more than 10000).
+28Jan07 
+kes  Fix maxruntime bug #621.
+26Jan07
+ebl  Implement the include JobID in spool file name project.
+kes  Reorder projects file in order determined by Jan 2007 vote.
+kes  Implement item #12 on project list -- quick release of FD by
+     the SD.
+kes  Fix open of SQLite3 db where user does not have write permission
+     so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes  Add back missing @ in Win32 Makefile.
+kes  Change 'Device not configured to autolabel' from INFO
+     to WARNING.
+kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
+     which should restart an indefinite # of times.
+kes  Fix configure --help to print --with-mysql[=DIR]. Same for
+     other DIR specifications.
+23Jan07
+rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
+     Fix path quoting in SQLite scripts.
+     Fix problems with SHGetFolderPath.
+19Jan07
+kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes  Fix Job restart on error bug that promotes an Inc to a Full
+     backup.  This should fix bug #755.
+kes  Add qt-console and first cut of code.
+
+Version 2.0.1
+12Jan07
+kes  Fix Bacula->Documentation link on Win32 to point to index.html
+     instead of bacula.html. Fixed bug #750.
+kes  Return JobId in db_get_job_record() when JobId==0. This should
+     fix bug #741.
+kes  Do not release source pointers when restarting a failed job.
+11Jan07
+kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+     This *should* fix bug #747.
+kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+     bug #742.
+09Jan07
+kes  Modify USTORE constructor to set an empty store_source string, 
+     and don't copy the store_source string in a cancel.  Hopefully
+     this will fix Arno's seg fault, bug #744.
+kes  Add back code to disable conio in configure. Fixes bug #743.
+kes  Correct the Options scanner in the FD to correctly handle  
+     SHA1 option, which was eating the next option.  Reported by    
+     Sebastien Guilbaud.
+kes  Add code to indicate when the SD is spooling, spool wait, and 
+     despooling as requested by Alan Brown.
+
+Version 2.0.0 released: 4 January 2007
diff --git a/docs/techlogs/2008/RN-2.2.0 b/docs/techlogs/2008/RN-2.2.0
new file mode 100644 (file)
index 0000000..45d3fcf
--- /dev/null
@@ -0,0 +1,172 @@
+
+          Release Notes for Bacula 2.2.0 
+
+  Bacula code: Total files = 520 Total lines = 195,550 (*.h *.c *.in)
+  82 new files, 41,221 new lines of code, 208,380 lines of change from 2.0.3
+
+This Director and Storage daemon must be upgraded at the same time,
+but they should be compatible with all 2.0.x File daemons, unless you
+use some of the new features that affect the FD.  In other words, you should
+not have to upgrade all your File daemons when you upgrade. There is
+no database upgrade needed from version 2.0.x to 2.2.0.
+
+Areas requiring caution or testing:
+- You must have the thread safe version of MySQL client libraries loaded
+  to build with MySQL enabled.
+- Volumes are pruned only when absolutely necessary -- this may cause
+  your database to grow compared to prior Bacula versions.
+- Solaris door and even port files are no longer restored (equivalent
+    to what we do with sockets).
+- SQLite is no longer supported for Solaris -- it fails too often with
+  bus errors.  SQLite3 should work on Solaris.
+- The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'.
+  This makes it run 30 times faster, but increases the possiblity
+  of a corrupted database if your server shuts down unexpectedly.
+  The default behavior can be changed in src/version.h
+- Restore on Win32, and in particular on Vista is untested. Please
+  test before relying on it.  It should backup and restore reparse
+  points.
+- Win32 servers are untested, and very likely not to work.
+
+The major new features are:
+- Much faster insertion of attributes (somewhere around 10 times),
+  many thanks to Eric Bollengier and Marc Cousin. 
+- First release of bat (Bacula Administration Tool).  Note to build
+  bat you must explicitly enable it on the ./configure line, you
+  must have the Qt4 version 4.2 or later libraries loaded, the qwt
+  (Qt Graphics) package loaded, and qmake and the other Qt4 tools 
+  must be available. Most of the implementation was done by Dirk Bartley.
+- Red/Black restore in memory tree (500 times faster loading).
+- The Regex Where code to allow easier relocation of restored files 
+  thanks to Eric.
+- Socket level heartbeat for all connections (untested).
+- posix_fadvise() use in the FD to improve performance reduces
+  swapping due to opening/reading lots of files. Win32 equivalent
+  implemented.
+- Much improved Volume reservation code that should eliminate most
+  conflicts experienced in multiple drive autochangers.
+- Simpler locking in the SD in the reservation system.
+- Detection of file size/date change during backup if enabled.
+- New Recycle Pool feature -- thanks to Eric.
+- Efficient implementation of very large include/exclude lists.
+- Volumes are no longer pruned during 'status dir'
+- Pruning is now more efficient, and if a Volume is purged,
+  during pruning, it is immediately discovered.
+- License is now GPL v2 without modifications, fix a few copyright
+  mistakes made when adding FSFE copyright notice.
+
+New ./configure options:
+- --enable-bwx-console    
+- --enable-bat
+- --with-qwt=
+- --with-db-name=
+- --with-db-user=
+- --enable-batch-insert
+
+New bconsole commands:
+- exec
+- memory
+- update recyclepool
+- .sql
+- .api
+- .pwd (in restore tree)
+- restoreclient (keyword)
+- backupclient  (keyword)
+- regexwhere    (keyword)
+- update jobid  (new command)
+- recyclepool   (keyword) 
+
+New directives:
+- Heartbeat Interval (bconsole.conf)
+- Heartbeat Interval (bacula-dir.conf in Director, Client, Storage)
+- TLS Allowed CN     (bacula-dir.conf in Client)
+- Regex Where        (bacula-dir.conf in Job)
+- Strip Prefix       (bacula-dir.conf in Job)
+- Add Prefix         (bacula-dir.conf in Job)
+- Add Suffex         (bacula-dir.conf in Job)
+- Recycle Pool       (bacula-dir.conf in Pool)
+- FailJobOnError     (bacula-dir.conf in RunScript)
+- CheckFileChanges   (bacula-dir.conf in FileSet)
+- StripPath          (bacula-dir.conf in FileSet)
+
+Other features or bug fixes:
+- Fixed bugs: 916, 910, 917, 914, 906, 907, 
+  842, 830, 893, 861, 888, 886, 807, 877, 872
+  885, 887, 864, 874, 882, 881, 863, 859, 
+  856, 854, 845, 847, 846, 809, 772, 
+  822, 825, 824, 808, 802, 797, 798, 795, 789, 791, 
+  788, 780, 763, 782, 612, 767, 775, 621, 772, 764, 
+  766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
+- Configure bat with --enable-bat. Define qwt libraries with
+  --with-qwt=<dir>. See Installation chapter of manual for details.
+- Create a depkgs-qt package that has both Qt4 and qwt, which are
+  needed to build bat. Most modern Linux systems will have both
+  these packages in the distro.
+- Storage overrides delete all previous storage definitions instead
+  of prepending.
+- One should be able to mount and unmount removable devices if the
+  Device resource has Removeable Media set and the mount and unmount
+  directives are defined.
+- ./configure will do a better job of searching for qwt libraries.
+- The Win32 version can no longer be shutdown from the tray monitor.
+  Use the command line or the Services panne.
+- Keep prune_volumes() from pruning the whole Scratch pool.
+- More debug output in status storage.
+- Correct moving a Scratch volume from pool to pool (some
+  critical columns were lost).
+- Different locking in reservations and despooling systems,
+  which means more micro-locking and less macro-locking, which
+  should give a lot more concurrency at the expense of slightly
+  (<0.1%) more overhead due to more locking/unlocking, but     
+  concurrent jobs should run much faster.
+- Additional drive reservation algorithm that should solve a lot of
+  the problems experienced with multiple drive autochangers.
+- Storage daemon status command enhanced to more clearly show Volume,
+  pool and media type when a job is waiting.
+- Made bsmtp work with more strict SMTP servers.
+- Detect doubly freed buffers in smartall.c
+- wx-console renamed to bwx-console (Fedora request)
+- gnome-console renamed to bgnome-console (Fedora request)
+- Migration preserves original job's FileSetId
+- Spooling implemented for migration jobs.
+- Config files can be read through a pipe, by specifying a leading |
+  in front of the configuration path/filename.
+- New memory command (bconsole) that will print the current Director's
+  memory usage, and an in use buffer dump.
+- Console name changed from *Console* to -Console- to accomodate Win32
+  filename restrictions.  
+- Corrected the Win32 ftruncate bug.
+- Additional version information added to Job reports.
+- New -8 option for bsmtp to specify UTF-8 encoding type.
+- bsmtp will no longer add < > to target (from, to, cc) if there
+  is already a < in the target.
+- Prefer Mounted Volumes extended to mean a volume that is being
+  mounted by another job.
+- Runscript timing set to same as version 1.38.11
+- New TLS Allowed CN directive(s) permitted.
+- New bconsole 'exec' command to run external script/command.
+- Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+- Drop from root done before database is opened.
+- Database user and name can be configured with:
+  --with-db-name=name --with-db-user=user
+- Turn on wait_for_drive in mtx-changer script.
+- Rework how bar codes are handled in mtx-changer script.
+  This appears to have been an unreported bug.
+- Updated nagios plugin supplied by Christian Masopust
+- Better restricted console ACL checking.
+- New Client Connect Wait directive in Storage daemon so that
+  users can configure how long SD waits for FD connection.
+- Bacula will no longer permit pruning of the currently running
+  job (note, if other jobs are running, they may be pruned).
+- Sockets are no longer restored.
+- dbcheck works in 300K chunks so will typically run faster.
+- Include/Exclude lists can now be efficiently handled for quite
+  large sizes -- tens of thousands of entries.
+- Several memory leaks in migration and database usage were fixed.
+- New console keyword restoreclient, which specifies the client to
+  which the restore will be sent. The client keyword specifies 
+  the backup client. The restoreclient keyword is optional if it is
+  not specified, the backup client will also be the restore client.
+- The disk file size is now checked to ensure that it agrees with the
+  catalog value before Bacula will append to the disk (same as tape
+  and DVD).
diff --git a/docs/techlogs/2008/technotes-2.4 b/docs/techlogs/2008/technotes-2.4
new file mode 100644 (file)
index 0000000..53dc057
--- /dev/null
@@ -0,0 +1,1797 @@
+              Technical notes on version 2.4
+
+General:
+14Apr09
+kes  Fix bug #1246 Sometimes access denied with VSS enabled. UCS
+     conversion cache was not properly flushed at the end of a Job.
+27Mar09
+kes  Backport label failure patch. This fixes bug #1227.
+20Mar09
+kes  Fix editing of a few time_t variables to make them 32/64 bit
+     independent. This fixes bug #1247 - 64-bit time_t and varargs 
+     don't get along in some printf-like formatting.  More work needs
+     to be done, but this should be fixed in 2.5.43.
+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'.
+16Feb09
+kes  Backport code from the development SVN and should fix bug #1213, 
+     which is a deadlock in the SD when a volume is on the wrong drive.
+11Feb09
+ebl  Apply 2.4.4-fortify.patch that should fix the _FORTIFY_SOURCE
+     problem.
+30Jan09
+kes  Fix a text sizing problem in the tray-monitor reported in
+     bug #1219, with patch included.
+22Jan09
+kes  Fix bug #1211 crash during reload with bad dird.conf file.
+10Jan09
+kes  Fix bat.pro.in so that bat will install.
+07Jan09
+kes  Fix bug #1212, SD is unable to recycle purged volumes. fstat()
+     was broken.
+
+Release Version 2.4.4
+28Dec08
+kes  Apply fix suggested by Bruno Friedmann to configure.in to
+     find python2.5
+
+Release Version 2.4.4-b2
+23Dec08
+kes  Fix bug #1208. Inappropriate Volume purging.
+22Dec08
+kes  Modify sql_update.c to edit zeros rather than NULL in unset
+     fields. This should fix bug #1206, where apparently the user
+     has modified the Bacula schema.
+20Dec08
+kes  Backport most recent changes to compat.h and compat.cpp.
+13Dec08
+kes  Create and apply 2.4.3-migrate2.patch, which fixes two bugs
+     - Bug #1206 -- sql error when there are no files to migrate.
+     - Bug #1171 -- Job catalog log is not migrated during migration.
+
+Release Version 2.4.4-b1
+03Dec08
+kes  Apply 2.4.3-sd-deadlock.patch that should fix bug #1192.
+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.
+20Nov08
+ebl  Apply 2.4.3-win32-runscript-unicode-path.patch for #1110 
+     about a problem when executing a program with Unicode path.
+ebl  Apply 2.4.3-unique-inchanger.patch fix for #1175 about bad slot
+     number if the volume is not in autochanger.
+18Nov08
+kes  Probably fix for bug #1188 where Volume is purged while writing
+     on it.
+kes  Get message enhancement to avoid job name lookup.
+07Nov08
+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.
+02Nov08
+kes  Fix orphaned jobs (possible deadlock) while pruning.
+31Oct08
+ebl  Backport of the btraceback script that keeps trace file on working dir
+28Oct08
+kes  Migrate DB Log records too. This fixes last part of bug #1171.
+24Oct08
+kes  Modify SQL so that jobs that failed will not be migrated.
+kes  Correct bug where long retention periods caused immediate
+     pruning.
+
+Release Version 2.4.3   
+27Oct08
+ebl  Apply 2.4.3-update-slots.patch to fix #1175. About update slots
+     that don't reset InChanger flag when slot is empty.
+10Oct08
+ebl  Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel
+     a non created job faster.
+08Oct08
+kes  This should correct bug #1159 where Migration does not properly
+     respect the Migration Low Bytes directive.
+02Oct08
+ebl  Fix typo in configure.in that breaks --with-db-password option
+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.
+20Sep08
+kes  Remove all double quotes from SQLite creating script and
+     replace by single quotes as suggested by John Huttley.
+08Sep08
+kes  Fix SQL case problem that may cause the failure of DiskToCatalog
+     in bug #1149.
+kes  Copy missing storage name into edit buffer. As far as I can tell
+     this never caused a bug.
+28Aug08
+ebl  Remove catalog dependency for bcopy
+ebl  Modify catalog scripts to have an easier packaging integration,
+     using default variables.
+     Make difference between SQLite3 and SQLite in db_get_type()
+26Aug08
+kes  Attempt to fix bug #1128 InChanger flag cleared during Migration
+     job when reading from one autochanger and writing to another.
+24Aug08
+kes  Add more information to SD acquire.c INFO messages.
+kes  Fix NULL Volume name error when reading and the drive must
+     be switched.
+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.
+kes  Add space after version before date in bat about dialog.
+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.
+
+Release Version 2.4.2
+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  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  Minor cleanups.
+kes  Fix bug #1125 which reports a SD crash at the end of a tape
+     during restore. It was a debug statement that should not be
+     in a release.
+20Jul08
+ebl  fix #1034 by setting big timeout on mysql connections
+19Jul08
+kes  Do partial integration of the Win32 bat build created by Eric.
+kes  Fix bat not to block.
+15Jul08
+kes  Ensure that SD tried to mount a volume not in an autochanger
+     at least once before asking for operator intervention.
+kes  Fix a pthreads bug in the Win32 pthreads emulation code.
+
+Release Version 2.4.1
+07Jul08
+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.
+
+Release Beta version 2.4.1-b2
+04Jul08 
+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  Remove const char that causes problems with Python, which has
+     older 'incorrect' headers.
+kes  Add const char in dbd.c to avoid compiler warnings.
+02Jul08
+kes  Fix mtx-changer to detect both versions of Ubuntu (Debian)
+     mt. This fixes bug #1116.
+kes  Fix failure of 2drive-concurrent-test. Always read label;
+     clear_unload() only after drive is defined in acquire_for_read().
+
+Release Beta version 2.4.1-b1
+01Jul08
+kes  Back out bad src/lib/base64.c change.
+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.
+26Jun08
+kes  Fix a recycling problem with two autochangers reported in bug
+     #1106. This may also (unlikely) fix a second recycling bug as
+     reported in #1103.
+kes  Fix a SD lock volumes deadlock problem reported in bug #1100.
+25Jun08
+kes  Fix format problem in bscan output reported in bug #1105.
+22Jun08
+kes  Copy more data when restarting a job so that run
+     overrides are kept. This should fix bug #1094.
+kes  Backport updates to jobq.c where possible.
+20Jun08
+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.
+kes  Fix a couple of pedantic compiler warnings.
+ebl  Fix bug when starting a restore on a storage that doesn't
+     have the requested MediaType.
+18Jun08
+kes  More work on word alignments -- eliminate all ints from 
+     the configuration routines.
+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.
+kes  Fix word alignment problem on non-Intel 64 bit machines
+     such as Solaris.  This should fix bug #1097 -- bus error in SD.
+12Jun08
+kes  Add missing win32/patches/wxWidgets.patch to 2.4 repository.
+
+Release Version 2.4.0
+04Jun08
+kes  Update version to reflect the magnitude of the SD changes.
+03Jun08
+kes  Make sure to clear JS_WaitMedia when operator mounts a Volume.
+     This fixes bug #1095.
+31May08
+kes  Add create_postgresql_database.sql to Win32 installer. Should 
+     fix problem reported by Juilio Monteiro.
+kes  Get correct slot when auto unloading a device. This fixes bug
+     #1086.
+30May08
+kes  Fix multiple media restore.
+kes  Make DEVICE Slot private and access it via a method.
+     Allows better control over when it is set and cleared.
+kes  Fix possible seg fault if SQL error.
+28May08
+kes  Add debug code to SD.
+kes  Fix renaming a Volume, which used the wrong Volume name. 
+26May08
+kes  If operator has rewind tape, print warning, release tape and
+     try once more. If tape is positioned somewhere, something went
+     wrong, so mark the tape in error and try once more. Previously
+     this error was fatal, now it produces an error message.
+kes  Ensure correct volume name displayed during restore
+kes  Ensure that Volume is mounted for restore.
+25May08
+kes  Fix a few more Coverity reported problems.
+
+Beta Release Version 2.2.10-b4
+24May08
+kes  Enhance a couple of SD debug messages.
+kes  Tweak unload flag setting and ensure it is set during swap.
+23May08
+ebl  Fix #1091 about bad output in estimate command.
+21May08
+kes  Modify autochanger locking to attempt to avoid race
+     conditions.
+kes  Make sure device not busy before doing label command.
+kes  Display open() errors except when polling. Previously too 
+     many were suppressed.  This should fix bug #1070.
+kes  Fix Win32 reparse points. Bacula will not recurse into any
+     reparse point directory, including mount points, unless the
+     directory is explicitly mentioned at the top level (same as
+     with Unix).  A file that is linked to another file will be
+     backed up -- much as Unix does for hardlinked files.
+     This fixes bug #1041.
+20May08
+kes  Remove double quotes from ChangeLog and ReleaseNotes
+kes  Remove StorageId test when pruning and recycling (Eric's changes).
+kes  Remove old form of locking when getting volumes -- causes deadlock.
+17May08
+kes  Fix buffer overruns detected by Coverity.
+
+Beta Release Version 2.2.10-b3
+13May08
+kes  Tweak joblog display.
+12May08
+kes  Implement --without-qwt
+kes  Fix layout of restore tree dialog 
+kes  Add configure bat QWT libraries, so that bat can be built
+     with or without the QWT libaries.
+11May08
+kes  Apply batfix bat cleanup patch from Riccardo.
+kes  Make sure we unload the right slot when swapping.
+08May08
+kes  Improve SD reserve debug code.
+kes  Testing an improvement to free up volumes no longer in use.
+
+Beta Release Version 2.2.10-b2
+07May08
+03May08
+kes  Rework SD acquire for read to handle autochanger Volume
+     swapping.
+kes  Implement regression that explicitly tests swapping a Volume
+     from one drive to another.
+kes  Enhance disk-changer to detect most error conditions.
+kes  Fix SD code so that it properly swaps a Volume between drives.
+     This fixes bug #1083.
+01May08
+kes  Prevent a Volume that is being swapped from being freed from
+     the volume list. This will most likely fix, at least partially,
+     bug #1083.
+kes  Fix strippath so that it does not get a buffer overrun and crash FD.
+     This fixes bug #1078.
+kes  Make inability to change owner/group when creating a dir only a
+     warning rather than an error.
+28Apr08
+ebl  Fix SQL query in migration code
+19Apr08
+kes  Force unload of volume when wrong volume mounted in SD.
+17Apr08
+kes  Fix bat seg fault at termination.
+kes  Add Bacula generated version to bat about box.
+
+Beta Release Version 2.2.10-b1
+16Apr08
+kes  Permit multiple simultaneous restores -- experiment.
+15Apr08
+kes  Backport development stream SD reservation system changes.
+     See below:
+16Apr08
+kes  Move final volume swapping code to DCR method and
+     call it from acquire_for_read().
+kes  When wrong volume is mounted during read, unload_autochanger.
+14Apr08
+kes  Stop searching for Volumes in SD askdir if DIR returns the
+     same volume name twice in a row.
+13Apr08
+kes  Tweak the swap Volume from one drive to another code so that
+     it now seems to work.
+kes  Resolve several problems with recycling that broke the new
+     code (these problems are in 2.2.9 as well).
+kes  Remove the volume lock when calling the sysop code.   
+kes  Don't mark a reserved volume with no writers as unused otherwise
+     jobs fail.
+12Apr08
+kes  Rework class structures for VOLRES, DCR, and DEVICE to make
+     the method names a bit more logical, and for more logically
+     handling the responsibilities.
+11Apr08
+kes  Remove redundant code in terminating the scheduler that just
+     causes a seg fault in many cases.
+kes  Cleanup releasing a volume and make it a DCR method.
+kes  Improve algorithm for detecting pre-reserved volume and
+     swapping volumes.
+10Apr08
+kes  Tweak volume swapping code so it works.
+kes  Correct name overloading in mount.c
+kes  Replace released flag in VOLRES with reserved and add access
+     methods for the VOLRES class.
+kes  Prevent volume from being released while being swapped.
+kes  Refactor parts of stored/mount.c
+09Apr08
+ebl  Add sanity checks for VolWriteTime and VolReadTime
+ebl  Take care of bad clock changes while computing VolWriteTime
+     and VolReadTime. This should fix or limit #1066
+kes  Correct error string numbers in dird/catreq.c
+kes  Restructure reserving, acquiring, and mounting volumes. Calls to
+     autochanger are deferred for mount.c -- simplifes the code.
+08Apr08
+kes  Do not prune any running job. It just fails the job.
+kes  Lock the volumes when changing dev->reserved_device and marking
+     the volume unused otherwise the device can get reserved by
+     another job before the volume is released, thus blocking it.
+===                                        
+
+Beta Release Version 2.2.9-b7
+14Apr08
+kes  Close bat console windows first to eliminate error message
+     from the notifier.
+kes  Remove useless code in Scheduler that causes seg fault on
+     termination.
+kes  Correct some SD catalog request error messages.
+kes  Don't allow pruning of any running job.
+kes  Turn off code in read_record that causes a seg fault in the SD
+     when reading past an EOS_LABEL.
+kes  Turn off unloading the autochanger in reserve.c as it just
+     causes problems.
+kes  Lock volumes when unreserving a device.
+kes  Do not mark volume unused when recycling.
+kes  When acquiring, don't mark volume unused if it is reserved (busy).
+
+Beta Release Version 2.2.9-b6
+06Apr08
+kes  Eliminate ./configure warning on po directory 
+kes  Fix bug #1063, reuse of freed ptr in list nextvol.
+kes  Release regex compile buffer in filed/job.c
+kes  Add proper type of const char in sql_create.c
+kes  Turn off debug in daemon termination routines
+kes  Move free_volume_list() before devices are freed in stored.c
+kes  Fix reference to uninitalized stack variables in bregex.c. 
+     This should correct bug #1067.
+04Apr08
+kes  Fix possible seg fault in SD when freeing a volume entry.
+02Apr08
+kes  Apply patch from bug #1069 that corrects spurious error messages
+     when ACLs enabled on SGI but no ACL exists.
+ebl  Fix a storage deamon segfault at debug level 500.
+
+Beta Release Version 2.2.9-b5 -- not released
+
+Beta Release Version 2.2.9-b4
+01Apr08
+kes  Re-enable code to remember last volume mounted on a non-tape
+     Autochanger.
+kes  Add patch supplied in bug #1068 that fixes a SD crash when using
+     a Virtual autochanger.
+kes  Generate correct JobMedia records during spooling/despooling when
+     running concurrent jobs.  Thanks to Tom Ivar Helbekkmo 
+     <tih@hamartun.priv.no> for excellent analysis and testing.
+
+Beta release Version 2.2.9-b3
+27Mar08
+kes  Rework certain SD locking based on gdb tracebacks of deadlocks
+     sent by Eric. This code now uses only the volume_lock() rather
+     than the reservations lock when at EOM and acquiring a new
+     volume. 
+kes  Ensure only one exit point in several subroutines.
+
+Beta release version 2.2.9-b2
+24Mar08
+kes  Fix to initial tape drive open to release the volume name
+
+Beta release Version 2.2.9-b1        
+22Mar08
+kes  Fix to JobMedia fix.
+kes  Fix bug pointed out by Peter Much that causes the StorageId to
+     be updated when reading a tape (during migration, it could have
+     been incorrectly set to the write StorageId).
+21Mar08
+kes  Implement autostart scripts for Debian 
+20Mar08
+kes  Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes  Massive commit of all fixes and back ports to create 2.2.9
+18Mar08
+kes  Apply doc fix from bug #1062.
+kes  Resolve crash and improper restore wx-console Win32 restore
+     GUI. Fixes bug #1065.
+kes  Update Win32 wxWidgets to latest version.
+kes  Attempt to do correct handling of Win32 mount points. Should
+     fix bug #1046.
+kes  Fix Win32 FD backup/restore memory leak due to improper termination
+     of BackupRead/Write. This fixes bug# 1038.
+kes  Add const to AIX prototype for initgroups()
+27Feb08
+kes  Undo bug #1047 heap overrun fix as it is not correct.
+14Feb08
+kes  Fix creating first JobMedia record during Migration to include
+     proper index. This caused slow restores of migrated jobs.
+10Feb08
+kes  Fix bug #1047, which had a heap overrun when stripping certain paths,
+     and do not strip paths on symbolic links.
+kes  Set catalog backup database and user name from values specified on 
+     the ./configure line.
+ebl  Apply patch to correct bug #1031, about wrong pool source information
+     in job report.
+
+Release Version 2.2.8
+25Jan08
+kes  Apply patch from Martin to correct bug #1040, bscan sets existing
+     ClientId to zero.
+kes  Fixed important spelling error in doc -- bug #1045.
+23Jan08
+kes  Move initialization of read/write res lock earlier in the code.
+     This fixes the crash with a null conf file. This fixes bug
+     #1030.
+kes  Redefine CURES in lib/parse_conf to be URES and move it all
+     into lib/parse_conf.c -- this responds to bug #1042, but does
+     not fix it. The fix is not to compile with FORTIFY_SOURCE.
+kes  Backport fix de-referencing a NULL pointer in the scanner from
+     the trunk SVN. I don't think this was reported as a bug.
+
+Beta release Version 2.2.8
+09Jan08
+kes  Re-enable the new job code editing (%f).
+08Jan08
+kes  Fix bsnprintf for float point numbers. I broke recently when
+     parameterizing some variables. This fixes bug #1036.
+03Jan08
+kes  Move Heartbeat documentation from Job to Director resource.
+     This fixes bug #1033.
+02Jan08
+kes  Fix existing switch drive SD code to call autochanger to release
+     any old volume. This must be done to keep the autochanger from
+     releasing subsequently newly reserved volumes in doing a close().
+     This should possibly fix bugs #1032 and #1018.
+kes  Apply big backport of current SVN SD code that corrects a number
+     of race conditions. This is a first step in fixing bug #1018.
+29Dec07
+ebl  Fixes bug #1028 where "Selection Type" option was not usable 
+     with JobDefs.
+
+
+Release Version 2.2.7
+24Dec07
+kes  Partial back out (disabled) %f job code editing because it
+     does not build on Win32.
+kes  Fix seg fault Frank Sweetser reports in regression testing
+     on his systems. The problem was that the original author of
+     bsnprintf.c did not take into account the side effects of
+     using ++x in the argument to a #define.
+14Dec07
+kes  Apply patch from  Michael Stapelberg <michael@stapelberg.de>
+     that implements double quoting include names in conf files,
+     and also allows piping input by having the first character 
+     be a vertical bar (|). 
+kes  Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
+     that implement %f in RunScripts to pass the FileSet name.
+kes  Skip leading | when lex input comes from a pipe as suggested
+     by Michael Stapelberg <michael@stapelberg.de>.
+13Dec07
+kes  Apply patch for bsmtp Win32 daylight savings time fix supplied by
+     Nerijus Baliunas <nerijus@users.sourceforge.net>
+10Dec07
+kes  This patch corrects a problem where the maximum concurrent storage
+     jobs counter gets out of sync during restore jobs causing jobs to
+     'wait on max Storage jobs'.  This patch fixes bug #1009.
+08Dec07
+kes  Add new include to postgresql.c suggested by Marc Cousins so
+     that it compiles correctly with pgre version 8.3.  Also fix
+     misuse of %x with pointer (should be %p).
+03Dec07
+kes  This patch fixes bcopy so that it produces correct Volumes.
+     It fixes bug #1022.
+kes  This patch eliminates spurious output to the console during a VerifyVolume
+     job that contains encrypted data. It fixes bug #1024.
+02Dec07
+kes  This patch prevents the 'status dir' command from trying to use a scratch
+     volume and possibly moving it from one pool to another.  This patch fixes
+     bug #1019.
+30Nov07
+kes  Fix --archivedir addition to configure. Replace it with
+     --with-archivedir in configure.in  This fixes the regression
+     test builds.
+kes  This patch fixes bug #1012 where the job is canceled because
+     of Max Run Time exceeded when the job has not yet started.
+29Nov07
+ebl  Apply Richard Mortimer patch that fixes #1016 when there are more than
+     one 'part' to write.  Instead of each part being stored on disk,
+     written to DVD, then deleted from disk, all parts are written to disk,
+     and only the last is written and deleted from disk.
+27Nov07
+kes  Correct typos in disk-changer.in
+25Nov07
+kes  This patch fixes the status command to include the formating string for
+     JS_AttrInserting.  It fixes bug #1021.
+kes  This patch should fix the Mac OS X build problem on the latest
+     Darwin, where sys/types.h was not included correctly (apparently
+     due to a change in the Mac headers).  The solution was to explicitly
+     ensure that it is defined for the ./configure.
+     This patch also has a rebuild of configure that includes the Debian
+     qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
+kes  This patch should ensure that queued messages to the console are
+     displayed as soon as possible.  It should fix bug #1007, but has been
+     reported not to work.
+14Nov07
+kes  This patch fixes the infinite loop when trying to increase the
+     maximum number of volumes in a Pool during the add command.
+     This patch fixes bug #1008. 
+          
+Release Version 2.2.6
+09Nov07
+kes  Get fix for joblist bug in bat from trunk.
+04Nov07
+kes  This patch fixes bug #1003 where putting the message output from
+     a Verify job into the catalog results in a recursive loop.  The problem
+     seems to show up only with postgresql (to be verified).
+02Nov07
+kes  Fix bug #942 where lots of emails where generated when the heartbeat
+     interval was low and Bacula wanted a different tape from the one in
+     the drive.
+26Oct07
+ebl  Apply 2.2.5-lastwritten.patch to fix the LastWritten field 
+     which was updated during a restore (or a reading migration) bug #982
+24Oct07
+ebl  Use qmake-qt4 instead of qmake when available (debian system). 
+22Oct07
+kes  Add a security warning to src/cats/make_catalog_backup.in indicating
+     that passing the password via the command line (arg 3) is insecure.
+     This responds to bug #990 (it doesn't fix it).
+kes  Apply 2.2.5-postgresql-errors.patch
+kes  Remove unneeded File table index on JobId, which is already
+     present as the first index of another multi-index.
+19Oct07
+kes  Set default debug_level to zero. This corrects bugs #991 and #993. 
+kes  Fix a crash in bat when it cannot connect to the Director for example
+     if the Director is not running.
+16Oct07
+kes  Activate Close button on tray-monitor window. This fixes
+     bug #986.
+12Oct07
+kes  Fix spurious warning message printed when creating a volume with
+     a LabelFormat. This fixes bug #976.
+
+Release Version 2.2.5
+09Oct07
+kes  Add JobId in place of Job name in all the Jmsg() output.  
+kes  Correct the APP_DESC for the Win32 storage service (remove an e).
+06Oct07
+kes  Add new SD despooling attributes and Dir inserting attributes 
+     job status codes.  This fixes bug #961.
+kes  Fix Win32 drive display in bat version browser. Fixes bug #962.
+05Oct07
+kes  Fix doc issue. This fixes bug #963.
+kes  Fix listing performance problems in bat. Pointed out by 
+     Chris Howells.
+ebl  Fix replace on restore. This fixes bug #969
+kes  Fix bat code that tests for Win32. This should fix bug #968
+kes  Query 5 list wrong Vol after migration. This fixes bug #960
+04Oct07 
+kes  Correct lib/Makefile.in to include enh_fnmatch.o that was removed
+     in back porting from 2.3.x
+03Oct07
+kes  Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
+     The details are included in the notes in this file.
+28Sep07
+kes  Backport 2.3 code that fixes: it fixes incorrect or incomplete error
+     messages; it fixes a problem opening the SQLite3 database when multiple
+     simultaneous jobs were running; it fixes a bug with certain versions of
+     MySQL where batch inserts failed because of table name character case
+     (upper/lower) differences.
+kes  Fix race condition that drops final block written to volume.
+     This happens in rare cases with multiple simultaneous jobs 
+     when the Volume fills.  This fixes bug #964.  May be related
+     to bug #935 and possibly #903.
+27Sep07 
+kes  Fix FD->SD authorization failure, which was due to spurious
+     wakeups from a pthread_cond_timedwait().  Simply check the
+     predicate before continuing.  This fixes bug #953
+dvl  Add new configuration item --archivedir
+dvl  Adjust regression tests to use tmp not /tmp.  This will allow
+     multiple concurrent runs of the regression tests.
+28Sep07
+kes  Eliminate more strerror() and replace with bstrerror().
+kes  Remove BSD getopt and replace with unrestricted IBM version.
+kes  Fix Win32 build for changed calling sequences.
+27Sep07 
+kes  Fix FD->SD authorization failure, which was due to spurious
+     wakeups from a pthread_cond_timedwait().  Simply check the
+     predicate before continuing.  This fixes bug #953.
+kes  Add const char where needed (more to do).
+26Sep07
+kes  Setup SQLite busy handler before doing queries. Fixes bug #967.
+kes  Don't overwrite error message in check_tables_version.
+     Fixes bug #966.
+kes  Unlock batch insert tables with same calls used elsewhere.
+kes  Allow starting 59 jobs a second.
+kes  Make SD session key more random.
+kes  Add retry for SQLite opening db if it fails. Probably helps
+     for bug #967.
+kes  Suppress extra error messages during batch insert failure.
+     Fixes bug #966.
+kes  Put some FD auth code on dbglvl rather than fixed.
+kes  Return insert attributes error message in db msg buffer to avoid
+     false error messages. Helps fix bug #966.
+kes  Separate batch init error messages. Probably helps fix bug #966.
+kes  If Dir gets an error during inserting attributes, cancel SD.  
+     This reduces unnecessary error messages.
+24Sep07 
+ebl  Cleanup batch insert code. Probably fixes bug #965.
+23Sep07 
+kes  Turn off some code when batch insert not enabled.
+kes  Edit FD name in connect error messages.
+22Sep07
+kes  Add code to handle tray monitor separated from Win32 FD.
+kes  Fix display of Win32 tray monitor after reboot. Fixes bug #952.
+20Sep07
+kes  Fix ANSI tape labeling.  This fixes bug #954.
+kes  Increase the max block size to 4MB fixes bug #957.
+kes  Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape 
+     is not properly mounted (recognized) during a poll.
+kes  Apply 2.2.4-verify patch that resolves bug #958.  A Verify catalog 
+     Job that has differences reports Verify OK.
+ebl  Fixes #955 bug seg fault in Dir introduced  with regexwhere relocation.
+
+Release Version 2.2.4
+14Sep07
+kes  Increase size of name string when FD making connection to SD.
+     May fix bug #953.
+13Sep07
+kes  Add waits to multiple exit detection code to try to force pid
+     file to always be deleted.
+kes  Restore good dev.tar.gz to rescue set appropriate binary property.
+     This fixes bug #950.
+kes  Fix seg fault in error exit of acquire_for_read after unsuccessfully
+     trying to switch drives by checking for blocking before unblocking.
+     Fixes bug #906.
+kes  Cancel storage daemon in all cases where FD reports error. This
+     should fix virtually all cases of bug #920.
+12Sep07
+kes  Fix error message that was clobbered when Dir tells SD it does not
+     have write permission on Volume.  This should fix a minor point
+     in bug #942, but not the main problem.
+kes  Add code to cancel job in SD if FD connection fails. This should
+     fix bug #920.
+kes  Add code in FD exit to prevent loops and a crash on FreeBSD.
+kes  Fix migration code to get correct Volume name with multiple volumes 
+     by skipping |.  Fixes bug #936.
+kes  Implement patch supplied by Landon to fix bug #944 where using
+     TLS with bconsole uses 99+% of the CPU.
+kes  Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+     program.
+kes  Move patches into patches directory.
+11Sep07 
+ebl  Fix bug #946 about 'bacula-dir -t' which doesn't works
+     as expected.
+09Sep07 
+ebl  Using 'm' in bconsole will show messages like before,
+     and not memory usage.
+
+Release Version 2.2.3
+kes  Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+     program.
+09Sep07
+kes  Fix bug #935, and probably also bug #903 where files were not
+     restored. MediaId was not properly set in JobMedia record after 
+     a Volume change.
+07Sep07
+kes  Add ./configure search in qwt-qt4 for qwt package
+kes  Apply Martin Simmons patch that should turn off the new API usage
+     when batch insert is turned off allowing building on older
+     PostgreSQLs.
+
+Release Version 2.2.2
+04Sep07
+ebl  Detect if new PosgreSQL batch insert API is present.
+kes  Correct incorrect mempool call causing Director crash.
+sb   Update spec files for 2.2.1 release
+
+Release Version 2.2.1
+30Aug07
+kes  Update POTFILES.in
+kes  Cleanup a few underquoted AC_DEFUNs in configure   
+kes  Apply patch from Martin Simmons that adds a test for va_copy to
+     ./configure
+29Aug07
+kes  Fix bug #921 by increasing the number of tries to create a new volume
+     from 11 to 100.
+kes  Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
+     can be called multiple times.  Implement a version for machines
+     without va_copy() that gets a big buffer.
+25Aug07
+kes  Integrate more portable zone offset code into bsmtp.c
+     Submitted by Attila Fülöp.
+24Aug07
+kes  Fix bad SD->FD return status reported by 
+     (James Harper) <james.harper@bendigoit.com.au>
+ebl  Fix a bug in read_close_session which return random status
+     thanks to James Harper
+23Aug07
+kes  Fix (hopefully) bug #930 by doing a db_escape_string() on file  
+     and directory names during restore of single file/directories.
+kes  Add sanity checks to .sql command when string is empty. Hopefully
+     that will resolve Dirks Director crash.
+22Aug07 
+kes  Apply patch submitted by Martin Simmons that corrects a seg fault
+     in the bsmtp chat subroutine when debug is >= 10.
+21Aug07
+kes  Fix Director crash when running bat SQL queries.
+kes  Add David's notes on Item 8: Copy pools.
+18Aug07
+kes  Rework projects file to be current and ready for a vote.
+kes  Enhance lex scanner error message.
+17Aug07
+kes  Tweak LICENSE file to mention BSD code.
+kes  Fix bat.pro.in so that it includes the OpenSSL libraries only
+     if specified on the ./configure.
+kes  Add first (not yet tested) cut of bcomm to the qt-console directory.
+     This class is intended to allow us to open a second bsock to the
+     Director while in the restore subdialog.  
+16Aug07
+kes  Fix configure to create bat Makefile before creating dependencies.
+kes  Eliminate the egg files from the tray-monitor. Use gtk calls.
+kes  Add a tooltip to the tray monitor.
+dvl  Set the Director's PID file before dropping privs. This fixes
+     bug #923.
+15Aug07
+kes  Update AUTHORs file
+kes  Increase the default max concurrent jobs to 20 in FD and SD to
+     correspond with the default .conf files.
+kes  Rewrite the Win32 service routines.  This eliminates the 3 copies
+     some different, of the same file created by RN when porting the 
+     Win32 SD and Dir.
+kes  Rearrange some of the Win32 directories and the placement of the files
+     in them.
+kes  Set DEVELOPER flag in version.h
+
+========================================================================
+Release Version 2.2.0
+09Aug07
+kes  Apply a second doc patch from Marc.
+kes  Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
+     improves the tips section that discusses how to setup multiple
+     simultaneous jobs.
+08Aug07
+kes  Update bat README file.
+kes  Apply patch from Allan Black <Allan.Black@btconnect.com> that     
+     corrects a typo in the Recycle status check in db_find_next_volume().
+     This will probably fix a number of annoying problems with multiple
+     Recycled volumes.
+kes  Modify most of dird/msgchan.c to use bsock class calls rather than
+     bnet calls -- no functionality change.
+07Aug07 
+kes  Modify the Verify output to specify if files are missing on    
+     the Volume(s) or disk.  Fixes confusion in bug #916.
+kes  When more than one Volume is read in a migration job, the last
+     Volume bytes reported are from the last read volume rather than
+     the last written volume. Fixed. This fixes bug #910.
+kes  Fix display of Recycle flag after update volume=foo recycle=yes.
+     It previously printed New Recyle flag is: no. This fixes bug
+     #917.
+06Aug07
+kes  Correct seg fault when switching tape drives during restore.
+kes  Commit uid_gid_name.c (replacement for idcache.c), but will not
+     be used until after 2.2.0 release.
+04Aug07
+kes  Remove fnmatch() in SD that permitted wild card specifications.
+     This fixes bug #914.
+31Jul07
+kes  Fix %g in filename returned by SQL for browse tree reported by
+     Dirk.
+kes  Fix configure so that it puts config.out in the cwd rather than
+     in src/qt-console
+kes  Attempt to fix the locking problem reported by Eric in bug #906.
+kes  Make berrno class to leave errno unchanged after constructor call.
+kes  Make bnet_server use the heap rather than the stack to allocate
+     its socket fd pointers to avoid a crash at termination. Problem
+     reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
+30Jul07 
+kes  Create new depkgs and depkgs-qt separating the qwt out of depkgs
+     and putting it in depkgs-qt along with Qt4.3.
+29Jul07
+kes  Rework code in acquire.c that switches drives for reading when
+     the Media Type does not match. This should fix bug #906
+28Jul07
+ebl  Fix a director segfault during job setup #907
+kes  Correct seg fault in postgresql when first operation returns no
+     rows.  Fixes Dirks File browser problem seg fault with bat.
+25Jul07
+kes  Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
+     building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
+     2.6 as well).
+24Jul07 
+kes  Implement PopUp YES/NO dialog for bat.
+23Jul07
+ebl  Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
+22Jul07
+kes  Correct RunScript to terminate job in FD on failure.
+kes  Change abort_on_error and AbortJobOnError to fail_on_error
+     and FailJobOnError in RunScripts.
+kes  Minor tweaks of code formating in RunScripts, principally to
+     avoid depassing 80 columns.
+21Jul07
+kes  Eliminate one #ifdef Win32 in bsmtp
+kes  Implement grow tool to grow a file for testing very large databases.
+kes  Add big-vol-test to test Bacula seeking with > 5GB.
+Release 2.1.28 beta
+19Jul07
+kes  Modify find_next_volume() to return all values in Media record.
+kes  Ensure that we keep Recycle Pool when moving Scratch volumes.
+
+Release 2.1.28 beta
+18Jul07
+kes  Update Release notes 
+17Jul07
+ebl  fix a bug in get_scratch_volume() report by Andreas Helmcke
+     Warning, in previous beta version, all media get from scratch keep their
+     old retention.
+16Jul07
+kes  Tweaked Win32 installer to remove temp conf files at uninstall time.
+     This should fix bug #842. Made a note to look at removing the temp
+     files at the end of the install.
+kes  Add ability to mount and unmount a file device providing it is
+     marked as being removable and has the appropriate mount and unmount
+     commands defined in the Device resource. This fixes bug #830.
+kes  When applying a storage override, release all previous storage
+     definitions rather than just prepending the new storage.
+     This should prevent a good deal of confusion.
+14Jul07
+kes  Implement ./configure search for qwt libraries.
+13Jul07
+kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
+     Win32 FD.  This should fix bug #893.
+kes  Remove an unnecessary beep in Win32 init code.
+kes  Update copyright dates in Win32 executable about boxes.
+kes  Replace the FSF copyrighted getopt.c and getopt.h in the Win32
+     code with a BSD getopt.c and getopt.h.
+kes  Remove sched.h from the Win32 compat directory -- not used.
+kes  Remove the Exit menu item from the Win32 tray monitor. If you really
+     need to shut it down, do it through the services panel or the command
+     line.
+kes  Remove some inappropriate Bacula FSFE copyrights.
+ebl  Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
+kes  Fix regress config non-portable test as pointed out by
+     Florian Heigl <florian.heigl@gmail.com>
+kes  Fix PSCMD for HP-UX in configure.in to have proper syntax.
+     as pointed out by Florian Heigl <florian.heigl@gmail.com>
+12Jul07
+kes  Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
+     Reported by Frank Sweetser.
+
+Release 2.1.26 beta
+12Jul07
+kes  Fix client-only build.
+kes  Integrate client-only fixes for bsys (initgroups) and conio from
+     Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
+kes  Make arguments to get_scratch_volume() in same order as other
+     such calls.
+kes  Rework the prune_volumes() subroutine so that after purging and
+     no volume found in desired pool, it will check for a scratch 
+     volume. This prevents recycling the whole scratch pool.
+kes  Add code to status storage to print boffset_t (largefile support).
+11Jul07
+kes  Move qwt (Graphics libarary for Qt4) to depkgs.
+kes  You now need a --with-qwt=<dir> to be able to build bat.
+kes  Update src/win32/cats/bacula_cats.def to include the new       
+     db_get_query_dbids() call on Win32.
+07Jul07
+kes  Correct a problem when selecting a scratch volume and moving
+     it to another pool that lost some columns.
+kes  Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
+kes  Enhance Autochanger error messages to include Volume and device name.
+kes  Rework prune_volumes() code to take account of InChanger flag,
+     and to handle recycling volumes going to the Scratch pool and
+     current pool because the RecyclePool directive.
+kes  Implement a better and more efficient db_get_query_dbids() to
+     handle creating and passing back a list of DBIds.
+
+Release 2.1.24 beta
+03Jul07
+kes  Start work on new more efficient DBId subroutine. First use
+     will be for recycling volume to Scratch inchanger.
+kes  Increase number of JobIds in pruning from 1000 to 10000. 
+     This to be replaced by above routine.
+kes  Begin implementation of building Qt4 on Win32.
+kes  Correct typo in fix I added for bad TLS shutdown.
+kes  Pull 2.0.3 patches into patches directory.
+kes  Update Release notes.  Include qt-console in line count.
+kes  Update Projects file.
+30Jun07
+kes  Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes 
+     bug in migration code where a job that spanned two volumes
+     was migrated twice.
+29Jun07
+kes  Implement new BST_DESPOOLING blocked state. Change from locking
+     during despooling in SD to blocking. This means that other threads
+     can work with the device structure, in particular the reservations
+     system while despooling.
+28Jun07
+kes  Fix return in reservation message queue that missed clearing
+     the jcr lock (implemented 26Jun07 below).
+kes  Rename a number of dev methods to make locking function names
+     a bit clearer.
+kes  Document locking in lock.c. Move lock structures to new file
+     lock.h.
+26Jun07
+kes  Move reservations message lock to lock jcr only this
+     fixes bug #861.
+kes  Move main SD locking code into lock.c (new file).
+kes  Update Win32 build to include lock.c
+
+Release 2.1.22 beta
+26Jun07
+kes  Dirk committed the qwt library code for drawing graphs in bat.
+kes  Tweak install of qwt so that it is integrated with ./configure.
+25Jun07
+kes  Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
+     out by Eric (my typo).
+ebl  Fix configure.in to get batch mode enable
+kes  Return correct string from authenticate.cpp in bat when connecting
+     to Dir.
+kes  Apply patch suggested by Frank Sweetser to fix bug #888 --     
+     spurious line drops when using TLS.  
+kes  Do not file reparse points when restoring a file that already
+     exists -- Win32.
+24Jun07
+kes  Implement Windows reparse points -- similar to directories, but
+     we do not descend into it. This is a first cut. They seem to 
+     be backed up, but restore is not yet tested.
+kes  Remove restore_blocking in tls code when shutting a socket to leave
+     it in blocking mode. Hopefully this will fix the encryption bug  
+     reported by Frank Sweetser.
+kes  When opening a file for backup, tell the OS that we are going to
+     read it sequentially -- optimization.
+kes  Change variable names in authenticate_director() to not conflict
+     with member names in bat. Caused great confusion with compiler,
+     but no warnings.
+23Jun07
+kes  Queue openssl error messages in case of comm problem.
+kes  Do shutdown() call if socket terminated.
+kes  Remove some duplicated code in tls.c
+kes  Move more of the bsock member variables into private and access
+     them with methods.
+kes  Add Frank Sweetser's tls-test to the regression suite.
+22Jun07
+kes  Add Swedish sv.po file
+21Jun07
+kes  Don't print clock skew message in FD if less than 3 seconds diff.
+kes  Add a bit of VSS info to status client.
+kes  Implement a first cut of Vista VSS, using Win2003 code.
+
+Release: 2.1.20 beta
+20Jun07
+kes  Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
+     loaded tape but uses first drive).
+kes  Fixed bug #807 Restore encrypted backup failed on Windows 2003
+     This was indeed a Win32 issue.
+19Jun07 
+kes  Simplify search of autochanger for in-use Volume.  
+kes  Fix exit condition of check for in-use volume.  kes Remove
+     inappropriate my_postgresql_free_result() in db_close()
+     routine.
+kes  Fix bad return in FD when encryption signature not found.
+     Probably caused a crash.
+kes  Inhibit missing encryption signature error messages for 
+     file types where no signature computed.
+kes  Correct inverted check on autochanger in reservation system.
+kes  Tweak debug code in autochanger reservation.
+18Jun07
+kes  Add some additional locking in the cats directory in subroutines
+     that modify packet variables called from batch insert.
+kes  Rework how dcrs are allocated. new_dcr() can now be called
+     with an existing pointer, and it will simply clean it up.
+     This allows the reservation system to test various different
+     devices, and will permit easy device changes.
+kes  A bunch of changes all over to handle new new_dcr() calling
+     sequence.
+kes  Work more on the Volume management in the SD. Remember Volumes
+     for tape drives and for autochangers (even virtual disk changers).
+kes  When looking at the Volume list to reserve a drive, handle 
+     autochanger names correctly by interating through the changer 
+     devices.  Also call the Director to see if a Volume is suitable
+     for the current job.
+kes  Fix some bugs in bscan. Make sure all media records are written.
+     Make sure that valid JobMedia records are written for disk files.
+     Previously they were completely wrong.
+kes  Move source tar files for depkgs-mingw32 to www.bacula.org so
+     that the URLs don't change and so that the developers will all
+     work off the same copy. Rebuild from scrach.
+kes  Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
+
+Release: 2.1.18 beta
+16Jun07
+kes  Fix seg fault in FD from incorrect digest size. 
+kes  Fix argument to non-OpenSSL crypto.c subroutine.      
+
+Release: 2.1.16 beta
+16Jun07
+kes  Remove a few malloc()s from the encryption code.
+kes  Use the class calls to bsock in filed/backup.c and restore.c in
+     place of the old bnet_xxx code.
+kes  Implement code that does an on the fly calculation of the  
+     signing digest during restore of encrypted files.  It makes
+     a best guess at the algorithm, and if it is not correct, will
+     then revert to the old code which reads the file after it is
+     restored.
+kes  Implement at least one missing crypto stream in stream_to_ascii()
+kes  Apply patch from William <chowmeined@gmail.com> that fixes bug
+     #877 where a reload with bad syntax causes Dir to exit.
+
+Cut: 2.1.14 beta (not released)
+14Jun07
+kes  Do not free a volume on a tape drive until another volume is
+     mounted and read, or the autochanger unloads the volume.
+     This should help the SD re-use volumes that are already mounted,
+     and should fix bug #886.
+kes  Apply patch from user brettedgar that allows gnome2-console include
+     the OpenSSL libraries, and hence work with SSL.  Fixes bug #885.
+kes  Apply patch from Lucien Weller that fixes day of week calculation
+     because of DST flag problem. Fixes bug #887.
+10Jun07
+kes  Move find_next_appendable_volume() to after acquiring a valid device
+     in reserve.c.  This fixes bug #864 -- confirmed by reporter.
+09Jun07
+kes  Unable to reproduce bug 872. However added additional testing for
+     integer.
+kes  Bug #874 resolved by documenting SQLite limitations.
+kes  Bug #882 resolved by documenting mtx-changer script for new drive code.
+kes  Bug #881 resolved by removing typo in mtx-changer script.
+kes  Made Frank Sweetser's wiki the official Bacula wiki with his
+     approval. Added a link to the wiki on the web page, and implemented
+     a backup from http://paramount.ind.wpi.edu                                          
+08Jun07
+kes  Fix update allfrompool to pass pool name.
+07Jun07
+kes  Convert to pure GPL v2 license.
+kes  Fix sscanf problems reported by Peter Buschman that caused
+     a bus error on Solaris.
+kes  Rework (simplify) the select prompt in bat.
+kes  Move get_jobid_from_tid() into lib and create a 
+     get_jcr_from_tid().
+kes  Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg().  This
+     should definitely fix the problem of lost error messages in the
+     encryption code.
+kes  Remove over zellous addition of FSFE copyright in a few eggxxx files.
+kes  Eliminate tcpd.h from the project. Enclose the #include from the
+     library with extern C ...
+kes  Add print of signal name when a signal is trapped.
+
+Release: 2.1.12 beta
+04Jun07
+kes  Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
+03Jun07
+kes  Implement SQLITE3_INIT_QUERY in version.h that can do an initial
+     query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
+     makes SQLit3 run 30 times faster, though a bit less safe.
+kes  Implement --with-batch-insert in configure and detection of thread
+     safe libraries.  It is on by default, but turned off if no thread
+     safe library (e.g. SQLite 2) is available.
+02Jun07
+kes  Fix Bacula PostgreSQL buffer overruns.
+kes  Do better checking for NULL results returned from PostgreSQL;
+     implement retry for failed queries; clear results buffer after
+     failed query. Hopefully this will correct the PostgreSQL failures.
+01Jun07
+kes  Implement algorithm to handle only one appendable volume with
+     Prefer Mounted Volumes = no.
+kes  Fix a Bacula PostgreSQL bug dereferencing a NULL pointer      
+     returned from a query.
+kes  Make volume lock recursive.
+kes  Implement an additional volume reservation algorithm that
+     starts by considering all reserved volumes then uses the
+     old brute force algorithm of searching the resources to
+     find a suitable device.
+kes  Add new reservations debug code and refine the old code.
+kes  Update the win32/dll/bacula.defs file.
+29May07
+kes  Tweak reservations algorithm to permit a few more cases, i.e.
+     volume reserved, but on different drive, ...
+kes  Enhance SD status to include Pool and Media Type for drive in a
+     more readable format (a bit longer). 
+kes  Fix PostgreSQL double free.
+28May07
+kes  Minor refactoring of restore decryption code.
+kes  Add code to smartall.c to detect double free of a buffer.
+27May07
+kes  Add < > around %r in from field on mail command of bacula-dir.conf.in
+     so that bsmtp will create a correct email address (mailbox only).
+kes  Modify 'memory' command so that the buffers are listed as 'In use'
+     to avoid confusion with Orphaned buffers.
+kes  I reworked the OpenSSL include/lib flags to be handled in     
+     the standard Bacula way, which should fix bug #863 concerning
+     non-standard OpenSSL libraries.
+26May07
+kes  Implement Help Browser window for bat.
+kes  Fix reload bug that reset StorageId to zero.
+25May07
+kes  Fix TLS #ifdefing when TLS turned off.
+kes  Ensure that when labelling a tape with Slot=0 that InChanger
+     is not set.
+kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
+     the same.
+kes  Add StartTime to final uar_sel_jobid_temp query so that we can
+     add DISTINCT (required by PostgreSQL).
+kes  Implement BSOCK authenticate_director() method. Eventually will
+     authenicate all daemons.
+kes  Move several more functions into the BSOCK class.
+24May07
+kes  Add code to tell the OS that we no longer need a cached
+     file that we were reading. In findlib/bfile.c.  Also,
+     only cache files that we are reading. Thanks to
+     Tobias Oetiker <tobi@oetiker.ch> for the idea.
+kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
+kes  Implement script to automatically generate cats and dll .def
+     files for Win32 dll.
+kes  Update README.mingw32 to include new .def file generation.
+kes  Correct typo in UTF-8 error message as reported by:
+     jhernandez <julianhernandez@gmail.com>
+kes  Add additional sm_check() code on debug level 1.
+kes  Set default debug level to 1.
+kes  Trap SIGABRT in attempt to get traceback.
+23May07
+kes  Reduce bat connect timeout from 30 to 15 seconds.
+kes  More restructuring and implementing BSOCK class in place of
+     old bnet.c code.
+kes  Remove a few unnecessary malloc() tests in crypto code.
+kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
+     not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
+kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
+22May07
+kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
+     Make buffer bigger.
+kes  Fix Verify InitCatalog. The attributes were not pointing to the
+     correct saved location.
+kes  Implement message callback so that GUI is sure to get all
+     daemon messages. Currently displayed in a dialog in bat.
+kes  Ignore SIGUSR2 (Bacula timer) in bat.
+kes  Apply regress patch from bug #859 to allow regress to work 
+     with Solaris compiler.
+21May07
+kes  Begin adding TLS support to bat.
+kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
+     clean up lex.c and make it more readable.
+20May07
+kes  Move more bnet functions into the BSOCK class.
+kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
+kes  Complete change of berrno strerror() method to bstrerror() 
+
+Release: 2.1.10 beta
+18May07
+kes  Cleanup incorrect email addresses in bsmtp.
+kes  Make bat display initial messages rather than discard them.
+16May07
+kes  First cut of adding .mod to the run command.    
+kes  Implement auto display of messages in bat.
+kes  Enhanced preferences to allow all Bacula output to be
+     displayed in bat.
+15May07
+kes  Try to make bsmtp date routines more generic.
+kes  Fixed bug #856 autochanger documentation.
+kes  Rework bsmtp date editing for Win32. This fixes bug #854.
+kes  Add new cats entry point so Win32 builds.
+14May07 
+kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
+     Fixes bug #854.
+kes  Do better checking for the MySQL 64 bit libraries looking for both
+     .a and .so libraries.
+kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
+     /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
+kes  Require the thread safe version of MySQL during configure. Thanks
+     to Andre Noll for pointing this out.
+kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
+     continuing in migration code.
+kes  Apply implementation of tray-monitor font derived from gnome-console
+     submitted by Andreas Piesk <a.piesk@gmx.net>
+13May07
+kes  Eliminate important memory loss in SQLite
+kes  Fixed the batch insert MySQL thread specific data that was not
+     being freed. See cats/mysql.c:db_thread_cleanup().
+kes  Fix restore before command.
+kes  Convert old hdr.name to name() in a few places.
+kes  Implement update jobid command.
+kes  Return all time_t dates in db_get_job_record()
+kes  Stop watchdog in SD earlier.
+kes  Put Pool just after Storage in please mount message.
+kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
+     Eric.
+12May07
+kes  Update the po files.
+kes  Fix Verify InitCatalog by making it cache attributes.
+11May07
+kes  Change name bacula-bat to bat for man 1 page to correspond to
+     Makefile.
+kes  Check for client and store NULL pointers in status command.  This
+     fixes bug #845.
+kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
+kes  Fix sign extended editing of %p.
+kes  Clean out a little old #ifdefing in cats/mysql.c
+10May07
+kes  If time diff between DIR and FD is more than 600 seconds convert
+     INFO message to WARNING.
+kes  Implement heap size display in status for all daemons.
+kes  Attempt to fix MySQL db open memory loss (not successfull).
+kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
+kes  Eliminate memory loss in MySQL (possibly other SQLs) during
+     Query. This looks like a MySQL but but by doing extra releases,
+     the memory goes away.  This should fix bug #847.
+09May07 
+kes  When backup fails, cancel SD before waiting for sd termination.
+kes  If SD is waiting for FD to connect during cancel, wake up the 
+     thread.
+kes  Fix fsf code so that errno is correctly reported.
+kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
+08May07
+kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
+     so that Bacula doesn't later stumble into a seg fault.
+kes  Use the term Restore Client in the restore Job report.
+kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
+     the original job's FileSetId.
+kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
+     spooling in migration jobs.  Not yet tested.
+kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
+     reading conf file from a pipe.  However, do it with open_bpipe()
+     rather than popen.  Not yet tested.
+07May07 
+kes  Fix an ugly bug where the VolCatBytes were getting updated
+     during a restore.
+kes  Implement bconsole memory command that prints current memory
+     usage, plus smartalloc dump.
+kes  Clarify some error messages in backup, admin, and migrate.
+kes  Shrink label dialog to smaller size.
+kes  Invert Cancel OK buttons on restore to be OK Cancel.
+kes  More strerror() to bstrerror() conversions.
+06May07 
+kes  Start implementing bstrerror() in place of strerror().
+kes  Stripping path -- seems to work.
+04May07
+kes  Prevent door and port files from being restored (mostly
+     Solaris stuff).
+kes  Free an unreleased buffer in compat code.
+kes  Change console Job name from *Console* to -Console- to eliminate
+     Win32 filename problems.  Put Win32 path separator when creating
+     Console file.  This fixes bug #846.
+kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
+     implemented.
+kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
+     structure.
+kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
+     to force Win32 error message.
+03May07
+kes  First cut strip path. The data should be passed to the FD,
+     but nothing is done with it yet.
+kes  Enhance the digest and signature routines in the crypto
+     library to accept a JCR and to use it to print error messages
+     so that they will go in the Job report rather than the daemon's
+     messages.
+kes  Simplify some of the verify signature code.
+kes  Simplify a few of the alternative returns in the signature 
+     code.
+02May07
+ebl  Use only POSIX regex instead of GNU regex in breg.c for
+     File relocation. It fix broken freebsd compilation.
+kes  Convert all other Dir files to use new ua class message 
+     routines for bat.
+kes  Tentative fix for missing digest signature in bug 807.
+kes  Correct handle problem in new win32_ftruncate routine.
+kes  Convert ua_purge.c and ua_update.c to use new ua class
+     message routines for bat.
+29Apr07 
+kes  Correct incorrect installation of LICENSE in Win32 installer.
+kes  Display LICENSE at the beginning of the Win32 install.
+kes  Attempt to correct the need for the png files to be installed 
+     for bat.
+kes  Reapply my bat.conf install script in qt-console. I think I 
+     editted bat.pro instead of bat.pro.in and it was lost.
+kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
+     the /var/lock/subsys for subsysdir.  Also corrects typos in the
+     doc.
+28Apr07
+kes  First cut update job.
+kes  Correct configure to include qmake of src/qt-console directory.
+26Apr07
+kes  Make restore job yes/mod/no print in one command so GUI works.
+kes  First cut implementing backup and restore client.
+kes  Correct editing in Verify output that caused a seg fault.
+25Apr07
+kes  Insure that bat.conf is not overwritten during installation.
+kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
+     while I was implementing migration in March 2006 !
+24Apr07
+ebl  Cleanup file relocation, using char *RegexWhere instead of
+     char *where + bool where_use_regexp
+kes  Update some manpages and add bat manpage.
+kes  Make a first cut at converting bacula.spec.in for bwx-console
+     and bgnome-console.
+kes  Apply patch from John Goerzen to add hostname as fourth argument
+     to make_catalog_backup script.
+kes  Fix typos I introduced into bsmtp.c
+kes  Make pm_strxxx() routines handle input of NULL pointer. This
+     is to protect from NULL pointers returned from SQL databases.
+kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
+kes  Add more debug to FIFO code -- fix fifo regression test.
+23Apr07
+kes  Implement posix_fadvise in FD, and for reading spool files in SD.
+kes  Add thread timer to bnet_connect() to break from OS if wait time
+     expires.
+22Apr07
+kes  Update Win32 build to include new files, new symbols, and    
+     renamed files.
+kes  Implement socket level heartbeat (tcp_keepidle)
+ebl  Commit File relocation patch
+kes  Make bat have 'make install' target.
+kes  Warn during install if old gnome-console binary found.
+kes  Warn during install if old wx-console binary found.
+kes  Add -8 option to bsmtp command line to add content type utf-8. 
+     Fixes bug #809. (Character coding problem in bsmtp).
+kes  If < is found in target (from, to, cc) then do not enclose the
+     target in < >  in bsmtp. Fixes bug #772  (malformed address).
+kes  When printing certain items in dbcheck, stop after 300000.
+     Fixes bug #822. (dbcheck loops).
+kes  Incorrect status in Dir after waiting for mount with poll set.
+     Fixes bug #825.
+21Apr07 
+kes  Extend idea of Prefer Mounted Volumes to mean a volume about
+     to be mounted.
+kes  Print waiting to reserve a device every 5 mins.           
+20Apr07
+kes  Don't call close_part in label.c if tape and relabel.
+kes  Don't free volume if busy in close() -- should help with
+     bug 801.
+ebl  Fix #824 RunScript bug (After script could be execute twice)
+     Now, Before Script can use RunsOnSuccess and RunsOnFailure options
+     By default (like before) RunsOnSuccess=true and RunsOnFailure=false
+     Add a regression script to test RunScript
+19Apr07
+kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
+     on Solaris.
+18Apr07
+kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
+     deprecated. No additional bugs will be fixed, and they will be dropped
+     in a future release (probably 2.4.0).
+kes  Change name of wx-console to bwx-console to make it more Bacula
+     unique.
+kes  Change the name of gnome-console to bgnome-console to make it
+     more Bacula unique.
+14Apr07
+kes  Some time in March, a Feature Request with patch from Jorj Bauer
+     <jorj@seas.upenn.edu> was committed by Landon (with my approval).
+     It implements:
+     The ability for the director to validate a Client (FD) CN against
+     an arbitrary set of patterns rather than the hostname, with
+     A new 'TLS Allowed CN' set of directives which are implemented
+     in the Client resource.  Then pattern matching is used in place
+     of hostname matching against the Certificate's CN. As an example, we
+     have certificates which (a) use a local CA, and (b) have a CN of the
+     form client_123.
+kes  Add new/changed entry points to Win32 build
+kes  Create unaccepted-projects for projects that are not accepted.
+kes  Simplify locking in the reservations system.
+kes  Add more debug code in reservations.
+kes  Make sure error condition on reserving a volume is handled correctly.
+kes  Correct handling of volume_in_use.
+kes  Correct handling of initializing a device.
+kes  Move handling of broadcasting releasing a device into release_device().
+kes  Correct attaching dcr to dev so that it is only done if device
+     is properly initiated.
+12Apr07
+kes  Locking debug level tweaks in SD.
+kes  Tweak new Volume code.
+11Apr07
+kes  Add exec external-command [wait-seconds] to bconsole. This
+     executes the external-command.  Note! normally external-command
+     should be enclosed in double quotes.
+kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
+     it should normally be off in a production system.
+10Apr07
+kes  Implement die command for SD so that we can force it to dump.
+kes  Implement SD lock debug code.
+kes  Implement new algorithm for keeping Volume list in SD.  It
+     is now owned by the device.
+04Apr07
+kes  Implement new code for freeing in use volumes that should 
+     resolve if not all, some of the problems of multiple drive
+     tape conflicts described in bug 801.
+03Apr07
+kes  Fix gui/bacula-web/images files in svn.
+kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+02Apr07
+ebl  Fix a bug in batch mode (in string escape)
+kes  Correct migration prune SQL typo that crept in in a    
+     recent 2.1.x change.
+01Apr07
+kes  Move bnet_despool() into class in bsock.c
+kes  Modify job report to include director name and Build OS.
+kes  Move drop root privilege and check_catalog() before fork.
+kes  Add update database scripts (version 9 to 10) to updatedb directory.
+31Mar07
+ebl  Check size and age of each file after its backup to see if
+     it has changed during backup, if 'checkfilechanges' is set.
+     The FD will do an extra check (stat(2)) after
+     each file backup. mtime, ctime and size are compared with
+     'before backup' information. If time or size mismatch, an
+     error message will be generated. You must upgrade FD to use it.
+30Mar07
+kes  Make database name and user configurable
+     --with-db-name=xxx --with-db-user=xxx
+kes  Add back database type to message.c for debugging.
+29Mar07
+kes  Implement dir_sql() which issues an SQL query.
+kes  Modify bat medialist to use dir_sql() and do some minor C++
+     formatting as well as eliminating a number of pointers, simplifing
+     the code.
+28Mar07
+kes  Fix some of the mtx-changer grep commands for tape label readers.
+kes  Convert a number of bsendmsg into the appropriate send/warning/error
+     message class calls.
+kes  Suppress the using database message in the .sql command.
+kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
+27Mar07
+kes  Add context menu for floating a window.
+kes  Some minor cleanup and name changes in qt-console
+kes  Add doing mt setblk 0 in Win32 mtx-changer.
+kes  Apply Martin's bug fix to move definition of ENODATA for 
+     FreeBSD to bsock.c
+ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
+     sqlite2 and sqlite3.
+26Mar07
+kes  More pruning cleanup.
+kes  Turn on wait_for_drive by default in mtx-changer.
+kes  Turn on Batch insert code by default as it now passes regression.
+kes  Add ./configure --enable-bat to enable building of Bat.   
+     No install yet though.
+25Mar07
+kes  Implement a new .sql command for bat.
+kes  Implement code to turn off pruning in obtaining the next volume.
+     Pruning is turned off for the status dir command, but turned on
+     for SD requests and for the list nextvolume command.
+24Mar07
+kes  Correct Qmsg() that was not updated correctly when committing a
+     previous change (probably the recent TLS patch).
+23Mar07
+kes  Write new subroutine is_volume_purged() that explicitly checks
+     if the Volume is purged, and if so marks it as such. This should
+     resolve problems reported about needing to mount twice to recycle
+     volumes.
+kes  Rewrite pruning algorithm to do more work in the SQL engine, and
+     to pass a list of JobIds to be deleted to SQL.  Also, minimize the
+     amount of duplicated code.     
+kes  Do volume pruning only for the Media Type desired (reduces pruning time
+     if multiple Media Types are in the same pool).
+kes  Implement more detailed info in the Job report for the Bacula version
+     and architecture.
+kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
+     ua_purge.c.
+ebl  Add bbatch tool to bench database and insert mode.
+     Fix sql quote stuff in batch mode
+     Fix sql stuff for mysql
+22Mar07
+kes  Correct problems with am/pm scheduling. Fixes bug #808.
+kes  Implement new prunning code that prunes up to 1000 jobs at
+     the same time.  The same technique can be applied to a number
+     of other prune/purge subroutines.
+kes  Add an insanity check when starting a new tape job to ensure
+     that the tape position has not been changed. If so fail the
+     job.
+kes  Fix Win32 build for dlls to add the folllowing:
+     src/lib/bsock.c -- new file with new entry points
+     src/lib/dlist.c  -- new entry points
+     src/cats/sql_create.c -- new entry point
+     src/cats/sql_cmds.c -- new DATA item exported
+21Mar07
+ebl  batch mode cleanup bscan-test is ok now.
+kes  Implement SD code to check length of disk volume before appending.
+18Mar07
+kes  Correct return status on db_batch... routines.
+kes  Add call to db_write_batch_file_records() to migration code.
+ebl  Fix AfterJob timing
+kes  Move the checking of the database in initializion of the Director
+     to after we drop privileges.  This avoids the need for both root
+     and bacula access to the DB.
+kes  Correct a misplaced variable definition in src/filed/backup.c
+kes  Correct how the new batch insert db_create_attributes_record()
+     uses the arguments.  Caused a seg fault in bscan.
+kes  Implement lock() and unlock() methods in DEVICE class.
+     Implement block() and set_block(xx) methods in DEVICE class.
+kes  Modify bnet_connect() so that it uses time() to check for the
+     wait time expiring (on some OSes, some system calls may not
+     return immediately).
+kes  Modify Verify to obtain the previous JobId when it is actually
+     running rather than at schedule time (as it was in 1.38.x).     
+kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
+     fix bug #802.
+kes  When checking pid in pid file, continue running if the pid is
+     the same as ours. This occurs on IRIX after a system crash.
+     Fixes bug #797.
+10Mar07
+kes  Extend new GUI API.
+kes  Make the ua structure a class, and implement send_msg(),
+     error_msg(), warning_msg(), and info_msg().
+08Mar07
+kes  Apply fix from for building wx-console on the Mac from
+     bug #798.
+kes  Implement new select mechanism for GUI programs.
+kes  Reorganize initialization of stackedWidgets in bat.
+07Mar07
+kes  Add updated nagios plugin supplied by Christian Masopust.
+05Mar07
+kes  More bat implementation.
+kes  File migrate bug with Pool Occupancy using mediaid instead
+     of jobids.  Fixes bug #795.
+kes  Fix orphaned buffers in filed backup and verify due to
+     crypto buffers not freed during errors.  Fixes bug #789.
+kes  Extend new GUI api code to tree commands.
+kes  Ensure that tree and dot commands check console ACLs.
+kes  Permit marking directory with trailing slash.
+kes  Allow 20 console connections (instead of only 10).
+04Mar07
+kes  Add smartctl call to bacula-sd.conf as an example of getting
+     tape alert info.
+02Mar07
+kes  Modify jobq.c to let simultaneous restore jobs run. This may 
+     cause them to fail if they cannot get a drive.
+kes  Add Client Connect Wait to Storage daemon to permit users to
+     modify the time the SD waits for a FD connection.
+29Feb07
+kes  Correct virtual changer check which was backwards. This caused
+     volumes to be unloaded into slots already occupied.
+28Feb07
+kes  Apply Command ACL filter to JobId list in restore command.
+kes  Correct typeo in var.c patch.
+27Feb07
+kes  Don't let Bacula prune File or Job records for the current Job.
+kes  Fix variable substitution pad + inc bug reported (with patch)
+     in bug #791.
+26Feb07
+kes  Correct SQLite log table index as reported by Luca Berra.
+24Feb07
+ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
+22Feb07
+kes  Begin implementing new comm signals for API.
+kes  Fix a few places in lib/message.c where the open fd may 
+     not be zeroed.
+kes  Continue implementing lib/bsock.c (real class).  Make jcr,
+     who, host, and port private. There are new methods to access
+     them for non-class use. This required touching a number of files.
+21Feb07
+kes  Add LANG=C to autoconf/randpass so it works with languages other
+     than English.  Fixes bug #788.
+20Feb07
+ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
+     This fixes bug #780
+     You will not be able to generate Include/Exclude list any more.
+     It will be fixed soon.
+     If you want to use this, you can apply
+     trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
+19Feb07
+kes  Restore of sockets created false error messages because Bacula
+     no longer restores sockets, but the code was still trying to
+     set the attributes on a non-existent file. Reported by a user.
+ebl  finish RecyclePool feature
+     Media will takes Pool.RecyclePool
+     when moving from Scratch to a Pool or when user will do
+     update volume=xxx frompool
+     To use it, add RecyclePool = aPool to your Pool resource
+        Pool {
+                Name = Default
+                RecyclePool = Scratch
+                ...
+        }
+     TODO: update manual
+kes  Expand new BSOCK class adding signal() and new BNET signals.
+kes  Begin enhancing the dot commands adding a new API function
+     that returns more information and will make it easier
+     to interface to the Director from a program.
+18Feb07
+kes  Make DEVICE fd private. Its new name is m_fd, and can be
+     obtained with dev->fd() outside the class.  This is the
+     first of many DEVICE members to be made private.
+kes  Implement Michael Renner's idea on having a virtual disk
+     changer. I made some minor modifications (e.g. I did not
+     implement the Virtual Changer directive, but simply set
+     the Changer Command to an empty string.
+17Feb07
+kes  Implement a BSOCK send() method that writes the whole record
+     in a single write() request rather than in two.
+ebl  add update volume=xxx recyclepool=yyyy
+     volume takes recyclepool from pool when using update volume=xxx from pool
+16Feb07
+kes  Fix encryption deblocking bug, which caused some restored files
+     to be truncated. This fixes bug #763.
+kes  Add FD event sequence order prepared by Eric -- for RunScripts.
+kes  Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
+13Feb07
+kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
+ebl  Use btime_t instead of uint64_t in media patch.
+11Feb07
+kes  Optimize the use of the database a bit in the Status dir command.
+     Only open it when needed, ensure that if any previous database
+     was opened, it is closed.
+10Feb07
+kes  Correct VolCatBytes bug from media patch.
+kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
+     in the case of orphaned records.
+kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
+     and File records in 300K chunks to be more efficient. This
+     idea came from Juan Luis Frances (if I remember right).
+kes  Apply Eric's scratch patch that moves a purged Volume to
+     the RecyclePool.  Question: how is RecyclePool set? what
+     happens to the ScratchPool?
+kes  Apply Eric's media patch that collects read/write media
+     times as well as byte counts.  This patch requires a
+     simultaneous upgrade of the DIR and SD.  Note, there
+     should be some way to turn off timing. I'm not sure
+     times are in Bacula units.
+kes  Apply Eric's batch-insert patch.
+09Feb07
+kes  Update projects list.
+08Feb07
+kes  Implement Include/Exclude file lists in FD as dlists using
+     the new dlistString class. This permits efficiently having
+     large include/exclude lists and completes project Item 25.
+kes  Fix dird/ua_cmds.c so that a cancel command checks if the
+     console is authorized to cancel the job.  This fixes bug 
+     #767.
+kes  Modify SD so that the VolCatJobs medium record is updated
+     at the beginning of a Job rather than the end.  This
+     fixes bug #775 where exceeding MaxVolJobs caused jobs
+     to fail.
+kes  Added a mutex around getting and setting Volume information
+     so that multiple simultaneous jobs will single thread.
+07Feb07
+     Switch to using Subversion
+kes  Remove src/pygtk-console/ from configure
+06Feb07
+kes  Delete src/lib/btree.c from win32 build, then add rblist.c
+     plus the entrypoints.
+kes  Apply patch supplied that corrects debug print
+     in canceling jobs for max run time.  Supplied as
+     part of bug #621, which was previously fixed.
+05Feb07
+kes  Test on job_canceled() and sd_msg_thread_done inside
+     loop starting the message thread to avoid a race condition.
+     Fixes bug #771.
+kes  Remove rl_catch_signal from console.c as it conflicted
+     with the header definition. Fixes bug #765.
+ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
+04Feb07
+kes  Clarify some stored/acquire messages to indicate if the
+     problem is with read or append.
+02Feb07
+kes  Fix memory leak with storage ids in cats/sql_get.c
+kes  Terminate watchdog earlier to avoid reference to released
+     memory -- reported by Jason Austin.
+kes  Move closing the database from jobq.c to the director daemon
+     termination routine. This fixes memory leaks for shadow jobs
+     (i.e. migration jobs).
+kes  Free up the unique jobid chain items in migrate.c.  This fixes
+     a memory leak problem.
+kes  Convert some ugly looking for statements to use foreach_alist
+     in findlib/find.c.  This will facilitate converting the structures
+     to use dlist (for large include/exclude lists).
+kes  Fix a bug in the btree.c and btree.h routines, then rename them
+     rblist and add them to be built in src/lib.  Include some new
+     methods written by Rudolf Cejka that make the code more readable
+     (hides some of the ugly casting).
+kes  Add set_next() and set_prev() methods which make the code much more 
+     readable. Also add a new dlistString class that facilitates storing
+     strings in dlists.  To be used in the large include/exclude lists.
+kes  Make some trivial modifications to lib/tree.h that use rblist
+     rather than dlist for storing the tree links. This was suggested
+     by Rudolf Cejka.  The result of this is that the restore tree now
+     uses red-black binary trees rather than simple linked lists. This
+     should give rather dramatic speed improvements for directories
+     contining large numbers of directories/files (more than 10000).
+28Jan07 
+kes  Fix maxruntime bug #621.
+26Jan07
+ebl  Implement the include JobID in spool file name project.
+kes  Reorder projects file in order determined by Jan 2007 vote.
+kes  Implement item #12 on project list -- quick release of FD by
+     the SD.
+kes  Fix open of SQLite3 db where user does not have write permission
+     so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes  Add back missing @ in Win32 Makefile.
+kes  Change 'Device not configured to autolabel' from INFO
+     to WARNING.
+kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
+     which should restart an indefinite # of times.
+kes  Fix configure --help to print --with-mysql[=DIR]. Same for
+     other DIR specifications.
+23Jan07
+rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
+     Fix path quoting in SQLite scripts.
+     Fix problems with SHGetFolderPath.
+19Jan07
+kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes  Fix Job restart on error bug that promotes an Inc to a Full
+     backup.  This should fix bug #755.
+kes  Add qt-console and first cut of code.
+
+Version 2.0.1
+12Jan07
+kes  Fix Bacula->Documentation link on Win32 to point to index.html
+     instead of bacula.html. Fixed bug #750.
+kes  Return JobId in db_get_job_record() when JobId==0. This should
+     fix bug #741.
+kes  Do not release source pointers when restarting a failed job.
+11Jan07
+kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+     This *should* fix bug #747.
+kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+     bug #742.
+09Jan07
+kes  Modify USTORE constructor to set an empty store_source string, 
+     and don't copy the store_source string in a cancel.  Hopefully
+     this will fix Arno's seg fault, bug #744.
+kes  Add back code to disable conio in configure. Fixes bug #743.
+kes  Correct the Options scanner in the FD to correctly handle  
+     SHA1 option, which was eating the next option.  Reported by    
+     Sebastien Guilbaud.
+kes  Add code to indicate when the SD is spooling, spool wait, and 
+     despooling as requested by Alan Brown.
+
+Version 2.0.0 released: 4 January 2007
diff --git a/docs/techlogs/RN-2.2.0 b/docs/techlogs/RN-2.2.0
deleted file mode 100644 (file)
index 45d3fcf..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-
-          Release Notes for Bacula 2.2.0 
-
-  Bacula code: Total files = 520 Total lines = 195,550 (*.h *.c *.in)
-  82 new files, 41,221 new lines of code, 208,380 lines of change from 2.0.3
-
-This Director and Storage daemon must be upgraded at the same time,
-but they should be compatible with all 2.0.x File daemons, unless you
-use some of the new features that affect the FD.  In other words, you should
-not have to upgrade all your File daemons when you upgrade. There is
-no database upgrade needed from version 2.0.x to 2.2.0.
-
-Areas requiring caution or testing:
-- You must have the thread safe version of MySQL client libraries loaded
-  to build with MySQL enabled.
-- Volumes are pruned only when absolutely necessary -- this may cause
-  your database to grow compared to prior Bacula versions.
-- Solaris door and even port files are no longer restored (equivalent
-    to what we do with sockets).
-- SQLite is no longer supported for Solaris -- it fails too often with
-  bus errors.  SQLite3 should work on Solaris.
-- The default setting for SQLite3 is now 'PRAGMA synchronous=OFF'.
-  This makes it run 30 times faster, but increases the possiblity
-  of a corrupted database if your server shuts down unexpectedly.
-  The default behavior can be changed in src/version.h
-- Restore on Win32, and in particular on Vista is untested. Please
-  test before relying on it.  It should backup and restore reparse
-  points.
-- Win32 servers are untested, and very likely not to work.
-
-The major new features are:
-- Much faster insertion of attributes (somewhere around 10 times),
-  many thanks to Eric Bollengier and Marc Cousin. 
-- First release of bat (Bacula Administration Tool).  Note to build
-  bat you must explicitly enable it on the ./configure line, you
-  must have the Qt4 version 4.2 or later libraries loaded, the qwt
-  (Qt Graphics) package loaded, and qmake and the other Qt4 tools 
-  must be available. Most of the implementation was done by Dirk Bartley.
-- Red/Black restore in memory tree (500 times faster loading).
-- The Regex Where code to allow easier relocation of restored files 
-  thanks to Eric.
-- Socket level heartbeat for all connections (untested).
-- posix_fadvise() use in the FD to improve performance reduces
-  swapping due to opening/reading lots of files. Win32 equivalent
-  implemented.
-- Much improved Volume reservation code that should eliminate most
-  conflicts experienced in multiple drive autochangers.
-- Simpler locking in the SD in the reservation system.
-- Detection of file size/date change during backup if enabled.
-- New Recycle Pool feature -- thanks to Eric.
-- Efficient implementation of very large include/exclude lists.
-- Volumes are no longer pruned during 'status dir'
-- Pruning is now more efficient, and if a Volume is purged,
-  during pruning, it is immediately discovered.
-- License is now GPL v2 without modifications, fix a few copyright
-  mistakes made when adding FSFE copyright notice.
-
-New ./configure options:
-- --enable-bwx-console    
-- --enable-bat
-- --with-qwt=
-- --with-db-name=
-- --with-db-user=
-- --enable-batch-insert
-
-New bconsole commands:
-- exec
-- memory
-- update recyclepool
-- .sql
-- .api
-- .pwd (in restore tree)
-- restoreclient (keyword)
-- backupclient  (keyword)
-- regexwhere    (keyword)
-- update jobid  (new command)
-- recyclepool   (keyword) 
-
-New directives:
-- Heartbeat Interval (bconsole.conf)
-- Heartbeat Interval (bacula-dir.conf in Director, Client, Storage)
-- TLS Allowed CN     (bacula-dir.conf in Client)
-- Regex Where        (bacula-dir.conf in Job)
-- Strip Prefix       (bacula-dir.conf in Job)
-- Add Prefix         (bacula-dir.conf in Job)
-- Add Suffex         (bacula-dir.conf in Job)
-- Recycle Pool       (bacula-dir.conf in Pool)
-- FailJobOnError     (bacula-dir.conf in RunScript)
-- CheckFileChanges   (bacula-dir.conf in FileSet)
-- StripPath          (bacula-dir.conf in FileSet)
-
-Other features or bug fixes:
-- Fixed bugs: 916, 910, 917, 914, 906, 907, 
-  842, 830, 893, 861, 888, 886, 807, 877, 872
-  885, 887, 864, 874, 882, 881, 863, 859, 
-  856, 854, 845, 847, 846, 809, 772, 
-  822, 825, 824, 808, 802, 797, 798, 795, 789, 791, 
-  788, 780, 763, 782, 612, 767, 775, 621, 772, 764, 
-  766, 621, 761, 755, 750, 741, 747, 742, 744, and 743.
-- Configure bat with --enable-bat. Define qwt libraries with
-  --with-qwt=<dir>. See Installation chapter of manual for details.
-- Create a depkgs-qt package that has both Qt4 and qwt, which are
-  needed to build bat. Most modern Linux systems will have both
-  these packages in the distro.
-- Storage overrides delete all previous storage definitions instead
-  of prepending.
-- One should be able to mount and unmount removable devices if the
-  Device resource has Removeable Media set and the mount and unmount
-  directives are defined.
-- ./configure will do a better job of searching for qwt libraries.
-- The Win32 version can no longer be shutdown from the tray monitor.
-  Use the command line or the Services panne.
-- Keep prune_volumes() from pruning the whole Scratch pool.
-- More debug output in status storage.
-- Correct moving a Scratch volume from pool to pool (some
-  critical columns were lost).
-- Different locking in reservations and despooling systems,
-  which means more micro-locking and less macro-locking, which
-  should give a lot more concurrency at the expense of slightly
-  (<0.1%) more overhead due to more locking/unlocking, but     
-  concurrent jobs should run much faster.
-- Additional drive reservation algorithm that should solve a lot of
-  the problems experienced with multiple drive autochangers.
-- Storage daemon status command enhanced to more clearly show Volume,
-  pool and media type when a job is waiting.
-- Made bsmtp work with more strict SMTP servers.
-- Detect doubly freed buffers in smartall.c
-- wx-console renamed to bwx-console (Fedora request)
-- gnome-console renamed to bgnome-console (Fedora request)
-- Migration preserves original job's FileSetId
-- Spooling implemented for migration jobs.
-- Config files can be read through a pipe, by specifying a leading |
-  in front of the configuration path/filename.
-- New memory command (bconsole) that will print the current Director's
-  memory usage, and an in use buffer dump.
-- Console name changed from *Console* to -Console- to accomodate Win32
-  filename restrictions.  
-- Corrected the Win32 ftruncate bug.
-- Additional version information added to Job reports.
-- New -8 option for bsmtp to specify UTF-8 encoding type.
-- bsmtp will no longer add < > to target (from, to, cc) if there
-  is already a < in the target.
-- Prefer Mounted Volumes extended to mean a volume that is being
-  mounted by another job.
-- Runscript timing set to same as version 1.38.11
-- New TLS Allowed CN directive(s) permitted.
-- New bconsole 'exec' command to run external script/command.
-- Turn on FreeBSD/OpenBSD code to set EOT model on tape.
-- Drop from root done before database is opened.
-- Database user and name can be configured with:
-  --with-db-name=name --with-db-user=user
-- Turn on wait_for_drive in mtx-changer script.
-- Rework how bar codes are handled in mtx-changer script.
-  This appears to have been an unreported bug.
-- Updated nagios plugin supplied by Christian Masopust
-- Better restricted console ACL checking.
-- New Client Connect Wait directive in Storage daemon so that
-  users can configure how long SD waits for FD connection.
-- Bacula will no longer permit pruning of the currently running
-  job (note, if other jobs are running, they may be pruned).
-- Sockets are no longer restored.
-- dbcheck works in 300K chunks so will typically run faster.
-- Include/Exclude lists can now be efficiently handled for quite
-  large sizes -- tens of thousands of entries.
-- Several memory leaks in migration and database usage were fixed.
-- New console keyword restoreclient, which specifies the client to
-  which the restore will be sent. The client keyword specifies 
-  the backup client. The restoreclient keyword is optional if it is
-  not specified, the backup client will also be the restore client.
-- The disk file size is now checked to ensure that it agrees with the
-  catalog value before Bacula will append to the disk (same as tape
-  and DVD).
diff --git a/docs/techlogs/technotes-2.1 b/docs/techlogs/technotes-2.1
deleted file mode 100644 (file)
index 371bf94..0000000
+++ /dev/null
@@ -1,992 +0,0 @@
-              Technical notes on version 2.2
-
-General:
-
-Release Version 2.2.0
-09Aug07
-kes  Apply a second doc patch from Marc.
-kes  Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
-     improves the tips section that discusses how to setup multiple
-     simultaneous jobs.
-08Aug07
-kes  Update bat README file.
-kes  Apply patch from Allan Black <Allan.Black@btconnect.com> that     
-     corrects a typo in the Recycle status check in db_find_next_volume().
-     This will probably fix a number of annoying problems with multiple
-     Recycled volumes.
-kes  Modify most of dird/msgchan.c to use bsock class calls rather than
-     bnet calls -- no functionality change.
-07Aug07 
-kes  Modify the Verify output to specify if files are missing on    
-     the Volume(s) or disk.  Fixes confusion in bug #916.
-kes  When more than one Volume is read in a migration job, the last
-     Volume bytes reported are from the last read volume rather than
-     the last written volume. Fixed. This fixes bug #910.
-kes  Fix display of Recycle flag after update volume=foo recycle=yes.
-     It previously printed New Recyle flag is: no. This fixes bug
-     #917.
-06Aug07
-kes  Correct seg fault when switching tape drives during restore.
-kes  Commit uid_gid_name.c (replacement for idcache.c), but will not
-     be used until after 2.2.0 release.
-04Aug07
-kes  Remove fnmatch() in SD that permitted wild card specifications.
-     This fixes bug #914.
-31Jul07
-kes  Fix %g in filename returned by SQL for browse tree reported by
-     Dirk.
-kes  Fix configure so that it puts config.out in the cwd rather than
-     in src/qt-console
-kes  Attempt to fix the locking problem reported by Eric in bug #906.
-kes  Make berrno class to leave errno unchanged after constructor call.
-kes  Make bnet_server use the heap rather than the stack to allocate
-     its socket fd pointers to avoid a crash at termination. Problem
-     reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
-30Jul07 
-kes  Create new depkgs and depkgs-qt separating the qwt out of depkgs
-     and putting it in depkgs-qt along with Qt4.3.
-29Jul07
-kes  Rework code in acquire.c that switches drives for reading when
-     the Media Type does not match. This should fix bug #906
-28Jul07
-ebl  Fix a director segfault during job setup #907
-kes  Correct seg fault in postgresql when first operation returns no
-     rows.  Fixes Dirks File browser problem seg fault with bat.
-25Jul07
-kes  Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
-     building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
-     2.6 as well).
-24Jul07 
-kes  Implement PopUp YES/NO dialog for bat.
-23Jul07
-ebl  Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
-22Jul07
-kes  Correct RunScript to terminate job in FD on failure.
-kes  Change abort_on_error and AbortJobOnError to fail_on_error
-     and FailJobOnError in RunScripts.
-kes  Minor tweaks of code formating in RunScripts, principally to
-     avoid depassing 80 columns.
-21Jul07
-kes  Eliminate one #ifdef Win32 in bsmtp
-kes  Implement grow tool to grow a file for testing very large databases.
-kes  Add big-vol-test to test Bacula seeking with > 5GB.
-Release 2.1.28 beta
-19Jul07
-kes  Modify find_next_volume() to return all values in Media record.
-kes  Ensure that we keep Recycle Pool when moving Scratch volumes.
-
-Release 2.1.28 beta
-18Jul07
-kes  Update Release notes 
-17Jul07
-ebl  fix a bug in get_scratch_volume() report by Andreas Helmcke
-     Warning, in previous beta version, all media get from scratch keep their
-     old retention.
-16Jul07
-kes  Tweaked Win32 installer to remove temp conf files at uninstall time.
-     This should fix bug #842. Made a note to look at removing the temp
-     files at the end of the install.
-kes  Add ability to mount and unmount a file device providing it is
-     marked as being removable and has the appropriate mount and unmount
-     commands defined in the Device resource. This fixes bug #830.
-kes  When applying a storage override, release all previous storage
-     definitions rather than just prepending the new storage.
-     This should prevent a good deal of confusion.
-14Jul07
-kes  Implement ./configure search for qwt libraries.
-13Jul07
-kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
-     Win32 FD.  This should fix bug #893.
-kes  Remove an unnecessary beep in Win32 init code.
-kes  Update copyright dates in Win32 executable about boxes.
-kes  Replace the FSF copyrighted getopt.c and getopt.h in the Win32
-     code with a BSD getopt.c and getopt.h.
-kes  Remove sched.h from the Win32 compat directory -- not used.
-kes  Remove the Exit menu item from the Win32 tray monitor. If you really
-     need to shut it down, do it through the services panel or the command
-     line.
-kes  Remove some inappropriate Bacula FSFE copyrights.
-ebl  Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
-kes  Fix regress config non-portable test as pointed out by
-     Florian Heigl <florian.heigl@gmail.com>
-kes  Fix PSCMD for HP-UX in configure.in to have proper syntax.
-     as pointed out by Florian Heigl <florian.heigl@gmail.com>
-12Jul07
-kes  Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
-     Reported by Frank Sweetser.
-
-Release 2.1.26 beta
-12Jul07
-kes  Fix client-only build.
-kes  Integrate client-only fixes for bsys (initgroups) and conio from
-     Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
-kes  Make arguments to get_scratch_volume() in same order as other
-     such calls.
-kes  Rework the prune_volumes() subroutine so that after purging and
-     no volume found in desired pool, it will check for a scratch 
-     volume. This prevents recycling the whole scratch pool.
-kes  Add code to status storage to print boffset_t (largefile support).
-11Jul07
-kes  Move qwt (Graphics libarary for Qt4) to depkgs.
-kes  You now need a --with-qwt=<dir> to be able to build bat.
-kes  Update src/win32/cats/bacula_cats.def to include the new       
-     db_get_query_dbids() call on Win32.
-07Jul07
-kes  Correct a problem when selecting a scratch volume and moving
-     it to another pool that lost some columns.
-kes  Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
-kes  Enhance Autochanger error messages to include Volume and device name.
-kes  Rework prune_volumes() code to take account of InChanger flag,
-     and to handle recycling volumes going to the Scratch pool and
-     current pool because the RecyclePool directive.
-kes  Implement a better and more efficient db_get_query_dbids() to
-     handle creating and passing back a list of DBIds.
-
-Release 2.1.24 beta
-03Jul07
-kes  Start work on new more efficient DBId subroutine. First use
-     will be for recycling volume to Scratch inchanger.
-kes  Increase number of JobIds in pruning from 1000 to 10000. 
-     This to be replaced by above routine.
-kes  Begin implementation of building Qt4 on Win32.
-kes  Correct typo in fix I added for bad TLS shutdown.
-kes  Pull 2.0.3 patches into patches directory.
-kes  Update Release notes.  Include qt-console in line count.
-kes  Update Projects file.
-30Jun07
-kes  Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes 
-     bug in migration code where a job that spanned two volumes
-     was migrated twice.
-29Jun07
-kes  Implement new BST_DESPOOLING blocked state. Change from locking
-     during despooling in SD to blocking. This means that other threads
-     can work with the device structure, in particular the reservations
-     system while despooling.
-28Jun07
-kes  Fix return in reservation message queue that missed clearing
-     the jcr lock (implemented 26Jun07 below).
-kes  Rename a number of dev methods to make locking function names
-     a bit clearer.
-kes  Document locking in lock.c. Move lock structures to new file
-     lock.h.
-26Jun07
-kes  Move reservations message lock to lock jcr only this
-     fixes bug #861.
-kes  Move main SD locking code into lock.c (new file).
-kes  Update Win32 build to include lock.c
-
-Release 2.1.22 beta
-26Jun07
-kes  Dirk committed the qwt library code for drawing graphs in bat.
-kes  Tweak install of qwt so that it is integrated with ./configure.
-25Jun07
-kes  Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
-     out by Eric (my typo).
-ebl  Fix configure.in to get batch mode enable
-kes  Return correct string from authenticate.cpp in bat when connecting
-     to Dir.
-kes  Apply patch suggested by Frank Sweetser to fix bug #888 --     
-     spurious line drops when using TLS.  
-kes  Do not file reparse points when restoring a file that already
-     exists -- Win32.
-24Jun07
-kes  Implement Windows reparse points -- similar to directories, but
-     we do not descend into it. This is a first cut. They seem to 
-     be backed up, but restore is not yet tested.
-kes  Remove restore_blocking in tls code when shutting a socket to leave
-     it in blocking mode. Hopefully this will fix the encryption bug  
-     reported by Frank Sweetser.
-kes  When opening a file for backup, tell the OS that we are going to
-     read it sequentially -- optimization.
-kes  Change variable names in authenticate_director() to not conflict
-     with member names in bat. Caused great confusion with compiler,
-     but no warnings.
-23Jun07
-kes  Queue openssl error messages in case of comm problem.
-kes  Do shutdown() call if socket terminated.
-kes  Remove some duplicated code in tls.c
-kes  Move more of the bsock member variables into private and access
-     them with methods.
-kes  Add Frank Sweetser's tls-test to the regression suite.
-22Jun07
-kes  Add Swedish sv.po file
-21Jun07
-kes  Don't print clock skew message in FD if less than 3 seconds diff.
-kes  Add a bit of VSS info to status client.
-kes  Implement a first cut of Vista VSS, using Win2003 code.
-
-Release: 2.1.20 beta
-20Jun07
-kes  Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
-     loaded tape but uses first drive).
-kes  Fixed bug #807 Restore encrypted backup failed on Windows 2003
-     This was indeed a Win32 issue.
-19Jun07 
-kes  Simplify search of autochanger for in-use Volume.  
-kes  Fix exit condition of check for in-use volume.  kes Remove
-     inappropriate my_postgresql_free_result() in db_close()
-     routine.
-kes  Fix bad return in FD when encryption signature not found.
-     Probably caused a crash.
-kes  Inhibit missing encryption signature error messages for 
-     file types where no signature computed.
-kes  Correct inverted check on autochanger in reservation system.
-kes  Tweak debug code in autochanger reservation.
-18Jun07
-kes  Add some additional locking in the cats directory in subroutines
-     that modify packet variables called from batch insert.
-kes  Rework how dcrs are allocated. new_dcr() can now be called
-     with an existing pointer, and it will simply clean it up.
-     This allows the reservation system to test various different
-     devices, and will permit easy device changes.
-kes  A bunch of changes all over to handle new new_dcr() calling
-     sequence.
-kes  Work more on the Volume management in the SD. Remember Volumes
-     for tape drives and for autochangers (even virtual disk changers).
-kes  When looking at the Volume list to reserve a drive, handle 
-     autochanger names correctly by interating through the changer 
-     devices.  Also call the Director to see if a Volume is suitable
-     for the current job.
-kes  Fix some bugs in bscan. Make sure all media records are written.
-     Make sure that valid JobMedia records are written for disk files.
-     Previously they were completely wrong.
-kes  Move source tar files for depkgs-mingw32 to www.bacula.org so
-     that the URLs don't change and so that the developers will all
-     work off the same copy. Rebuild from scrach.
-kes  Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
-
-Release: 2.1.18 beta
-16Jun07
-kes  Fix seg fault in FD from incorrect digest size. 
-kes  Fix argument to non-OpenSSL crypto.c subroutine.      
-
-Release: 2.1.16 beta
-16Jun07
-kes  Remove a few malloc()s from the encryption code.
-kes  Use the class calls to bsock in filed/backup.c and restore.c in
-     place of the old bnet_xxx code.
-kes  Implement code that does an on the fly calculation of the  
-     signing digest during restore of encrypted files.  It makes
-     a best guess at the algorithm, and if it is not correct, will
-     then revert to the old code which reads the file after it is
-     restored.
-kes  Implement at least one missing crypto stream in stream_to_ascii()
-kes  Apply patch from William <chowmeined@gmail.com> that fixes bug
-     #877 where a reload with bad syntax causes Dir to exit.
-
-Cut: 2.1.14 beta (not released)
-14Jun07
-kes  Do not free a volume on a tape drive until another volume is
-     mounted and read, or the autochanger unloads the volume.
-     This should help the SD re-use volumes that are already mounted,
-     and should fix bug #886.
-kes  Apply patch from user brettedgar that allows gnome2-console include
-     the OpenSSL libraries, and hence work with SSL.  Fixes bug #885.
-kes  Apply patch from Lucien Weller that fixes day of week calculation
-     because of DST flag problem. Fixes bug #887.
-10Jun07
-kes  Move find_next_appendable_volume() to after acquiring a valid device
-     in reserve.c.  This fixes bug #864 -- confirmed by reporter.
-09Jun07
-kes  Unable to reproduce bug 872. However added additional testing for
-     integer.
-kes  Bug #874 resolved by documenting SQLite limitations.
-kes  Bug #882 resolved by documenting mtx-changer script for new drive code.
-kes  Bug #881 resolved by removing typo in mtx-changer script.
-kes  Made Frank Sweetser's wiki the official Bacula wiki with his
-     approval. Added a link to the wiki on the web page, and implemented
-     a backup from http://paramount.ind.wpi.edu                                          
-08Jun07
-kes  Fix update allfrompool to pass pool name.
-07Jun07
-kes  Convert to pure GPL v2 license.
-kes  Fix sscanf problems reported by Peter Buschman that caused
-     a bus error on Solaris.
-kes  Rework (simplify) the select prompt in bat.
-kes  Move get_jobid_from_tid() into lib and create a 
-     get_jcr_from_tid().
-kes  Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg().  This
-     should definitely fix the problem of lost error messages in the
-     encryption code.
-kes  Remove over zellous addition of FSFE copyright in a few eggxxx files.
-kes  Eliminate tcpd.h from the project. Enclose the #include from the
-     library with extern C ...
-kes  Add print of signal name when a signal is trapped.
-
-Release: 2.1.12 beta
-04Jun07
-kes  Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
-03Jun07
-kes  Implement SQLITE3_INIT_QUERY in version.h that can do an initial
-     query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
-     makes SQLit3 run 30 times faster, though a bit less safe.
-kes  Implement --with-batch-insert in configure and detection of thread
-     safe libraries.  It is on by default, but turned off if no thread
-     safe library (e.g. SQLite 2) is available.
-02Jun07
-kes  Fix Bacula PostgreSQL buffer overruns.
-kes  Do better checking for NULL results returned from PostgreSQL;
-     implement retry for failed queries; clear results buffer after
-     failed query. Hopefully this will correct the PostgreSQL failures.
-01Jun07
-kes  Implement algorithm to handle only one appendable volume with
-     Prefer Mounted Volumes = no.
-kes  Fix a Bacula PostgreSQL bug dereferencing a NULL pointer      
-     returned from a query.
-kes  Make volume lock recursive.
-kes  Implement an additional volume reservation algorithm that
-     starts by considering all reserved volumes then uses the
-     old brute force algorithm of searching the resources to
-     find a suitable device.
-kes  Add new reservations debug code and refine the old code.
-kes  Update the win32/dll/bacula.defs file.
-29May07
-kes  Tweak reservations algorithm to permit a few more cases, i.e.
-     volume reserved, but on different drive, ...
-kes  Enhance SD status to include Pool and Media Type for drive in a
-     more readable format (a bit longer). 
-kes  Fix PostgreSQL double free.
-28May07
-kes  Minor refactoring of restore decryption code.
-kes  Add code to smartall.c to detect double free of a buffer.
-27May07
-kes  Add < > around %r in from field on mail command of bacula-dir.conf.in
-     so that bsmtp will create a correct email address (mailbox only).
-kes  Modify 'memory' command so that the buffers are listed as 'In use'
-     to avoid confusion with Orphaned buffers.
-kes  I reworked the OpenSSL include/lib flags to be handled in     
-     the standard Bacula way, which should fix bug #863 concerning
-     non-standard OpenSSL libraries.
-26May07
-kes  Implement Help Browser window for bat.
-kes  Fix reload bug that reset StorageId to zero.
-25May07
-kes  Fix TLS #ifdefing when TLS turned off.
-kes  Ensure that when labelling a tape with Slot=0 that InChanger
-     is not set.
-kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
-     the same.
-kes  Add StartTime to final uar_sel_jobid_temp query so that we can
-     add DISTINCT (required by PostgreSQL).
-kes  Implement BSOCK authenticate_director() method. Eventually will
-     authenicate all daemons.
-kes  Move several more functions into the BSOCK class.
-24May07
-kes  Add code to tell the OS that we no longer need a cached
-     file that we were reading. In findlib/bfile.c.  Also,
-     only cache files that we are reading. Thanks to
-     Tobias Oetiker <tobi@oetiker.ch> for the idea.
-kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
-kes  Implement script to automatically generate cats and dll .def
-     files for Win32 dll.
-kes  Update README.mingw32 to include new .def file generation.
-kes  Correct typo in UTF-8 error message as reported by:
-     jhernandez <julianhernandez@gmail.com>
-kes  Add additional sm_check() code on debug level 1.
-kes  Set default debug level to 1.
-kes  Trap SIGABRT in attempt to get traceback.
-23May07
-kes  Reduce bat connect timeout from 30 to 15 seconds.
-kes  More restructuring and implementing BSOCK class in place of
-     old bnet.c code.
-kes  Remove a few unnecessary malloc() tests in crypto code.
-kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
-     not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
-kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
-22May07
-kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
-     Make buffer bigger.
-kes  Fix Verify InitCatalog. The attributes were not pointing to the
-     correct saved location.
-kes  Implement message callback so that GUI is sure to get all
-     daemon messages. Currently displayed in a dialog in bat.
-kes  Ignore SIGUSR2 (Bacula timer) in bat.
-kes  Apply regress patch from bug #859 to allow regress to work 
-     with Solaris compiler.
-21May07
-kes  Begin adding TLS support to bat.
-kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
-     clean up lex.c and make it more readable.
-20May07
-kes  Move more bnet functions into the BSOCK class.
-kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
-kes  Complete change of berrno strerror() method to bstrerror() 
-
-Release: 2.1.10 beta
-18May07
-kes  Cleanup incorrect email addresses in bsmtp.
-kes  Make bat display initial messages rather than discard them.
-16May07
-kes  First cut of adding .mod to the run command.    
-kes  Implement auto display of messages in bat.
-kes  Enhanced preferences to allow all Bacula output to be
-     displayed in bat.
-15May07
-kes  Try to make bsmtp date routines more generic.
-kes  Fixed bug #856 autochanger documentation.
-kes  Rework bsmtp date editing for Win32. This fixes bug #854.
-kes  Add new cats entry point so Win32 builds.
-14May07 
-kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
-     Fixes bug #854.
-kes  Do better checking for the MySQL 64 bit libraries looking for both
-     .a and .so libraries.
-kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
-     /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
-kes  Require the thread safe version of MySQL during configure. Thanks
-     to Andre Noll for pointing this out.
-kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
-     continuing in migration code.
-kes  Apply implementation of tray-monitor font derived from gnome-console
-     submitted by Andreas Piesk <a.piesk@gmx.net>
-13May07
-kes  Eliminate important memory loss in SQLite
-kes  Fixed the batch insert MySQL thread specific data that was not
-     being freed. See cats/mysql.c:db_thread_cleanup().
-kes  Fix restore before command.
-kes  Convert old hdr.name to name() in a few places.
-kes  Implement update jobid command.
-kes  Return all time_t dates in db_get_job_record()
-kes  Stop watchdog in SD earlier.
-kes  Put Pool just after Storage in please mount message.
-kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
-     Eric.
-12May07
-kes  Update the po files.
-kes  Fix Verify InitCatalog by making it cache attributes.
-11May07
-kes  Change name bacula-bat to bat for man 1 page to correspond to
-     Makefile.
-kes  Check for client and store NULL pointers in status command.  This
-     fixes bug #845.
-kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
-kes  Fix sign extended editing of %p.
-kes  Clean out a little old #ifdefing in cats/mysql.c
-10May07
-kes  If time diff between DIR and FD is more than 600 seconds convert
-     INFO message to WARNING.
-kes  Implement heap size display in status for all daemons.
-kes  Attempt to fix MySQL db open memory loss (not successfull).
-kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
-kes  Eliminate memory loss in MySQL (possibly other SQLs) during
-     Query. This looks like a MySQL but but by doing extra releases,
-     the memory goes away.  This should fix bug #847.
-09May07 
-kes  When backup fails, cancel SD before waiting for sd termination.
-kes  If SD is waiting for FD to connect during cancel, wake up the 
-     thread.
-kes  Fix fsf code so that errno is correctly reported.
-kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
-08May07
-kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
-     so that Bacula doesn't later stumble into a seg fault.
-kes  Use the term Restore Client in the restore Job report.
-kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
-     the original job's FileSetId.
-kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
-     spooling in migration jobs.  Not yet tested.
-kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
-     reading conf file from a pipe.  However, do it with open_bpipe()
-     rather than popen.  Not yet tested.
-07May07 
-kes  Fix an ugly bug where the VolCatBytes were getting updated
-     during a restore.
-kes  Implement bconsole memory command that prints current memory
-     usage, plus smartalloc dump.
-kes  Clarify some error messages in backup, admin, and migrate.
-kes  Shrink label dialog to smaller size.
-kes  Invert Cancel OK buttons on restore to be OK Cancel.
-kes  More strerror() to bstrerror() conversions.
-06May07 
-kes  Start implementing bstrerror() in place of strerror().
-kes  Stripping path -- seems to work.
-04May07
-kes  Prevent door and port files from being restored (mostly
-     Solaris stuff).
-kes  Free an unreleased buffer in compat code.
-kes  Change console Job name from *Console* to -Console- to eliminate
-     Win32 filename problems.  Put Win32 path separator when creating
-     Console file.  This fixes bug #846.
-kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
-     implemented.
-kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
-     structure.
-kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
-     to force Win32 error message.
-03May07
-kes  First cut strip path. The data should be passed to the FD,
-     but nothing is done with it yet.
-kes  Enhance the digest and signature routines in the crypto
-     library to accept a JCR and to use it to print error messages
-     so that they will go in the Job report rather than the daemon's
-     messages.
-kes  Simplify some of the verify signature code.
-kes  Simplify a few of the alternative returns in the signature 
-     code.
-02May07
-ebl  Use only POSIX regex instead of GNU regex in breg.c for
-     File relocation. It fix broken freebsd compilation.
-kes  Convert all other Dir files to use new ua class message 
-     routines for bat.
-kes  Tentative fix for missing digest signature in bug 807.
-kes  Correct handle problem in new win32_ftruncate routine.
-kes  Convert ua_purge.c and ua_update.c to use new ua class
-     message routines for bat.
-29Apr07 
-kes  Correct incorrect installation of LICENSE in Win32 installer.
-kes  Display LICENSE at the beginning of the Win32 install.
-kes  Attempt to correct the need for the png files to be installed 
-     for bat.
-kes  Reapply my bat.conf install script in qt-console. I think I 
-     editted bat.pro instead of bat.pro.in and it was lost.
-kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
-     the /var/lock/subsys for subsysdir.  Also corrects typos in the
-     doc.
-28Apr07
-kes  First cut update job.
-kes  Correct configure to include qmake of src/qt-console directory.
-26Apr07
-kes  Make restore job yes/mod/no print in one command so GUI works.
-kes  First cut implementing backup and restore client.
-kes  Correct editing in Verify output that caused a seg fault.
-25Apr07
-kes  Insure that bat.conf is not overwritten during installation.
-kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
-     while I was implementing migration in March 2006 !
-24Apr07
-ebl  Cleanup file relocation, using char *RegexWhere instead of
-     char *where + bool where_use_regexp
-kes  Update some manpages and add bat manpage.
-kes  Make a first cut at converting bacula.spec.in for bwx-console
-     and bgnome-console.
-kes  Apply patch from John Goerzen to add hostname as fourth argument
-     to make_catalog_backup script.
-kes  Fix typos I introduced into bsmtp.c
-kes  Make pm_strxxx() routines handle input of NULL pointer. This
-     is to protect from NULL pointers returned from SQL databases.
-kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
-kes  Add more debug to FIFO code -- fix fifo regression test.
-23Apr07
-kes  Implement posix_fadvise in FD, and for reading spool files in SD.
-kes  Add thread timer to bnet_connect() to break from OS if wait time
-     expires.
-22Apr07
-kes  Update Win32 build to include new files, new symbols, and    
-     renamed files.
-kes  Implement socket level heartbeat (tcp_keepidle)
-ebl  Commit File relocation patch
-kes  Make bat have 'make install' target.
-kes  Warn during install if old gnome-console binary found.
-kes  Warn during install if old wx-console binary found.
-kes  Add -8 option to bsmtp command line to add content type utf-8. 
-     Fixes bug #809. (Character coding problem in bsmtp).
-kes  If < is found in target (from, to, cc) then do not enclose the
-     target in < >  in bsmtp. Fixes bug #772  (malformed address).
-kes  When printing certain items in dbcheck, stop after 300000.
-     Fixes bug #822. (dbcheck loops).
-kes  Incorrect status in Dir after waiting for mount with poll set.
-     Fixes bug #825.
-21Apr07 
-kes  Extend idea of Prefer Mounted Volumes to mean a volume about
-     to be mounted.
-kes  Print waiting to reserve a device every 5 mins.           
-20Apr07
-kes  Don't call close_part in label.c if tape and relabel.
-kes  Don't free volume if busy in close() -- should help with
-     bug 801.
-ebl  Fix #824 RunScript bug (After script could be execute twice)
-     Now, Before Script can use RunsOnSuccess and RunsOnFailure options
-     By default (like before) RunsOnSuccess=true and RunsOnFailure=false
-     Add a regression script to test RunScript
-19Apr07
-kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
-     on Solaris.
-18Apr07
-kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
-     deprecated. No additional bugs will be fixed, and they will be dropped
-     in a future release (probably 2.4.0).
-kes  Change name of wx-console to bwx-console to make it more Bacula
-     unique.
-kes  Change the name of gnome-console to bgnome-console to make it
-     more Bacula unique.
-14Apr07
-kes  Some time in March, a Feature Request with patch from Jorj Bauer
-     <jorj@seas.upenn.edu> was committed by Landon (with my approval).
-     It implements:
-     The ability for the director to validate a Client (FD) CN against
-     an arbitrary set of patterns rather than the hostname, with
-     A new 'TLS Allowed CN' set of directives which are implemented
-     in the Client resource.  Then pattern matching is used in place
-     of hostname matching against the Certificate's CN. As an example, we
-     have certificates which (a) use a local CA, and (b) have a CN of the
-     form client_123.
-kes  Add new/changed entry points to Win32 build
-kes  Create unaccepted-projects for projects that are not accepted.
-kes  Simplify locking in the reservations system.
-kes  Add more debug code in reservations.
-kes  Make sure error condition on reserving a volume is handled correctly.
-kes  Correct handling of volume_in_use.
-kes  Correct handling of initializing a device.
-kes  Move handling of broadcasting releasing a device into release_device().
-kes  Correct attaching dcr to dev so that it is only done if device
-     is properly initiated.
-12Apr07
-kes  Locking debug level tweaks in SD.
-kes  Tweak new Volume code.
-11Apr07
-kes  Add exec external-command [wait-seconds] to bconsole. This
-     executes the external-command.  Note! normally external-command
-     should be enclosed in double quotes.
-kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
-     it should normally be off in a production system.
-10Apr07
-kes  Implement die command for SD so that we can force it to dump.
-kes  Implement SD lock debug code.
-kes  Implement new algorithm for keeping Volume list in SD.  It
-     is now owned by the device.
-04Apr07
-kes  Implement new code for freeing in use volumes that should 
-     resolve if not all, some of the problems of multiple drive
-     tape conflicts described in bug 801.
-03Apr07
-kes  Fix gui/bacula-web/images files in svn.
-kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
-02Apr07
-ebl  Fix a bug in batch mode (in string escape)
-kes  Correct migration prune SQL typo that crept in in a    
-     recent 2.1.x change.
-01Apr07
-kes  Move bnet_despool() into class in bsock.c
-kes  Modify job report to include director name and Build OS.
-kes  Move drop root privilege and check_catalog() before fork.
-kes  Add update database scripts (version 9 to 10) to updatedb directory.
-31Mar07
-ebl  Check size and age of each file after its backup to see if
-     it has changed during backup, if 'checkfilechanges' is set.
-     The FD will do an extra check (stat(2)) after
-     each file backup. mtime, ctime and size are compared with
-     'before backup' information. If time or size mismatch, an
-     error message will be generated. You must upgrade FD to use it.
-30Mar07
-kes  Make database name and user configurable
-     --with-db-name=xxx --with-db-user=xxx
-kes  Add back database type to message.c for debugging.
-29Mar07
-kes  Implement dir_sql() which issues an SQL query.
-kes  Modify bat medialist to use dir_sql() and do some minor C++
-     formatting as well as eliminating a number of pointers, simplifing
-     the code.
-28Mar07
-kes  Fix some of the mtx-changer grep commands for tape label readers.
-kes  Convert a number of bsendmsg into the appropriate send/warning/error
-     message class calls.
-kes  Suppress the using database message in the .sql command.
-kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
-27Mar07
-kes  Add context menu for floating a window.
-kes  Some minor cleanup and name changes in qt-console
-kes  Add doing mt setblk 0 in Win32 mtx-changer.
-kes  Apply Martin's bug fix to move definition of ENODATA for 
-     FreeBSD to bsock.c
-ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
-     sqlite2 and sqlite3.
-26Mar07
-kes  More pruning cleanup.
-kes  Turn on wait_for_drive by default in mtx-changer.
-kes  Turn on Batch insert code by default as it now passes regression.
-kes  Add ./configure --enable-bat to enable building of Bat.   
-     No install yet though.
-25Mar07
-kes  Implement a new .sql command for bat.
-kes  Implement code to turn off pruning in obtaining the next volume.
-     Pruning is turned off for the status dir command, but turned on
-     for SD requests and for the list nextvolume command.
-24Mar07
-kes  Correct Qmsg() that was not updated correctly when committing a
-     previous change (probably the recent TLS patch).
-23Mar07
-kes  Write new subroutine is_volume_purged() that explicitly checks
-     if the Volume is purged, and if so marks it as such. This should
-     resolve problems reported about needing to mount twice to recycle
-     volumes.
-kes  Rewrite pruning algorithm to do more work in the SQL engine, and
-     to pass a list of JobIds to be deleted to SQL.  Also, minimize the
-     amount of duplicated code.     
-kes  Do volume pruning only for the Media Type desired (reduces pruning time
-     if multiple Media Types are in the same pool).
-kes  Implement more detailed info in the Job report for the Bacula version
-     and architecture.
-kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
-     ua_purge.c.
-ebl  Add bbatch tool to bench database and insert mode.
-     Fix sql quote stuff in batch mode
-     Fix sql stuff for mysql
-22Mar07
-kes  Correct problems with am/pm scheduling. Fixes bug #808.
-kes  Implement new prunning code that prunes up to 1000 jobs at
-     the same time.  The same technique can be applied to a number
-     of other prune/purge subroutines.
-kes  Add an insanity check when starting a new tape job to ensure
-     that the tape position has not been changed. If so fail the
-     job.
-kes  Fix Win32 build for dlls to add the folllowing:
-     src/lib/bsock.c -- new file with new entry points
-     src/lib/dlist.c  -- new entry points
-     src/cats/sql_create.c -- new entry point
-     src/cats/sql_cmds.c -- new DATA item exported
-21Mar07
-ebl  batch mode cleanup bscan-test is ok now.
-kes  Implement SD code to check length of disk volume before appending.
-18Mar07
-kes  Correct return status on db_batch... routines.
-kes  Add call to db_write_batch_file_records() to migration code.
-ebl  Fix AfterJob timing
-kes  Move the checking of the database in initializion of the Director
-     to after we drop privileges.  This avoids the need for both root
-     and bacula access to the DB.
-kes  Correct a misplaced variable definition in src/filed/backup.c
-kes  Correct how the new batch insert db_create_attributes_record()
-     uses the arguments.  Caused a seg fault in bscan.
-kes  Implement lock() and unlock() methods in DEVICE class.
-     Implement block() and set_block(xx) methods in DEVICE class.
-kes  Modify bnet_connect() so that it uses time() to check for the
-     wait time expiring (on some OSes, some system calls may not
-     return immediately).
-kes  Modify Verify to obtain the previous JobId when it is actually
-     running rather than at schedule time (as it was in 1.38.x).     
-kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
-     fix bug #802.
-kes  When checking pid in pid file, continue running if the pid is
-     the same as ours. This occurs on IRIX after a system crash.
-     Fixes bug #797.
-10Mar07
-kes  Extend new GUI API.
-kes  Make the ua structure a class, and implement send_msg(),
-     error_msg(), warning_msg(), and info_msg().
-08Mar07
-kes  Apply fix from for building wx-console on the Mac from
-     bug #798.
-kes  Implement new select mechanism for GUI programs.
-kes  Reorganize initialization of stackedWidgets in bat.
-07Mar07
-kes  Add updated nagios plugin supplied by Christian Masopust.
-05Mar07
-kes  More bat implementation.
-kes  File migrate bug with Pool Occupancy using mediaid instead
-     of jobids.  Fixes bug #795.
-kes  Fix orphaned buffers in filed backup and verify due to
-     crypto buffers not freed during errors.  Fixes bug #789.
-kes  Extend new GUI api code to tree commands.
-kes  Ensure that tree and dot commands check console ACLs.
-kes  Permit marking directory with trailing slash.
-kes  Allow 20 console connections (instead of only 10).
-04Mar07
-kes  Add smartctl call to bacula-sd.conf as an example of getting
-     tape alert info.
-02Mar07
-kes  Modify jobq.c to let simultaneous restore jobs run. This may 
-     cause them to fail if they cannot get a drive.
-kes  Add Client Connect Wait to Storage daemon to permit users to
-     modify the time the SD waits for a FD connection.
-29Feb07
-kes  Correct virtual changer check which was backwards. This caused
-     volumes to be unloaded into slots already occupied.
-28Feb07
-kes  Apply Command ACL filter to JobId list in restore command.
-kes  Correct typeo in var.c patch.
-27Feb07
-kes  Don't let Bacula prune File or Job records for the current Job.
-kes  Fix variable substitution pad + inc bug reported (with patch)
-     in bug #791.
-26Feb07
-kes  Correct SQLite log table index as reported by Luca Berra.
-24Feb07
-ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
-22Feb07
-kes  Begin implementing new comm signals for API.
-kes  Fix a few places in lib/message.c where the open fd may 
-     not be zeroed.
-kes  Continue implementing lib/bsock.c (real class).  Make jcr,
-     who, host, and port private. There are new methods to access
-     them for non-class use. This required touching a number of files.
-21Feb07
-kes  Add LANG=C to autoconf/randpass so it works with languages other
-     than English.  Fixes bug #788.
-20Feb07
-ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
-     This fixes bug #780
-     You will not be able to generate Include/Exclude list any more.
-     It will be fixed soon.
-     If you want to use this, you can apply
-     trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
-19Feb07
-kes  Restore of sockets created false error messages because Bacula
-     no longer restores sockets, but the code was still trying to
-     set the attributes on a non-existent file. Reported by a user.
-ebl  finish RecyclePool feature
-     Media will takes Pool.RecyclePool
-     when moving from Scratch to a Pool or when user will do
-     update volume=xxx frompool
-     To use it, add RecyclePool = aPool to your Pool resource
-        Pool {
-                Name = Default
-                RecyclePool = Scratch
-                ...
-        }
-     TODO: update manual
-kes  Expand new BSOCK class adding signal() and new BNET signals.
-kes  Begin enhancing the dot commands adding a new API function
-     that returns more information and will make it easier
-     to interface to the Director from a program.
-18Feb07
-kes  Make DEVICE fd private. Its new name is m_fd, and can be
-     obtained with dev->fd() outside the class.  This is the
-     first of many DEVICE members to be made private.
-kes  Implement Michael Renner's idea on having a virtual disk
-     changer. I made some minor modifications (e.g. I did not
-     implement the Virtual Changer directive, but simply set
-     the Changer Command to an empty string.
-17Feb07
-kes  Implement a BSOCK send() method that writes the whole record
-     in a single write() request rather than in two.
-ebl  add update volume=xxx recyclepool=yyyy
-     volume takes recyclepool from pool when using update volume=xxx from pool
-16Feb07
-kes  Fix encryption deblocking bug, which caused some restored files
-     to be truncated. This fixes bug #763.
-kes  Add FD event sequence order prepared by Eric -- for RunScripts.
-kes  Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
-13Feb07
-kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
-ebl  Use btime_t instead of uint64_t in media patch.
-11Feb07
-kes  Optimize the use of the database a bit in the Status dir command.
-     Only open it when needed, ensure that if any previous database
-     was opened, it is closed.
-10Feb07
-kes  Correct VolCatBytes bug from media patch.
-kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
-     in the case of orphaned records.
-kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
-     and File records in 300K chunks to be more efficient. This
-     idea came from Juan Luis Frances (if I remember right).
-kes  Apply Eric's scratch patch that moves a purged Volume to
-     the RecyclePool.  Question: how is RecyclePool set? what
-     happens to the ScratchPool?
-kes  Apply Eric's media patch that collects read/write media
-     times as well as byte counts.  This patch requires a
-     simultaneous upgrade of the DIR and SD.  Note, there
-     should be some way to turn off timing. I'm not sure
-     times are in Bacula units.
-kes  Apply Eric's batch-insert patch.
-09Feb07
-kes  Update projects list.
-08Feb07
-kes  Implement Include/Exclude file lists in FD as dlists using
-     the new dlistString class. This permits efficiently having
-     large include/exclude lists and completes project Item 25.
-kes  Fix dird/ua_cmds.c so that a cancel command checks if the
-     console is authorized to cancel the job.  This fixes bug 
-     #767.
-kes  Modify SD so that the VolCatJobs medium record is updated
-     at the beginning of a Job rather than the end.  This
-     fixes bug #775 where exceeding MaxVolJobs caused jobs
-     to fail.
-kes  Added a mutex around getting and setting Volume information
-     so that multiple simultaneous jobs will single thread.
-07Feb07
-     Switch to using Subversion
-kes  Remove src/pygtk-console/ from configure
-06Feb07
-kes  Delete src/lib/btree.c from win32 build, then add rblist.c
-     plus the entrypoints.
-kes  Apply patch supplied that corrects debug print
-     in canceling jobs for max run time.  Supplied as
-     part of bug #621, which was previously fixed.
-05Feb07
-kes  Test on job_canceled() and sd_msg_thread_done inside
-     loop starting the message thread to avoid a race condition.
-     Fixes bug #771.
-kes  Remove rl_catch_signal from console.c as it conflicted
-     with the header definition. Fixes bug #765.
-ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
-04Feb07
-kes  Clarify some stored/acquire messages to indicate if the
-     problem is with read or append.
-02Feb07
-kes  Fix memory leak with storage ids in cats/sql_get.c
-kes  Terminate watchdog earlier to avoid reference to released
-     memory -- reported by Jason Austin.
-kes  Move closing the database from jobq.c to the director daemon
-     termination routine. This fixes memory leaks for shadow jobs
-     (i.e. migration jobs).
-kes  Free up the unique jobid chain items in migrate.c.  This fixes
-     a memory leak problem.
-kes  Convert some ugly looking for statements to use foreach_alist
-     in findlib/find.c.  This will facilitate converting the structures
-     to use dlist (for large include/exclude lists).
-kes  Fix a bug in the btree.c and btree.h routines, then rename them
-     rblist and add them to be built in src/lib.  Include some new
-     methods written by Rudolf Cejka that make the code more readable
-     (hides some of the ugly casting).
-kes  Add set_next() and set_prev() methods which make the code much more 
-     readable. Also add a new dlistString class that facilitates storing
-     strings in dlists.  To be used in the large include/exclude lists.
-kes  Make some trivial modifications to lib/tree.h that use rblist
-     rather than dlist for storing the tree links. This was suggested
-     by Rudolf Cejka.  The result of this is that the restore tree now
-     uses red-black binary trees rather than simple linked lists. This
-     should give rather dramatic speed improvements for directories
-     contining large numbers of directories/files (more than 10000).
-28Jan07 
-kes  Fix maxruntime bug #621.
-26Jan07
-ebl  Implement the include JobID in spool file name project.
-kes  Reorder projects file in order determined by Jan 2007 vote.
-kes  Implement item #12 on project list -- quick release of FD by
-     the SD.
-kes  Fix open of SQLite3 db where user does not have write permission
-     so that DIR does not crash. Fixes bug #761.
-25Jan07
-kes  Add back missing @ in Win32 Makefile.
-kes  Change 'Device not configured to autolabel' from INFO
-     to WARNING.
-kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
-     which should restart an indefinite # of times.
-kes  Fix configure --help to print --with-mysql[=DIR]. Same for
-     other DIR specifications.
-23Jan07
-rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
-     Fix path quoting in SQLite scripts.
-     Fix problems with SHGetFolderPath.
-19Jan07
-kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
-18Jan07
-kes  Fix Job restart on error bug that promotes an Inc to a Full
-     backup.  This should fix bug #755.
-kes  Add qt-console and first cut of code.
-
-Version 2.0.1
-12Jan07
-kes  Fix Bacula->Documentation link on Win32 to point to index.html
-     instead of bacula.html. Fixed bug #750.
-kes  Return JobId in db_get_job_record() when JobId==0. This should
-     fix bug #741.
-kes  Do not release source pointers when restarting a failed job.
-11Jan07
-kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
-     This *should* fix bug #747.
-kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
-     bug #742.
-09Jan07
-kes  Modify USTORE constructor to set an empty store_source string, 
-     and don't copy the store_source string in a cancel.  Hopefully
-     this will fix Arno's seg fault, bug #744.
-kes  Add back code to disable conio in configure. Fixes bug #743.
-kes  Correct the Options scanner in the FD to correctly handle  
-     SHA1 option, which was eating the next option.  Reported by    
-     Sebastien Guilbaud.
-kes  Add code to indicate when the SD is spooling, spool wait, and 
-     despooling as requested by Alan Brown.
-
-Version 2.0.0 released: 4 January 2007
diff --git a/docs/techlogs/technotes-2.4 b/docs/techlogs/technotes-2.4
deleted file mode 100644 (file)
index 53dc057..0000000
+++ /dev/null
@@ -1,1797 +0,0 @@
-              Technical notes on version 2.4
-
-General:
-14Apr09
-kes  Fix bug #1246 Sometimes access denied with VSS enabled. UCS
-     conversion cache was not properly flushed at the end of a Job.
-27Mar09
-kes  Backport label failure patch. This fixes bug #1227.
-20Mar09
-kes  Fix editing of a few time_t variables to make them 32/64 bit
-     independent. This fixes bug #1247 - 64-bit time_t and varargs 
-     don't get along in some printf-like formatting.  More work needs
-     to be done, but this should be fixed in 2.5.43.
-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'.
-16Feb09
-kes  Backport code from the development SVN and should fix bug #1213, 
-     which is a deadlock in the SD when a volume is on the wrong drive.
-11Feb09
-ebl  Apply 2.4.4-fortify.patch that should fix the _FORTIFY_SOURCE
-     problem.
-30Jan09
-kes  Fix a text sizing problem in the tray-monitor reported in
-     bug #1219, with patch included.
-22Jan09
-kes  Fix bug #1211 crash during reload with bad dird.conf file.
-10Jan09
-kes  Fix bat.pro.in so that bat will install.
-07Jan09
-kes  Fix bug #1212, SD is unable to recycle purged volumes. fstat()
-     was broken.
-
-Release Version 2.4.4
-28Dec08
-kes  Apply fix suggested by Bruno Friedmann to configure.in to
-     find python2.5
-
-Release Version 2.4.4-b2
-23Dec08
-kes  Fix bug #1208. Inappropriate Volume purging.
-22Dec08
-kes  Modify sql_update.c to edit zeros rather than NULL in unset
-     fields. This should fix bug #1206, where apparently the user
-     has modified the Bacula schema.
-20Dec08
-kes  Backport most recent changes to compat.h and compat.cpp.
-13Dec08
-kes  Create and apply 2.4.3-migrate2.patch, which fixes two bugs
-     - Bug #1206 -- sql error when there are no files to migrate.
-     - Bug #1171 -- Job catalog log is not migrated during migration.
-
-Release Version 2.4.4-b1
-03Dec08
-kes  Apply 2.4.3-sd-deadlock.patch that should fix bug #1192.
-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.
-20Nov08
-ebl  Apply 2.4.3-win32-runscript-unicode-path.patch for #1110 
-     about a problem when executing a program with Unicode path.
-ebl  Apply 2.4.3-unique-inchanger.patch fix for #1175 about bad slot
-     number if the volume is not in autochanger.
-18Nov08
-kes  Probably fix for bug #1188 where Volume is purged while writing
-     on it.
-kes  Get message enhancement to avoid job name lookup.
-07Nov08
-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.
-02Nov08
-kes  Fix orphaned jobs (possible deadlock) while pruning.
-31Oct08
-ebl  Backport of the btraceback script that keeps trace file on working dir
-28Oct08
-kes  Migrate DB Log records too. This fixes last part of bug #1171.
-24Oct08
-kes  Modify SQL so that jobs that failed will not be migrated.
-kes  Correct bug where long retention periods caused immediate
-     pruning.
-
-Release Version 2.4.3   
-27Oct08
-ebl  Apply 2.4.3-update-slots.patch to fix #1175. About update slots
-     that don't reset InChanger flag when slot is empty.
-10Oct08
-ebl  Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel
-     a non created job faster.
-08Oct08
-kes  This should correct bug #1159 where Migration does not properly
-     respect the Migration Low Bytes directive.
-02Oct08
-ebl  Fix typo in configure.in that breaks --with-db-password option
-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.
-20Sep08
-kes  Remove all double quotes from SQLite creating script and
-     replace by single quotes as suggested by John Huttley.
-08Sep08
-kes  Fix SQL case problem that may cause the failure of DiskToCatalog
-     in bug #1149.
-kes  Copy missing storage name into edit buffer. As far as I can tell
-     this never caused a bug.
-28Aug08
-ebl  Remove catalog dependency for bcopy
-ebl  Modify catalog scripts to have an easier packaging integration,
-     using default variables.
-     Make difference between SQLite3 and SQLite in db_get_type()
-26Aug08
-kes  Attempt to fix bug #1128 InChanger flag cleared during Migration
-     job when reading from one autochanger and writing to another.
-24Aug08
-kes  Add more information to SD acquire.c INFO messages.
-kes  Fix NULL Volume name error when reading and the drive must
-     be switched.
-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.
-kes  Add space after version before date in bat about dialog.
-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.
-
-Release Version 2.4.2
-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  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  Minor cleanups.
-kes  Fix bug #1125 which reports a SD crash at the end of a tape
-     during restore. It was a debug statement that should not be
-     in a release.
-20Jul08
-ebl  fix #1034 by setting big timeout on mysql connections
-19Jul08
-kes  Do partial integration of the Win32 bat build created by Eric.
-kes  Fix bat not to block.
-15Jul08
-kes  Ensure that SD tried to mount a volume not in an autochanger
-     at least once before asking for operator intervention.
-kes  Fix a pthreads bug in the Win32 pthreads emulation code.
-
-Release Version 2.4.1
-07Jul08
-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.
-
-Release Beta version 2.4.1-b2
-04Jul08 
-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  Remove const char that causes problems with Python, which has
-     older 'incorrect' headers.
-kes  Add const char in dbd.c to avoid compiler warnings.
-02Jul08
-kes  Fix mtx-changer to detect both versions of Ubuntu (Debian)
-     mt. This fixes bug #1116.
-kes  Fix failure of 2drive-concurrent-test. Always read label;
-     clear_unload() only after drive is defined in acquire_for_read().
-
-Release Beta version 2.4.1-b1
-01Jul08
-kes  Back out bad src/lib/base64.c change.
-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.
-26Jun08
-kes  Fix a recycling problem with two autochangers reported in bug
-     #1106. This may also (unlikely) fix a second recycling bug as
-     reported in #1103.
-kes  Fix a SD lock volumes deadlock problem reported in bug #1100.
-25Jun08
-kes  Fix format problem in bscan output reported in bug #1105.
-22Jun08
-kes  Copy more data when restarting a job so that run
-     overrides are kept. This should fix bug #1094.
-kes  Backport updates to jobq.c where possible.
-20Jun08
-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.
-kes  Fix a couple of pedantic compiler warnings.
-ebl  Fix bug when starting a restore on a storage that doesn't
-     have the requested MediaType.
-18Jun08
-kes  More work on word alignments -- eliminate all ints from 
-     the configuration routines.
-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.
-kes  Fix word alignment problem on non-Intel 64 bit machines
-     such as Solaris.  This should fix bug #1097 -- bus error in SD.
-12Jun08
-kes  Add missing win32/patches/wxWidgets.patch to 2.4 repository.
-
-Release Version 2.4.0
-04Jun08
-kes  Update version to reflect the magnitude of the SD changes.
-03Jun08
-kes  Make sure to clear JS_WaitMedia when operator mounts a Volume.
-     This fixes bug #1095.
-31May08
-kes  Add create_postgresql_database.sql to Win32 installer. Should 
-     fix problem reported by Juilio Monteiro.
-kes  Get correct slot when auto unloading a device. This fixes bug
-     #1086.
-30May08
-kes  Fix multiple media restore.
-kes  Make DEVICE Slot private and access it via a method.
-     Allows better control over when it is set and cleared.
-kes  Fix possible seg fault if SQL error.
-28May08
-kes  Add debug code to SD.
-kes  Fix renaming a Volume, which used the wrong Volume name. 
-26May08
-kes  If operator has rewind tape, print warning, release tape and
-     try once more. If tape is positioned somewhere, something went
-     wrong, so mark the tape in error and try once more. Previously
-     this error was fatal, now it produces an error message.
-kes  Ensure correct volume name displayed during restore
-kes  Ensure that Volume is mounted for restore.
-25May08
-kes  Fix a few more Coverity reported problems.
-
-Beta Release Version 2.2.10-b4
-24May08
-kes  Enhance a couple of SD debug messages.
-kes  Tweak unload flag setting and ensure it is set during swap.
-23May08
-ebl  Fix #1091 about bad output in estimate command.
-21May08
-kes  Modify autochanger locking to attempt to avoid race
-     conditions.
-kes  Make sure device not busy before doing label command.
-kes  Display open() errors except when polling. Previously too 
-     many were suppressed.  This should fix bug #1070.
-kes  Fix Win32 reparse points. Bacula will not recurse into any
-     reparse point directory, including mount points, unless the
-     directory is explicitly mentioned at the top level (same as
-     with Unix).  A file that is linked to another file will be
-     backed up -- much as Unix does for hardlinked files.
-     This fixes bug #1041.
-20May08
-kes  Remove double quotes from ChangeLog and ReleaseNotes
-kes  Remove StorageId test when pruning and recycling (Eric's changes).
-kes  Remove old form of locking when getting volumes -- causes deadlock.
-17May08
-kes  Fix buffer overruns detected by Coverity.
-
-Beta Release Version 2.2.10-b3
-13May08
-kes  Tweak joblog display.
-12May08
-kes  Implement --without-qwt
-kes  Fix layout of restore tree dialog 
-kes  Add configure bat QWT libraries, so that bat can be built
-     with or without the QWT libaries.
-11May08
-kes  Apply batfix bat cleanup patch from Riccardo.
-kes  Make sure we unload the right slot when swapping.
-08May08
-kes  Improve SD reserve debug code.
-kes  Testing an improvement to free up volumes no longer in use.
-
-Beta Release Version 2.2.10-b2
-07May08
-03May08
-kes  Rework SD acquire for read to handle autochanger Volume
-     swapping.
-kes  Implement regression that explicitly tests swapping a Volume
-     from one drive to another.
-kes  Enhance disk-changer to detect most error conditions.
-kes  Fix SD code so that it properly swaps a Volume between drives.
-     This fixes bug #1083.
-01May08
-kes  Prevent a Volume that is being swapped from being freed from
-     the volume list. This will most likely fix, at least partially,
-     bug #1083.
-kes  Fix strippath so that it does not get a buffer overrun and crash FD.
-     This fixes bug #1078.
-kes  Make inability to change owner/group when creating a dir only a
-     warning rather than an error.
-28Apr08
-ebl  Fix SQL query in migration code
-19Apr08
-kes  Force unload of volume when wrong volume mounted in SD.
-17Apr08
-kes  Fix bat seg fault at termination.
-kes  Add Bacula generated version to bat about box.
-
-Beta Release Version 2.2.10-b1
-16Apr08
-kes  Permit multiple simultaneous restores -- experiment.
-15Apr08
-kes  Backport development stream SD reservation system changes.
-     See below:
-16Apr08
-kes  Move final volume swapping code to DCR method and
-     call it from acquire_for_read().
-kes  When wrong volume is mounted during read, unload_autochanger.
-14Apr08
-kes  Stop searching for Volumes in SD askdir if DIR returns the
-     same volume name twice in a row.
-13Apr08
-kes  Tweak the swap Volume from one drive to another code so that
-     it now seems to work.
-kes  Resolve several problems with recycling that broke the new
-     code (these problems are in 2.2.9 as well).
-kes  Remove the volume lock when calling the sysop code.   
-kes  Don't mark a reserved volume with no writers as unused otherwise
-     jobs fail.
-12Apr08
-kes  Rework class structures for VOLRES, DCR, and DEVICE to make
-     the method names a bit more logical, and for more logically
-     handling the responsibilities.
-11Apr08
-kes  Remove redundant code in terminating the scheduler that just
-     causes a seg fault in many cases.
-kes  Cleanup releasing a volume and make it a DCR method.
-kes  Improve algorithm for detecting pre-reserved volume and
-     swapping volumes.
-10Apr08
-kes  Tweak volume swapping code so it works.
-kes  Correct name overloading in mount.c
-kes  Replace released flag in VOLRES with reserved and add access
-     methods for the VOLRES class.
-kes  Prevent volume from being released while being swapped.
-kes  Refactor parts of stored/mount.c
-09Apr08
-ebl  Add sanity checks for VolWriteTime and VolReadTime
-ebl  Take care of bad clock changes while computing VolWriteTime
-     and VolReadTime. This should fix or limit #1066
-kes  Correct error string numbers in dird/catreq.c
-kes  Restructure reserving, acquiring, and mounting volumes. Calls to
-     autochanger are deferred for mount.c -- simplifes the code.
-08Apr08
-kes  Do not prune any running job. It just fails the job.
-kes  Lock the volumes when changing dev->reserved_device and marking
-     the volume unused otherwise the device can get reserved by
-     another job before the volume is released, thus blocking it.
-===                                        
-
-Beta Release Version 2.2.9-b7
-14Apr08
-kes  Close bat console windows first to eliminate error message
-     from the notifier.
-kes  Remove useless code in Scheduler that causes seg fault on
-     termination.
-kes  Correct some SD catalog request error messages.
-kes  Don't allow pruning of any running job.
-kes  Turn off code in read_record that causes a seg fault in the SD
-     when reading past an EOS_LABEL.
-kes  Turn off unloading the autochanger in reserve.c as it just
-     causes problems.
-kes  Lock volumes when unreserving a device.
-kes  Do not mark volume unused when recycling.
-kes  When acquiring, don't mark volume unused if it is reserved (busy).
-
-Beta Release Version 2.2.9-b6
-06Apr08
-kes  Eliminate ./configure warning on po directory 
-kes  Fix bug #1063, reuse of freed ptr in list nextvol.
-kes  Release regex compile buffer in filed/job.c
-kes  Add proper type of const char in sql_create.c
-kes  Turn off debug in daemon termination routines
-kes  Move free_volume_list() before devices are freed in stored.c
-kes  Fix reference to uninitalized stack variables in bregex.c. 
-     This should correct bug #1067.
-04Apr08
-kes  Fix possible seg fault in SD when freeing a volume entry.
-02Apr08
-kes  Apply patch from bug #1069 that corrects spurious error messages
-     when ACLs enabled on SGI but no ACL exists.
-ebl  Fix a storage deamon segfault at debug level 500.
-
-Beta Release Version 2.2.9-b5 -- not released
-
-Beta Release Version 2.2.9-b4
-01Apr08
-kes  Re-enable code to remember last volume mounted on a non-tape
-     Autochanger.
-kes  Add patch supplied in bug #1068 that fixes a SD crash when using
-     a Virtual autochanger.
-kes  Generate correct JobMedia records during spooling/despooling when
-     running concurrent jobs.  Thanks to Tom Ivar Helbekkmo 
-     <tih@hamartun.priv.no> for excellent analysis and testing.
-
-Beta release Version 2.2.9-b3
-27Mar08
-kes  Rework certain SD locking based on gdb tracebacks of deadlocks
-     sent by Eric. This code now uses only the volume_lock() rather
-     than the reservations lock when at EOM and acquiring a new
-     volume. 
-kes  Ensure only one exit point in several subroutines.
-
-Beta release version 2.2.9-b2
-24Mar08
-kes  Fix to initial tape drive open to release the volume name
-
-Beta release Version 2.2.9-b1        
-22Mar08
-kes  Fix to JobMedia fix.
-kes  Fix bug pointed out by Peter Much that causes the StorageId to
-     be updated when reading a tape (during migration, it could have
-     been incorrectly set to the write StorageId).
-21Mar08
-kes  Implement autostart scripts for Debian 
-20Mar08
-kes  Fix mtx-changer.in for broken Debian mt program.
-19Mar08
-kes  Massive commit of all fixes and back ports to create 2.2.9
-18Mar08
-kes  Apply doc fix from bug #1062.
-kes  Resolve crash and improper restore wx-console Win32 restore
-     GUI. Fixes bug #1065.
-kes  Update Win32 wxWidgets to latest version.
-kes  Attempt to do correct handling of Win32 mount points. Should
-     fix bug #1046.
-kes  Fix Win32 FD backup/restore memory leak due to improper termination
-     of BackupRead/Write. This fixes bug# 1038.
-kes  Add const to AIX prototype for initgroups()
-27Feb08
-kes  Undo bug #1047 heap overrun fix as it is not correct.
-14Feb08
-kes  Fix creating first JobMedia record during Migration to include
-     proper index. This caused slow restores of migrated jobs.
-10Feb08
-kes  Fix bug #1047, which had a heap overrun when stripping certain paths,
-     and do not strip paths on symbolic links.
-kes  Set catalog backup database and user name from values specified on 
-     the ./configure line.
-ebl  Apply patch to correct bug #1031, about wrong pool source information
-     in job report.
-
-Release Version 2.2.8
-25Jan08
-kes  Apply patch from Martin to correct bug #1040, bscan sets existing
-     ClientId to zero.
-kes  Fixed important spelling error in doc -- bug #1045.
-23Jan08
-kes  Move initialization of read/write res lock earlier in the code.
-     This fixes the crash with a null conf file. This fixes bug
-     #1030.
-kes  Redefine CURES in lib/parse_conf to be URES and move it all
-     into lib/parse_conf.c -- this responds to bug #1042, but does
-     not fix it. The fix is not to compile with FORTIFY_SOURCE.
-kes  Backport fix de-referencing a NULL pointer in the scanner from
-     the trunk SVN. I don't think this was reported as a bug.
-
-Beta release Version 2.2.8
-09Jan08
-kes  Re-enable the new job code editing (%f).
-08Jan08
-kes  Fix bsnprintf for float point numbers. I broke recently when
-     parameterizing some variables. This fixes bug #1036.
-03Jan08
-kes  Move Heartbeat documentation from Job to Director resource.
-     This fixes bug #1033.
-02Jan08
-kes  Fix existing switch drive SD code to call autochanger to release
-     any old volume. This must be done to keep the autochanger from
-     releasing subsequently newly reserved volumes in doing a close().
-     This should possibly fix bugs #1032 and #1018.
-kes  Apply big backport of current SVN SD code that corrects a number
-     of race conditions. This is a first step in fixing bug #1018.
-29Dec07
-ebl  Fixes bug #1028 where "Selection Type" option was not usable 
-     with JobDefs.
-
-
-Release Version 2.2.7
-24Dec07
-kes  Partial back out (disabled) %f job code editing because it
-     does not build on Win32.
-kes  Fix seg fault Frank Sweetser reports in regression testing
-     on his systems. The problem was that the original author of
-     bsnprintf.c did not take into account the side effects of
-     using ++x in the argument to a #define.
-14Dec07
-kes  Apply patch from  Michael Stapelberg <michael@stapelberg.de>
-     that implements double quoting include names in conf files,
-     and also allows piping input by having the first character 
-     be a vertical bar (|). 
-kes  Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
-     that implement %f in RunScripts to pass the FileSet name.
-kes  Skip leading | when lex input comes from a pipe as suggested
-     by Michael Stapelberg <michael@stapelberg.de>.
-13Dec07
-kes  Apply patch for bsmtp Win32 daylight savings time fix supplied by
-     Nerijus Baliunas <nerijus@users.sourceforge.net>
-10Dec07
-kes  This patch corrects a problem where the maximum concurrent storage
-     jobs counter gets out of sync during restore jobs causing jobs to
-     'wait on max Storage jobs'.  This patch fixes bug #1009.
-08Dec07
-kes  Add new include to postgresql.c suggested by Marc Cousins so
-     that it compiles correctly with pgre version 8.3.  Also fix
-     misuse of %x with pointer (should be %p).
-03Dec07
-kes  This patch fixes bcopy so that it produces correct Volumes.
-     It fixes bug #1022.
-kes  This patch eliminates spurious output to the console during a VerifyVolume
-     job that contains encrypted data. It fixes bug #1024.
-02Dec07
-kes  This patch prevents the 'status dir' command from trying to use a scratch
-     volume and possibly moving it from one pool to another.  This patch fixes
-     bug #1019.
-30Nov07
-kes  Fix --archivedir addition to configure. Replace it with
-     --with-archivedir in configure.in  This fixes the regression
-     test builds.
-kes  This patch fixes bug #1012 where the job is canceled because
-     of Max Run Time exceeded when the job has not yet started.
-29Nov07
-ebl  Apply Richard Mortimer patch that fixes #1016 when there are more than
-     one 'part' to write.  Instead of each part being stored on disk,
-     written to DVD, then deleted from disk, all parts are written to disk,
-     and only the last is written and deleted from disk.
-27Nov07
-kes  Correct typos in disk-changer.in
-25Nov07
-kes  This patch fixes the status command to include the formating string for
-     JS_AttrInserting.  It fixes bug #1021.
-kes  This patch should fix the Mac OS X build problem on the latest
-     Darwin, where sys/types.h was not included correctly (apparently
-     due to a change in the Mac headers).  The solution was to explicitly
-     ensure that it is defined for the ./configure.
-     This patch also has a rebuild of configure that includes the Debian
-     qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
-kes  This patch should ensure that queued messages to the console are
-     displayed as soon as possible.  It should fix bug #1007, but has been
-     reported not to work.
-14Nov07
-kes  This patch fixes the infinite loop when trying to increase the
-     maximum number of volumes in a Pool during the add command.
-     This patch fixes bug #1008. 
-          
-Release Version 2.2.6
-09Nov07
-kes  Get fix for joblist bug in bat from trunk.
-04Nov07
-kes  This patch fixes bug #1003 where putting the message output from
-     a Verify job into the catalog results in a recursive loop.  The problem
-     seems to show up only with postgresql (to be verified).
-02Nov07
-kes  Fix bug #942 where lots of emails where generated when the heartbeat
-     interval was low and Bacula wanted a different tape from the one in
-     the drive.
-26Oct07
-ebl  Apply 2.2.5-lastwritten.patch to fix the LastWritten field 
-     which was updated during a restore (or a reading migration) bug #982
-24Oct07
-ebl  Use qmake-qt4 instead of qmake when available (debian system). 
-22Oct07
-kes  Add a security warning to src/cats/make_catalog_backup.in indicating
-     that passing the password via the command line (arg 3) is insecure.
-     This responds to bug #990 (it doesn't fix it).
-kes  Apply 2.2.5-postgresql-errors.patch
-kes  Remove unneeded File table index on JobId, which is already
-     present as the first index of another multi-index.
-19Oct07
-kes  Set default debug_level to zero. This corrects bugs #991 and #993. 
-kes  Fix a crash in bat when it cannot connect to the Director for example
-     if the Director is not running.
-16Oct07
-kes  Activate Close button on tray-monitor window. This fixes
-     bug #986.
-12Oct07
-kes  Fix spurious warning message printed when creating a volume with
-     a LabelFormat. This fixes bug #976.
-
-Release Version 2.2.5
-09Oct07
-kes  Add JobId in place of Job name in all the Jmsg() output.  
-kes  Correct the APP_DESC for the Win32 storage service (remove an e).
-06Oct07
-kes  Add new SD despooling attributes and Dir inserting attributes 
-     job status codes.  This fixes bug #961.
-kes  Fix Win32 drive display in bat version browser. Fixes bug #962.
-05Oct07
-kes  Fix doc issue. This fixes bug #963.
-kes  Fix listing performance problems in bat. Pointed out by 
-     Chris Howells.
-ebl  Fix replace on restore. This fixes bug #969
-kes  Fix bat code that tests for Win32. This should fix bug #968
-kes  Query 5 list wrong Vol after migration. This fixes bug #960
-04Oct07 
-kes  Correct lib/Makefile.in to include enh_fnmatch.o that was removed
-     in back porting from 2.3.x
-03Oct07
-kes  Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
-     The details are included in the notes in this file.
-28Sep07
-kes  Backport 2.3 code that fixes: it fixes incorrect or incomplete error
-     messages; it fixes a problem opening the SQLite3 database when multiple
-     simultaneous jobs were running; it fixes a bug with certain versions of
-     MySQL where batch inserts failed because of table name character case
-     (upper/lower) differences.
-kes  Fix race condition that drops final block written to volume.
-     This happens in rare cases with multiple simultaneous jobs 
-     when the Volume fills.  This fixes bug #964.  May be related
-     to bug #935 and possibly #903.
-27Sep07 
-kes  Fix FD->SD authorization failure, which was due to spurious
-     wakeups from a pthread_cond_timedwait().  Simply check the
-     predicate before continuing.  This fixes bug #953
-dvl  Add new configuration item --archivedir
-dvl  Adjust regression tests to use tmp not /tmp.  This will allow
-     multiple concurrent runs of the regression tests.
-28Sep07
-kes  Eliminate more strerror() and replace with bstrerror().
-kes  Remove BSD getopt and replace with unrestricted IBM version.
-kes  Fix Win32 build for changed calling sequences.
-27Sep07 
-kes  Fix FD->SD authorization failure, which was due to spurious
-     wakeups from a pthread_cond_timedwait().  Simply check the
-     predicate before continuing.  This fixes bug #953.
-kes  Add const char where needed (more to do).
-26Sep07
-kes  Setup SQLite busy handler before doing queries. Fixes bug #967.
-kes  Don't overwrite error message in check_tables_version.
-     Fixes bug #966.
-kes  Unlock batch insert tables with same calls used elsewhere.
-kes  Allow starting 59 jobs a second.
-kes  Make SD session key more random.
-kes  Add retry for SQLite opening db if it fails. Probably helps
-     for bug #967.
-kes  Suppress extra error messages during batch insert failure.
-     Fixes bug #966.
-kes  Put some FD auth code on dbglvl rather than fixed.
-kes  Return insert attributes error message in db msg buffer to avoid
-     false error messages. Helps fix bug #966.
-kes  Separate batch init error messages. Probably helps fix bug #966.
-kes  If Dir gets an error during inserting attributes, cancel SD.  
-     This reduces unnecessary error messages.
-24Sep07 
-ebl  Cleanup batch insert code. Probably fixes bug #965.
-23Sep07 
-kes  Turn off some code when batch insert not enabled.
-kes  Edit FD name in connect error messages.
-22Sep07
-kes  Add code to handle tray monitor separated from Win32 FD.
-kes  Fix display of Win32 tray monitor after reboot. Fixes bug #952.
-20Sep07
-kes  Fix ANSI tape labeling.  This fixes bug #954.
-kes  Increase the max block size to 4MB fixes bug #957.
-kes  Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape 
-     is not properly mounted (recognized) during a poll.
-kes  Apply 2.2.4-verify patch that resolves bug #958.  A Verify catalog 
-     Job that has differences reports Verify OK.
-ebl  Fixes #955 bug seg fault in Dir introduced  with regexwhere relocation.
-
-Release Version 2.2.4
-14Sep07
-kes  Increase size of name string when FD making connection to SD.
-     May fix bug #953.
-13Sep07
-kes  Add waits to multiple exit detection code to try to force pid
-     file to always be deleted.
-kes  Restore good dev.tar.gz to rescue set appropriate binary property.
-     This fixes bug #950.
-kes  Fix seg fault in error exit of acquire_for_read after unsuccessfully
-     trying to switch drives by checking for blocking before unblocking.
-     Fixes bug #906.
-kes  Cancel storage daemon in all cases where FD reports error. This
-     should fix virtually all cases of bug #920.
-12Sep07
-kes  Fix error message that was clobbered when Dir tells SD it does not
-     have write permission on Volume.  This should fix a minor point
-     in bug #942, but not the main problem.
-kes  Add code to cancel job in SD if FD connection fails. This should
-     fix bug #920.
-kes  Add code in FD exit to prevent loops and a crash on FreeBSD.
-kes  Fix migration code to get correct Volume name with multiple volumes 
-     by skipping |.  Fixes bug #936.
-kes  Implement patch supplied by Landon to fix bug #944 where using
-     TLS with bconsole uses 99+% of the CPU.
-kes  Note, you need GTK >= 2.10 to be able to link the Tray Monitor
-     program.
-kes  Move patches into patches directory.
-11Sep07 
-ebl  Fix bug #946 about 'bacula-dir -t' which doesn't works
-     as expected.
-09Sep07 
-ebl  Using 'm' in bconsole will show messages like before,
-     and not memory usage.
-
-Release Version 2.2.3
-kes  Note, you need GTK >= 2.10 to be able to link the Tray Monitor
-     program.
-09Sep07
-kes  Fix bug #935, and probably also bug #903 where files were not
-     restored. MediaId was not properly set in JobMedia record after 
-     a Volume change.
-07Sep07
-kes  Add ./configure search in qwt-qt4 for qwt package
-kes  Apply Martin Simmons patch that should turn off the new API usage
-     when batch insert is turned off allowing building on older
-     PostgreSQLs.
-
-Release Version 2.2.2
-04Sep07
-ebl  Detect if new PosgreSQL batch insert API is present.
-kes  Correct incorrect mempool call causing Director crash.
-sb   Update spec files for 2.2.1 release
-
-Release Version 2.2.1
-30Aug07
-kes  Update POTFILES.in
-kes  Cleanup a few underquoted AC_DEFUNs in configure   
-kes  Apply patch from Martin Simmons that adds a test for va_copy to
-     ./configure
-29Aug07
-kes  Fix bug #921 by increasing the number of tries to create a new volume
-     from 11 to 100.
-kes  Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
-     can be called multiple times.  Implement a version for machines
-     without va_copy() that gets a big buffer.
-25Aug07
-kes  Integrate more portable zone offset code into bsmtp.c
-     Submitted by Attila Fülöp.
-24Aug07
-kes  Fix bad SD->FD return status reported by 
-     (James Harper) <james.harper@bendigoit.com.au>
-ebl  Fix a bug in read_close_session which return random status
-     thanks to James Harper
-23Aug07
-kes  Fix (hopefully) bug #930 by doing a db_escape_string() on file  
-     and directory names during restore of single file/directories.
-kes  Add sanity checks to .sql command when string is empty. Hopefully
-     that will resolve Dirks Director crash.
-22Aug07 
-kes  Apply patch submitted by Martin Simmons that corrects a seg fault
-     in the bsmtp chat subroutine when debug is >= 10.
-21Aug07
-kes  Fix Director crash when running bat SQL queries.
-kes  Add David's notes on Item 8: Copy pools.
-18Aug07
-kes  Rework projects file to be current and ready for a vote.
-kes  Enhance lex scanner error message.
-17Aug07
-kes  Tweak LICENSE file to mention BSD code.
-kes  Fix bat.pro.in so that it includes the OpenSSL libraries only
-     if specified on the ./configure.
-kes  Add first (not yet tested) cut of bcomm to the qt-console directory.
-     This class is intended to allow us to open a second bsock to the
-     Director while in the restore subdialog.  
-16Aug07
-kes  Fix configure to create bat Makefile before creating dependencies.
-kes  Eliminate the egg files from the tray-monitor. Use gtk calls.
-kes  Add a tooltip to the tray monitor.
-dvl  Set the Director's PID file before dropping privs. This fixes
-     bug #923.
-15Aug07
-kes  Update AUTHORs file
-kes  Increase the default max concurrent jobs to 20 in FD and SD to
-     correspond with the default .conf files.
-kes  Rewrite the Win32 service routines.  This eliminates the 3 copies
-     some different, of the same file created by RN when porting the 
-     Win32 SD and Dir.
-kes  Rearrange some of the Win32 directories and the placement of the files
-     in them.
-kes  Set DEVELOPER flag in version.h
-
-========================================================================
-Release Version 2.2.0
-09Aug07
-kes  Apply a second doc patch from Marc.
-kes  Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
-     improves the tips section that discusses how to setup multiple
-     simultaneous jobs.
-08Aug07
-kes  Update bat README file.
-kes  Apply patch from Allan Black <Allan.Black@btconnect.com> that     
-     corrects a typo in the Recycle status check in db_find_next_volume().
-     This will probably fix a number of annoying problems with multiple
-     Recycled volumes.
-kes  Modify most of dird/msgchan.c to use bsock class calls rather than
-     bnet calls -- no functionality change.
-07Aug07 
-kes  Modify the Verify output to specify if files are missing on    
-     the Volume(s) or disk.  Fixes confusion in bug #916.
-kes  When more than one Volume is read in a migration job, the last
-     Volume bytes reported are from the last read volume rather than
-     the last written volume. Fixed. This fixes bug #910.
-kes  Fix display of Recycle flag after update volume=foo recycle=yes.
-     It previously printed New Recyle flag is: no. This fixes bug
-     #917.
-06Aug07
-kes  Correct seg fault when switching tape drives during restore.
-kes  Commit uid_gid_name.c (replacement for idcache.c), but will not
-     be used until after 2.2.0 release.
-04Aug07
-kes  Remove fnmatch() in SD that permitted wild card specifications.
-     This fixes bug #914.
-31Jul07
-kes  Fix %g in filename returned by SQL for browse tree reported by
-     Dirk.
-kes  Fix configure so that it puts config.out in the cwd rather than
-     in src/qt-console
-kes  Attempt to fix the locking problem reported by Eric in bug #906.
-kes  Make berrno class to leave errno unchanged after constructor call.
-kes  Make bnet_server use the heap rather than the stack to allocate
-     its socket fd pointers to avoid a crash at termination. Problem
-     reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
-30Jul07 
-kes  Create new depkgs and depkgs-qt separating the qwt out of depkgs
-     and putting it in depkgs-qt along with Qt4.3.
-29Jul07
-kes  Rework code in acquire.c that switches drives for reading when
-     the Media Type does not match. This should fix bug #906
-28Jul07
-ebl  Fix a director segfault during job setup #907
-kes  Correct seg fault in postgresql when first operation returns no
-     rows.  Fixes Dirks File browser problem seg fault with bat.
-25Jul07
-kes  Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
-     building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
-     2.6 as well).
-24Jul07 
-kes  Implement PopUp YES/NO dialog for bat.
-23Jul07
-ebl  Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
-22Jul07
-kes  Correct RunScript to terminate job in FD on failure.
-kes  Change abort_on_error and AbortJobOnError to fail_on_error
-     and FailJobOnError in RunScripts.
-kes  Minor tweaks of code formating in RunScripts, principally to
-     avoid depassing 80 columns.
-21Jul07
-kes  Eliminate one #ifdef Win32 in bsmtp
-kes  Implement grow tool to grow a file for testing very large databases.
-kes  Add big-vol-test to test Bacula seeking with > 5GB.
-Release 2.1.28 beta
-19Jul07
-kes  Modify find_next_volume() to return all values in Media record.
-kes  Ensure that we keep Recycle Pool when moving Scratch volumes.
-
-Release 2.1.28 beta
-18Jul07
-kes  Update Release notes 
-17Jul07
-ebl  fix a bug in get_scratch_volume() report by Andreas Helmcke
-     Warning, in previous beta version, all media get from scratch keep their
-     old retention.
-16Jul07
-kes  Tweaked Win32 installer to remove temp conf files at uninstall time.
-     This should fix bug #842. Made a note to look at removing the temp
-     files at the end of the install.
-kes  Add ability to mount and unmount a file device providing it is
-     marked as being removable and has the appropriate mount and unmount
-     commands defined in the Device resource. This fixes bug #830.
-kes  When applying a storage override, release all previous storage
-     definitions rather than just prepending the new storage.
-     This should prevent a good deal of confusion.
-14Jul07
-kes  Implement ./configure search for qwt libraries.
-13Jul07
-kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
-     Win32 FD.  This should fix bug #893.
-kes  Remove an unnecessary beep in Win32 init code.
-kes  Update copyright dates in Win32 executable about boxes.
-kes  Replace the FSF copyrighted getopt.c and getopt.h in the Win32
-     code with a BSD getopt.c and getopt.h.
-kes  Remove sched.h from the Win32 compat directory -- not used.
-kes  Remove the Exit menu item from the Win32 tray monitor. If you really
-     need to shut it down, do it through the services panel or the command
-     line.
-kes  Remove some inappropriate Bacula FSFE copyrights.
-ebl  Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
-kes  Fix regress config non-portable test as pointed out by
-     Florian Heigl <florian.heigl@gmail.com>
-kes  Fix PSCMD for HP-UX in configure.in to have proper syntax.
-     as pointed out by Florian Heigl <florian.heigl@gmail.com>
-12Jul07
-kes  Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
-     Reported by Frank Sweetser.
-
-Release 2.1.26 beta
-12Jul07
-kes  Fix client-only build.
-kes  Integrate client-only fixes for bsys (initgroups) and conio from
-     Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
-kes  Make arguments to get_scratch_volume() in same order as other
-     such calls.
-kes  Rework the prune_volumes() subroutine so that after purging and
-     no volume found in desired pool, it will check for a scratch 
-     volume. This prevents recycling the whole scratch pool.
-kes  Add code to status storage to print boffset_t (largefile support).
-11Jul07
-kes  Move qwt (Graphics libarary for Qt4) to depkgs.
-kes  You now need a --with-qwt=<dir> to be able to build bat.
-kes  Update src/win32/cats/bacula_cats.def to include the new       
-     db_get_query_dbids() call on Win32.
-07Jul07
-kes  Correct a problem when selecting a scratch volume and moving
-     it to another pool that lost some columns.
-kes  Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
-kes  Enhance Autochanger error messages to include Volume and device name.
-kes  Rework prune_volumes() code to take account of InChanger flag,
-     and to handle recycling volumes going to the Scratch pool and
-     current pool because the RecyclePool directive.
-kes  Implement a better and more efficient db_get_query_dbids() to
-     handle creating and passing back a list of DBIds.
-
-Release 2.1.24 beta
-03Jul07
-kes  Start work on new more efficient DBId subroutine. First use
-     will be for recycling volume to Scratch inchanger.
-kes  Increase number of JobIds in pruning from 1000 to 10000. 
-     This to be replaced by above routine.
-kes  Begin implementation of building Qt4 on Win32.
-kes  Correct typo in fix I added for bad TLS shutdown.
-kes  Pull 2.0.3 patches into patches directory.
-kes  Update Release notes.  Include qt-console in line count.
-kes  Update Projects file.
-30Jun07
-kes  Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes 
-     bug in migration code where a job that spanned two volumes
-     was migrated twice.
-29Jun07
-kes  Implement new BST_DESPOOLING blocked state. Change from locking
-     during despooling in SD to blocking. This means that other threads
-     can work with the device structure, in particular the reservations
-     system while despooling.
-28Jun07
-kes  Fix return in reservation message queue that missed clearing
-     the jcr lock (implemented 26Jun07 below).
-kes  Rename a number of dev methods to make locking function names
-     a bit clearer.
-kes  Document locking in lock.c. Move lock structures to new file
-     lock.h.
-26Jun07
-kes  Move reservations message lock to lock jcr only this
-     fixes bug #861.
-kes  Move main SD locking code into lock.c (new file).
-kes  Update Win32 build to include lock.c
-
-Release 2.1.22 beta
-26Jun07
-kes  Dirk committed the qwt library code for drawing graphs in bat.
-kes  Tweak install of qwt so that it is integrated with ./configure.
-25Jun07
-kes  Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
-     out by Eric (my typo).
-ebl  Fix configure.in to get batch mode enable
-kes  Return correct string from authenticate.cpp in bat when connecting
-     to Dir.
-kes  Apply patch suggested by Frank Sweetser to fix bug #888 --     
-     spurious line drops when using TLS.  
-kes  Do not file reparse points when restoring a file that already
-     exists -- Win32.
-24Jun07
-kes  Implement Windows reparse points -- similar to directories, but
-     we do not descend into it. This is a first cut. They seem to 
-     be backed up, but restore is not yet tested.
-kes  Remove restore_blocking in tls code when shutting a socket to leave
-     it in blocking mode. Hopefully this will fix the encryption bug  
-     reported by Frank Sweetser.
-kes  When opening a file for backup, tell the OS that we are going to
-     read it sequentially -- optimization.
-kes  Change variable names in authenticate_director() to not conflict
-     with member names in bat. Caused great confusion with compiler,
-     but no warnings.
-23Jun07
-kes  Queue openssl error messages in case of comm problem.
-kes  Do shutdown() call if socket terminated.
-kes  Remove some duplicated code in tls.c
-kes  Move more of the bsock member variables into private and access
-     them with methods.
-kes  Add Frank Sweetser's tls-test to the regression suite.
-22Jun07
-kes  Add Swedish sv.po file
-21Jun07
-kes  Don't print clock skew message in FD if less than 3 seconds diff.
-kes  Add a bit of VSS info to status client.
-kes  Implement a first cut of Vista VSS, using Win2003 code.
-
-Release: 2.1.20 beta
-20Jun07
-kes  Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
-     loaded tape but uses first drive).
-kes  Fixed bug #807 Restore encrypted backup failed on Windows 2003
-     This was indeed a Win32 issue.
-19Jun07 
-kes  Simplify search of autochanger for in-use Volume.  
-kes  Fix exit condition of check for in-use volume.  kes Remove
-     inappropriate my_postgresql_free_result() in db_close()
-     routine.
-kes  Fix bad return in FD when encryption signature not found.
-     Probably caused a crash.
-kes  Inhibit missing encryption signature error messages for 
-     file types where no signature computed.
-kes  Correct inverted check on autochanger in reservation system.
-kes  Tweak debug code in autochanger reservation.
-18Jun07
-kes  Add some additional locking in the cats directory in subroutines
-     that modify packet variables called from batch insert.
-kes  Rework how dcrs are allocated. new_dcr() can now be called
-     with an existing pointer, and it will simply clean it up.
-     This allows the reservation system to test various different
-     devices, and will permit easy device changes.
-kes  A bunch of changes all over to handle new new_dcr() calling
-     sequence.
-kes  Work more on the Volume management in the SD. Remember Volumes
-     for tape drives and for autochangers (even virtual disk changers).
-kes  When looking at the Volume list to reserve a drive, handle 
-     autochanger names correctly by interating through the changer 
-     devices.  Also call the Director to see if a Volume is suitable
-     for the current job.
-kes  Fix some bugs in bscan. Make sure all media records are written.
-     Make sure that valid JobMedia records are written for disk files.
-     Previously they were completely wrong.
-kes  Move source tar files for depkgs-mingw32 to www.bacula.org so
-     that the URLs don't change and so that the developers will all
-     work off the same copy. Rebuild from scrach.
-kes  Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
-
-Release: 2.1.18 beta
-16Jun07
-kes  Fix seg fault in FD from incorrect digest size. 
-kes  Fix argument to non-OpenSSL crypto.c subroutine.      
-
-Release: 2.1.16 beta
-16Jun07
-kes  Remove a few malloc()s from the encryption code.
-kes  Use the class calls to bsock in filed/backup.c and restore.c in
-     place of the old bnet_xxx code.
-kes  Implement code that does an on the fly calculation of the  
-     signing digest during restore of encrypted files.  It makes
-     a best guess at the algorithm, and if it is not correct, will
-     then revert to the old code which reads the file after it is
-     restored.
-kes  Implement at least one missing crypto stream in stream_to_ascii()
-kes  Apply patch from William <chowmeined@gmail.com> that fixes bug
-     #877 where a reload with bad syntax causes Dir to exit.
-
-Cut: 2.1.14 beta (not released)
-14Jun07
-kes  Do not free a volume on a tape drive until another volume is
-     mounted and read, or the autochanger unloads the volume.
-     This should help the SD re-use volumes that are already mounted,
-     and should fix bug #886.
-kes  Apply patch from user brettedgar that allows gnome2-console include
-     the OpenSSL libraries, and hence work with SSL.  Fixes bug #885.
-kes  Apply patch from Lucien Weller that fixes day of week calculation
-     because of DST flag problem. Fixes bug #887.
-10Jun07
-kes  Move find_next_appendable_volume() to after acquiring a valid device
-     in reserve.c.  This fixes bug #864 -- confirmed by reporter.
-09Jun07
-kes  Unable to reproduce bug 872. However added additional testing for
-     integer.
-kes  Bug #874 resolved by documenting SQLite limitations.
-kes  Bug #882 resolved by documenting mtx-changer script for new drive code.
-kes  Bug #881 resolved by removing typo in mtx-changer script.
-kes  Made Frank Sweetser's wiki the official Bacula wiki with his
-     approval. Added a link to the wiki on the web page, and implemented
-     a backup from http://paramount.ind.wpi.edu                                          
-08Jun07
-kes  Fix update allfrompool to pass pool name.
-07Jun07
-kes  Convert to pure GPL v2 license.
-kes  Fix sscanf problems reported by Peter Buschman that caused
-     a bus error on Solaris.
-kes  Rework (simplify) the select prompt in bat.
-kes  Move get_jobid_from_tid() into lib and create a 
-     get_jcr_from_tid().
-kes  Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg().  This
-     should definitely fix the problem of lost error messages in the
-     encryption code.
-kes  Remove over zellous addition of FSFE copyright in a few eggxxx files.
-kes  Eliminate tcpd.h from the project. Enclose the #include from the
-     library with extern C ...
-kes  Add print of signal name when a signal is trapped.
-
-Release: 2.1.12 beta
-04Jun07
-kes  Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
-03Jun07
-kes  Implement SQLITE3_INIT_QUERY in version.h that can do an initial
-     query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
-     makes SQLit3 run 30 times faster, though a bit less safe.
-kes  Implement --with-batch-insert in configure and detection of thread
-     safe libraries.  It is on by default, but turned off if no thread
-     safe library (e.g. SQLite 2) is available.
-02Jun07
-kes  Fix Bacula PostgreSQL buffer overruns.
-kes  Do better checking for NULL results returned from PostgreSQL;
-     implement retry for failed queries; clear results buffer after
-     failed query. Hopefully this will correct the PostgreSQL failures.
-01Jun07
-kes  Implement algorithm to handle only one appendable volume with
-     Prefer Mounted Volumes = no.
-kes  Fix a Bacula PostgreSQL bug dereferencing a NULL pointer      
-     returned from a query.
-kes  Make volume lock recursive.
-kes  Implement an additional volume reservation algorithm that
-     starts by considering all reserved volumes then uses the
-     old brute force algorithm of searching the resources to
-     find a suitable device.
-kes  Add new reservations debug code and refine the old code.
-kes  Update the win32/dll/bacula.defs file.
-29May07
-kes  Tweak reservations algorithm to permit a few more cases, i.e.
-     volume reserved, but on different drive, ...
-kes  Enhance SD status to include Pool and Media Type for drive in a
-     more readable format (a bit longer). 
-kes  Fix PostgreSQL double free.
-28May07
-kes  Minor refactoring of restore decryption code.
-kes  Add code to smartall.c to detect double free of a buffer.
-27May07
-kes  Add < > around %r in from field on mail command of bacula-dir.conf.in
-     so that bsmtp will create a correct email address (mailbox only).
-kes  Modify 'memory' command so that the buffers are listed as 'In use'
-     to avoid confusion with Orphaned buffers.
-kes  I reworked the OpenSSL include/lib flags to be handled in     
-     the standard Bacula way, which should fix bug #863 concerning
-     non-standard OpenSSL libraries.
-26May07
-kes  Implement Help Browser window for bat.
-kes  Fix reload bug that reset StorageId to zero.
-25May07
-kes  Fix TLS #ifdefing when TLS turned off.
-kes  Ensure that when labelling a tape with Slot=0 that InChanger
-     is not set.
-kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
-     the same.
-kes  Add StartTime to final uar_sel_jobid_temp query so that we can
-     add DISTINCT (required by PostgreSQL).
-kes  Implement BSOCK authenticate_director() method. Eventually will
-     authenicate all daemons.
-kes  Move several more functions into the BSOCK class.
-24May07
-kes  Add code to tell the OS that we no longer need a cached
-     file that we were reading. In findlib/bfile.c.  Also,
-     only cache files that we are reading. Thanks to
-     Tobias Oetiker <tobi@oetiker.ch> for the idea.
-kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
-kes  Implement script to automatically generate cats and dll .def
-     files for Win32 dll.
-kes  Update README.mingw32 to include new .def file generation.
-kes  Correct typo in UTF-8 error message as reported by:
-     jhernandez <julianhernandez@gmail.com>
-kes  Add additional sm_check() code on debug level 1.
-kes  Set default debug level to 1.
-kes  Trap SIGABRT in attempt to get traceback.
-23May07
-kes  Reduce bat connect timeout from 30 to 15 seconds.
-kes  More restructuring and implementing BSOCK class in place of
-     old bnet.c code.
-kes  Remove a few unnecessary malloc() tests in crypto code.
-kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
-     not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
-kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
-22May07
-kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
-     Make buffer bigger.
-kes  Fix Verify InitCatalog. The attributes were not pointing to the
-     correct saved location.
-kes  Implement message callback so that GUI is sure to get all
-     daemon messages. Currently displayed in a dialog in bat.
-kes  Ignore SIGUSR2 (Bacula timer) in bat.
-kes  Apply regress patch from bug #859 to allow regress to work 
-     with Solaris compiler.
-21May07
-kes  Begin adding TLS support to bat.
-kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
-     clean up lex.c and make it more readable.
-20May07
-kes  Move more bnet functions into the BSOCK class.
-kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
-kes  Complete change of berrno strerror() method to bstrerror() 
-
-Release: 2.1.10 beta
-18May07
-kes  Cleanup incorrect email addresses in bsmtp.
-kes  Make bat display initial messages rather than discard them.
-16May07
-kes  First cut of adding .mod to the run command.    
-kes  Implement auto display of messages in bat.
-kes  Enhanced preferences to allow all Bacula output to be
-     displayed in bat.
-15May07
-kes  Try to make bsmtp date routines more generic.
-kes  Fixed bug #856 autochanger documentation.
-kes  Rework bsmtp date editing for Win32. This fixes bug #854.
-kes  Add new cats entry point so Win32 builds.
-14May07 
-kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
-     Fixes bug #854.
-kes  Do better checking for the MySQL 64 bit libraries looking for both
-     .a and .so libraries.
-kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
-     /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
-kes  Require the thread safe version of MySQL during configure. Thanks
-     to Andre Noll for pointing this out.
-kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
-     continuing in migration code.
-kes  Apply implementation of tray-monitor font derived from gnome-console
-     submitted by Andreas Piesk <a.piesk@gmx.net>
-13May07
-kes  Eliminate important memory loss in SQLite
-kes  Fixed the batch insert MySQL thread specific data that was not
-     being freed. See cats/mysql.c:db_thread_cleanup().
-kes  Fix restore before command.
-kes  Convert old hdr.name to name() in a few places.
-kes  Implement update jobid command.
-kes  Return all time_t dates in db_get_job_record()
-kes  Stop watchdog in SD earlier.
-kes  Put Pool just after Storage in please mount message.
-kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
-     Eric.
-12May07
-kes  Update the po files.
-kes  Fix Verify InitCatalog by making it cache attributes.
-11May07
-kes  Change name bacula-bat to bat for man 1 page to correspond to
-     Makefile.
-kes  Check for client and store NULL pointers in status command.  This
-     fixes bug #845.
-kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
-kes  Fix sign extended editing of %p.
-kes  Clean out a little old #ifdefing in cats/mysql.c
-10May07
-kes  If time diff between DIR and FD is more than 600 seconds convert
-     INFO message to WARNING.
-kes  Implement heap size display in status for all daemons.
-kes  Attempt to fix MySQL db open memory loss (not successfull).
-kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
-kes  Eliminate memory loss in MySQL (possibly other SQLs) during
-     Query. This looks like a MySQL but but by doing extra releases,
-     the memory goes away.  This should fix bug #847.
-09May07 
-kes  When backup fails, cancel SD before waiting for sd termination.
-kes  If SD is waiting for FD to connect during cancel, wake up the 
-     thread.
-kes  Fix fsf code so that errno is correctly reported.
-kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
-08May07
-kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
-     so that Bacula doesn't later stumble into a seg fault.
-kes  Use the term Restore Client in the restore Job report.
-kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
-     the original job's FileSetId.
-kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
-     spooling in migration jobs.  Not yet tested.
-kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
-     reading conf file from a pipe.  However, do it with open_bpipe()
-     rather than popen.  Not yet tested.
-07May07 
-kes  Fix an ugly bug where the VolCatBytes were getting updated
-     during a restore.
-kes  Implement bconsole memory command that prints current memory
-     usage, plus smartalloc dump.
-kes  Clarify some error messages in backup, admin, and migrate.
-kes  Shrink label dialog to smaller size.
-kes  Invert Cancel OK buttons on restore to be OK Cancel.
-kes  More strerror() to bstrerror() conversions.
-06May07 
-kes  Start implementing bstrerror() in place of strerror().
-kes  Stripping path -- seems to work.
-04May07
-kes  Prevent door and port files from being restored (mostly
-     Solaris stuff).
-kes  Free an unreleased buffer in compat code.
-kes  Change console Job name from *Console* to -Console- to eliminate
-     Win32 filename problems.  Put Win32 path separator when creating
-     Console file.  This fixes bug #846.
-kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
-     implemented.
-kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
-     structure.
-kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
-     to force Win32 error message.
-03May07
-kes  First cut strip path. The data should be passed to the FD,
-     but nothing is done with it yet.
-kes  Enhance the digest and signature routines in the crypto
-     library to accept a JCR and to use it to print error messages
-     so that they will go in the Job report rather than the daemon's
-     messages.
-kes  Simplify some of the verify signature code.
-kes  Simplify a few of the alternative returns in the signature 
-     code.
-02May07
-ebl  Use only POSIX regex instead of GNU regex in breg.c for
-     File relocation. It fix broken freebsd compilation.
-kes  Convert all other Dir files to use new ua class message 
-     routines for bat.
-kes  Tentative fix for missing digest signature in bug 807.
-kes  Correct handle problem in new win32_ftruncate routine.
-kes  Convert ua_purge.c and ua_update.c to use new ua class
-     message routines for bat.
-29Apr07 
-kes  Correct incorrect installation of LICENSE in Win32 installer.
-kes  Display LICENSE at the beginning of the Win32 install.
-kes  Attempt to correct the need for the png files to be installed 
-     for bat.
-kes  Reapply my bat.conf install script in qt-console. I think I 
-     editted bat.pro instead of bat.pro.in and it was lost.
-kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
-     the /var/lock/subsys for subsysdir.  Also corrects typos in the
-     doc.
-28Apr07
-kes  First cut update job.
-kes  Correct configure to include qmake of src/qt-console directory.
-26Apr07
-kes  Make restore job yes/mod/no print in one command so GUI works.
-kes  First cut implementing backup and restore client.
-kes  Correct editing in Verify output that caused a seg fault.
-25Apr07
-kes  Insure that bat.conf is not overwritten during installation.
-kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
-     while I was implementing migration in March 2006 !
-24Apr07
-ebl  Cleanup file relocation, using char *RegexWhere instead of
-     char *where + bool where_use_regexp
-kes  Update some manpages and add bat manpage.
-kes  Make a first cut at converting bacula.spec.in for bwx-console
-     and bgnome-console.
-kes  Apply patch from John Goerzen to add hostname as fourth argument
-     to make_catalog_backup script.
-kes  Fix typos I introduced into bsmtp.c
-kes  Make pm_strxxx() routines handle input of NULL pointer. This
-     is to protect from NULL pointers returned from SQL databases.
-kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
-kes  Add more debug to FIFO code -- fix fifo regression test.
-23Apr07
-kes  Implement posix_fadvise in FD, and for reading spool files in SD.
-kes  Add thread timer to bnet_connect() to break from OS if wait time
-     expires.
-22Apr07
-kes  Update Win32 build to include new files, new symbols, and    
-     renamed files.
-kes  Implement socket level heartbeat (tcp_keepidle)
-ebl  Commit File relocation patch
-kes  Make bat have 'make install' target.
-kes  Warn during install if old gnome-console binary found.
-kes  Warn during install if old wx-console binary found.
-kes  Add -8 option to bsmtp command line to add content type utf-8. 
-     Fixes bug #809. (Character coding problem in bsmtp).
-kes  If < is found in target (from, to, cc) then do not enclose the
-     target in < >  in bsmtp. Fixes bug #772  (malformed address).
-kes  When printing certain items in dbcheck, stop after 300000.
-     Fixes bug #822. (dbcheck loops).
-kes  Incorrect status in Dir after waiting for mount with poll set.
-     Fixes bug #825.
-21Apr07 
-kes  Extend idea of Prefer Mounted Volumes to mean a volume about
-     to be mounted.
-kes  Print waiting to reserve a device every 5 mins.           
-20Apr07
-kes  Don't call close_part in label.c if tape and relabel.
-kes  Don't free volume if busy in close() -- should help with
-     bug 801.
-ebl  Fix #824 RunScript bug (After script could be execute twice)
-     Now, Before Script can use RunsOnSuccess and RunsOnFailure options
-     By default (like before) RunsOnSuccess=true and RunsOnFailure=false
-     Add a regression script to test RunScript
-19Apr07
-kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
-     on Solaris.
-18Apr07
-kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
-     deprecated. No additional bugs will be fixed, and they will be dropped
-     in a future release (probably 2.4.0).
-kes  Change name of wx-console to bwx-console to make it more Bacula
-     unique.
-kes  Change the name of gnome-console to bgnome-console to make it
-     more Bacula unique.
-14Apr07
-kes  Some time in March, a Feature Request with patch from Jorj Bauer
-     <jorj@seas.upenn.edu> was committed by Landon (with my approval).
-     It implements:
-     The ability for the director to validate a Client (FD) CN against
-     an arbitrary set of patterns rather than the hostname, with
-     A new 'TLS Allowed CN' set of directives which are implemented
-     in the Client resource.  Then pattern matching is used in place
-     of hostname matching against the Certificate's CN. As an example, we
-     have certificates which (a) use a local CA, and (b) have a CN of the
-     form client_123.
-kes  Add new/changed entry points to Win32 build
-kes  Create unaccepted-projects for projects that are not accepted.
-kes  Simplify locking in the reservations system.
-kes  Add more debug code in reservations.
-kes  Make sure error condition on reserving a volume is handled correctly.
-kes  Correct handling of volume_in_use.
-kes  Correct handling of initializing a device.
-kes  Move handling of broadcasting releasing a device into release_device().
-kes  Correct attaching dcr to dev so that it is only done if device
-     is properly initiated.
-12Apr07
-kes  Locking debug level tweaks in SD.
-kes  Tweak new Volume code.
-11Apr07
-kes  Add exec external-command [wait-seconds] to bconsole. This
-     executes the external-command.  Note! normally external-command
-     should be enclosed in double quotes.
-kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
-     it should normally be off in a production system.
-10Apr07
-kes  Implement die command for SD so that we can force it to dump.
-kes  Implement SD lock debug code.
-kes  Implement new algorithm for keeping Volume list in SD.  It
-     is now owned by the device.
-04Apr07
-kes  Implement new code for freeing in use volumes that should 
-     resolve if not all, some of the problems of multiple drive
-     tape conflicts described in bug 801.
-03Apr07
-kes  Fix gui/bacula-web/images files in svn.
-kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
-02Apr07
-ebl  Fix a bug in batch mode (in string escape)
-kes  Correct migration prune SQL typo that crept in in a    
-     recent 2.1.x change.
-01Apr07
-kes  Move bnet_despool() into class in bsock.c
-kes  Modify job report to include director name and Build OS.
-kes  Move drop root privilege and check_catalog() before fork.
-kes  Add update database scripts (version 9 to 10) to updatedb directory.
-31Mar07
-ebl  Check size and age of each file after its backup to see if
-     it has changed during backup, if 'checkfilechanges' is set.
-     The FD will do an extra check (stat(2)) after
-     each file backup. mtime, ctime and size are compared with
-     'before backup' information. If time or size mismatch, an
-     error message will be generated. You must upgrade FD to use it.
-30Mar07
-kes  Make database name and user configurable
-     --with-db-name=xxx --with-db-user=xxx
-kes  Add back database type to message.c for debugging.
-29Mar07
-kes  Implement dir_sql() which issues an SQL query.
-kes  Modify bat medialist to use dir_sql() and do some minor C++
-     formatting as well as eliminating a number of pointers, simplifing
-     the code.
-28Mar07
-kes  Fix some of the mtx-changer grep commands for tape label readers.
-kes  Convert a number of bsendmsg into the appropriate send/warning/error
-     message class calls.
-kes  Suppress the using database message in the .sql command.
-kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
-27Mar07
-kes  Add context menu for floating a window.
-kes  Some minor cleanup and name changes in qt-console
-kes  Add doing mt setblk 0 in Win32 mtx-changer.
-kes  Apply Martin's bug fix to move definition of ENODATA for 
-     FreeBSD to bsock.c
-ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
-     sqlite2 and sqlite3.
-26Mar07
-kes  More pruning cleanup.
-kes  Turn on wait_for_drive by default in mtx-changer.
-kes  Turn on Batch insert code by default as it now passes regression.
-kes  Add ./configure --enable-bat to enable building of Bat.   
-     No install yet though.
-25Mar07
-kes  Implement a new .sql command for bat.
-kes  Implement code to turn off pruning in obtaining the next volume.
-     Pruning is turned off for the status dir command, but turned on
-     for SD requests and for the list nextvolume command.
-24Mar07
-kes  Correct Qmsg() that was not updated correctly when committing a
-     previous change (probably the recent TLS patch).
-23Mar07
-kes  Write new subroutine is_volume_purged() that explicitly checks
-     if the Volume is purged, and if so marks it as such. This should
-     resolve problems reported about needing to mount twice to recycle
-     volumes.
-kes  Rewrite pruning algorithm to do more work in the SQL engine, and
-     to pass a list of JobIds to be deleted to SQL.  Also, minimize the
-     amount of duplicated code.     
-kes  Do volume pruning only for the Media Type desired (reduces pruning time
-     if multiple Media Types are in the same pool).
-kes  Implement more detailed info in the Job report for the Bacula version
-     and architecture.
-kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
-     ua_purge.c.
-ebl  Add bbatch tool to bench database and insert mode.
-     Fix sql quote stuff in batch mode
-     Fix sql stuff for mysql
-22Mar07
-kes  Correct problems with am/pm scheduling. Fixes bug #808.
-kes  Implement new prunning code that prunes up to 1000 jobs at
-     the same time.  The same technique can be applied to a number
-     of other prune/purge subroutines.
-kes  Add an insanity check when starting a new tape job to ensure
-     that the tape position has not been changed. If so fail the
-     job.
-kes  Fix Win32 build for dlls to add the folllowing:
-     src/lib/bsock.c -- new file with new entry points
-     src/lib/dlist.c  -- new entry points
-     src/cats/sql_create.c -- new entry point
-     src/cats/sql_cmds.c -- new DATA item exported
-21Mar07
-ebl  batch mode cleanup bscan-test is ok now.
-kes  Implement SD code to check length of disk volume before appending.
-18Mar07
-kes  Correct return status on db_batch... routines.
-kes  Add call to db_write_batch_file_records() to migration code.
-ebl  Fix AfterJob timing
-kes  Move the checking of the database in initializion of the Director
-     to after we drop privileges.  This avoids the need for both root
-     and bacula access to the DB.
-kes  Correct a misplaced variable definition in src/filed/backup.c
-kes  Correct how the new batch insert db_create_attributes_record()
-     uses the arguments.  Caused a seg fault in bscan.
-kes  Implement lock() and unlock() methods in DEVICE class.
-     Implement block() and set_block(xx) methods in DEVICE class.
-kes  Modify bnet_connect() so that it uses time() to check for the
-     wait time expiring (on some OSes, some system calls may not
-     return immediately).
-kes  Modify Verify to obtain the previous JobId when it is actually
-     running rather than at schedule time (as it was in 1.38.x).     
-kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
-     fix bug #802.
-kes  When checking pid in pid file, continue running if the pid is
-     the same as ours. This occurs on IRIX after a system crash.
-     Fixes bug #797.
-10Mar07
-kes  Extend new GUI API.
-kes  Make the ua structure a class, and implement send_msg(),
-     error_msg(), warning_msg(), and info_msg().
-08Mar07
-kes  Apply fix from for building wx-console on the Mac from
-     bug #798.
-kes  Implement new select mechanism for GUI programs.
-kes  Reorganize initialization of stackedWidgets in bat.
-07Mar07
-kes  Add updated nagios plugin supplied by Christian Masopust.
-05Mar07
-kes  More bat implementation.
-kes  File migrate bug with Pool Occupancy using mediaid instead
-     of jobids.  Fixes bug #795.
-kes  Fix orphaned buffers in filed backup and verify due to
-     crypto buffers not freed during errors.  Fixes bug #789.
-kes  Extend new GUI api code to tree commands.
-kes  Ensure that tree and dot commands check console ACLs.
-kes  Permit marking directory with trailing slash.
-kes  Allow 20 console connections (instead of only 10).
-04Mar07
-kes  Add smartctl call to bacula-sd.conf as an example of getting
-     tape alert info.
-02Mar07
-kes  Modify jobq.c to let simultaneous restore jobs run. This may 
-     cause them to fail if they cannot get a drive.
-kes  Add Client Connect Wait to Storage daemon to permit users to
-     modify the time the SD waits for a FD connection.
-29Feb07
-kes  Correct virtual changer check which was backwards. This caused
-     volumes to be unloaded into slots already occupied.
-28Feb07
-kes  Apply Command ACL filter to JobId list in restore command.
-kes  Correct typeo in var.c patch.
-27Feb07
-kes  Don't let Bacula prune File or Job records for the current Job.
-kes  Fix variable substitution pad + inc bug reported (with patch)
-     in bug #791.
-26Feb07
-kes  Correct SQLite log table index as reported by Luca Berra.
-24Feb07
-ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
-22Feb07
-kes  Begin implementing new comm signals for API.
-kes  Fix a few places in lib/message.c where the open fd may 
-     not be zeroed.
-kes  Continue implementing lib/bsock.c (real class).  Make jcr,
-     who, host, and port private. There are new methods to access
-     them for non-class use. This required touching a number of files.
-21Feb07
-kes  Add LANG=C to autoconf/randpass so it works with languages other
-     than English.  Fixes bug #788.
-20Feb07
-ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
-     This fixes bug #780
-     You will not be able to generate Include/Exclude list any more.
-     It will be fixed soon.
-     If you want to use this, you can apply
-     trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
-19Feb07
-kes  Restore of sockets created false error messages because Bacula
-     no longer restores sockets, but the code was still trying to
-     set the attributes on a non-existent file. Reported by a user.
-ebl  finish RecyclePool feature
-     Media will takes Pool.RecyclePool
-     when moving from Scratch to a Pool or when user will do
-     update volume=xxx frompool
-     To use it, add RecyclePool = aPool to your Pool resource
-        Pool {
-                Name = Default
-                RecyclePool = Scratch
-                ...
-        }
-     TODO: update manual
-kes  Expand new BSOCK class adding signal() and new BNET signals.
-kes  Begin enhancing the dot commands adding a new API function
-     that returns more information and will make it easier
-     to interface to the Director from a program.
-18Feb07
-kes  Make DEVICE fd private. Its new name is m_fd, and can be
-     obtained with dev->fd() outside the class.  This is the
-     first of many DEVICE members to be made private.
-kes  Implement Michael Renner's idea on having a virtual disk
-     changer. I made some minor modifications (e.g. I did not
-     implement the Virtual Changer directive, but simply set
-     the Changer Command to an empty string.
-17Feb07
-kes  Implement a BSOCK send() method that writes the whole record
-     in a single write() request rather than in two.
-ebl  add update volume=xxx recyclepool=yyyy
-     volume takes recyclepool from pool when using update volume=xxx from pool
-16Feb07
-kes  Fix encryption deblocking bug, which caused some restored files
-     to be truncated. This fixes bug #763.
-kes  Add FD event sequence order prepared by Eric -- for RunScripts.
-kes  Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
-13Feb07
-kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
-ebl  Use btime_t instead of uint64_t in media patch.
-11Feb07
-kes  Optimize the use of the database a bit in the Status dir command.
-     Only open it when needed, ensure that if any previous database
-     was opened, it is closed.
-10Feb07
-kes  Correct VolCatBytes bug from media patch.
-kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
-     in the case of orphaned records.
-kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
-     and File records in 300K chunks to be more efficient. This
-     idea came from Juan Luis Frances (if I remember right).
-kes  Apply Eric's scratch patch that moves a purged Volume to
-     the RecyclePool.  Question: how is RecyclePool set? what
-     happens to the ScratchPool?
-kes  Apply Eric's media patch that collects read/write media
-     times as well as byte counts.  This patch requires a
-     simultaneous upgrade of the DIR and SD.  Note, there
-     should be some way to turn off timing. I'm not sure
-     times are in Bacula units.
-kes  Apply Eric's batch-insert patch.
-09Feb07
-kes  Update projects list.
-08Feb07
-kes  Implement Include/Exclude file lists in FD as dlists using
-     the new dlistString class. This permits efficiently having
-     large include/exclude lists and completes project Item 25.
-kes  Fix dird/ua_cmds.c so that a cancel command checks if the
-     console is authorized to cancel the job.  This fixes bug 
-     #767.
-kes  Modify SD so that the VolCatJobs medium record is updated
-     at the beginning of a Job rather than the end.  This
-     fixes bug #775 where exceeding MaxVolJobs caused jobs
-     to fail.
-kes  Added a mutex around getting and setting Volume information
-     so that multiple simultaneous jobs will single thread.
-07Feb07
-     Switch to using Subversion
-kes  Remove src/pygtk-console/ from configure
-06Feb07
-kes  Delete src/lib/btree.c from win32 build, then add rblist.c
-     plus the entrypoints.
-kes  Apply patch supplied that corrects debug print
-     in canceling jobs for max run time.  Supplied as
-     part of bug #621, which was previously fixed.
-05Feb07
-kes  Test on job_canceled() and sd_msg_thread_done inside
-     loop starting the message thread to avoid a race condition.
-     Fixes bug #771.
-kes  Remove rl_catch_signal from console.c as it conflicted
-     with the header definition. Fixes bug #765.
-ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
-04Feb07
-kes  Clarify some stored/acquire messages to indicate if the
-     problem is with read or append.
-02Feb07
-kes  Fix memory leak with storage ids in cats/sql_get.c
-kes  Terminate watchdog earlier to avoid reference to released
-     memory -- reported by Jason Austin.
-kes  Move closing the database from jobq.c to the director daemon
-     termination routine. This fixes memory leaks for shadow jobs
-     (i.e. migration jobs).
-kes  Free up the unique jobid chain items in migrate.c.  This fixes
-     a memory leak problem.
-kes  Convert some ugly looking for statements to use foreach_alist
-     in findlib/find.c.  This will facilitate converting the structures
-     to use dlist (for large include/exclude lists).
-kes  Fix a bug in the btree.c and btree.h routines, then rename them
-     rblist and add them to be built in src/lib.  Include some new
-     methods written by Rudolf Cejka that make the code more readable
-     (hides some of the ugly casting).
-kes  Add set_next() and set_prev() methods which make the code much more 
-     readable. Also add a new dlistString class that facilitates storing
-     strings in dlists.  To be used in the large include/exclude lists.
-kes  Make some trivial modifications to lib/tree.h that use rblist
-     rather than dlist for storing the tree links. This was suggested
-     by Rudolf Cejka.  The result of this is that the restore tree now
-     uses red-black binary trees rather than simple linked lists. This
-     should give rather dramatic speed improvements for directories
-     contining large numbers of directories/files (more than 10000).
-28Jan07 
-kes  Fix maxruntime bug #621.
-26Jan07
-ebl  Implement the include JobID in spool file name project.
-kes  Reorder projects file in order determined by Jan 2007 vote.
-kes  Implement item #12 on project list -- quick release of FD by
-     the SD.
-kes  Fix open of SQLite3 db where user does not have write permission
-     so that DIR does not crash. Fixes bug #761.
-25Jan07
-kes  Add back missing @ in Win32 Makefile.
-kes  Change 'Device not configured to autolabel' from INFO
-     to WARNING.
-kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
-     which should restart an indefinite # of times.
-kes  Fix configure --help to print --with-mysql[=DIR]. Same for
-     other DIR specifications.
-23Jan07
-rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
-     Fix path quoting in SQLite scripts.
-     Fix problems with SHGetFolderPath.
-19Jan07
-kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
-18Jan07
-kes  Fix Job restart on error bug that promotes an Inc to a Full
-     backup.  This should fix bug #755.
-kes  Add qt-console and first cut of code.
-
-Version 2.0.1
-12Jan07
-kes  Fix Bacula->Documentation link on Win32 to point to index.html
-     instead of bacula.html. Fixed bug #750.
-kes  Return JobId in db_get_job_record() when JobId==0. This should
-     fix bug #741.
-kes  Do not release source pointers when restarting a failed job.
-11Jan07
-kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
-     This *should* fix bug #747.
-kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
-     bug #742.
-09Jan07
-kes  Modify USTORE constructor to set an empty store_source string, 
-     and don't copy the store_source string in a cancel.  Hopefully
-     this will fix Arno's seg fault, bug #744.
-kes  Add back code to disable conio in configure. Fixes bug #743.
-kes  Correct the Options scanner in the FD to correctly handle  
-     SHA1 option, which was eating the next option.  Reported by    
-     Sebastien Guilbaud.
-kes  Add code to indicate when the SD is spooling, spool wait, and 
-     despooling as requested by Alan Brown.
-
-Version 2.0.0 released: 4 January 2007
index c6a992c0aec25b183ba5059281c28354464bd64d..e25e9a4758e932bfab24f18661f9a8d685fce8a4 100644 (file)
@@ -2,6 +2,78 @@
           
 General:
 
+15Jul09
+kes  Make CONF::init header and .c file agree about types.
+     Reported by "Eli Shemer" <elish@consist.co.il>
+kes  Fix Win64 build
+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  Tweak debug print in accurate
+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.
+kes  More cleanup of bootstrap
+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
+04Jul09
+mvw  Change checking for acl and xattr support from first file to
+     job level.
+mvw  Call acl and xattr function only when requested for fileset
+     and filed has support for acl or xattr
+mvw  Fix typo introduces by fix for bug #1305
+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
+kes  Another fix for bug #1311 to get the correct last_full_time
+ebl  Make estimate command accurate compatible. Should fix #1318
+ebl  Add estimate accurate=yes/no
+ebl  Change the code to check jcr->accurate and not jcr->job->accurate
+01Jul09
+kes  Fix bug #1317 Allow duplicate jobs = no does not work
+kes  Eliminate double job report when do_xxx_init() returns failure
+kes  Add debug code to MaxDiffInterval
+29Jun09
+kes  Change bacula-dir.conf default job name from Client1 to BackupClient1.
+28Jun09
+mvw  Fix missing case for NetBSD xattr restores.
+27Jun09
+kes  Fix Win32 build -- turn off lockmgr and remove lockmgr defs
+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  Fix compilation problem with message.c
+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
+18Jun09
+kes  Add all Job Types to job_type_to_str() for bat.
+kes  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
@@ -88,7 +160,7 @@ ebl  Fix bug #1274 where a migration job can be canceled like the
 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
+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.