--- /dev/null
+ Technical notes on version 2.3
+
+General:
+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