]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
Fix of case from Fileset to FileSet for compatibility with mysql.
[bacula/bacula] / bacula / ChangeLog
index bf7e3d59ee97b8bfee39d21f70ee823b81470019..07c1f30a5bab99682af5da6df787e977e3447a5c 100644 (file)
-2002-05-27 Release 1.20
-- Started documenting Catalog Pruning and Recycling.
-  Added catmaintenance.html and recycling.html
-- Fixed the query command bug.
-- Implemented PID files to prevent two copies of Bacula
-  from running at the same time. Be sure you --with-pid-dir
-  points to a working directory.
-- Modified ASSERT() to cause a segmentation violation. This
-  permits a core dump.
-- Worked on gnome-console. It paints better, it tells you if it
-  is ready to accept a command or processing one, and it is
-  almost entirely GTK+ (rather than GNOME, I'm removing GNOME
-  a bit at a time).
-- Limit to 100 the number of tape labeling errors in a single Job.
-- Add some additional ASSERT()s to the database routines. I don't
-  like ASSERTs but they do catch bugs.
-- Tested and debugged recycling of Volumes.  Needed to change
-  the Director-SD protocol slightly.
-- Removed the experimental SIGHUP in the Director as it is a
-  potential source of errors.
-- Added Level, Pool, Messages, and Storage keyword/value scanning
-  to the Schedule Run record.
-- Improved printing of Schedule resources with "show schedules"
-- Do not autoprune Jobs/Files if the Job errs.
-- Updated newvol() to pass back the updated Media record.   
-- Fixed the "update pool" command, which was broken during a much
-  earlier code reorganization.
-- Improved a few of the pruning messages.
-- Removed readline inclusions from gnome-console (hang over from console).
-- Make Jmsg use daemon message handler if no message handler is defined.
-  This is always the case in the SD and FD.
-- Started removing __PROTO(). With C++ prototypes are manditory, so why
-  keep around legacy code.
-- Added a good deal of message internationalization -- more to be done.
-- Move cached Path into mdb structure and use POOLMEM.
-- Fix verify bug introduced last update causing incorrect diffs 
-  by turning off autopruning.
-- Started adding code to distinguish Errors from Fatal Errors.
-- Errors are now counted in message.c for a Job.
-- More POOLMEM cleanups.
-- Implemented Automatic pruning.
-- Implemented Automatic recycling of Volumes.
-- Added PruneJobs/Files/Volumes=yes or no to Job resource. If set,
-  it forces the specified pruning.
-- Modified rwlock to accept multiple nested write lock
-  requests.
-- Modified the cats directory to use the new rwlock mechanism
-  in place of P() and V(). 
-- Defined db_lock(mdb) and db_unlock(mdb). They are in effect
-  transaction locks. 
-- Add CVS Id's to most files.
-- Made first cut at AutoPrune
-- Added new autoprune file that is called at the end of
-  each Job. It then decides when and what to prune and
-  calls the UA prune routines.
-- Modified Run (in Schedule resource) to permit overrides of
-  Level, Pool, Storage, and Messages. (not tested).
-- Added more POOLMEM in place of char.
-- Implemented daemon pid files. This prevents multiple 
-  daemons from running simultaneously. You can run multiple
-  daemons if they listen on different ports.
-- Documented the Schedule resource a bit better.
-- Began gently adding a POOLMEM type (perviously void).
-  For the moment it is a #define to char, but long term
-  it should be its own typedef.
-- Corrected a bit of spacing on the status bar of gnome-console
-- Added Admin and Archive Job types.
-- Implemented multiple Messages resources. Each daemon has
-  its own message resource, which defaults if not defined.
-  Jobs may now have different message handlers.
-- Cleaned up a bit of duplicate code in backup, verify, and
-  restore by creating appropriate subroutines in job.c
-- Added Type, Client, FileSet, and Level resource record
-  definitions to the Director. These can be used in place
-  of the Backup = ..., Verify = ..., ... commands.  This needs
-  documenting.
-- Corrected an incorrect message in the prune code and added
-  the number of Files pruned in the message.
-- Corrected several paint problems with gnome-console.
-- Added a bit of printout in signal handler during traceback.
-- Cleaned up most of sm_check() to be turned on/off by define
-  in version.h
+              Technical notes on version 2.1
 
-2002-05-10 Release 1.19
-- Allow the user to select a new period for pruning.
-- Lots of additions to the manual -- prune and purge
-  commands documented.
-- Applied Phil's configure.in fix for --prefix, ...
-- Fixed bug found by Phil (patch supplied) in updating
-  MD5 signatures (revert to 32 bit FileId, move "static"
-  variables into JCR) (catreq.c fd-cmds.c).
-- Reverted to using INTEGER for FileId in make_sql_tables
-  due to a bug in MySQL.
-- Change editing code to %d for FileId.
-- Remove sqlite in make distclean in cats directory.
-- Remove console.conf in console during make distclean.
-- Remove gnome-console.conf during make distclean.
-- Remove bacula-dir.conf during make distclean.
-- Set default level when using Console if none specified.
-  Bug reported by Phil.
-- A simple . command from Console is ignored.   
-- Change program named from filed to bacual-fd in winmain.cpp
-- Change default config file for Win32 in winmain.cpp
-- Free namebuf on early return from find_one.c. Bug reported by Phil.
-- Modify testfind.c to dump orphaned buffers.
-- Removed terabytes from parse_conf.c because of problems with
-  older gcc compilers.
-- Turn off gnome options in gnome-console by constructing empty argv.
-- Fixes to Verify when only MD5 differs.
-- Insert 0 for MD5 as default rather than space.
-- Allow .messages "transparent" command while reading input
-  in UserAgent server.
-- In dird/verify.c ensure that correct filename is printed if only
-  the MD5 differs. Minor reindenting caused large diff.
-- Delete unused code from backup.c
-- In filed/verify.c ensure that same algorithm as backup.c is used
-  to pass back MD5 signatures -- especially for directories and files
-  that cannot be read. Change dummy filename from X to *MD5-id*.
-  This dummy value should never be printed.
-- Make gnome-console poll Director every 5 seconds for output.
-  This means that queued up messages are displayed at reasonable
-  intervals. Delete some unused code hanging around from the tty
-  console program.
-- Begin implementation of prune commands.
-- Add command line history to gnome-console. Not yet saved across sessions.
-- Fixed some broken URLs in the manual.
-- Added JobId type.
-- Wrote first cut of "prune files" and "prune jobs".
-- Added command line history to gnome-console 2500 lines max.
-- Widened store_time() and associated variables to 64 bits using
-  new btime_t definition.
-- Removed GNOME about box and replaced it with 
-  a somewhat crude Gtk+ about box in the gnome-console.
-- Widened StartDay in the Job DB record to be 64 bits.
-- Changed edit_uint_ to edit_uint64_ everywhere. Much more
-  descriptive of what is done.
-- Removed most llds and replaced them with %s and edit_uint64.
-  This makes the code a bit easier to read for beginners.
-- Added a btime_t typedef which is 64 bits wide.
-- Added most of the code needed to do Purge and Prune of
-  database. Not yet tested. Please do not use.
-- Additional config options for Console.
-- Started adding code for Automatic Recycling of Volumes.
-- Allow arbitrary length filenames in Verify code.
-- Fix incorrect filename in Verify code.
-- Significant enhancement to number scanning in config parser.
-- Requires initializing MySQL tables, or applying cats/alter.sql
-  to modify Media table.
-- Modified Makefile to printer a much more visible
-  message if the make ends in error.
-- Added the Purge value to the VolStatus in the Media table.
-  This value is set if the Volume is purged.
-- Enhanced the db_delete_media_record() routine to delete
-  all associated records in the database.
-- Modified Console to always write to the variable "output"       
-  rather than stdout. This will permit directing output to a file.
-- Enhanced the Console configuration file to have a Console 
-  resource. This will allow us to add an rcfile and history file.
-- Modified Find_next_vol in catreq.c to search for "Recycle"
-  volumes if there are none marked Append. Also made Get_Vol_info
-  return the VolStatus to the Storage daemon.
-- Allow upper/lower case match on job level names.
-- Added another warning message to the Console "delete media" command.
-- Corrected a number of FileId types from uint64_t to FileId_t in
-  ua_retention.c.
-- In ua server close database before freeing JCR (because pointer is
-  kept in ua and jcr structures).
-- parse all numbers as doubles. Do lots of checking for valid number
-  formats. Allow numbers in scientific form (e.g. 1.5e+10).
-- Remove terabyte modifier as it doesn't work in some compilers.
-- Fix bug in handling some modifiers.
-- Added all necessary code for Recycle to Storage daemon. A Volume
-  marked Recycle will now be overwritten.
-- Filled out the prune command a bit and did some testing.
-- Make console accept redirected input.
-- Altered the Table definitions to include Recycle,
-  FileRetention, JobRetention, and AutoPrune.
-- Widened StartDay to 64 bits.
-- Use JobId_t in more places. 
-- Added the new table fields to the database record definitions.
-- Changed Recycle from string to a binary quantity.
-- Added a Version table with a VersionId to detect.
-  future changes in the database. This should prevent
-  a Bacula from working with a database that is not in sync.
-- Modify Console to accept input from a file. This will permit
-  the .read command and allow reading a .rc file.
-- Added new retention and recycle variables to the Director's configuration.
-- The UA subroutines or commands can now be called from core
-  code because the output routines detect the absence of a 
-  UA socket and direct output to the Job.
-- Added a verbose flage to the ua packet to permit reduction of
-  output while running a UA command (prune) from a Job.
-- Did a fair amount of work on the prune command. Prune Volume now works.
-- Purge Volume now works.
-- Made last changes for integrating prune and purge commands.
-- Add -ltermcap to CONS_LIBS when readline is configured.
-  More work to be done to search for termcap.
-- Added cats/drop_sqlite_tables.in, which will delete the SQLite database.
-- Got CWEB working so that we can compile filesys.w and immortal.w
-- Modified depkgs to include cweb.             
-- Note, CWEB is not yet used by the core Bacula code.
-- Made cats/alter.sql, which alters an old database to bring it
-  up to the new format. This only works with MySQL since SQLite does
-  not have the ALTER SQL command.
-- Changed the old StartDay field in the db to be JobTDate, which is
-  the latest time/date in widened Unix time format that the Job ran.
-  This value is used when doing pruning.
-- Added code in cats/sql.c to verify that the database internal version
-  corresponds to the db version compiled in Bacula. It is set to 1 currently.
-- Lots of changes to cats to bring the SQL up to date with the new 
-  retention period changes.
-- Added Console command code to permit changing a Volume's retention period.
-- Removed old code that used date_encode() and replaced it with widened
-  Unix time().
-- Started modifying Message resource scanner so that we can have multiple
-  message resources. Much more work to be done.
-- Moved scanning for time into new library routine string_to_btime().
+General:
 
-2002-04-22 Release 1.18
-- Applied Phil's configure.in fix for --prefix, ...
-- Fixed bug found by Phil (patch supplied) in updating
-  MD5 signatures (revert to 32 bit FileId, move "static"
-  variables into JCR) (catreq.c fd-cmds.c).
-- Reverted to using INTEGER for FileId in make_sql_tables
-  due to a bug in MySQL.
-- Change editing code to %d for FileId.
-- Remove sqlite in make distclean in cats directory.
-- Remove console.conf in console during make distclean
-- Remove gnome-console.conf during make distclean
-- Remove bacula-dir.conf during make distclean
-- Set default level when using Console if none specified.
-  Bug reported by Phil.
-- A simple . command from Console is ignored.   
-- Change program named from filed to bacual-fd in winmain.cpp
-- Change default config file for Win32 in winmain.cpp
-- Free namebuf on early return from find_one.c. Bug reported by
-  Phil.
-- Modify testfind.c to dump orphaned buffers.
-- Removed terabytes from parse_conf.c because of problems with
-  older gcc compilers.
-- Turn off gnome options in gnome-console by constructing empty
-  argv.
+08May07
+kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
+     the original jobb'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  First cut at 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 ne 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.
+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.
 
-2002-04-18 Release 1.17 Kern Sibbald
-- Ensure that platforms Makefiles are called for clean  
-  and distclean.
-- Hide a lot of Makefile messages with @
-- Applied Phil's configure.in patch. Thanks.
-- Doc updates, many to clarify points brought up by Phil.
-- Applied Phil's make_mysql_tables.in patch. Thanks.
-- Made authenticate.c in dird test bnet_send status.
-- Make label a bit more friendly with extra info message.
-- Add level 200 to debug info in run command.
-- Remove old code from findlib/testfind.c so that it compiles.
-- Add two minute max wait to cram-md5 authentication. Hopefully,
-  this will catch non-responding WinNT daemons.
-- Allow time and size modifiers to be upper or lower case.
-- Turn off old CYGWIN patch for pthread_cond_timedwait() bug that
-  now causes File daemon hangs on WinNT.
-- Fix mount messages for restore. Previous updates to save
-  broke the restore code.
-- By default write fixed block sizes rather than variable block
-  sizes.  My Sony DAT simply does not work (reread failures) with
-  variable block sizes.
-- Data split across tapes was not being correctly restored
-  (at least on DAT tapes). 
-- Implement MaximumBlockSize and MinumBlockSize statements in
-  Storage daemon so user can specify variable block sizes if
-  desired.
-- Return error if block checksum error on read (previously 
-  ignored).
-- Fixed some error messages in bls, and in some cases exit(1)
-  rather than ABORT. There remain ABORTs to be examined.
-- Made a local copy of tcpd.h and corrected the function 
-  prototype problem for C++.
+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.
 
-2002-04-14 First public release 1.16 Kern Sibbald
- - Many intervening changes/updates.
+Version 2.0.0 released: 4 January 2007
 
-2001-09-29 Release 1.0 Kern Sibbald
- - Fixes to problems found at John's
-   installation.
- - See techlogs/kes25Sep01 for details
-
-2001-09-25 Release 1.0 Kern Sibbald
- - Helped John install at his site.
-   He is backing up one Linux machine and
-   one Win2000 machine.
-
-2001-mm-dd Many releases
- - Released internally.
-  
-2000-04-09 Release 0.4 Kern Sibbald
- - Added a lot of Director configuration code. In      
-   part (a small part), the Director now uses the
-   bacula.conf file to know what to do. There still
-   remains a lot to do.
- - The file search code is now integrated into the
-   MySQL database routines, and Bacula is now hooked
-   into the MySQL database (if so configured). Thus
-   all the database records are being created, though
-   there still remains some work in getting all the
-   details into the records (such as the Storage 
-   coordinates).
- - I've defined how Volume pools work (see manual).
- - I've defined error message handling though no code
-   is yet written.
- - The following resources and records are implemented
-   in the Director configuration file (bacula.conf):
-    
-   Director
-     Name (passed to Storage daemon)
-   Client
-     Name, Address, Port
-     Password (not yet used)
-   Storage    
-     Name, Address, Port, Password, MediaType
-   Job
-     Name    
-     Type (not yet used)
-     Backup (only one permitted) 
-       Client, FileSet
-     Storage
-     Schedule, Messages, Pool (not used)
-   FileSet
-     Name  
-     Include (options ignored)
-     Exclude (no options)
-   Schedule (not used)
-     Name
-   Messages (not used)
-     Name       
-     Debug, syslog, mail, append (not used)
-   Catalog
-     Name
-     Address, Port, Password (not used)
-   Pool (not used)
-     Name
-     PoolType, MediaType (not used)
-
- - Added Storage configuration routines.
-   Director
-     Name, password (verified against those sent by Director)
-   Storage
-     Name, Address, Port (address, port must correspond to Director's values)
-     Password, MediaType
-   Device
-     Name, MediaType (must correspond to those sent by Director)
-     Archive Device (defines device name)
-
-
-
-2000-03-10 Release 0.3 Kern Sibbald
- - Implemented new base64 encoding for attributes.
-   This eliminates some of the error messages in the
-   sprintfs on the Solaris due to different stat() sizes.
- - Implemented  the first cut of the file search routines for
-   the File daemon.  The exclusion lists work including wild
-   cards.   There is a lot of work to be done, but the basic
-   structure is now in place (wild cards do not yet work for
-   the include).
- - Completed writing the memory pool code.  Now I must
-   implement it in the daemons.
- - Modified the bacula start/stop script so that it has a
-   better chance of working on SGI and Solaris.
- - The catalog code has not been converted to the new file
-   search code.
-
-2000-03-06 Release 0.2 Kern Sibbald
- - Integrated John's fixes.
- - Made Makefiles self configuring when Makefile.in is changed.
- - Added a runit script in the top level that runs bacula
- - Added a "bacula" script in the top level directory that
-   starts and stops the File daemon and the Storage daemon.
-
-2000-03-03 Release 0.1 Kern Sibbald
- - Basic Director, File, and Storage daemons.
-   Standalone Catalog services using MySQL
-
-2000-01-22 Kern Sibbald
-   * Setup basic file structure with ./configure