From f44d17acaef1719e4c93ed047152c05582f9f005 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 16 Dec 2011 15:01:15 +0100 Subject: [PATCH] Update web site --- docs/home-page/de/news.txt | 2664 +----------------------------- docs/home-page/en/news.txt | 2664 +----------------------------- docs/home-page/en/pages/home.php | 2 +- docs/home-page/es/news.txt | 2664 +----------------------------- docs/home-page/fr/news.txt | 2664 +----------------------------- 5 files changed, 77 insertions(+), 10581 deletions(-) diff --git a/docs/home-page/de/news.txt b/docs/home-page/de/news.txt index 8550d09c..8835a9c0 100644 --- a/docs/home-page/de/news.txt +++ b/docs/home-page/de/news.txt @@ -1,18 +1,17 @@ -Kern;;;27 November 2011 at 12:03 CET -We have released Bacula Version 5.2.2 to Source Forge +Kern;;;16 December 2011 at 12:293 CET +We have released Bacula Version 5.2.3 to Source Forge - Release Notes for Bacula 5.2.2 + Release Notes for Bacula 5.2.3 Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) General: -------- -The 5.2.2 version is an important bug fix release. It contains also some -additions and performance improvements. +The 5.2.3 version is an bug fix release. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If you are upgrading directly from 5.0.3 to this version, please see the -important notices below for version 5.2.1, particularly +important notices below for version 5.2.2, particularly the database upgrade and the difference in packaging the SQL shared libraries. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -22,2649 +21,24 @@ Compatibility: As always, both the Director and Storage daemon must be upgraded at the same time. - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2 + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3 Director and Storage daemons. There should be no need to upgrade older File Daemons. -Changes since 5.2.1: ------------------ - - Implement -t option for Bat - - Require correct Qt version 4.6.2 or later to build bat - - Get new lib/plugins.h - - Pull new SD plugin files from Master - - Fix script to set mode of cats scripts - - Add Systemd configure options - - Split messages line by line before sending it to syslog() fix #3325 - - Fix bvfs_restore on MySQL - - Fix #3308 where a SMTP problem can block the director - - Change locking scheme of the mountpoint cache. - - Enhance mountcache with rescan option after interval. - - Add %D option to edit_job_code, simplify callbacks on director side - - Move Zdeflate and Zinflate to seperate file. - - Put libraries in the correct order for non shared libs. - - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@ - - Fix bug #1774 - - Move batch insert detection into db.m4 - - bat: try to fix offset button problem when clicking too much on previous - - bvfs: Use single transaction for each job during update - - Add missing bwild & bregex man8 pages - - Fix compilation issue of wx-console #1778 - - bvfs: fix filter for pattern= bvfs parameter - - Improve speed of BVFS with SQLite, Thanks to J.Starek - - bvfs: add clear_cache function - - bvfs: Handle windows drive when building path hierarchy +Changes since 5.2.2: -Closed Bugs Since 5.2.1 ------------------------ -1774 1778 3308 3325 + - Revert patch from Ben to not compress man pages on Solaris fix #1801 + - Fix bug #3322 don't poll when operator is labeling tapes + - bvfs: Fix mysql REGEXP operator + - Fix Mysql 5.5.18 symbol lookup + - fix utf8/iso8859 problems + - Fix #3419, update stats problem + - Fix cats_test to use the new method names. + - Update accurate code to use 1 byte instead of 3 + - Fix segfault in accurate code + - Fix compilation warning on FreeBSD +Bugs fixed/closed since last release: +1801 3322 3419 -;;;; -Kern;;;30 October 2011 at 14:50 CET -We have released Bacula Version 5.2.1 to Source Forge - - Release Notes for Bacula 5.2.1 - - Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) - -General: --------- - -This 5.2.1 version is a major release since the last version 5.0.3. -It includes well over 299,387 lines of changes made by 20 contributors, -lots of bug fixes (see below), 1,851 software commits,and a -number of important new features: - -Version 5.2.0 -------------- -Version 5.2.0 was short lived, because Marco (thanks) found -a number of last minute bugs. So the first official release of 5.2 -is 5.2.1. - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Main New Features: ------------------- -- LZO Compression -- New Tray Monitor -- Purge Migration Job -- Changes in Bvfs (Bacula Virtual FileSystem) -- Changes in the Pruning Algorithm -- Ability to Verify any specified Job -- Additions to RunScript variables -- Additions to the Plugin API -- ACL enhancements -- XATTR enhancements -- Class Based Database Backend Drivers -- Hash List Enhancements - -Some of the above are described below; all the above are -described in more detail in the New Features chapter of the -manual. - -Closed Bugs since 5.0.3: ---------------------- -1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501 -1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549 -1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582 -1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624 -1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699 -1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710 - - -================== Warning !!!!!! ========================== - - The new pruning algorithm will not allow pruning of jobs that are essential to - restore since the last Full backup. This is, of course, correct and desirable, - but it is different from older Bacula versions that could inappropriately - prune jobs. Pruning of volumes is not affected. - -Building Bat: -------------- -To build Bat, you need Qt4 version 4.6.2. If you build with any other -version it is likely not to work. If you do not have version 4.6.2, on -your system, you can download the Bacula depkgs_qt version 16Dec10. - -Packaging the SQL backend: --------------------------- -The main Bacula Director code is independent of the SQL backend -in this version. This means that the Bacula Director can be packaged -by itself, then each of the different SQL backends supported can -be packaged separately. It is possible to build all the DB backends -at the same time. - -- configure can be run with multiple database configure options. - --with-sqlite3 - --with-mysql - --with-postgresql - -Order of testing for database is -- postgresql -- mysql -- sqlite3 - -Each configured backend generates a libbaccats--.so -A dummy catalog library is created named libbaccats-version.so - -At configure time the first detected backend is used as the so called default -backend and at install time the dummy libbaccats-.so is replaced with -the default backend type. - -If you configure all 3 backends you get 3 backend libraries and the postgresql -gets installed as the default. When you want to switch the default you can -copy one of the 3 backend libraries over the libbaccats-.so e.g. - -cp libbaccats-postgresql-.so libbaccats-.so - -And update the default backend in the following files: - -create_bacula_database -drop_bacula_database -drop_bacula_tables -grant_bacula_privileges -make_bacula_tables -make_catalog_backup -update_bacula_tables - -New Catalog format in version 5.2.0 and greater ------------------------------------------------ -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version -14). The Bacula project rpm spec files have been modified to -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source (i.e. manually): -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.2.1 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 5.0.0 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - -================================================================ - -Changes: - -Speed and Memory Usage Enhancements: -- Implement LZO compression algorithm (need lzo2 headers to activate this option) -- New Pruning algoritm -- safer and faster -- Use of PostgreSQL cursor when doing large queries, should reduce the - memory usage during restore and accurate backups. -- limit command in some list commands -- Bacula Virtual File System for fast catalog access -- Faster crc32 algorithm - -Security Enhancements: -- Additional security against injection of illegal characters -- Fix possible fnmatch problem - -Features Enhancements: -- Improvements in ACL and xattr handling on additional platforms: - AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64 -- Tray monitor for Windows -- New SQL backend and ./configure that permits building multiple catalog - backends in one build, and has the main Bacula core code totally independent - of the SQL backend, which should simplify packaging (only the - libbacsql.so/dll needs to be changed to switch from one database backend - to another (e.g. MySQL to PostgreSQL). -- Indent lsmark during restore -- Disable batch insert config item -- Director selection option in bconsole -- restorejob command in bconsole -- Many additional features for bat such as "brestore" panel -- The old bat version browser has been turned off since it does not - work correctly and the brestore panel provides the same functionality -- Improved hash table for hard links -- Additional script variable editing such as %b (JobBytes), %F (JobFiles) - and %h (Client Address) - -Other Enhancements: -- Includes better handling for Windows repares points, mount points, and - junction points. -- New database format -- Many new plugin API features -- Improved memory handling for restores -- Significant stability enhancements to bat -- xattr/ACL restore failure are now printed as Warning -- A few path name length limits in Windows have been removed. - - -=========================================================================== -;;;; - -Kern;;;06 August 2010 at 19:15 CET -We have released Bacula Version 5.0.3 to Source Forge - -This 5.0.3 version is significant bug fix update to version 5.0.2. -It includes new code and some new features. -There is no database change since prior versions of 5.0. - -Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in - the 5.0.1 release section. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes and New Features: -- If a VSS (Windows) snapshot fails, the whole Job is failed, previously - it printed a warning message and continued. -- New editing codes %b = Job Bytes and %f = Job Files for runscripts -- Any non-Bacula project plugins (i.e. third party plugins) - must be upgraded to specify AGPLv3 in place of the GPLv2 used previously - for the PLUGIN_LICENSE. -- The bat Media page text columns can be sorted by clicking on the column. -- If possible, the SD will automatically update the catalog Volume size if - it does not match the Volume size. The mismatch between the Volume sizes - typically occurs when the FD has a comm line drop or the FD crashes. - - -Bug fixes -1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610 - -- Change license from GPLv2 to AGPLv3 -- Make Win32 no filesystem change more explicit -- Backport Branch-4.0 release to Branch-5.0 -- Massive backport from Branch-5.1 to Branch-5.0 -- Fix postgresql catalog creation when version is not on the first line -- Fix bug #1610 handle empty xattr values on Linux and xBSD. -- Garbage collect memory pool at end of job and before sm_dump -- Add xattr seg fault protection suggested by Marco for bug #1610 -- Add archlinux to os.m4 -- More fixes for 32/64 bit problems in smartall -- Fix 32/64 bit problem in smartalloc dump routine -- Fix bad copy/paste in commit c88dccb88 prably a seg fault -- Add .dump and .exit commands for daemons -- Make SD automatically fix the Volume size in the Catalog when out of sync -- Use Pmsg in smartall.c rather than printf for tracing Windows -- Up maximum block size to 20M -- Fix for TLS bugs #1568 and #1599 -- Improve comm line error handling for TLS, may fix bug #1568 and #1599 -- Fix problem when sending Cancel event to plugin -- Convert all Jmsg on the watchdog thread to Qmsg -- Fix SD crash due to mismatched lock/unlock in error condition -- Fix bug #1587 if you have clients with different catalogs configured, both - catalogs contains all clients after a reload or restart of the dir -- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() - by moving and commenting out the ASSERT() -- Skip HB kill in FD if HB thread terminated -- Fix crash from unequal volume_lock/unlock calls -- New prunning algorithm -- should be more accurate -- Save any dumps during regression to dumps directory -- Fix crash from rw_lock/unlock miss match -- Attempt to fix duplicate job kill seg fault -- Replace pthread_kill by my_thread_send_signal() in jcr.c -- fix #1595 about batch mode detection problem for postgresql with non standard - install dir -- Fix #1594 about prune copy jobs -- Apply literal string fix in printf submitted by Luca Berra -- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups -- Fix segfault on "cancel jobid=" command -- Fix bug #1554 Windows installer doesn't honor /S flag -- Remove pool zap code that breaks 2drive-concurrent-test -- Fix #1571 and install libraries with 755 perms -- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger -- Fix problem with BaseJob and Accurate FileSet options on client side -- Fix for bug #1569 deadlock/crash in Dir -- Fix segfault when loading Plugins -- Fix #1567 about display of long volume names truncated during restore -- Added new bacula-libs package. -- Fix bug #1538 Start Scripts return incorrect value -- Fix bug #1564 init scripts not LSB compliant - -See ChangeLog for more details. - -;;;; -Kern;;;01 August 2010 at 17:23 CET -Welcome to our new bacula.org server - -This is our new bacula.org server, graciously provided -by UKFast. Our previous server, also hosted by UKFast, was -getting to be a bit old, so they furnished us a new one, -and we are very pleased. - -;;;; -Kern;;;28 April 2010 at 19:15 CET -Eric has released Bacula Version 5.0.2 to Source Forge - -This 5.0.2 version is primarily a important bug fix update to version 5.0.1. - -Note, if you are running 5.0.0, read the 5.0.1 release notes below. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.2 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes since 5.0.1 -------------------- - -Bug fixes -1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560 - -- Probable fix for SD crash bug #1553 -- Fix #1559 problem when restoring pruned jobs with a regexp -- Fix for bug #1560 bcopy cannot find Volume -- Fix cancel crash bug #1551 -- Check if sql backend is thread-safe -- Correct Pool display in SD status. Fixes bug #1541 -- Fix cancel crash reported by Stephen Thompson -- Rewind on close to fix #1549 -- Remove closelog() in bpipe fixes bug #1536 -- Fix #1517 about missing Base level in .level command -- Replace ASSERT in block.c with fail Job -- Fix database locking calling db_lock and returning from function without - calling db_unlock. -- Add missing db_unlock to bvfs_update_cache. -- Fix #1532 about permission on binaries -- Fix #1527 about deadlock during migration -- Another fix for OpenSSLv1 -- Add -lrt to Solaris links -- Fix tls.c for OpenSSLv1 -- Fix #1511 when trying to insert more than 50.000 directories in bvfs -- Fix plugin load not to stop if one plugin bad -- pointed out by James -- Remove --without-qwt from configure statement. -- Second correct fix to bug #1524 verify fails after adding or removing files -- Fix bug #1524 verify fails after adding or removing files -- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem -- Fix OpenSSL 1.x problem in crypto.c on Fedora 12 -- Display AllowCompress warning message only if compression used in FileSet - -;;;; - -Kern;;;25 February 2010 at 15:35 -Bacula Version 5.0.1 has been released to Source Forge - -Bacula version 5.0.1 source code and Windows (32/64 bit) binaries have been -released to Source Forge (thanks Eric). - -This is a major bug fix release including a few directives that have been -rewritten, one new directive, and some different directive behavior (see the -release notes below). As is usual for a patch release (last digit changes by -one), this version is compatible with the 5.0.0 database and with prior -clients. However, you *must* upgrade all components that are on any one -machine (that is you must upgrade your Director, Storage daemon, and File -daemon at the same time, if they reside on the same machine). - -Note, Bacula does not normally uninstall previous versions, and we have -changed the shared object naming convention, so you might want to first save -your configuration files then uninstall the old Bacula using the old Bacula -uninstall prior to installing the new one. If you do not, it should not be -serious, but you may be left with some older Bacula shared objects that are -not used and hence wasting a small amount of disk space. - -If you are upgrading from version 3.0.x or prior, please see the full release -notes as you must do a database upgrade. When updating from 5.0.0 to this -release there is no database upgrade needed. - -Scott has made a number of changes and improvements in the rpm packaging over -the past few weeks since version 5.0.0 was released, so he will probably be -releasing the 5.0.1 rpms quite soon. - -Thanks for using Bacula :-) - -Best regards, - -Kern - -============= Performance Note ================== - -Some of you have encountered performance problems with your -database (mainly with MySQL) with Bacula version 5.0.0. This is -mainly because we've changed the SQL query used for restore, -accurate jobs and base jobs. We have extensively tested this -change, and though it should be a little bit slower than the previous -versions, on a well configured database it should run -extremely well. - -We strongly recommend to avoid the temptation to add new indexes. -In general, these will cause very significant performance -problems in other areas. A better approch is to carefully check -that all your MySQL memory configuation parameters are are -suitable for the size of your installation. If you backup -millions of files, you need to adapt the database memory -configuration parameters concerning sorting, joining and global -memory. By default, sort and join parameters are very small -(sometimes 8Kb), and having sufficient memory specified by those -parameters is extremely important to run fast. - -If adjusting your MySQL memory configuration values does not -solve your problem, you can also consider switching to -PostgreSQL, which performs much better with Bacula on big -installations (many millions of files per Job). However for -large installations, you will also need to adjust the default -PostgreSQL memory configuration parameters. - -========================================== - - - Release Notes for Bacula 5.0.1 - - Bacula code: Total files = 1,081 Total lines = 217,272 (Using SLOCCount) - -!!!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -The Allow Duplicate Jobs directive has been significantly -reworked, and the default value has changed. See below. - -Truncate On Purge has been totally rewritten. See the new -features section of the manual. - -When Volume Poll Interval is set in the SD DEVICE configuration, -(default 5 mins), after a certain number of polling tries (approx -10) polling will stop and the operator will be asked to -resolve the problem. Previously there was no limit, and an -error message could be produced at each poll attempt. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -Changes since 5.0.0 -------------------- -- We believe that we have resolved most of the problems - concerning canceled or failed jobs being "stuck" in the - Director. There is one outstanding problem in the SD when - canceling jobs that we will fix in the next major release. - If you see jobs that seem to be stuck, in general issuing - a cancel command in bconsole should now make them go away. - -Directives: -- The default for "Allow Duplicate Jobs" has been changed from - no to yes. If you use this directive, please check your - conf file, and note the next two items !!!!!!!!!!!!!!!!!!! -- AllowHigherDuplicates disabled. It did not work as documented - and was confusing. -- New directive "CancelLowerLevelDuplicates" See New Features - section in the manual. -- Truncate on Purge rewritten. See New Features section in the manual. - -Bug fixes: -1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 -1499 1501 1505 1509 1513 - -- Ensure SD asks for help when looping even if poll set. Fixes bug #1513. -- Fix three-pool regress bug -- Modify bacula.spec fixes bug #1505 -- This version fixes an issue where the console window would start out - docked. It is fixed by initiating the variables in the Pages class wi - constructor. -- Fix make_catalog_backup.pl fails when catalog db is on other host -- Apply MacOSX installer patch from bug #1509 -- Apply fix to previous fix of Copy problem. Fix proposed by reporter o - #1476 -- Fix bug #1501 -t does not print errors -- Apply SQLite3 update fix from bug #1497 -- Apply bashism fix for diskchanger.in script from bug #1499 -- Apply rpm fix for Sci Linux from bug #1494 -- Take most recent Ukranian po from bug #1448 -- Probable fix for Copy/Migration bug #1476 -- Fix bug #1488 -- avoid recursion and race conditions in messages.c -- Upgrade cats library also to 5.0.0 -- Fix missing console page in bat -- Add bat help files to Window install -- Improve Windows upgrade to ensure old FD is shutdown -- Fix bug #1481 -- bat consumes all console file descriptors -- Backport truncate on purge from 5.1.x -- Fix bug #1486 -- bat doesn't show any errors on command-line -- Update the bsock error URL -- Correct .my.cnf umask in make_catalog_backup.pl -- Apply fix for dbcheck use by make_catalog_backup.pl -- Fix seg fault in bscan from new comment field -- Allow multiple CNs when using TLS -- Fix seg fault in SQlite driver -- Make shared libs version the same as the Bacula release version -- Remove file_index sequential check -- Fix #1466 about Bogus pruning message - -For Packagers: -1. The default query.sql file is now, except for some comments, empty. -The old file, which we no longer support (it is impossible or difficult to -make it work on every backend, and the queries are mostly contributed) can -be found in /examples/sample-query.sql. The sample file is -not installed by the Makefiles - -2. When you install the mtx-changer script, you must also install -mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is -required for mtx-changer to work, but it is a user configurable file, so on -any update, any existing file should not be overwritten. - -3. Bat should be built on every platform that is capabable of running Qt. -However, the Qt code is changing rather quickly and is not always -compatible from version to version. We have built and verified bat on Qt -4.3.4. We strongly recommend that you do not build and distribute bat with -any other version of Qt unless you personally test it. To build against Qt -4.3.4, download the depkgs-qt package from the Bacula Source Forge download -location, read the README file and follow the instructions. - -If you are building for Bacula version 5.0.0, please ensure that you do not -have qmake-qt4 loaded on your system. If you do, either remove it or -rename it before trying to build bat. If you do not, bat will probably be -built using the shared objects on your system. For Bacula 5.0.1 and later, -this problem (bug) does not exist. - -depkgs-qt does not install Qt on your system, nor does it interfere with -you having any other version of Qt installed on your system. Once you -build bat with depkgs-qt, it should *not* use the Qt shared objects, but -rather they will be linked into the program. After fully installing bat -(make install), you can run "ldd bat" to see what shared objects it will -use. If any Qt shared objects are referenced, something has gone wrong. - -4. Unless absolutely necessary, we recommend that you do not define any -special library environment variables that apply to the ./configure -- for -example: LIBDIR=/... ./configure is strongly discouraged. -Doing so, could potentially cause Bacula to be linked against the wrong -shared objects. - -5. The Bacula project strongly recommends that you install Bacula into a -single directory, with a few minor exceptions such as the MySQL or -PostgreSQL databases. Preferrably this should be /opt/bacula. The full -recommendation is: - -#!/bin/sh -# Recommended configure script for Bacula -prefix=/opt/bacula -email=xxx@yyy.zz -CFLAGS="-g -O2 -Wall" \ - ./configure \ - --sbindir=${prefix}/bin \ - --sysconfdir=${prefix}/etc \ - --docdir=${prefix}/html \ - --htmldir=${prefix}/html \ - --with-working-dir=${prefix}/working \ - --with-pid-dir=${prefix}/working \ - --with-subsys-dir=${prefix}/working \ - --with-scriptdir=${prefix}/scripts \ - --with-plugindir=${prefix}/plugins \ - --libdir=${prefix}/lib \ - --enable-smartalloc \ - --enable-tray-monitor \ - --enable-bat \ - --with-mysql \ - --with-dump-email=${email} \ - --with-job-email=${email} \ - --with-smtp-host=localhost \ - --with-baseport=9101 - -Obviously, the email, and some of the minor options (mysql, postgresql, -...) can be changed to suit your distribution, but the directory names -defined above are strongly recommended, and over time the default values in -the bacula-dir.conf and bacula-sd.conf will reflect these choices. - -If you have any questions about this or would like a detailed document -describing our recommendations including packaging requirements, please -send an email to the bacula-devel list. - -6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared -libraries that Bacula uses by default are named xxx-1.0.0. Starting with -Bacula 5.0.1, we are going to name the libraries using the Bacula version. -So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future -versions, the last digit may or may not change when we distribute patch -updates (i.e. the last digit of the version changes). This will depend on -whether or not we have changed something in the library. Hopefully this -new procedure will resolve some of the incompatibility problems between -different versions of the shared objects. - -7. The default build option for bconsole is conio (my own little console -routines). I did this because some years ago, readline was very difficult -to maintain -- it and where it was found seemed to change on every release. -This generated at the time a number of support problems. It seems to me -that since then there have been very few problems with readline. As a -consequence, I have no problem if you want to make bconsole with readline -enabled. It will actually give some very nice new bconsole command -completion functionality that Eric has written. Bottom line: feel free to -use readline or not as you please. - - -;;;; -Eric;;;25 January 2010 at 10:00 -Bacula Version 5.0.0 has been released to Source Forge - -Release Numbering: ------------------------------------------------------------ -You might be wondering why this release jumps from 3.0.x to -5.0.0 thus skipping version 4.0.0. We have done this for -several reasons: first, we wanted a way of distinguishing -the numbering system for the Bacula System Enterprise version -and the Bacula Project version. So, to do so, we have decided -that the first number of the Bacula Project version will always -be odd, and the first number of the Enterprise version will always -be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x. -In addition, we want to keep the Bacula Project version larger -than the Enterprise version to indicate that the Bacula Project -version is more advanced or has more features than the -Enterprise version. For memory, the current Enterprise version -is 2.6.1, and the next release (in a few months -- before June 2010) -will be version 4.0.0. - -Warning: --------------------------------------------------------------- -Please note the three Warnings below before doing any install or -upgrade. - - -Changes since 3.0.3a (the last Bacula Project release): -------------------------------------------------------- - -Bug fixes: -1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 -1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 -1454 1455 1458 1456 - -Fixed: - - Problem that locks the Director when the SMTP server wasn't - responding to the bsmtp program - - Restore's dir command shows incorrect file sizes - - Fix various problems with the reload command - - Fix problems with conio - - Eliminate several deadlocks or potential race conditions from SD - -Enhancements: - - Project 5: Truncate volume after purge - - Project 6: File Deduplication using Base Jobs - - Project 10: Restore from Multiple Storage Daemons - - Project 11: AllowCompression per Device - - Project 23: Add Maximum Concurrent Jobs for Devices to balance load - between drives - - Add Accurate Fileset Options to configure accurate detection. Can use - checksum verification for example. - - Allow FD to keep root read but drop write permission (CAP) - - Secure handling of passwords for catalog backup - - Add Tab-completion for Bconsole when using Readline - - Add Bvfs API to query the catalog without building a memory tree - - Add new speed test to btape program - - Add new Bat screens (Autochanger content, Job view, Media view, ...) - - Windows version of Bat - - Added Spanish Bacula translation - - New bconsole -u nnn option to have timeout on commands - - Allow Migrate, Copy, and Virtual Full to read and write - to the same Pool - - show disabled -- shows disabled Jobs - - Add Pool File and Job retention periods (take precedence over Client) - - Many ACL improvements - - Level added to FD status Job entry - - Allow turning on/off Block Checksum per device - - Set Device Poll interval to 5 minutes -- previously did not poll - - Implement lock manager with bad order protection - -Compatibility: -As always, both the Director and Storage daemon must be upgraded at -the same time, and on any given machine, you must run only one version -of Bacula. This means that on the Director and Storage daemon machines, -you *must* upgrade your File daemon as well. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0 -Director and Storage daemons. There should be no need to upgrade older File -Daemons immediately. However, we recommend that you do so as soon -as is reasonable for your situation. - -================== Warning !!!!!! ========================== - -New Catalog format in version 5.0.0 (3.1.9 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version -12). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 3.1.9 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. -================================================================ - - -================== Warning !!!!!! ========================== -If you upgrade a previous Win32 client installation, you must -first stop the File daemon, then uninstall it before attempting -the upgrade. If you do not do so, the upgrade will probably -fail and you will need to manually find and run the -Uninstall.exe file, before you can upgrade to the new version. -This is because the file locations are different. If you want -to save your previous bacula-fd.conf file, please do so before -uninstalling it. -================================================================ - -================== Warning !!!!!! ========================== -Due to permissions problems on Windows Vista and later systems, -we no longer require SYSTEM or Administrator permissions to -access the binaries and configuation files. If you wish -to restrict access to these files, please see the New Features -section of the manual for how to set access control lists. -================================================================ - -Note, the Win32 Installer no longer installs the Bacula Servers -(Director and Storage daemon). See the New Features section of -the manual for more details. - -============ Documentation improvements needed ================== - -Note!!!!! The 5.0.0+ documentation has a number of known problems: - -1. We have reduced the number of manuals, which has fixed many - of the broken links found in the old 3.0.x version, but there - are still some that need fixing. - -2. Integration of the 3.0.x features into the main manuals has - not yet been done. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== - - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_0.html - -The ChangeLog has more details. - -;;;; - - -Kern;;;18 October 2009 at 21:00 -Bacula Version 3.0.3 has been released to Source Forge - -Note, if you are not already running 3.0.x, read the 3.0.x release notes - below. Important!!! - -Version 3.0.3 is primarily a important bug fix update to version 3.0.2. - -Changes since 3.0.2: -Bug fixes: - 1391, 1288, 1346, 1352, 1359, 1355, 1363, 1364, 1365, 1366, 1368, - 1369, 1370, 1371, 1382 - -Fixes: - Apply James' fix for some Exchange plugin crashes - Integrate patch for building dmg on OSX from Lorenz Schori - Fix bug #1391 Job status improperly set due to subtle variable overload problem - Fix #1352 about double free with regexp and big filenames on windows - Apply Graham's idea for recovering from disk full by recursing - when doing fixup_write_error ... - Make fix for VirtualFull changing device based on suggestion by - Nicolae Mihalache - Fix concurrent Job recycle bug #1288 - Backport part of one possible fix from bug #1346 - Fix bug #1382 newly created disk volumes -> file not found warning - Fix Alpha ifdefing -- should fix bug #1359 - Use old code for selecting file during restore. - Cherry-pick 3.1.x commits - tweak space on projects file - Fix seg fault in ignoredir code - Apply Frank's slash patch - Fix seg fault in SD bug #1371 - 3.0.2-Fix-seg-fault-in-SD-bug-1371.patch - Add more info when SD connection refused - 3.0.2-Add-more-info-when-SD-connection-refused.patch - Fix bug #1355 Director crashes with double free in Accurate SQL query - 3.0.2-accurate.patch - Fixes bug #1368 ASSERT Failure on MacOS. - 3.0.2-mac-path-len.patch - Fix #1364 and #1363 about compression buffer error. - 3.0.2-zlib-buffer.patch - Fixes bug #1365 and #1366 about MacOSX resource forks. - 3.0.2-bug-1365.patch and 3.0.2-bug-1366.patch - Fix "Exclude Dir Containing" fileset option - 3.0.2-exclude-dir-containing-fd.patch - 3.0.2-exclude-dir-containing.patch - 3.0.2-exclude-dir-containing-top_level.patch - -Compatibility: - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -;;;; - -Kern;;;20 July 2009 at 14:49 -Bacula Version 3.0.2 has been released to Source Forge -Note, if you are not already running 3.0.x, read the 3.0.x release notes -below. Important!!! - -Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with -some enhancements (see below). - -Changes since 3.0.1: - -Bug fixes: - 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 - 1317, 1318, 1323, 1325, 1331, 1333, 1335 - -Fixed: - - Fix problem with the Postgresql driver that sometime displays values - - Cleanup old job records when starting the Director - - Fix bugs in xattr code - - Fix encoding problem with Postgresql - - Fix that prevents restore by file selection from using Copy job - -Enhancements: - - Security enhancement for the File Daemon - - New directive to specify source address for outgoing connexions - - Show volume availability in autochanger when doing restore. - This is project 31 in the projects file. - - Add accurate=yes/no option to estimate command - - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure - - Add a restore menu that contructs a full restore when entering a JobId. - This is project 2 in the projects file. - - Add new Nagios plugin - -Compatibility: -Like always, both the Director and Storage daemon must be upgraded at -the same time. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 -Director and Storage daemons. It should be no need to upgrade older File -Daemon. -;;;; - -Kern;;;30 April 2009 at 17:49 -Bacula Version 3.0.1 has been released to Source Forge. - -Note, if you are not already running 3.0.0, please read the 3.0.0 release notes. Important!!! - -Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with -one enhancement (see below). - -Changes since 3.0.0: -Bug fixes: - 1276, 1274, 1275, 1272 1246, 1268, 1281, 1282. - -Fixed: -- Check for job_canceled() in fd_plugin code. -- Update Win32 table creation to have new DB version 11 format -- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf -- Remove 'Reposition' messages when restoring -- Updated projects file -- Tweak version string to display versionid field at the end - and keep fields order. - - Add additional mysql connection debug code submitted by: - Chandranshu - -Enhancement: -- Modify insertion of read Volumes in SD to be done *before* the - drive reservation. This ensures that a Volume to be read will not - be reserved for writing. Significant improvement in eliminating - tape deadlock situations. - -Note, both the Director and Storage daemons must be upgraded at the -same time. The 3.0.1 File daemons are compatible with 3.0.0 file -daemons and as noted below in the 3.0.0 release notes the Director -and Storage daemon should be compatible with 2.4.x File daemons. -In general, we do not expect any of the 3.0.x File daemons to work with older -Directors and Storage daemons (as has always been the case for Bacula -releases). - -============ Documentation improvements needed ================== - -Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the -following areas: - -1. Missing documentation. -2. Correction of links within various manuals -- most fail. -3. Integration of the new features into the main documents. -4. Much more. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== -;;; - -Kern;;;09 April 2009 at 22:30 -Bacula Version 3.0.0 has been released to Source Forge. - -This is to inform you that we have uploaded the Bacula version 3.0.0 source -tar files and the Win32/64 installer files to the Bacula Source Forge -download location. - -There are quite a number of new features in this release, and upgrading to it -requires a database upgrade, so please read the release notes carefully -(included below) and the documentation for the new features at: - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -There is still a good deal of work to do to finish the release process (mainly -reorganizing the web site manuals ...), but at least the source files are -released. The rpms should follow shortly (probably this weekend). - -If you are currently using 2.4.4, please note that within a few months that -version will no longer be supported, so please consider the possibility of -upgrading. - -This release probably has the most new features that we have ever released, -and it has taken a long time to produce it. The basic code is very well -tested, and if you stick to 2.4.4 features, you are unlikely to experience -problems. However, many of the new features have not been well tested, so -your help will be appreciated. - -The following issues with 3.0.0 are known and we are working on them: - -1. The documentation is not 100% complete (there are so many new features that -we missed documenting some). - -2. All the new documentation is in the New Features chapter, but not all of it -has yet been integrated back into the appropriate chapters. - -3. James has reported that the Exchange plugin may crash if you cancel a job -while it is running. He is working on this. - -4. The SD has many new features that will make it more stable. One in -particular is that it knows what Volumes will be read during a migration, -copy, or Virtual backup job, and will ensure that they are not selected for -writing (something easy to do if you are using disk files and the same pool -for reading an writing). However, the day after the release was cut, I found -a problem with this code that prevents it from working properly during -certain pre-allocations of the write tape. - -5. There is still an outstanding bug report on VSS failing (it seems to be a -bit of a rare case). - -As I previously announced, we will now make 3.0.0 our main release source code -stream, and we hope to release new version every six months and bug fix -updates even sooner. To be able to do this, we will support version 2.4.4 -only for a few more months. There after the project will only support the -most current release ... - -This release comprises a lot of work by a lot of different people and many -contributions. Normally I hesitate to mention particular people or -contributions because I always forget someone, but since this was such a big -release, I would like to mention at least the big contributions: - -Sponsor Company(s) - Programmer - Project -Bacula Systems - Eric Bollengier - Accurate Backup -Bacula Systems - Eric Bollengier - Catalog format enhancements -Bacula Systems - Eric Bollengier - bextract non-portable Win32 data -Bacula Systems - Eric Bollengier - Win64 File daemon -Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump -Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on - same machine -Bacula Systems - Eric Bollengier - Virtual tape emulation -Bacula Systems - Kern Sibbald - USB rescue key -Equiinet funded development - James Harper - MS Exchange plugin - -Personal contributions: -Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file -Marco van Wieringen - ACL code overhaul -Marco van Wieringen - Solaris ZFS/NFSv4 ACL support -Marco van Wieringen - Extended Attribute support -Marco van Wieringen - Shared Objects -Dirk Bartley - Bat speedup + stability improvement + many enhancements -Joao Henrique Freitas - libdbi catalog driver -Scott Barninger - rpm packaging -Kern Sibbald - many big and little projects ... -Many people -- see the AUTHORS file. - -Many thanks to everyone for making Bacula what it is today. - -=== List of new features === -- Accurate Backup -- Copy Jobs -- ACL code overhaul -- Solaris ZFS/NFSv4 ACL support -- Extended Attribute support - --disable-xattr (default=auto) -- Shared Objects - --enable-libtool (default) - --disable-libtool -- Virtual Backup -- Catalog Format Enhancements - - Support for more than 4 Billion file entries - - New stats tables -- Duplicate Job Control -- TLS Authentication -- bextract non-portable Win32 data -- State File updated at Job Termination -- Bacula Plugins - - FD bpipe plugin - - FD Exchange plugin -- libdbi DB driver -- Console Enhancements - - status slots - - list joblog - - command separator -- Bootstrap regex -- Restore seek optimization -- Virtual Tape Emulation -- Bat Enhancements -- RunScript Enhancements -- Status enhancements -- FD connect timeout default to 3 minutes -- ftruncate implemented for NFS Volumes -- FD Version compatibily flag -- Statistics Enhancements -- Faster Attribute despooling -- Document split into 6 manuals -- GPLv2 license now compatible with OpenSSL -- Win64 File daemon -- Postmortum dump improvements in SD -- Deadlock mutex detection in SD -- Improved Volume management in SD to avoid deadlocks. -- New configure install options - --docdir= (default=/usr/share/doc/bacula-VERSION) - --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files) - --plugindir= (default=sysconfdir, where plugins will be installed) -- New Bare Metal Recovery with USB key. See rescue/linux/usb - New Directives: -- Max Full Interval -- Max Diff Interval -- Honor No Dump Flag -- Exclude Dirs Containing -- Recycle Pool -- Max Run Sched Time -- Max Wait Time -- Full/Diff/Incr Max Run Time -- Scratch Pool -- Max Console Connections -- Spool Size (in Job resource) -- Allow Mixed Priorities -- Allow Duplicate Jobs -- Allow Higher Duplicates -- Cancel Queued Duplicates -- Cancel Running Duplicates -- TLS Authenticate -- Console (in RunScript) - -New features from Project Items Completed for version 3.0.0 - also listed above: -Item 1: Accurate restoration of renamed/deleted files -Item 3: Merge multiple backups (Synthetic Backup or Consolidation) -Item 4: Implement Catalog directive for Pool resource in Director -Item 5: Add an item to the restore option where you can select a Pool -Item 8: Implement Copy pools -Item 12: Add Plug-ins to the FileSet Include statements. -Item 13: Restore only file attributes (permissions, ACL, owner, group...) -Item 18: Better control over Job execution -Item 26: Store and restore extended attributes, especially selinux file -contexts -Item 27: make changing "spooldata=yes|no" possible for -Item 28: Implement an option to modify the last written date for volumes -Item n: Split documentation into several books -================================ - - - Release Notes for Bacula 3.0.0 - - Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in) - -The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release -represents an enormous effort. - -This Director and Storage daemon must be upgraded at the same time, -but they should be compatible with all 2.4.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. However, any -release of version 2.5.40 or greater requires a database upgrade. - -================== Warning !!!!!! ========================== - -New Catalog format in version 3.0.0 (2.5.40 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version -11). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrad the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 3.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -The upgrade operation will convert the FileId index field of the File table -from 32 bits to 64 bits. This operation will take TIME and will *temporarily* -DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update, -so, won't be able to run jobs during this period. For example, a 3 million -files -catalog will take 2 mins to upgrade on a normal machine. Don't forget to -backup it before executing the script. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 2.5.40 -(e.g. 2.4.4) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - - -Important New configure options : ----------------------- - -This release of Bacula 3.0.0 uses libtool by default -to generate the Bacula libraries as shared objects rather than -being directly linked in as in prior versions. This means that -the Bacula shared objects, must either be in a shared object -directory known to the loader or they must be in the directory -where the Bacula binaries are installed. It is also possible -to explicitly specify the libraries directory on the ./configure -line (--libdir=/full-path/dir), but this should not be necessary. - - ./configure --libdir= - -If you have problems with libtool or you wish to use the old -way of building libraries and linking them into Bacula, you -can do so by disabling libtool on the configure command line with: - - ./configure --disable-libtool - -During the installation of Bacula 3.0.0, it will now install -bat help files (if you have configured bat). These files -are placed in /usr/share/doc/bacula/html by default. If you -want to put them elsewhere use: - - ./configure --htmldir= - -During the installation of Bacula, it will now install the -ReleaseNotes, License, technotes, ChangeLog, and similar -files in /usr/share/doc/bacula by default. If you -want to put them elsewhere use: - - ./configure --docdir= - -During the installation of Bacula, any plugins will be -installed in the plugindir, which is by default the -same as libdir (/usr/lib). You can specify an alternate -location with: - - ./configure --with-plugindir= - -============================================================== - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -The ChangeLog has more details. - -;;; -Kern;;;03 Nobember 2008 at 17:35 -Critical 2.4.3-orphaned-jobs.patch released -We recently found and corrected a serious bug in Bacula that causes jobs to be -orphaned or "stuck" in the director during the pruning process. Depending on -what jobs get stuck and how many there are, it could prevent additional jobs -from running. As best we can tell, this problem occurs only during what could -be called extreme pruning conditions -- i.e. there are insufficient Volumes -available for normal operations. - -In any case, we recommend that everyone apply the 2.4.3-orphaned-jobs.patch, -which you can find in the bacula-patches section of the Source Forge download -area as well as in the directory patches of both the trunk and Branch-2.4 SVN. -;;; - -Kern;;;12 October 2008 at 10:30am -Creation of Bacula Systems SA -Dear Members of the Bacula Community, - -I'm pleased to announce the creation of Bacula Systems S.A., a new company to -provide professional support and service for Bacula. I believe you will be -pleased to see how we have married a strong commitment to the ethos of honest -open source software with the availability of services desired by a wide -range of Bacula users. - -As many of you know, I began work on Bacula in 2000 and released the first -public version in April 2002 to Source Forge. Although I have personally -written a very substantial part of the code, I offer sincere thanks to the -many members of the community who have provided ideas, fixes, testing, and -contributions of code, without which Bacula would not be what it is today. -It has been a labor of love and I am pleased that so many people have found -Bacula useful. - -Before telling you more about Bacula Systems, let me reiterate my unfaltering, -ongoing commitment to open source software and the Bacula open source -project. The code for Bacula and all future releases will remain available as -free open source software under the GPL license that I transferred to the -protection of the Free Software Foundation of Europe. Unlike some other open -source projects, there will be no separate "enterprise" or proprietary -version of the Bacula source code. www.bacula.org will continue to be the -home for Bacula project development. - -So, why create Bacula Systems? The company was created to respond to requests -from users who want professional support with guaranteed levels of service -and response times. To ensure continuity and the highest level of knowledge -transfer, I will take the position of Chairman of the Board and Chief -Technical Officer of Bacula Systems S.A.. - -Several members of the Bacula community have joined me to start the company. -The other team members are also strongly dedicated to the spirit of keeping -Bacula open and free while simultaneously offering commercial services to -those for whom it is essential in making the decision to deploy Bacula. -Bacula Systems is self-financed -- the initial capital comes from the -founders; no outside venture capital was sought or accepted. This means we -have the power to establish the company's priorities and we can remain -dedicated to "honest open source". Bacula Systems S.A. is a Swiss company -with offices in Yverdon-les-Bains, and with branches in France and Germany -initially. We will open additional branches as business requires. - -I will continue to support development of Bacula via bacula.org and the Bacula -community. Future developments will be in the "community" code base which -will remain free. Bacula Systems will offer "funded development" to -customers who wish to accelerate the addition of certain features to Bacula. -Code developed this way will be contributed to the free distribution and will -be available to the entire community at no charge. Bacula Systems will -provide additional fee-based services, including high quality consulting, -training, documentation and certified binaries. - -Our goal in establishing Bacula Systems is to be inclusive of the community, -and expand it by creating opportunities for members of the Bacula community -through a well-defined Partner Program. If you provide IT services or -consulting, the Bacula Systems Partner Program can provide you with the -additional back-up (pardon the pun) support you need to serve your customers -more effectively. - -Our plan is to develop an international network of partners who offer high -value added services to Bacula users -- installing, configuring and optimizing -Bacula for their customers, as well as Level 3 and 4 support, with guaranteed -service levels. We will also provide training and tools to our partners. - -The Bacula project website, www.bacula.org, and Source Forge will be unchanged -in the mission and ideals of being free sources of information, mail lists -and forum-based support for and by the community. Both Bacula source code and -Bacula binaries will continue to be available for free, as in the past, and -new releases will also be available for free. The new commercial website, -www.baculasystems.com will provide information on commercial subscriptions -for those users who want guaranteed levels of service, support, documentation -and certified binaries. - -All members of the Bacula community are encouraged to register for free at -www.baculasystems.com, so that you will receive announcements and news about -our commercial activities, and so that you can send feedback to our new -company, Bacula Systems. - -Thank you for your interest and participation in the Bacula community. - -Sincerely, - -Kern Sibbald -;;; - -Kern;;;11 October 2008 at 11:30am -Bacula version 2.4.3 Released -This is to let you know that the source tar files and the Win32 binaries for -Bacula version 2.4.3 have been released to the Bacula Source Forge download -area. - -Release 2.4.3 - This is a bug fix to version 2.4.2. All daemons are compatible - with other 2.4.x versions. - -Bugs Fixed: - 1159, 1162. 1149, 1128, 1143, 1140, 1129 - -Change Summary: -- Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel - a non created job faster. -- This should correct bug #1159 where Migration does not properly - respect the Migration Low Bytes directive. -- Fix typo in configure.in that breaks --with-db-password option -- 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. -- Remove all double quotes from SQLite creating script and - replace by single quotes as suggested by John Huttley. -- Fix SQL case problem that may cause the failure of DiskToCatalog - in bug #1149. -- Copy missing storage name into edit buffer. As far as I can tell - this never caused a bug. -- Remove catalog dependency for bcopy -- Modify catalog scripts to have an easier packaging integration, - using default variables. - Make difference between SQLite3 and SQLite in db_get_type() -- Attempt to fix bug #1128 InChanger flag cleared during Migration - job when reading from one autochanger and writing to another. -- Add more information to SD acquire.c INFO messages. -- Fix NULL Volume name error when reading and the drive must - be switched. -- Fix a Verify InitCatalog problem where in certain cases - a garbage filename may be entered in the verification database. This - fixes bug #1143. -- Add space after version before date in bat about dialog. -- Fix seg fault in Dir during estimate command with no level value - given. This fixes bug #1140. -- Add message to migration job when the target job is already migrated. - This closes bug #1129. - -Unless some really serious new bug shows up, this will be the last release -until the next major version (3.0.0), which we hope will be ready around the -end of the year. -;;; - -Kern;;;26 July 2008 at 10:30am -Bacula version 2.4.2 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.2 to the Bacula Source Forge download area. - - This is an important bug fix release since version 2.4.1. - -Bugs Fixed: - 1034, 1125, 1118, 1124, 1107, 1129, 1126 - -Change Summary: -26Jul08 -- 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. -- Break the do_swapping into do_unload, do_swapping, and - do_load. It is much more logical that way. -- 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 -- Apply patch submitted for bug #1107 with a small modification. - This fixes a bug where bcopy copied too many records. -- Make some tweaks to bsmtp based on patch submitted in bug #1124. - This fixes bug #1124. -- Make the default bat restore Pool be Any. This fixes bug #1118. -- 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. -- Fix #1034 by setting big timeout on mysql connections -- Do partial integration of the Win32 bat build created by Eric. -- Ensure that SD tried to mount a volume not in an autochanger - at least once before asking for operator intervention. -- Fix a pthreads bug in the Win32 pthreads emulation code affects only - version 2.5.x and above. -;;; - -Kern;;;7 July 2008 at 10:30am -Bacula version 2.4.1 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.1 to the Bacula Source Forge download area. - -Bugs Fixed: - 1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112 - 1117, 1116, 1097. - -Change summary: -- Clear in-use bit on vol when unused while swapping. -- Remove sleep at end of ./bacula -- Clear hash packet for hardlinked files correctly. This corrects - a long standing bug where hardlinked files selected individually - would occasionally not be restored. -- Apply Eric's patch to ensure that autoprune does not return - a Volume not in the autochanger unless requested to do so. -- Correct bat restore display of multiple drives. This fixes - bug #1117. -- Do find_a_volume() each time an unload is done. This - fixes the failure of maxvol2-test. -- Use Qmsg() in job.c watchdog callback. -- Release main control rwlock if ABORTing. -- Make watchdog connect timeout queue messages rather than sending - directly to avoid lock conflicts with the real thread. -- Remove const char that causes problems with Python, which has - older 'incorrect' headers. -- Add const char in dbd.c to avoid compiler warnings. -- Fix mtx-changer to detect both versions of Ubuntu (Debian) - mt. This fixes bug #1116. -- Fix failure of 2drive-concurrent-test. Always read label; - clear_unload() only after drive is defined in acquire_for_read(). -- Generally clean up the manual tape loading code. The main - conceptial 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. -- Fix a recycling problem with two autochangers reported in bug - #1106. This may also (unlikely) fix a second recycling bug as - reported in #1103. -- Fix a SD lock volumes deadlock problem reported in bug #1100. -- Fix format problem in bscan output reported in bug #1105. -- Copy more data when restarting a job so that run - overrides are kept. This should fix bug #1094. -- Backport updates to jobq.c where possible. -- Fix bug where SD did not ask operator if the device could not - be opened. Reported by Eric. -- Add dbuser to DIR conf file (replaces user). -- Add --with-db-password to ./configure -- Fix regress to handle db_password. -- Fix a couple of pedantic compiler warnings. -- Fix bug when starting a restore on a storage that doesn't - have the requested MediaType. -- More work on word alignments -- eliminate all ints from - the configuration routines. -- 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. -- Fix word alignment problem on non-Intel 64 bit machines - such as Solaris. This should fix bug #1097 -- bus error in SD. -- Add missing win32/patches/wxWidgets.patch to 2.4 repository. -;;; - - -Kern;;;4 Jun 2008 at 10:30am -Bacula version 2.4.0 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.0 to the Bacula Source Forge download area. - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -As usual, we strongly recommend when installing to keep the Director and the -Storage daemon on the same version. However, since this release only -contains refactored code and bug fixes rather than new features, the clients -(File daemons) should function perfectly with any 2.2.x version, and there is -no database upgrade needed. - -===================================================== - - Release Notes for Bacula 2.4.0 - - Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in) - -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 nor from version -2.2.x to version 2.4.0 - -================== Warning !!!!!! ========================== -As of Version 2.4.0, the Win32 FD should not descend into -any reparse point directory or reparse mount points unless the -specified directory is explicitly mentioned at the top level of -FileSet (as with Unix). A file that is linked to another file will -be backed up, much like Unix hardlinked files. If you want -reparse directories backed up, you must explicitly include them -in your FileSet. -====================================================== - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -Bugs fixed: - 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038 - 1062, 1065, 1046, 1047, 1031 - -New features: -- You can now build bat without the QWT libraries. Use - --without-qwt as a ./configure option. - -Release Version 2.4.0 -- Update version to 2.4.0 to reflect the magnitude of the SD changes. -- Make sure to clear JS_WaitMedia when operator mounts a Volume. - This fixes bug #1095. -- Add create_postgresql_database.sql to Win32 installer. Should - fix problem reported by Juilio Monteiro. -- Get correct slot when auto unloading a device. This fixes bug - #1086. -- Fix possible seg fault if SQL error. -- Fix renaming a Volume, which used the wrong Volume name. -- 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. -- Ensure correct volume name displayed during restore -- Fix a few more Coverity reported problems. -- Fix #1091 about bad output in estimate command. -- Modify autochanger locking to attempt to avoid race - conditions. -- Make sure device not busy before doing label command. -- Display open() errors except when polling. Previously too - many were suppressed. This should fix bug #1070. -- 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. -- Remove StorageId test when pruning and recycling (Eric's changes). -- Fix buffer overruns detected by Coverity. -- Implement --without-qwt -- Fix layout of restore tree dialog -- Add configure bat QWT libraries, so that bat can be built - with or without the QWT libaries. -- Implement regression that explicitly tests swapping a Volume - from one drive to another. -- Enhance disk-changer to detect most error conditions. -- Fix SD code so that it properly swaps a Volume between drives. - This fixes bug #1083. -- Prevent a Volume that is being swapped from being freed from - the volume list. This will most likely fix, at least partially, - bug #1083. -- Fix strippath so that it does not get a buffer overrun and crash FD. - This fixes bug #1078. -- Make inability to change owner/group when creating a dir only a - warning rather than an error. -- Fix SQL query in migration code -- Fix bat seg fault at termination. -- Add Bacula generated version to bat about box. -- Backport development stream SD reservation system changes. -- When wrong volume is mounted during read, unload_autochanger. -- Stop searching for Volumes in SD askdir if DIR returns the - same volume name twice in a row. -- Rework class structures for VOLRES, DCR, and DEVICE to make - the method names a bit more logical, and for more logically - handling the responsibilities. -- Remove redundant code in terminating the scheduler that just - causes a seg fault in many cases. -- Improve algorithm for detecting pre-reserved volume and - swapping volumes. -- Prevent volume from being released while being swapped. -- Refactor parts of stored/mount.c -- Add sanity checks for VolWriteTime and VolReadTime -- Take care of bad clock changes while computing VolWriteTime - and VolReadTime. This should fix or limit #1066 -- Correct error string numbers in dird/catreq.c -- Restructure reserving, acquiring, and mounting volumes. Calls to - autochanger are deferred for mount.c -- simplifes the code. -- Do not prune any running job. It just fails the job. -- 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. -- Correct some SD catalog request error messages. -- Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -- Turn off unloading the autochanger in reserve.c as it just - causes problems. -- Lock volumes when unreserving a device. -- Do not mark volume unused when recycling. -- Fix bug #1068 fixes a SD crash when using Virtual autochanger. -- Generate correct JobMedia records during spooling/despooling when - running concurrent jobs. Thanks to Tom Ivar Helbekkmo - for excellent analysis and testing. -- *Massive* commit of all fixes and back ports to create 2.2.9 - Mostly SD reservations enhancements. -- Fix Win32 FD backup/restore memory leak due to improper termination - of BackupRead/Write. This fixes bug# 1038. -- Fixes a StorageId problem with volumes after migration. -- Implements autostart scripts for Debian -- Fix mtx-changer.in for broken Debian mt program. -- Apply doc fix from bug #1062. -- Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. -- Update Win32 wxWidgets to latest version. -- Attempt to do correct handling of Win32 mount points. Should - fix bug #1046. -- Add const to AIX prototype for initgroups() -- Fix to the JobMedia patch, which introduced a new problem. -- Fix creating first JobMedia record during Migration to include - proper index. This caused slow restores of migrated jobs. -- Fix bug #1047, do not strip paths on symbolic links. -- Set catalog backup database and user name from values specified on - the ./configure line. -- Apply patch to correct bug #1031, about wrong pool source information - in job report. -;;;; - -Kern;;;27 Jan 2008 at 10:30am -Bacula version 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula and Win32 release areas -of Source Forge. I have hidden the previous BETA release - -Version 2.2.8 is a bug fix to version 2.2.7 and has a few - additional bugs fixed than the BETA 2.2.8 version previously - released: -- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030, - 1042(partially), and possibly bugs 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers, - and are difficult to reproduce. - See the ChangeLog for more details. - Note, if you previously loaded version 2.2.8 BETA, you will probably - want to upgrade, but it is not urgent ... -;;; - - -Kern;;;9 Jan 2008 at 20:30 -Bacula version BETA 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula-beta and -Win32-beta release areas of Source Forge - -Version BETA 2.2.8 is a bug fix to version 2.2.7: -- It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers. -;;; - -Kern;;;24 Dec 2007;;20:30 -Bacula version 2.2.7 Released -Bacula version 2.2.7 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge - -Version 2.2.7 has several new features and several important bug fixes - since version 2.2.6: -- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020 - 1007, 1008. For more details, please see the technotes-2.1 file. -- Fixed a seg fault reported by Frank Sweetser that depended on - exact path lengths, but the problem was in bsnprintf.c -- Double quoting include filenames (@xxx) in Bacula conf files is now - possible, thanks to a patch by Michael Stapelberg. -- You can pipe input to include filenames (@|prog) by using a vertical - bar, thanks to the above patch. -- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from - Nerijus Baliunas. -- Marc Cousins submitted a patch that permits building the PostgreSQL - driver with version 8.3. -- The configure option --archivedir has been changed to --with-archivedir -;;; -Kern;;;9 Nov 2007;;15:25 -Bacula version 2.2.6 Released -Bacula version 2.2.6 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge. - -This release is a minor fix upgrade to version 2.2.5, -and we recommend that all users upgrade when they can. - -Version 2.2.6 is a minor bug fix realease to version 2.2.5 -- It fixes bugs: #1003, 942, 982, 990(response only), 991, - 993, 986, 976. - - Fix bat crash wen it cannot connect to Director. - - Fix joblist failure bug in bat. -;;; -Kern;;;9 Oct 2007;;15:25 -Bacula version 2.2.5 Released -Despite the fact that the Release Notes are rather short, the bug -fixes represent quite a lot of work: - -Version 2.2.5 is a major bug fix release to version 2.2.4 -- It fixes the following bugs: #961, 962, 963, 969, 968, 960, - 964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954, - 957, 908, 958, and 955. -- It also improves listing performance problems in bat pointed - out by Chris Howells. -;;; -Kern;;;29 Sept 2007;;20:30 -A serious data loss bug in Bacula version 2.2.4 found and fixed - -This bug was very elusive and time consuming to track down. It -turned out to be a race condition that can lose the last one or -two blocks of a Job, which can happen in rare cases only when -running multiple simultaneous jobs when a volume fills and one -Job finishes receiving the last data from the FD and at the same -time a second job detects the end of the Volume. The bug was -introduced in version 2.0.0 and did not exist in version 1.38.x. -If the bug is triggered, the data is lost (not written to the -Volume), and it can occur for any backup job of any level under -the conditions noted above. - -The bug is reported in the bugs database as bug #964, and just -this morning I found and tested a fix, which is attached as a patch -to the bug report. The patch (2.2.4-lost-block.patch) is also -uploaded to the bacula-patches 2.2.x release area. This bug may -also be part of the problems reported in bug #935 and possibly -#903. - -Also in the bacula-patches 2.2.x area, you will find other -patches that fixes bugs #953, 966, 967, 965, 958, 908, and -955. Please refer to bugs.bacula.org for the details. - -Though this bug quite serious (data loss), it should be rare. -However, we recommend everyone to apply the patch. -;;; -Kern;;;2007/9/14;;;14:30 -Bacula version 2.2.4 Released - -This version of Bacula is a minor bug release to version 2.2.3. -It contains the following fixes: - -- Possible fix for authorization problems bug #953. -- Possible fix for bug #908. -- Add waits to multiple exit detection code to try to force pid - file to always be deleted. -- Restore good dev.tar.gz to rescue set appropriate binary property. - This fixes bug #950. -- 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. -- Cancel storage daemon in all cases where FD reports error. This - should fix virtually all cases of bug #920 and will ensure that Devices - are released as soon as possible. -- 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. -- Fix migration code to get correct Volume name with multiple volumes - by skipping |. Fixes bug #936. -- Implement patch supplied by Landon to fix bug #944 where using - TLS with bconsole uses 99+% of the CPU. -- Fix bug #946 about "bacula-dir -t" which doesn't works - as expected. -- Using "m" in bconsole will show messages as in prior versions - and not memory usage. - -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. -;;; -Kern;;;2007/9/9;;;14:30 -I regret to announce that there is a rather serious bug in Bacula. - -Bacula bug #935 reports that during a restore, a large number of files are -missing and thus not restored. This is really quite surprising because we -have a fairly extensive regression test suite that explicitly tests for this -kind of problem many times. - -Despite our testing, there is indeed a bug in Bacula that has the following -characteristics: - -1. It happens only when multiple simultaneous Jobs are run (regardless of -whether or not data spooling is enabled), and happens only when the -Storage daemon is changing from one Volume to another -- i.e. the -backups span multiple volumes, and it only happens for Jobs writing -to the same volume. - -2. It has only been observed on disk based backup, but not on tape. - -3. Under the right circumstances (timing), it could and probably does happen -on tape backups. - -4. It seems to be timing dependent, and requires multiple clients to -reproduce, although under the right circumstances, it should be reproducible -with a single client doing multiple simultaneous backups. - -5. Analysis indicates that it happens most often when the clients are slow -(e.g. doing Incremental backups). - -6. It has been verified to exist in versions 2.0.x and 2.2.x. - -7. It should also be in version 1.38, but could not be reproduced in testing, -perhaps due to timing considerations or the fact that the test FD daemons -were version 2.2.2. - -8. The data is correctly stored on the Volume, but incorrect index (JobMedia) -records are stored in the database. (the JobMedia record generated during -the Volume change contains the index of the new Volume rather than the -previous Volume). This will be described in more detail below. - -9. You can prevent the problem from occurring by either turning off multiple -simultaneous Jobs or by ensuring that while running multiple simultaneous -Jobs that those Jobs do not span Volumes. E.g. you could manually mark -Volumes as full when they are sufficiently large. - -10. If you are not running multiple simultaneous Jobs, you will not be -affected by this bug. - -11. If you are running multiple simultaneous Jobs to tapes, I believe there is -a reasonable probability that this problem could show up when Jobs are split -across tapes. - -12. If you are running multiple simultaneous Jobs to disks, I believe there is -a high probability that this problem will show up when Jobs are split across -disks Volumes. - -13. The bug concerns only the Storage daemon so there is no need to update -the clients, though I do recommend updating the Director when installing -an updated Storage daemon. - -I have uploaded patches to bug #935 (bugs.bacula.org) that will correct -version 2.2.0, 2.2.1, and 2.2.2. The patch has been tested only on version -2.2.2 and passes all regression tests as well as the specific test that -reproduced the problem. - -The patch has now been confirmed to fix the problem reported, and Bacula -version 2.2.3 has been released to Source Forge. - -For the technical details of the bug, please see: - - http://www.bacula.org/downloads/bug-935.txt - -;;; - -Kern;;;2007/8/11;;;14:30 - -Bacula Version 2.2.0 has been released to Source Forge. - - 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=. 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). - -;;; - -Kern;;;2007/3/6;;;14:30 - -Bacula Version 2.0.3 has been released to Source Forge. -This is a bug fix release to version 2.0.2. If you are upgrading from -a version older than 2.0.0, please be sure to read the important notes -below. - -Also, please check the patches directory in the current SVN or the -patches release section on Source Forge for important bug fixes to -this version. - -5Mar07 -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. -04Mar07 -kes Add smartctl call to bacula-sd.conf as an example of getting - tape alert info. -02Mar07 -kes Add Client Connect Wait to Storage daemon to permit users to - modify the time the SD waits for a FD connection. -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 Fix a few places in lib/message.c where the open fd may - not be zeroed. -21Feb07 -kes Add LANG=C to autoconf/randpass so it works with languages other - than English. Fixes bug #788. -20Feb07 -ebl Revert ClientRunBeforeJob as it was in 1.38.x - This fixes bug #780 - You will not be able to generate Include/Exclude list any more. - 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. -16Feb07 -kes Fix encryption deblocking bug, which caused some restored files - to be truncated. This fixes bug #763. This is a CRITICAL bug fix. -kes Add FD event sequence order prepared by Eric -- for RunScripts. -kes Fix 12am/pm bug as reported in bug #782. -15Feb07 -kes Add quick disconnect FD code from 2.1.4 to 2.0.3. This code - causes the SD to release the FD as soon as the FD has sent - all the data to the SD. After that the SD will do any final - despooling (data and attributes) that are necessary. This - allows laptops to disconnect much quicker from the network - after a backup. -13Feb07 -kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. -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 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). -09Feb07 -kes Update projects list. -08Feb07 -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). -26Jan07 (back port) -kes Implement item #12 on project list -- quick release of FD by - the SD. This is noted in more detail above. - -;;; - -Kern;;;2007/1/28;;;14:30 - -Bacula Version 2.0.2 released: -28Jan08 -kes Fix maxruntime bug #621. -27Jan07 -kes Get current main CVS .specs for RedHat, SuSE, Mandrake. -26Jan07 -ebl Implement the include JobID in spool file name project. -kes Reorder projects file in order determined by Jan 2007 vote. -kes Fix open of SQLite3 db where user does not have write permission - so that DIR does not crash. Fixes bug #761. -25Jan07 -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. - -;;; - -Kern;;;2007/1/13;;;14:30 - -Bacula Version 2.0.1 has been released to Source Forge. -This is bug fix update to version 2.0.0 and contains -the following fixes: - -- Fix Bacula->Documentation link on Win32 to point to index.html - instead of bacula.html. Fixed bug #750. -- Return JobId in db_get_job_record() when JobId==0. This should - fix bug #741. -- Do not release source pointers when restarting a failed job. -- Add dynamic dll entry point for SHGetFolderPath to Win32 code. - This *should* fix bug #747. -- Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix - bug #742. -- 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. -- Add back code to disable conio in configure. Fixes bug #743. -- Correct the Options scanner in the FD to correctly handle - SHA1 option, which was eating the next option. Reported by - Sebastien Guilbaud. -- Add code to indicate when the SD is spooling, spool wait, and - despooling as requested by Alan Brown. - -;;; - -Kern;;;2007/1/4;;;14:30 - -Bacula Version 2.0.0 has been released to Source Forge. - -There is an English Press Kit, written by Dan Langille at: - - http://www.bacula.org/about/press/presskit200.html.en - -and a German version, translated by Arno Lehmann at: - - http://www.bacula.org/about/press/presskit200.html.de - -;;; - -Kern;;;2007/1/4;;;14:31 - - Release Notes for Bacula 2.0.0 - - Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in) - -==== IMPORTANT Catalog update required ===== -- The database format has been updated from what was used in - Bacula 1.38.x. You must manually update your database before - running Bacula 1.39.x or higher. If you are using Bacula supplied - RPMs this is not necessary as the RPM does it automatically. - Please backup your previous version of the database before - running the update. The update script will be automatically - installed in your scripts directory, or can also be found in - /src/cats. It is called: - - ./update_bacula_tables - - It is necessary to run it only once the first time you move to - a 2.0.0. Upgrading the Bacula version thereafter does not - require updating the database again. Depending on the size of - your database the script make take a bit of time, to run, but - in general, it should be very fast. - -==== IMPORTANT new Win32 install procedure ===== - For Win32 migrations from versions prior to 1.39.0 nothing special - needs to be done to upgrade. Everything should be taken care of - automatically. The only thing not done is to delete the old C:\bacula - directory mostly out of paranoia. - -==== IMPORTANT miscellaneous ==== -- The Gnome console program (gconsole) no longer functions as it - should.More importantly, in restore mode, the restore tree is - no longer shown in the left pane. I suspect this is due to - incompatible changes in the GTK+ API, and hence have given up - on gnome and gtk+, as this has already happened several times - previously. At some point there will be a new GUI console. -- The bacula-dir.conf directive Accept Any Volume has been - removed because it was never implemented. You must delete all - occurrence of this directive for the Director to run. The Storage - daemon will automatically accept any valid Volume that you mount. -- The --mandir ./configure option now points to the top level man - directory. The man files will be installed under mandir/man8 and - mandir/man1 as appropriate. -- You *should* be able to use 1.38.x FDs with version 2.0.0 Director - and SD providing you do not use any of the new features (runscript, - data encryption). It seems to work here, but we do not guarantee it. -- Your Director and SD must be simultaneously upgraded. -- The restore command no longer uses the MediaType as the primary method - of finding a suitable Storage device. Normally it will select the last - device used to write a Volume. If no storage device is defined, it - will use the old algorithm which selects the first Storage resource - with the correct MediaType. -- The MD5/SHA1 hash codes kept in the database are now kept in a binary - format compatible with the rest of the world. If you are running verify - jobs, you *must* do an InitCatalog or all files will show an MD5 - difference. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. This has been tested, but more - more testing is still needed. -- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses - the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25 - kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works. - This problem may also be present in certain Fedora FC5 kernels. -- If you have been using the data encryption feature of 1.39.x, please - be aware that certain combinations of encryption and other options - with version 1.39.0 through 1.39.26 created Volume data that cannot - be restored. We strongly recommend that anyone using encryption - carefully review his/her backups and at a minium do a Full backup - with 1.39.28 of all encrypted data. Robert Nelson has identified - and fixed it as follows: - As of 1.39.27: - No filters = Works fine - Sparse = Works fine - Compression = Works fine - Encryption = Works fine - Sparse + Compression = Works fine - - Sparse + Encryption = Restore broken - Sparse + Compression + Encryption = Restore broken - Compression + Encryption = Restore broken - - As of 1.39.28: - Most combinations work, but some encrypted files are - not properly restored. - - As of 1.39.30: - All combinations work fine except Sparse+Encryption. - - Bottom line, if you are using data encryption, please test restoring - data to be sure it all works correctly. -- The current Volume format written by 1.39.22 is different from - the format written by previous versions. The two formats - are not compatible. Thus any DVDs written prior to 1.39.22 will - be unreadable by version 1.39.22. -- If you previously run a Bacula version prior to 1.39.30, the JobMedia - data may not be correct for disk Volumes. This can cause incorrect - seeking in versions after 1.39.30. If you experience what appears to - be data I/O or integrity errors during restores, please add the - following directive to your disk DEVICE resource in the Storage - daemon conf file: - - Block Positioning = no - - This will turn off all seek requests during restores and avoid - this problem. -- VSS for Windows clients is now enabled by default. -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger, see manual. - -New Features in 2.0.0: -- Turn on disk seek code for restores. -- There is a partial but reasonable translation of the Bacula - messages for French. To install it, first configure and build - Bacula, then as root run: - - cd /po - make install - - If you have your locale set properly you will get the translated - messages. -- Bacula now support Migration jobs that are documented in a new - Migration chapter in the manual - http://www.bacula.org/dev-manual/Migration.html -- Data encryption is now implemented and is documented in - a new chapter of the manual at: - http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html -- Additional support for removable devices. See the - Requires Mount, Mount Point, Mount Command, and Unmount - Commands in the Storage daemon configuration chapter: - http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html - Also see the Edit Codes for Mount and Unmount Directives in the - same chapter. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The initial work was done by Howard Thomson, - then tweaked by me. Robert Nelson then totally reworked the - cross-compiling code so that it not only cross-compiles, but - also compiles on Visual Studio, and at the same time, he added - all the current Unix features to the FD, such as selection on - drives, encryption support, building *all* the tools, ... -- The Director and Storage daemon have now been ported to Win32. - This code is working but should still be tested carefully - before putting into production. -- Bacula restore and bextract can now extract non-portable Win32 data to - any client (including Unix/Linux clients). Of course, in doing so, - the Microsoft specific permissions and ACLs will be lost. Thanks - to Thorsten Engel for this code. -- The 260 character limitation for Win32 paths name lengths is now - eliminated thanks to Thorsten Engel. However, if you are using - Volume Shadow Copy, please be careful to specify all the paths - in the bacula-fd.conf file using a full path notation including - the drive letter. -- Eric Bollengier wrote new RunScript directives that includes - the old RunBefore/AfterJob and ClientRunBefore/AfterJob features - plus a *lot* more, allowing you to control just about every aspect - of running scripts. See the manual for detailed documentation. - http://www.bacula.org/dev-manual/Configuring_Director.html#5227 -- SunOS ACLs should now work thanks to a patch from David Duchscher. -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - "list nextvol days=xx" - or - "status dir days=xx" - This can be used to preview the next scheduled job (and the - next tape to be used) on Fridays if there are no scheduled jobs during - the weekend. -- From Eric Bollengier. One can now using the bconsole wait command do: - wait (wait for all jobs to stop) - wait jobid=nn - wait jobuid=unique id - wait job=job-name -- Volumes can now be set to Enable, Disable, or Archive. If they - are not enabled, Volumes will not be mounted. - Implement update volume enable=(on|off|true|false|archived|0|1|2) -- Add Catalog message destination in Messages resource that puts the - job report in the Log database table. -- Writing/reading DVD Volumes is much more stable -- to the point - of being useful. Thanks to Richard Mortimer. -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- The database Id records should be 32/64 bit independent now. 64 bits - can be enabled by changing one define and changing the appropriate - table variable. Normally, you need 64 bits only for FileId. -- Relative path specifications (i.e. ../xxx) are now permitted in - the restore cd command. -- When running multiple simultaneous jobs, most jobs that use spooling - will now finish faster due to a mutex optimization made by Eric - Bollengier. -- Conf files containing UTF-8 marker at the head of the file as well as - conf files containing Window cr/lf and Mac cr line termination characters - are now accepted thanks to Robert Nelson. -- Windows tray status windows are scrollable and resizable. -- Win32 external script execution is much more flexible -- handles - spaces in names better, ... -- Lots of DVD fixes -- writing DVDs is now reported to work. -- Fix opening of database in a restricted console to respect - any Catalog ACL. -- Much better automatic handling of multiple database catalogs in - the restore command. -- Permit multiple console/director resources in bconsole.conf. - patch from Carsten Paeth calle@calle.in-berlin.de -- Character substitution in Job/JobDefs WriteBootStrap. - from Eric Bollengier. -- Apply patch supplied in bug #656 to pass priority field - in the run dialog to the Director in gnome console. -- Add support of encrypted data stream to bscan from Eric. - display data_len instead of data content (may be binary). -- Add Enabled=xxx on update slots command. -- Add host:port to connect failure messages to FD and SD from Dir/ -- Add WhereACL to console ACL list. If nothing is specified, only - the default is permitted for restore. Otherwise, *all* allows any - path, or you can specify permitted paths. This should allow control - over where users can restore files. This is untested. -- Install man pages with 'make install'. -- Add Media.Enabled flag to client backups for dotcmds.c -- Enforce Media.Enabled=1 for a current restore to work -- Require restore case 3 to have sqlquery permission to work. -- Add -n option to bconsole to turn off conio -- used in bweb. -- The bytes field in the terminated jobs part of the status - command now reports in KB, MB, ... units. -- When not descending into a directory, print the File= name that - triggered it -- makes why not descending a bit clearer -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger -- Fix bug #462 incorrect error message printed when client script called - from File= was not found. -- Fix bug #558 (waiting for feedback) where Bacula needs too much time to - do a rewind on Solaris when no tape is in the drive (Solaris does not - have the detailed errno found on Linux). Added Solaris specific code. - Note, this may apply to other OSes as well. -- The examples directory has a new bacula_mail_summary.sh file that - creates a single email summary of any number of jobs. Submitted by - Andrew J. Millar. -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Modify most restore error messages to be queued so that they - appear at the end of the job rather than mixed with the restore - listing where they could be "lost". -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Added a report.pl program to the examples directory from Jonas Bjorklund. -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -- Implement new code for changing userid and group at startup. This - should get Bacula into the correct groups. -- Implement support for removable filesystems -- device type directive - and mount, unmount directives. -- Transfer rates are now presented in a more readable format thanks - to a user submission. -- SD is now aware of what volumes are mounted. More information is printed - in the Status report. You must take much more care now to unmount - devices prior to removing tapes that Bacula has open or prior to - changing a magazine. Don't forget to do a mount afterwards or the - device will be blocked. -- The Pool Maximum Volumes directive is now respected in all places. -- A Storage device can now be specified in a Pool resource. It will override - all other Storage specifications. -- Most but not all directives accept true/false in place of yes/no. -- A patch from Karl Hakimian that reads JobIds, FileIndexes - from a database table for restore. -- There are a number of new tables. Some such as the Location table are - designed for user use in doing Volume Management software. -- Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- Implement jobuid to replace old usage of job in keywords as - suggested by Eric Bollengier. -- Implement write variables for Python to set Priority (anytime), and - Job Level, only during JobInit event. -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow the SD to use multiple drives during a backup/restore (only - one at a time). -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -- Remove automatic case folding on Windows FDs. You must - explicitly use the 'Ignore Case = yes' option. -- Implement wild program in tools directory for testing - wild-cards. Almost identical to the regex program. -- Use the new bregex.c to implement Regex expressions on Win32. -- Apply patch from Christopher Hull - - Allow multiple connections to database with different - parameters. - - Invalidate the scheduler when doing a reload. Fixes seg - fault, but still 60 second window. - - Additional info in Reschedule message. - - Use set_jcr_job_status() everywhere to prevent loss of - cancel, error. - - Display peer IP in FD if error from connecting DIR. - - Don't increment file count for DIRBEGIN. - - Replace illegal characters in Win32 filename by _. - - Add SE_CREATE_PERMANENT_NAME privilege in Win32. - - Hash hard link filenames rather than linked list (performance). - - Fix for security failure in chdir on Win32. - - Add CreateDirectoryA/W win32 API entry points. -- programs to duplicate Bacula's base64 algorithm using standard - routines. This fixes bugs #296, and 565. Patch submitted by - author of bug #565. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. -- Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support. - O_NOATIME is a open() flag which makes it possible to read a file without - updating the inode atime (and also without the inode ctime update which - happens if you try to set the atime back to its previous value). It also - prevents a race condition when two programs are reading the same file, but - only one does not want to change the atime. It's most useful for backup - programs and file integrity checkers (and bacula can fit on both - categories). - You enable it in the Bacula FileSet Options resource by setting: - noatime = yes - The effect of this option is similar to the keepatime option except - it is more efficient and avoids modifying ctime. -- Implement a pile of new man pages contributed by Jose Tallon. -- Modify the database format for handling Migration jobs: - Add PriorJobId, RealEndTime to Job table - Delete MAC table - Remove Stripe from JobMedia record (not used, wasting space) - Add ScratchPoolId, RecyclePoolId, Enabled to Media record - Add Cost to Location table. - Enabled to Media table and Location table. -- Security: harden authentication failure in FD by single threading errors - and forcing a 6 second wait. -- If using GCC (actually g++) add the following compiler flags - -fno-strict-aliasing -fno-exceptions -fno-rtti -- Turn on new bsnprintf() code. The reason for this code is to - eliminate the security problems associated with using the - system libraries print routines. -- Implement job report that indicates where Storage and Pool - came from -- with overrides and Pool storage and NextPool, - it is all very complicated. -- Add more detail (Storage, Device) to list of volumes printed - for restore. -- Add new VOLMGMT message class. No messages are yet sent with this - class. -- Improved Bacula rescue procedures -- see the Disaster Recovery - chapter of the manual -- Add spooling/despooling info in status output of SD. -- Add Comment field to llist of a volume. -- Allow true/false in many but not all yes/no directives. -- The Bacula source code is now copyrighted by the Free Software - Foundation Europe. The Developer's Guide documents the new procedures, - and the LICENSE file has been updated. -- Apply Jaime Ventura's patch that implements the Messages resource - Mail On Success directive. -- The Client returns its Version string, which is printed in the Job - report. -- The Client returns whether or not VSS and Encryption are used, which - are printed in the Job report. - -Additional Features Added for Win32: -- Added DriveType directive to the Director's Include Option FileSet - resource. Allowed values are: fixed, removable, cdrom, and remote. There - is only an implementation for Windows because it is the only platform that - has the concept of drives. - -- Adds EnhancedWild directive to the Director's Include Option FileSet - resource. Allowed values are: yes and no. - - When EnhancedWild is enabled then the processing of the - Wild, WildDir and WildFile is changed in the following ways. - - Patterns conform to Posix - \ is not a special character in character classification [] - To match a - it must be the first or last character - To match a ] it must be the first character - - fnmatch option FNM_FILE_NAME is specified * doesn't match a / - so it won't match multiple directory levels in a path - -- Relative WildFile patterns (ones without a leading /) match - against the filename portion. This in combination with the - FNM_FILE_NAME fnmatch() flag makes directives such as WildFile = - abc*.def work as expected. - -- Adds support for the shell's feature of brace expansion. - - Here is an example where braces allow 24 lines to be expressed in 5. - - # Exclude directories full of lots and lots of useless little files - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files" - -;;; diff --git a/docs/home-page/en/news.txt b/docs/home-page/en/news.txt index 8550d09c..8835a9c0 100644 --- a/docs/home-page/en/news.txt +++ b/docs/home-page/en/news.txt @@ -1,18 +1,17 @@ -Kern;;;27 November 2011 at 12:03 CET -We have released Bacula Version 5.2.2 to Source Forge +Kern;;;16 December 2011 at 12:293 CET +We have released Bacula Version 5.2.3 to Source Forge - Release Notes for Bacula 5.2.2 + Release Notes for Bacula 5.2.3 Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) General: -------- -The 5.2.2 version is an important bug fix release. It contains also some -additions and performance improvements. +The 5.2.3 version is an bug fix release. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If you are upgrading directly from 5.0.3 to this version, please see the -important notices below for version 5.2.1, particularly +important notices below for version 5.2.2, particularly the database upgrade and the difference in packaging the SQL shared libraries. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -22,2649 +21,24 @@ Compatibility: As always, both the Director and Storage daemon must be upgraded at the same time. - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2 + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3 Director and Storage daemons. There should be no need to upgrade older File Daemons. -Changes since 5.2.1: ------------------ - - Implement -t option for Bat - - Require correct Qt version 4.6.2 or later to build bat - - Get new lib/plugins.h - - Pull new SD plugin files from Master - - Fix script to set mode of cats scripts - - Add Systemd configure options - - Split messages line by line before sending it to syslog() fix #3325 - - Fix bvfs_restore on MySQL - - Fix #3308 where a SMTP problem can block the director - - Change locking scheme of the mountpoint cache. - - Enhance mountcache with rescan option after interval. - - Add %D option to edit_job_code, simplify callbacks on director side - - Move Zdeflate and Zinflate to seperate file. - - Put libraries in the correct order for non shared libs. - - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@ - - Fix bug #1774 - - Move batch insert detection into db.m4 - - bat: try to fix offset button problem when clicking too much on previous - - bvfs: Use single transaction for each job during update - - Add missing bwild & bregex man8 pages - - Fix compilation issue of wx-console #1778 - - bvfs: fix filter for pattern= bvfs parameter - - Improve speed of BVFS with SQLite, Thanks to J.Starek - - bvfs: add clear_cache function - - bvfs: Handle windows drive when building path hierarchy +Changes since 5.2.2: -Closed Bugs Since 5.2.1 ------------------------ -1774 1778 3308 3325 + - Revert patch from Ben to not compress man pages on Solaris fix #1801 + - Fix bug #3322 don't poll when operator is labeling tapes + - bvfs: Fix mysql REGEXP operator + - Fix Mysql 5.5.18 symbol lookup + - fix utf8/iso8859 problems + - Fix #3419, update stats problem + - Fix cats_test to use the new method names. + - Update accurate code to use 1 byte instead of 3 + - Fix segfault in accurate code + - Fix compilation warning on FreeBSD +Bugs fixed/closed since last release: +1801 3322 3419 -;;;; -Kern;;;30 October 2011 at 14:50 CET -We have released Bacula Version 5.2.1 to Source Forge - - Release Notes for Bacula 5.2.1 - - Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) - -General: --------- - -This 5.2.1 version is a major release since the last version 5.0.3. -It includes well over 299,387 lines of changes made by 20 contributors, -lots of bug fixes (see below), 1,851 software commits,and a -number of important new features: - -Version 5.2.0 -------------- -Version 5.2.0 was short lived, because Marco (thanks) found -a number of last minute bugs. So the first official release of 5.2 -is 5.2.1. - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Main New Features: ------------------- -- LZO Compression -- New Tray Monitor -- Purge Migration Job -- Changes in Bvfs (Bacula Virtual FileSystem) -- Changes in the Pruning Algorithm -- Ability to Verify any specified Job -- Additions to RunScript variables -- Additions to the Plugin API -- ACL enhancements -- XATTR enhancements -- Class Based Database Backend Drivers -- Hash List Enhancements - -Some of the above are described below; all the above are -described in more detail in the New Features chapter of the -manual. - -Closed Bugs since 5.0.3: ---------------------- -1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501 -1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549 -1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582 -1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624 -1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699 -1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710 - - -================== Warning !!!!!! ========================== - - The new pruning algorithm will not allow pruning of jobs that are essential to - restore since the last Full backup. This is, of course, correct and desirable, - but it is different from older Bacula versions that could inappropriately - prune jobs. Pruning of volumes is not affected. - -Building Bat: -------------- -To build Bat, you need Qt4 version 4.6.2. If you build with any other -version it is likely not to work. If you do not have version 4.6.2, on -your system, you can download the Bacula depkgs_qt version 16Dec10. - -Packaging the SQL backend: --------------------------- -The main Bacula Director code is independent of the SQL backend -in this version. This means that the Bacula Director can be packaged -by itself, then each of the different SQL backends supported can -be packaged separately. It is possible to build all the DB backends -at the same time. - -- configure can be run with multiple database configure options. - --with-sqlite3 - --with-mysql - --with-postgresql - -Order of testing for database is -- postgresql -- mysql -- sqlite3 - -Each configured backend generates a libbaccats--.so -A dummy catalog library is created named libbaccats-version.so - -At configure time the first detected backend is used as the so called default -backend and at install time the dummy libbaccats-.so is replaced with -the default backend type. - -If you configure all 3 backends you get 3 backend libraries and the postgresql -gets installed as the default. When you want to switch the default you can -copy one of the 3 backend libraries over the libbaccats-.so e.g. - -cp libbaccats-postgresql-.so libbaccats-.so - -And update the default backend in the following files: - -create_bacula_database -drop_bacula_database -drop_bacula_tables -grant_bacula_privileges -make_bacula_tables -make_catalog_backup -update_bacula_tables - -New Catalog format in version 5.2.0 and greater ------------------------------------------------ -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version -14). The Bacula project rpm spec files have been modified to -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source (i.e. manually): -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.2.1 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 5.0.0 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - -================================================================ - -Changes: - -Speed and Memory Usage Enhancements: -- Implement LZO compression algorithm (need lzo2 headers to activate this option) -- New Pruning algoritm -- safer and faster -- Use of PostgreSQL cursor when doing large queries, should reduce the - memory usage during restore and accurate backups. -- limit command in some list commands -- Bacula Virtual File System for fast catalog access -- Faster crc32 algorithm - -Security Enhancements: -- Additional security against injection of illegal characters -- Fix possible fnmatch problem - -Features Enhancements: -- Improvements in ACL and xattr handling on additional platforms: - AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64 -- Tray monitor for Windows -- New SQL backend and ./configure that permits building multiple catalog - backends in one build, and has the main Bacula core code totally independent - of the SQL backend, which should simplify packaging (only the - libbacsql.so/dll needs to be changed to switch from one database backend - to another (e.g. MySQL to PostgreSQL). -- Indent lsmark during restore -- Disable batch insert config item -- Director selection option in bconsole -- restorejob command in bconsole -- Many additional features for bat such as "brestore" panel -- The old bat version browser has been turned off since it does not - work correctly and the brestore panel provides the same functionality -- Improved hash table for hard links -- Additional script variable editing such as %b (JobBytes), %F (JobFiles) - and %h (Client Address) - -Other Enhancements: -- Includes better handling for Windows repares points, mount points, and - junction points. -- New database format -- Many new plugin API features -- Improved memory handling for restores -- Significant stability enhancements to bat -- xattr/ACL restore failure are now printed as Warning -- A few path name length limits in Windows have been removed. - - -=========================================================================== -;;;; - -Kern;;;06 August 2010 at 19:15 CET -We have released Bacula Version 5.0.3 to Source Forge - -This 5.0.3 version is significant bug fix update to version 5.0.2. -It includes new code and some new features. -There is no database change since prior versions of 5.0. - -Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in - the 5.0.1 release section. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes and New Features: -- If a VSS (Windows) snapshot fails, the whole Job is failed, previously - it printed a warning message and continued. -- New editing codes %b = Job Bytes and %f = Job Files for runscripts -- Any non-Bacula project plugins (i.e. third party plugins) - must be upgraded to specify AGPLv3 in place of the GPLv2 used previously - for the PLUGIN_LICENSE. -- The bat Media page text columns can be sorted by clicking on the column. -- If possible, the SD will automatically update the catalog Volume size if - it does not match the Volume size. The mismatch between the Volume sizes - typically occurs when the FD has a comm line drop or the FD crashes. - - -Bug fixes -1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610 - -- Change license from GPLv2 to AGPLv3 -- Make Win32 no filesystem change more explicit -- Backport Branch-4.0 release to Branch-5.0 -- Massive backport from Branch-5.1 to Branch-5.0 -- Fix postgresql catalog creation when version is not on the first line -- Fix bug #1610 handle empty xattr values on Linux and xBSD. -- Garbage collect memory pool at end of job and before sm_dump -- Add xattr seg fault protection suggested by Marco for bug #1610 -- Add archlinux to os.m4 -- More fixes for 32/64 bit problems in smartall -- Fix 32/64 bit problem in smartalloc dump routine -- Fix bad copy/paste in commit c88dccb88 prably a seg fault -- Add .dump and .exit commands for daemons -- Make SD automatically fix the Volume size in the Catalog when out of sync -- Use Pmsg in smartall.c rather than printf for tracing Windows -- Up maximum block size to 20M -- Fix for TLS bugs #1568 and #1599 -- Improve comm line error handling for TLS, may fix bug #1568 and #1599 -- Fix problem when sending Cancel event to plugin -- Convert all Jmsg on the watchdog thread to Qmsg -- Fix SD crash due to mismatched lock/unlock in error condition -- Fix bug #1587 if you have clients with different catalogs configured, both - catalogs contains all clients after a reload or restart of the dir -- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() - by moving and commenting out the ASSERT() -- Skip HB kill in FD if HB thread terminated -- Fix crash from unequal volume_lock/unlock calls -- New prunning algorithm -- should be more accurate -- Save any dumps during regression to dumps directory -- Fix crash from rw_lock/unlock miss match -- Attempt to fix duplicate job kill seg fault -- Replace pthread_kill by my_thread_send_signal() in jcr.c -- fix #1595 about batch mode detection problem for postgresql with non standard - install dir -- Fix #1594 about prune copy jobs -- Apply literal string fix in printf submitted by Luca Berra -- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups -- Fix segfault on "cancel jobid=" command -- Fix bug #1554 Windows installer doesn't honor /S flag -- Remove pool zap code that breaks 2drive-concurrent-test -- Fix #1571 and install libraries with 755 perms -- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger -- Fix problem with BaseJob and Accurate FileSet options on client side -- Fix for bug #1569 deadlock/crash in Dir -- Fix segfault when loading Plugins -- Fix #1567 about display of long volume names truncated during restore -- Added new bacula-libs package. -- Fix bug #1538 Start Scripts return incorrect value -- Fix bug #1564 init scripts not LSB compliant - -See ChangeLog for more details. - -;;;; -Kern;;;01 August 2010 at 17:23 CET -Welcome to our new bacula.org server - -This is our new bacula.org server, graciously provided -by UKFast. Our previous server, also hosted by UKFast, was -getting to be a bit old, so they furnished us a new one, -and we are very pleased. - -;;;; -Kern;;;28 April 2010 at 19:15 CET -Eric has released Bacula Version 5.0.2 to Source Forge - -This 5.0.2 version is primarily a important bug fix update to version 5.0.1. - -Note, if you are running 5.0.0, read the 5.0.1 release notes below. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.2 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes since 5.0.1 -------------------- - -Bug fixes -1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560 - -- Probable fix for SD crash bug #1553 -- Fix #1559 problem when restoring pruned jobs with a regexp -- Fix for bug #1560 bcopy cannot find Volume -- Fix cancel crash bug #1551 -- Check if sql backend is thread-safe -- Correct Pool display in SD status. Fixes bug #1541 -- Fix cancel crash reported by Stephen Thompson -- Rewind on close to fix #1549 -- Remove closelog() in bpipe fixes bug #1536 -- Fix #1517 about missing Base level in .level command -- Replace ASSERT in block.c with fail Job -- Fix database locking calling db_lock and returning from function without - calling db_unlock. -- Add missing db_unlock to bvfs_update_cache. -- Fix #1532 about permission on binaries -- Fix #1527 about deadlock during migration -- Another fix for OpenSSLv1 -- Add -lrt to Solaris links -- Fix tls.c for OpenSSLv1 -- Fix #1511 when trying to insert more than 50.000 directories in bvfs -- Fix plugin load not to stop if one plugin bad -- pointed out by James -- Remove --without-qwt from configure statement. -- Second correct fix to bug #1524 verify fails after adding or removing files -- Fix bug #1524 verify fails after adding or removing files -- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem -- Fix OpenSSL 1.x problem in crypto.c on Fedora 12 -- Display AllowCompress warning message only if compression used in FileSet - -;;;; - -Kern;;;25 February 2010 at 15:35 -Bacula Version 5.0.1 has been released to Source Forge - -Bacula version 5.0.1 source code and Windows (32/64 bit) binaries have been -released to Source Forge (thanks Eric). - -This is a major bug fix release including a few directives that have been -rewritten, one new directive, and some different directive behavior (see the -release notes below). As is usual for a patch release (last digit changes by -one), this version is compatible with the 5.0.0 database and with prior -clients. However, you *must* upgrade all components that are on any one -machine (that is you must upgrade your Director, Storage daemon, and File -daemon at the same time, if they reside on the same machine). - -Note, Bacula does not normally uninstall previous versions, and we have -changed the shared object naming convention, so you might want to first save -your configuration files then uninstall the old Bacula using the old Bacula -uninstall prior to installing the new one. If you do not, it should not be -serious, but you may be left with some older Bacula shared objects that are -not used and hence wasting a small amount of disk space. - -If you are upgrading from version 3.0.x or prior, please see the full release -notes as you must do a database upgrade. When updating from 5.0.0 to this -release there is no database upgrade needed. - -Scott has made a number of changes and improvements in the rpm packaging over -the past few weeks since version 5.0.0 was released, so he will probably be -releasing the 5.0.1 rpms quite soon. - -Thanks for using Bacula :-) - -Best regards, - -Kern - -============= Performance Note ================== - -Some of you have encountered performance problems with your -database (mainly with MySQL) with Bacula version 5.0.0. This is -mainly because we've changed the SQL query used for restore, -accurate jobs and base jobs. We have extensively tested this -change, and though it should be a little bit slower than the previous -versions, on a well configured database it should run -extremely well. - -We strongly recommend to avoid the temptation to add new indexes. -In general, these will cause very significant performance -problems in other areas. A better approch is to carefully check -that all your MySQL memory configuation parameters are are -suitable for the size of your installation. If you backup -millions of files, you need to adapt the database memory -configuration parameters concerning sorting, joining and global -memory. By default, sort and join parameters are very small -(sometimes 8Kb), and having sufficient memory specified by those -parameters is extremely important to run fast. - -If adjusting your MySQL memory configuration values does not -solve your problem, you can also consider switching to -PostgreSQL, which performs much better with Bacula on big -installations (many millions of files per Job). However for -large installations, you will also need to adjust the default -PostgreSQL memory configuration parameters. - -========================================== - - - Release Notes for Bacula 5.0.1 - - Bacula code: Total files = 1,081 Total lines = 217,272 (Using SLOCCount) - -!!!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -The Allow Duplicate Jobs directive has been significantly -reworked, and the default value has changed. See below. - -Truncate On Purge has been totally rewritten. See the new -features section of the manual. - -When Volume Poll Interval is set in the SD DEVICE configuration, -(default 5 mins), after a certain number of polling tries (approx -10) polling will stop and the operator will be asked to -resolve the problem. Previously there was no limit, and an -error message could be produced at each poll attempt. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -Changes since 5.0.0 -------------------- -- We believe that we have resolved most of the problems - concerning canceled or failed jobs being "stuck" in the - Director. There is one outstanding problem in the SD when - canceling jobs that we will fix in the next major release. - If you see jobs that seem to be stuck, in general issuing - a cancel command in bconsole should now make them go away. - -Directives: -- The default for "Allow Duplicate Jobs" has been changed from - no to yes. If you use this directive, please check your - conf file, and note the next two items !!!!!!!!!!!!!!!!!!! -- AllowHigherDuplicates disabled. It did not work as documented - and was confusing. -- New directive "CancelLowerLevelDuplicates" See New Features - section in the manual. -- Truncate on Purge rewritten. See New Features section in the manual. - -Bug fixes: -1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 -1499 1501 1505 1509 1513 - -- Ensure SD asks for help when looping even if poll set. Fixes bug #1513. -- Fix three-pool regress bug -- Modify bacula.spec fixes bug #1505 -- This version fixes an issue where the console window would start out - docked. It is fixed by initiating the variables in the Pages class wi - constructor. -- Fix make_catalog_backup.pl fails when catalog db is on other host -- Apply MacOSX installer patch from bug #1509 -- Apply fix to previous fix of Copy problem. Fix proposed by reporter o - #1476 -- Fix bug #1501 -t does not print errors -- Apply SQLite3 update fix from bug #1497 -- Apply bashism fix for diskchanger.in script from bug #1499 -- Apply rpm fix for Sci Linux from bug #1494 -- Take most recent Ukranian po from bug #1448 -- Probable fix for Copy/Migration bug #1476 -- Fix bug #1488 -- avoid recursion and race conditions in messages.c -- Upgrade cats library also to 5.0.0 -- Fix missing console page in bat -- Add bat help files to Window install -- Improve Windows upgrade to ensure old FD is shutdown -- Fix bug #1481 -- bat consumes all console file descriptors -- Backport truncate on purge from 5.1.x -- Fix bug #1486 -- bat doesn't show any errors on command-line -- Update the bsock error URL -- Correct .my.cnf umask in make_catalog_backup.pl -- Apply fix for dbcheck use by make_catalog_backup.pl -- Fix seg fault in bscan from new comment field -- Allow multiple CNs when using TLS -- Fix seg fault in SQlite driver -- Make shared libs version the same as the Bacula release version -- Remove file_index sequential check -- Fix #1466 about Bogus pruning message - -For Packagers: -1. The default query.sql file is now, except for some comments, empty. -The old file, which we no longer support (it is impossible or difficult to -make it work on every backend, and the queries are mostly contributed) can -be found in /examples/sample-query.sql. The sample file is -not installed by the Makefiles - -2. When you install the mtx-changer script, you must also install -mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is -required for mtx-changer to work, but it is a user configurable file, so on -any update, any existing file should not be overwritten. - -3. Bat should be built on every platform that is capabable of running Qt. -However, the Qt code is changing rather quickly and is not always -compatible from version to version. We have built and verified bat on Qt -4.3.4. We strongly recommend that you do not build and distribute bat with -any other version of Qt unless you personally test it. To build against Qt -4.3.4, download the depkgs-qt package from the Bacula Source Forge download -location, read the README file and follow the instructions. - -If you are building for Bacula version 5.0.0, please ensure that you do not -have qmake-qt4 loaded on your system. If you do, either remove it or -rename it before trying to build bat. If you do not, bat will probably be -built using the shared objects on your system. For Bacula 5.0.1 and later, -this problem (bug) does not exist. - -depkgs-qt does not install Qt on your system, nor does it interfere with -you having any other version of Qt installed on your system. Once you -build bat with depkgs-qt, it should *not* use the Qt shared objects, but -rather they will be linked into the program. After fully installing bat -(make install), you can run "ldd bat" to see what shared objects it will -use. If any Qt shared objects are referenced, something has gone wrong. - -4. Unless absolutely necessary, we recommend that you do not define any -special library environment variables that apply to the ./configure -- for -example: LIBDIR=/... ./configure is strongly discouraged. -Doing so, could potentially cause Bacula to be linked against the wrong -shared objects. - -5. The Bacula project strongly recommends that you install Bacula into a -single directory, with a few minor exceptions such as the MySQL or -PostgreSQL databases. Preferrably this should be /opt/bacula. The full -recommendation is: - -#!/bin/sh -# Recommended configure script for Bacula -prefix=/opt/bacula -email=xxx@yyy.zz -CFLAGS="-g -O2 -Wall" \ - ./configure \ - --sbindir=${prefix}/bin \ - --sysconfdir=${prefix}/etc \ - --docdir=${prefix}/html \ - --htmldir=${prefix}/html \ - --with-working-dir=${prefix}/working \ - --with-pid-dir=${prefix}/working \ - --with-subsys-dir=${prefix}/working \ - --with-scriptdir=${prefix}/scripts \ - --with-plugindir=${prefix}/plugins \ - --libdir=${prefix}/lib \ - --enable-smartalloc \ - --enable-tray-monitor \ - --enable-bat \ - --with-mysql \ - --with-dump-email=${email} \ - --with-job-email=${email} \ - --with-smtp-host=localhost \ - --with-baseport=9101 - -Obviously, the email, and some of the minor options (mysql, postgresql, -...) can be changed to suit your distribution, but the directory names -defined above are strongly recommended, and over time the default values in -the bacula-dir.conf and bacula-sd.conf will reflect these choices. - -If you have any questions about this or would like a detailed document -describing our recommendations including packaging requirements, please -send an email to the bacula-devel list. - -6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared -libraries that Bacula uses by default are named xxx-1.0.0. Starting with -Bacula 5.0.1, we are going to name the libraries using the Bacula version. -So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future -versions, the last digit may or may not change when we distribute patch -updates (i.e. the last digit of the version changes). This will depend on -whether or not we have changed something in the library. Hopefully this -new procedure will resolve some of the incompatibility problems between -different versions of the shared objects. - -7. The default build option for bconsole is conio (my own little console -routines). I did this because some years ago, readline was very difficult -to maintain -- it and where it was found seemed to change on every release. -This generated at the time a number of support problems. It seems to me -that since then there have been very few problems with readline. As a -consequence, I have no problem if you want to make bconsole with readline -enabled. It will actually give some very nice new bconsole command -completion functionality that Eric has written. Bottom line: feel free to -use readline or not as you please. - - -;;;; -Eric;;;25 January 2010 at 10:00 -Bacula Version 5.0.0 has been released to Source Forge - -Release Numbering: ------------------------------------------------------------ -You might be wondering why this release jumps from 3.0.x to -5.0.0 thus skipping version 4.0.0. We have done this for -several reasons: first, we wanted a way of distinguishing -the numbering system for the Bacula System Enterprise version -and the Bacula Project version. So, to do so, we have decided -that the first number of the Bacula Project version will always -be odd, and the first number of the Enterprise version will always -be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x. -In addition, we want to keep the Bacula Project version larger -than the Enterprise version to indicate that the Bacula Project -version is more advanced or has more features than the -Enterprise version. For memory, the current Enterprise version -is 2.6.1, and the next release (in a few months -- before June 2010) -will be version 4.0.0. - -Warning: --------------------------------------------------------------- -Please note the three Warnings below before doing any install or -upgrade. - - -Changes since 3.0.3a (the last Bacula Project release): -------------------------------------------------------- - -Bug fixes: -1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 -1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 -1454 1455 1458 1456 - -Fixed: - - Problem that locks the Director when the SMTP server wasn't - responding to the bsmtp program - - Restore's dir command shows incorrect file sizes - - Fix various problems with the reload command - - Fix problems with conio - - Eliminate several deadlocks or potential race conditions from SD - -Enhancements: - - Project 5: Truncate volume after purge - - Project 6: File Deduplication using Base Jobs - - Project 10: Restore from Multiple Storage Daemons - - Project 11: AllowCompression per Device - - Project 23: Add Maximum Concurrent Jobs for Devices to balance load - between drives - - Add Accurate Fileset Options to configure accurate detection. Can use - checksum verification for example. - - Allow FD to keep root read but drop write permission (CAP) - - Secure handling of passwords for catalog backup - - Add Tab-completion for Bconsole when using Readline - - Add Bvfs API to query the catalog without building a memory tree - - Add new speed test to btape program - - Add new Bat screens (Autochanger content, Job view, Media view, ...) - - Windows version of Bat - - Added Spanish Bacula translation - - New bconsole -u nnn option to have timeout on commands - - Allow Migrate, Copy, and Virtual Full to read and write - to the same Pool - - show disabled -- shows disabled Jobs - - Add Pool File and Job retention periods (take precedence over Client) - - Many ACL improvements - - Level added to FD status Job entry - - Allow turning on/off Block Checksum per device - - Set Device Poll interval to 5 minutes -- previously did not poll - - Implement lock manager with bad order protection - -Compatibility: -As always, both the Director and Storage daemon must be upgraded at -the same time, and on any given machine, you must run only one version -of Bacula. This means that on the Director and Storage daemon machines, -you *must* upgrade your File daemon as well. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0 -Director and Storage daemons. There should be no need to upgrade older File -Daemons immediately. However, we recommend that you do so as soon -as is reasonable for your situation. - -================== Warning !!!!!! ========================== - -New Catalog format in version 5.0.0 (3.1.9 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version -12). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 3.1.9 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. -================================================================ - - -================== Warning !!!!!! ========================== -If you upgrade a previous Win32 client installation, you must -first stop the File daemon, then uninstall it before attempting -the upgrade. If you do not do so, the upgrade will probably -fail and you will need to manually find and run the -Uninstall.exe file, before you can upgrade to the new version. -This is because the file locations are different. If you want -to save your previous bacula-fd.conf file, please do so before -uninstalling it. -================================================================ - -================== Warning !!!!!! ========================== -Due to permissions problems on Windows Vista and later systems, -we no longer require SYSTEM or Administrator permissions to -access the binaries and configuation files. If you wish -to restrict access to these files, please see the New Features -section of the manual for how to set access control lists. -================================================================ - -Note, the Win32 Installer no longer installs the Bacula Servers -(Director and Storage daemon). See the New Features section of -the manual for more details. - -============ Documentation improvements needed ================== - -Note!!!!! The 5.0.0+ documentation has a number of known problems: - -1. We have reduced the number of manuals, which has fixed many - of the broken links found in the old 3.0.x version, but there - are still some that need fixing. - -2. Integration of the 3.0.x features into the main manuals has - not yet been done. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== - - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_0.html - -The ChangeLog has more details. - -;;;; - - -Kern;;;18 October 2009 at 21:00 -Bacula Version 3.0.3 has been released to Source Forge - -Note, if you are not already running 3.0.x, read the 3.0.x release notes - below. Important!!! - -Version 3.0.3 is primarily a important bug fix update to version 3.0.2. - -Changes since 3.0.2: -Bug fixes: - 1391, 1288, 1346, 1352, 1359, 1355, 1363, 1364, 1365, 1366, 1368, - 1369, 1370, 1371, 1382 - -Fixes: - Apply James' fix for some Exchange plugin crashes - Integrate patch for building dmg on OSX from Lorenz Schori - Fix bug #1391 Job status improperly set due to subtle variable overload problem - Fix #1352 about double free with regexp and big filenames on windows - Apply Graham's idea for recovering from disk full by recursing - when doing fixup_write_error ... - Make fix for VirtualFull changing device based on suggestion by - Nicolae Mihalache - Fix concurrent Job recycle bug #1288 - Backport part of one possible fix from bug #1346 - Fix bug #1382 newly created disk volumes -> file not found warning - Fix Alpha ifdefing -- should fix bug #1359 - Use old code for selecting file during restore. - Cherry-pick 3.1.x commits - tweak space on projects file - Fix seg fault in ignoredir code - Apply Frank's slash patch - Fix seg fault in SD bug #1371 - 3.0.2-Fix-seg-fault-in-SD-bug-1371.patch - Add more info when SD connection refused - 3.0.2-Add-more-info-when-SD-connection-refused.patch - Fix bug #1355 Director crashes with double free in Accurate SQL query - 3.0.2-accurate.patch - Fixes bug #1368 ASSERT Failure on MacOS. - 3.0.2-mac-path-len.patch - Fix #1364 and #1363 about compression buffer error. - 3.0.2-zlib-buffer.patch - Fixes bug #1365 and #1366 about MacOSX resource forks. - 3.0.2-bug-1365.patch and 3.0.2-bug-1366.patch - Fix "Exclude Dir Containing" fileset option - 3.0.2-exclude-dir-containing-fd.patch - 3.0.2-exclude-dir-containing.patch - 3.0.2-exclude-dir-containing-top_level.patch - -Compatibility: - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -;;;; - -Kern;;;20 July 2009 at 14:49 -Bacula Version 3.0.2 has been released to Source Forge -Note, if you are not already running 3.0.x, read the 3.0.x release notes -below. Important!!! - -Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with -some enhancements (see below). - -Changes since 3.0.1: - -Bug fixes: - 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 - 1317, 1318, 1323, 1325, 1331, 1333, 1335 - -Fixed: - - Fix problem with the Postgresql driver that sometime displays values - - Cleanup old job records when starting the Director - - Fix bugs in xattr code - - Fix encoding problem with Postgresql - - Fix that prevents restore by file selection from using Copy job - -Enhancements: - - Security enhancement for the File Daemon - - New directive to specify source address for outgoing connexions - - Show volume availability in autochanger when doing restore. - This is project 31 in the projects file. - - Add accurate=yes/no option to estimate command - - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure - - Add a restore menu that contructs a full restore when entering a JobId. - This is project 2 in the projects file. - - Add new Nagios plugin - -Compatibility: -Like always, both the Director and Storage daemon must be upgraded at -the same time. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 -Director and Storage daemons. It should be no need to upgrade older File -Daemon. -;;;; - -Kern;;;30 April 2009 at 17:49 -Bacula Version 3.0.1 has been released to Source Forge. - -Note, if you are not already running 3.0.0, please read the 3.0.0 release notes. Important!!! - -Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with -one enhancement (see below). - -Changes since 3.0.0: -Bug fixes: - 1276, 1274, 1275, 1272 1246, 1268, 1281, 1282. - -Fixed: -- Check for job_canceled() in fd_plugin code. -- Update Win32 table creation to have new DB version 11 format -- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf -- Remove 'Reposition' messages when restoring -- Updated projects file -- Tweak version string to display versionid field at the end - and keep fields order. - - Add additional mysql connection debug code submitted by: - Chandranshu - -Enhancement: -- Modify insertion of read Volumes in SD to be done *before* the - drive reservation. This ensures that a Volume to be read will not - be reserved for writing. Significant improvement in eliminating - tape deadlock situations. - -Note, both the Director and Storage daemons must be upgraded at the -same time. The 3.0.1 File daemons are compatible with 3.0.0 file -daemons and as noted below in the 3.0.0 release notes the Director -and Storage daemon should be compatible with 2.4.x File daemons. -In general, we do not expect any of the 3.0.x File daemons to work with older -Directors and Storage daemons (as has always been the case for Bacula -releases). - -============ Documentation improvements needed ================== - -Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the -following areas: - -1. Missing documentation. -2. Correction of links within various manuals -- most fail. -3. Integration of the new features into the main documents. -4. Much more. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== -;;; - -Kern;;;09 April 2009 at 22:30 -Bacula Version 3.0.0 has been released to Source Forge. - -This is to inform you that we have uploaded the Bacula version 3.0.0 source -tar files and the Win32/64 installer files to the Bacula Source Forge -download location. - -There are quite a number of new features in this release, and upgrading to it -requires a database upgrade, so please read the release notes carefully -(included below) and the documentation for the new features at: - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -There is still a good deal of work to do to finish the release process (mainly -reorganizing the web site manuals ...), but at least the source files are -released. The rpms should follow shortly (probably this weekend). - -If you are currently using 2.4.4, please note that within a few months that -version will no longer be supported, so please consider the possibility of -upgrading. - -This release probably has the most new features that we have ever released, -and it has taken a long time to produce it. The basic code is very well -tested, and if you stick to 2.4.4 features, you are unlikely to experience -problems. However, many of the new features have not been well tested, so -your help will be appreciated. - -The following issues with 3.0.0 are known and we are working on them: - -1. The documentation is not 100% complete (there are so many new features that -we missed documenting some). - -2. All the new documentation is in the New Features chapter, but not all of it -has yet been integrated back into the appropriate chapters. - -3. James has reported that the Exchange plugin may crash if you cancel a job -while it is running. He is working on this. - -4. The SD has many new features that will make it more stable. One in -particular is that it knows what Volumes will be read during a migration, -copy, or Virtual backup job, and will ensure that they are not selected for -writing (something easy to do if you are using disk files and the same pool -for reading an writing). However, the day after the release was cut, I found -a problem with this code that prevents it from working properly during -certain pre-allocations of the write tape. - -5. There is still an outstanding bug report on VSS failing (it seems to be a -bit of a rare case). - -As I previously announced, we will now make 3.0.0 our main release source code -stream, and we hope to release new version every six months and bug fix -updates even sooner. To be able to do this, we will support version 2.4.4 -only for a few more months. There after the project will only support the -most current release ... - -This release comprises a lot of work by a lot of different people and many -contributions. Normally I hesitate to mention particular people or -contributions because I always forget someone, but since this was such a big -release, I would like to mention at least the big contributions: - -Sponsor Company(s) - Programmer - Project -Bacula Systems - Eric Bollengier - Accurate Backup -Bacula Systems - Eric Bollengier - Catalog format enhancements -Bacula Systems - Eric Bollengier - bextract non-portable Win32 data -Bacula Systems - Eric Bollengier - Win64 File daemon -Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump -Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on - same machine -Bacula Systems - Eric Bollengier - Virtual tape emulation -Bacula Systems - Kern Sibbald - USB rescue key -Equiinet funded development - James Harper - MS Exchange plugin - -Personal contributions: -Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file -Marco van Wieringen - ACL code overhaul -Marco van Wieringen - Solaris ZFS/NFSv4 ACL support -Marco van Wieringen - Extended Attribute support -Marco van Wieringen - Shared Objects -Dirk Bartley - Bat speedup + stability improvement + many enhancements -Joao Henrique Freitas - libdbi catalog driver -Scott Barninger - rpm packaging -Kern Sibbald - many big and little projects ... -Many people -- see the AUTHORS file. - -Many thanks to everyone for making Bacula what it is today. - -=== List of new features === -- Accurate Backup -- Copy Jobs -- ACL code overhaul -- Solaris ZFS/NFSv4 ACL support -- Extended Attribute support - --disable-xattr (default=auto) -- Shared Objects - --enable-libtool (default) - --disable-libtool -- Virtual Backup -- Catalog Format Enhancements - - Support for more than 4 Billion file entries - - New stats tables -- Duplicate Job Control -- TLS Authentication -- bextract non-portable Win32 data -- State File updated at Job Termination -- Bacula Plugins - - FD bpipe plugin - - FD Exchange plugin -- libdbi DB driver -- Console Enhancements - - status slots - - list joblog - - command separator -- Bootstrap regex -- Restore seek optimization -- Virtual Tape Emulation -- Bat Enhancements -- RunScript Enhancements -- Status enhancements -- FD connect timeout default to 3 minutes -- ftruncate implemented for NFS Volumes -- FD Version compatibily flag -- Statistics Enhancements -- Faster Attribute despooling -- Document split into 6 manuals -- GPLv2 license now compatible with OpenSSL -- Win64 File daemon -- Postmortum dump improvements in SD -- Deadlock mutex detection in SD -- Improved Volume management in SD to avoid deadlocks. -- New configure install options - --docdir= (default=/usr/share/doc/bacula-VERSION) - --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files) - --plugindir= (default=sysconfdir, where plugins will be installed) -- New Bare Metal Recovery with USB key. See rescue/linux/usb - New Directives: -- Max Full Interval -- Max Diff Interval -- Honor No Dump Flag -- Exclude Dirs Containing -- Recycle Pool -- Max Run Sched Time -- Max Wait Time -- Full/Diff/Incr Max Run Time -- Scratch Pool -- Max Console Connections -- Spool Size (in Job resource) -- Allow Mixed Priorities -- Allow Duplicate Jobs -- Allow Higher Duplicates -- Cancel Queued Duplicates -- Cancel Running Duplicates -- TLS Authenticate -- Console (in RunScript) - -New features from Project Items Completed for version 3.0.0 - also listed above: -Item 1: Accurate restoration of renamed/deleted files -Item 3: Merge multiple backups (Synthetic Backup or Consolidation) -Item 4: Implement Catalog directive for Pool resource in Director -Item 5: Add an item to the restore option where you can select a Pool -Item 8: Implement Copy pools -Item 12: Add Plug-ins to the FileSet Include statements. -Item 13: Restore only file attributes (permissions, ACL, owner, group...) -Item 18: Better control over Job execution -Item 26: Store and restore extended attributes, especially selinux file -contexts -Item 27: make changing "spooldata=yes|no" possible for -Item 28: Implement an option to modify the last written date for volumes -Item n: Split documentation into several books -================================ - - - Release Notes for Bacula 3.0.0 - - Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in) - -The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release -represents an enormous effort. - -This Director and Storage daemon must be upgraded at the same time, -but they should be compatible with all 2.4.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. However, any -release of version 2.5.40 or greater requires a database upgrade. - -================== Warning !!!!!! ========================== - -New Catalog format in version 3.0.0 (2.5.40 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version -11). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrad the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 3.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -The upgrade operation will convert the FileId index field of the File table -from 32 bits to 64 bits. This operation will take TIME and will *temporarily* -DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update, -so, won't be able to run jobs during this period. For example, a 3 million -files -catalog will take 2 mins to upgrade on a normal machine. Don't forget to -backup it before executing the script. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 2.5.40 -(e.g. 2.4.4) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - - -Important New configure options : ----------------------- - -This release of Bacula 3.0.0 uses libtool by default -to generate the Bacula libraries as shared objects rather than -being directly linked in as in prior versions. This means that -the Bacula shared objects, must either be in a shared object -directory known to the loader or they must be in the directory -where the Bacula binaries are installed. It is also possible -to explicitly specify the libraries directory on the ./configure -line (--libdir=/full-path/dir), but this should not be necessary. - - ./configure --libdir= - -If you have problems with libtool or you wish to use the old -way of building libraries and linking them into Bacula, you -can do so by disabling libtool on the configure command line with: - - ./configure --disable-libtool - -During the installation of Bacula 3.0.0, it will now install -bat help files (if you have configured bat). These files -are placed in /usr/share/doc/bacula/html by default. If you -want to put them elsewhere use: - - ./configure --htmldir= - -During the installation of Bacula, it will now install the -ReleaseNotes, License, technotes, ChangeLog, and similar -files in /usr/share/doc/bacula by default. If you -want to put them elsewhere use: - - ./configure --docdir= - -During the installation of Bacula, any plugins will be -installed in the plugindir, which is by default the -same as libdir (/usr/lib). You can specify an alternate -location with: - - ./configure --with-plugindir= - -============================================================== - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -The ChangeLog has more details. - -;;; -Kern;;;03 Nobember 2008 at 17:35 -Critical 2.4.3-orphaned-jobs.patch released -We recently found and corrected a serious bug in Bacula that causes jobs to be -orphaned or "stuck" in the director during the pruning process. Depending on -what jobs get stuck and how many there are, it could prevent additional jobs -from running. As best we can tell, this problem occurs only during what could -be called extreme pruning conditions -- i.e. there are insufficient Volumes -available for normal operations. - -In any case, we recommend that everyone apply the 2.4.3-orphaned-jobs.patch, -which you can find in the bacula-patches section of the Source Forge download -area as well as in the directory patches of both the trunk and Branch-2.4 SVN. -;;; - -Kern;;;12 October 2008 at 10:30am -Creation of Bacula Systems SA -Dear Members of the Bacula Community, - -I'm pleased to announce the creation of Bacula Systems S.A., a new company to -provide professional support and service for Bacula. I believe you will be -pleased to see how we have married a strong commitment to the ethos of honest -open source software with the availability of services desired by a wide -range of Bacula users. - -As many of you know, I began work on Bacula in 2000 and released the first -public version in April 2002 to Source Forge. Although I have personally -written a very substantial part of the code, I offer sincere thanks to the -many members of the community who have provided ideas, fixes, testing, and -contributions of code, without which Bacula would not be what it is today. -It has been a labor of love and I am pleased that so many people have found -Bacula useful. - -Before telling you more about Bacula Systems, let me reiterate my unfaltering, -ongoing commitment to open source software and the Bacula open source -project. The code for Bacula and all future releases will remain available as -free open source software under the GPL license that I transferred to the -protection of the Free Software Foundation of Europe. Unlike some other open -source projects, there will be no separate "enterprise" or proprietary -version of the Bacula source code. www.bacula.org will continue to be the -home for Bacula project development. - -So, why create Bacula Systems? The company was created to respond to requests -from users who want professional support with guaranteed levels of service -and response times. To ensure continuity and the highest level of knowledge -transfer, I will take the position of Chairman of the Board and Chief -Technical Officer of Bacula Systems S.A.. - -Several members of the Bacula community have joined me to start the company. -The other team members are also strongly dedicated to the spirit of keeping -Bacula open and free while simultaneously offering commercial services to -those for whom it is essential in making the decision to deploy Bacula. -Bacula Systems is self-financed -- the initial capital comes from the -founders; no outside venture capital was sought or accepted. This means we -have the power to establish the company's priorities and we can remain -dedicated to "honest open source". Bacula Systems S.A. is a Swiss company -with offices in Yverdon-les-Bains, and with branches in France and Germany -initially. We will open additional branches as business requires. - -I will continue to support development of Bacula via bacula.org and the Bacula -community. Future developments will be in the "community" code base which -will remain free. Bacula Systems will offer "funded development" to -customers who wish to accelerate the addition of certain features to Bacula. -Code developed this way will be contributed to the free distribution and will -be available to the entire community at no charge. Bacula Systems will -provide additional fee-based services, including high quality consulting, -training, documentation and certified binaries. - -Our goal in establishing Bacula Systems is to be inclusive of the community, -and expand it by creating opportunities for members of the Bacula community -through a well-defined Partner Program. If you provide IT services or -consulting, the Bacula Systems Partner Program can provide you with the -additional back-up (pardon the pun) support you need to serve your customers -more effectively. - -Our plan is to develop an international network of partners who offer high -value added services to Bacula users -- installing, configuring and optimizing -Bacula for their customers, as well as Level 3 and 4 support, with guaranteed -service levels. We will also provide training and tools to our partners. - -The Bacula project website, www.bacula.org, and Source Forge will be unchanged -in the mission and ideals of being free sources of information, mail lists -and forum-based support for and by the community. Both Bacula source code and -Bacula binaries will continue to be available for free, as in the past, and -new releases will also be available for free. The new commercial website, -www.baculasystems.com will provide information on commercial subscriptions -for those users who want guaranteed levels of service, support, documentation -and certified binaries. - -All members of the Bacula community are encouraged to register for free at -www.baculasystems.com, so that you will receive announcements and news about -our commercial activities, and so that you can send feedback to our new -company, Bacula Systems. - -Thank you for your interest and participation in the Bacula community. - -Sincerely, - -Kern Sibbald -;;; - -Kern;;;11 October 2008 at 11:30am -Bacula version 2.4.3 Released -This is to let you know that the source tar files and the Win32 binaries for -Bacula version 2.4.3 have been released to the Bacula Source Forge download -area. - -Release 2.4.3 - This is a bug fix to version 2.4.2. All daemons are compatible - with other 2.4.x versions. - -Bugs Fixed: - 1159, 1162. 1149, 1128, 1143, 1140, 1129 - -Change Summary: -- Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel - a non created job faster. -- This should correct bug #1159 where Migration does not properly - respect the Migration Low Bytes directive. -- Fix typo in configure.in that breaks --with-db-password option -- 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. -- Remove all double quotes from SQLite creating script and - replace by single quotes as suggested by John Huttley. -- Fix SQL case problem that may cause the failure of DiskToCatalog - in bug #1149. -- Copy missing storage name into edit buffer. As far as I can tell - this never caused a bug. -- Remove catalog dependency for bcopy -- Modify catalog scripts to have an easier packaging integration, - using default variables. - Make difference between SQLite3 and SQLite in db_get_type() -- Attempt to fix bug #1128 InChanger flag cleared during Migration - job when reading from one autochanger and writing to another. -- Add more information to SD acquire.c INFO messages. -- Fix NULL Volume name error when reading and the drive must - be switched. -- Fix a Verify InitCatalog problem where in certain cases - a garbage filename may be entered in the verification database. This - fixes bug #1143. -- Add space after version before date in bat about dialog. -- Fix seg fault in Dir during estimate command with no level value - given. This fixes bug #1140. -- Add message to migration job when the target job is already migrated. - This closes bug #1129. - -Unless some really serious new bug shows up, this will be the last release -until the next major version (3.0.0), which we hope will be ready around the -end of the year. -;;; - -Kern;;;26 July 2008 at 10:30am -Bacula version 2.4.2 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.2 to the Bacula Source Forge download area. - - This is an important bug fix release since version 2.4.1. - -Bugs Fixed: - 1034, 1125, 1118, 1124, 1107, 1129, 1126 - -Change Summary: -26Jul08 -- 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. -- Break the do_swapping into do_unload, do_swapping, and - do_load. It is much more logical that way. -- 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 -- Apply patch submitted for bug #1107 with a small modification. - This fixes a bug where bcopy copied too many records. -- Make some tweaks to bsmtp based on patch submitted in bug #1124. - This fixes bug #1124. -- Make the default bat restore Pool be Any. This fixes bug #1118. -- 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. -- Fix #1034 by setting big timeout on mysql connections -- Do partial integration of the Win32 bat build created by Eric. -- Ensure that SD tried to mount a volume not in an autochanger - at least once before asking for operator intervention. -- Fix a pthreads bug in the Win32 pthreads emulation code affects only - version 2.5.x and above. -;;; - -Kern;;;7 July 2008 at 10:30am -Bacula version 2.4.1 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.1 to the Bacula Source Forge download area. - -Bugs Fixed: - 1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112 - 1117, 1116, 1097. - -Change summary: -- Clear in-use bit on vol when unused while swapping. -- Remove sleep at end of ./bacula -- Clear hash packet for hardlinked files correctly. This corrects - a long standing bug where hardlinked files selected individually - would occasionally not be restored. -- Apply Eric's patch to ensure that autoprune does not return - a Volume not in the autochanger unless requested to do so. -- Correct bat restore display of multiple drives. This fixes - bug #1117. -- Do find_a_volume() each time an unload is done. This - fixes the failure of maxvol2-test. -- Use Qmsg() in job.c watchdog callback. -- Release main control rwlock if ABORTing. -- Make watchdog connect timeout queue messages rather than sending - directly to avoid lock conflicts with the real thread. -- Remove const char that causes problems with Python, which has - older 'incorrect' headers. -- Add const char in dbd.c to avoid compiler warnings. -- Fix mtx-changer to detect both versions of Ubuntu (Debian) - mt. This fixes bug #1116. -- Fix failure of 2drive-concurrent-test. Always read label; - clear_unload() only after drive is defined in acquire_for_read(). -- Generally clean up the manual tape loading code. The main - conceptial 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. -- Fix a recycling problem with two autochangers reported in bug - #1106. This may also (unlikely) fix a second recycling bug as - reported in #1103. -- Fix a SD lock volumes deadlock problem reported in bug #1100. -- Fix format problem in bscan output reported in bug #1105. -- Copy more data when restarting a job so that run - overrides are kept. This should fix bug #1094. -- Backport updates to jobq.c where possible. -- Fix bug where SD did not ask operator if the device could not - be opened. Reported by Eric. -- Add dbuser to DIR conf file (replaces user). -- Add --with-db-password to ./configure -- Fix regress to handle db_password. -- Fix a couple of pedantic compiler warnings. -- Fix bug when starting a restore on a storage that doesn't - have the requested MediaType. -- More work on word alignments -- eliminate all ints from - the configuration routines. -- 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. -- Fix word alignment problem on non-Intel 64 bit machines - such as Solaris. This should fix bug #1097 -- bus error in SD. -- Add missing win32/patches/wxWidgets.patch to 2.4 repository. -;;; - - -Kern;;;4 Jun 2008 at 10:30am -Bacula version 2.4.0 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.0 to the Bacula Source Forge download area. - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -As usual, we strongly recommend when installing to keep the Director and the -Storage daemon on the same version. However, since this release only -contains refactored code and bug fixes rather than new features, the clients -(File daemons) should function perfectly with any 2.2.x version, and there is -no database upgrade needed. - -===================================================== - - Release Notes for Bacula 2.4.0 - - Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in) - -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 nor from version -2.2.x to version 2.4.0 - -================== Warning !!!!!! ========================== -As of Version 2.4.0, the Win32 FD should not descend into -any reparse point directory or reparse mount points unless the -specified directory is explicitly mentioned at the top level of -FileSet (as with Unix). A file that is linked to another file will -be backed up, much like Unix hardlinked files. If you want -reparse directories backed up, you must explicitly include them -in your FileSet. -====================================================== - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -Bugs fixed: - 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038 - 1062, 1065, 1046, 1047, 1031 - -New features: -- You can now build bat without the QWT libraries. Use - --without-qwt as a ./configure option. - -Release Version 2.4.0 -- Update version to 2.4.0 to reflect the magnitude of the SD changes. -- Make sure to clear JS_WaitMedia when operator mounts a Volume. - This fixes bug #1095. -- Add create_postgresql_database.sql to Win32 installer. Should - fix problem reported by Juilio Monteiro. -- Get correct slot when auto unloading a device. This fixes bug - #1086. -- Fix possible seg fault if SQL error. -- Fix renaming a Volume, which used the wrong Volume name. -- 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. -- Ensure correct volume name displayed during restore -- Fix a few more Coverity reported problems. -- Fix #1091 about bad output in estimate command. -- Modify autochanger locking to attempt to avoid race - conditions. -- Make sure device not busy before doing label command. -- Display open() errors except when polling. Previously too - many were suppressed. This should fix bug #1070. -- 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. -- Remove StorageId test when pruning and recycling (Eric's changes). -- Fix buffer overruns detected by Coverity. -- Implement --without-qwt -- Fix layout of restore tree dialog -- Add configure bat QWT libraries, so that bat can be built - with or without the QWT libaries. -- Implement regression that explicitly tests swapping a Volume - from one drive to another. -- Enhance disk-changer to detect most error conditions. -- Fix SD code so that it properly swaps a Volume between drives. - This fixes bug #1083. -- Prevent a Volume that is being swapped from being freed from - the volume list. This will most likely fix, at least partially, - bug #1083. -- Fix strippath so that it does not get a buffer overrun and crash FD. - This fixes bug #1078. -- Make inability to change owner/group when creating a dir only a - warning rather than an error. -- Fix SQL query in migration code -- Fix bat seg fault at termination. -- Add Bacula generated version to bat about box. -- Backport development stream SD reservation system changes. -- When wrong volume is mounted during read, unload_autochanger. -- Stop searching for Volumes in SD askdir if DIR returns the - same volume name twice in a row. -- Rework class structures for VOLRES, DCR, and DEVICE to make - the method names a bit more logical, and for more logically - handling the responsibilities. -- Remove redundant code in terminating the scheduler that just - causes a seg fault in many cases. -- Improve algorithm for detecting pre-reserved volume and - swapping volumes. -- Prevent volume from being released while being swapped. -- Refactor parts of stored/mount.c -- Add sanity checks for VolWriteTime and VolReadTime -- Take care of bad clock changes while computing VolWriteTime - and VolReadTime. This should fix or limit #1066 -- Correct error string numbers in dird/catreq.c -- Restructure reserving, acquiring, and mounting volumes. Calls to - autochanger are deferred for mount.c -- simplifes the code. -- Do not prune any running job. It just fails the job. -- 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. -- Correct some SD catalog request error messages. -- Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -- Turn off unloading the autochanger in reserve.c as it just - causes problems. -- Lock volumes when unreserving a device. -- Do not mark volume unused when recycling. -- Fix bug #1068 fixes a SD crash when using Virtual autochanger. -- Generate correct JobMedia records during spooling/despooling when - running concurrent jobs. Thanks to Tom Ivar Helbekkmo - for excellent analysis and testing. -- *Massive* commit of all fixes and back ports to create 2.2.9 - Mostly SD reservations enhancements. -- Fix Win32 FD backup/restore memory leak due to improper termination - of BackupRead/Write. This fixes bug# 1038. -- Fixes a StorageId problem with volumes after migration. -- Implements autostart scripts for Debian -- Fix mtx-changer.in for broken Debian mt program. -- Apply doc fix from bug #1062. -- Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. -- Update Win32 wxWidgets to latest version. -- Attempt to do correct handling of Win32 mount points. Should - fix bug #1046. -- Add const to AIX prototype for initgroups() -- Fix to the JobMedia patch, which introduced a new problem. -- Fix creating first JobMedia record during Migration to include - proper index. This caused slow restores of migrated jobs. -- Fix bug #1047, do not strip paths on symbolic links. -- Set catalog backup database and user name from values specified on - the ./configure line. -- Apply patch to correct bug #1031, about wrong pool source information - in job report. -;;;; - -Kern;;;27 Jan 2008 at 10:30am -Bacula version 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula and Win32 release areas -of Source Forge. I have hidden the previous BETA release - -Version 2.2.8 is a bug fix to version 2.2.7 and has a few - additional bugs fixed than the BETA 2.2.8 version previously - released: -- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030, - 1042(partially), and possibly bugs 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers, - and are difficult to reproduce. - See the ChangeLog for more details. - Note, if you previously loaded version 2.2.8 BETA, you will probably - want to upgrade, but it is not urgent ... -;;; - - -Kern;;;9 Jan 2008 at 20:30 -Bacula version BETA 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula-beta and -Win32-beta release areas of Source Forge - -Version BETA 2.2.8 is a bug fix to version 2.2.7: -- It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers. -;;; - -Kern;;;24 Dec 2007;;20:30 -Bacula version 2.2.7 Released -Bacula version 2.2.7 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge - -Version 2.2.7 has several new features and several important bug fixes - since version 2.2.6: -- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020 - 1007, 1008. For more details, please see the technotes-2.1 file. -- Fixed a seg fault reported by Frank Sweetser that depended on - exact path lengths, but the problem was in bsnprintf.c -- Double quoting include filenames (@xxx) in Bacula conf files is now - possible, thanks to a patch by Michael Stapelberg. -- You can pipe input to include filenames (@|prog) by using a vertical - bar, thanks to the above patch. -- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from - Nerijus Baliunas. -- Marc Cousins submitted a patch that permits building the PostgreSQL - driver with version 8.3. -- The configure option --archivedir has been changed to --with-archivedir -;;; -Kern;;;9 Nov 2007;;15:25 -Bacula version 2.2.6 Released -Bacula version 2.2.6 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge. - -This release is a minor fix upgrade to version 2.2.5, -and we recommend that all users upgrade when they can. - -Version 2.2.6 is a minor bug fix realease to version 2.2.5 -- It fixes bugs: #1003, 942, 982, 990(response only), 991, - 993, 986, 976. - - Fix bat crash wen it cannot connect to Director. - - Fix joblist failure bug in bat. -;;; -Kern;;;9 Oct 2007;;15:25 -Bacula version 2.2.5 Released -Despite the fact that the Release Notes are rather short, the bug -fixes represent quite a lot of work: - -Version 2.2.5 is a major bug fix release to version 2.2.4 -- It fixes the following bugs: #961, 962, 963, 969, 968, 960, - 964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954, - 957, 908, 958, and 955. -- It also improves listing performance problems in bat pointed - out by Chris Howells. -;;; -Kern;;;29 Sept 2007;;20:30 -A serious data loss bug in Bacula version 2.2.4 found and fixed - -This bug was very elusive and time consuming to track down. It -turned out to be a race condition that can lose the last one or -two blocks of a Job, which can happen in rare cases only when -running multiple simultaneous jobs when a volume fills and one -Job finishes receiving the last data from the FD and at the same -time a second job detects the end of the Volume. The bug was -introduced in version 2.0.0 and did not exist in version 1.38.x. -If the bug is triggered, the data is lost (not written to the -Volume), and it can occur for any backup job of any level under -the conditions noted above. - -The bug is reported in the bugs database as bug #964, and just -this morning I found and tested a fix, which is attached as a patch -to the bug report. The patch (2.2.4-lost-block.patch) is also -uploaded to the bacula-patches 2.2.x release area. This bug may -also be part of the problems reported in bug #935 and possibly -#903. - -Also in the bacula-patches 2.2.x area, you will find other -patches that fixes bugs #953, 966, 967, 965, 958, 908, and -955. Please refer to bugs.bacula.org for the details. - -Though this bug quite serious (data loss), it should be rare. -However, we recommend everyone to apply the patch. -;;; -Kern;;;2007/9/14;;;14:30 -Bacula version 2.2.4 Released - -This version of Bacula is a minor bug release to version 2.2.3. -It contains the following fixes: - -- Possible fix for authorization problems bug #953. -- Possible fix for bug #908. -- Add waits to multiple exit detection code to try to force pid - file to always be deleted. -- Restore good dev.tar.gz to rescue set appropriate binary property. - This fixes bug #950. -- 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. -- Cancel storage daemon in all cases where FD reports error. This - should fix virtually all cases of bug #920 and will ensure that Devices - are released as soon as possible. -- 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. -- Fix migration code to get correct Volume name with multiple volumes - by skipping |. Fixes bug #936. -- Implement patch supplied by Landon to fix bug #944 where using - TLS with bconsole uses 99+% of the CPU. -- Fix bug #946 about "bacula-dir -t" which doesn't works - as expected. -- Using "m" in bconsole will show messages as in prior versions - and not memory usage. - -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. -;;; -Kern;;;2007/9/9;;;14:30 -I regret to announce that there is a rather serious bug in Bacula. - -Bacula bug #935 reports that during a restore, a large number of files are -missing and thus not restored. This is really quite surprising because we -have a fairly extensive regression test suite that explicitly tests for this -kind of problem many times. - -Despite our testing, there is indeed a bug in Bacula that has the following -characteristics: - -1. It happens only when multiple simultaneous Jobs are run (regardless of -whether or not data spooling is enabled), and happens only when the -Storage daemon is changing from one Volume to another -- i.e. the -backups span multiple volumes, and it only happens for Jobs writing -to the same volume. - -2. It has only been observed on disk based backup, but not on tape. - -3. Under the right circumstances (timing), it could and probably does happen -on tape backups. - -4. It seems to be timing dependent, and requires multiple clients to -reproduce, although under the right circumstances, it should be reproducible -with a single client doing multiple simultaneous backups. - -5. Analysis indicates that it happens most often when the clients are slow -(e.g. doing Incremental backups). - -6. It has been verified to exist in versions 2.0.x and 2.2.x. - -7. It should also be in version 1.38, but could not be reproduced in testing, -perhaps due to timing considerations or the fact that the test FD daemons -were version 2.2.2. - -8. The data is correctly stored on the Volume, but incorrect index (JobMedia) -records are stored in the database. (the JobMedia record generated during -the Volume change contains the index of the new Volume rather than the -previous Volume). This will be described in more detail below. - -9. You can prevent the problem from occurring by either turning off multiple -simultaneous Jobs or by ensuring that while running multiple simultaneous -Jobs that those Jobs do not span Volumes. E.g. you could manually mark -Volumes as full when they are sufficiently large. - -10. If you are not running multiple simultaneous Jobs, you will not be -affected by this bug. - -11. If you are running multiple simultaneous Jobs to tapes, I believe there is -a reasonable probability that this problem could show up when Jobs are split -across tapes. - -12. If you are running multiple simultaneous Jobs to disks, I believe there is -a high probability that this problem will show up when Jobs are split across -disks Volumes. - -13. The bug concerns only the Storage daemon so there is no need to update -the clients, though I do recommend updating the Director when installing -an updated Storage daemon. - -I have uploaded patches to bug #935 (bugs.bacula.org) that will correct -version 2.2.0, 2.2.1, and 2.2.2. The patch has been tested only on version -2.2.2 and passes all regression tests as well as the specific test that -reproduced the problem. - -The patch has now been confirmed to fix the problem reported, and Bacula -version 2.2.3 has been released to Source Forge. - -For the technical details of the bug, please see: - - http://www.bacula.org/downloads/bug-935.txt - -;;; - -Kern;;;2007/8/11;;;14:30 - -Bacula Version 2.2.0 has been released to Source Forge. - - 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=. 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). - -;;; - -Kern;;;2007/3/6;;;14:30 - -Bacula Version 2.0.3 has been released to Source Forge. -This is a bug fix release to version 2.0.2. If you are upgrading from -a version older than 2.0.0, please be sure to read the important notes -below. - -Also, please check the patches directory in the current SVN or the -patches release section on Source Forge for important bug fixes to -this version. - -5Mar07 -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. -04Mar07 -kes Add smartctl call to bacula-sd.conf as an example of getting - tape alert info. -02Mar07 -kes Add Client Connect Wait to Storage daemon to permit users to - modify the time the SD waits for a FD connection. -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 Fix a few places in lib/message.c where the open fd may - not be zeroed. -21Feb07 -kes Add LANG=C to autoconf/randpass so it works with languages other - than English. Fixes bug #788. -20Feb07 -ebl Revert ClientRunBeforeJob as it was in 1.38.x - This fixes bug #780 - You will not be able to generate Include/Exclude list any more. - 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. -16Feb07 -kes Fix encryption deblocking bug, which caused some restored files - to be truncated. This fixes bug #763. This is a CRITICAL bug fix. -kes Add FD event sequence order prepared by Eric -- for RunScripts. -kes Fix 12am/pm bug as reported in bug #782. -15Feb07 -kes Add quick disconnect FD code from 2.1.4 to 2.0.3. This code - causes the SD to release the FD as soon as the FD has sent - all the data to the SD. After that the SD will do any final - despooling (data and attributes) that are necessary. This - allows laptops to disconnect much quicker from the network - after a backup. -13Feb07 -kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. -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 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). -09Feb07 -kes Update projects list. -08Feb07 -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). -26Jan07 (back port) -kes Implement item #12 on project list -- quick release of FD by - the SD. This is noted in more detail above. - -;;; - -Kern;;;2007/1/28;;;14:30 - -Bacula Version 2.0.2 released: -28Jan08 -kes Fix maxruntime bug #621. -27Jan07 -kes Get current main CVS .specs for RedHat, SuSE, Mandrake. -26Jan07 -ebl Implement the include JobID in spool file name project. -kes Reorder projects file in order determined by Jan 2007 vote. -kes Fix open of SQLite3 db where user does not have write permission - so that DIR does not crash. Fixes bug #761. -25Jan07 -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. - -;;; - -Kern;;;2007/1/13;;;14:30 - -Bacula Version 2.0.1 has been released to Source Forge. -This is bug fix update to version 2.0.0 and contains -the following fixes: - -- Fix Bacula->Documentation link on Win32 to point to index.html - instead of bacula.html. Fixed bug #750. -- Return JobId in db_get_job_record() when JobId==0. This should - fix bug #741. -- Do not release source pointers when restarting a failed job. -- Add dynamic dll entry point for SHGetFolderPath to Win32 code. - This *should* fix bug #747. -- Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix - bug #742. -- 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. -- Add back code to disable conio in configure. Fixes bug #743. -- Correct the Options scanner in the FD to correctly handle - SHA1 option, which was eating the next option. Reported by - Sebastien Guilbaud. -- Add code to indicate when the SD is spooling, spool wait, and - despooling as requested by Alan Brown. - -;;; - -Kern;;;2007/1/4;;;14:30 - -Bacula Version 2.0.0 has been released to Source Forge. - -There is an English Press Kit, written by Dan Langille at: - - http://www.bacula.org/about/press/presskit200.html.en - -and a German version, translated by Arno Lehmann at: - - http://www.bacula.org/about/press/presskit200.html.de - -;;; - -Kern;;;2007/1/4;;;14:31 - - Release Notes for Bacula 2.0.0 - - Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in) - -==== IMPORTANT Catalog update required ===== -- The database format has been updated from what was used in - Bacula 1.38.x. You must manually update your database before - running Bacula 1.39.x or higher. If you are using Bacula supplied - RPMs this is not necessary as the RPM does it automatically. - Please backup your previous version of the database before - running the update. The update script will be automatically - installed in your scripts directory, or can also be found in - /src/cats. It is called: - - ./update_bacula_tables - - It is necessary to run it only once the first time you move to - a 2.0.0. Upgrading the Bacula version thereafter does not - require updating the database again. Depending on the size of - your database the script make take a bit of time, to run, but - in general, it should be very fast. - -==== IMPORTANT new Win32 install procedure ===== - For Win32 migrations from versions prior to 1.39.0 nothing special - needs to be done to upgrade. Everything should be taken care of - automatically. The only thing not done is to delete the old C:\bacula - directory mostly out of paranoia. - -==== IMPORTANT miscellaneous ==== -- The Gnome console program (gconsole) no longer functions as it - should.More importantly, in restore mode, the restore tree is - no longer shown in the left pane. I suspect this is due to - incompatible changes in the GTK+ API, and hence have given up - on gnome and gtk+, as this has already happened several times - previously. At some point there will be a new GUI console. -- The bacula-dir.conf directive Accept Any Volume has been - removed because it was never implemented. You must delete all - occurrence of this directive for the Director to run. The Storage - daemon will automatically accept any valid Volume that you mount. -- The --mandir ./configure option now points to the top level man - directory. The man files will be installed under mandir/man8 and - mandir/man1 as appropriate. -- You *should* be able to use 1.38.x FDs with version 2.0.0 Director - and SD providing you do not use any of the new features (runscript, - data encryption). It seems to work here, but we do not guarantee it. -- Your Director and SD must be simultaneously upgraded. -- The restore command no longer uses the MediaType as the primary method - of finding a suitable Storage device. Normally it will select the last - device used to write a Volume. If no storage device is defined, it - will use the old algorithm which selects the first Storage resource - with the correct MediaType. -- The MD5/SHA1 hash codes kept in the database are now kept in a binary - format compatible with the rest of the world. If you are running verify - jobs, you *must* do an InitCatalog or all files will show an MD5 - difference. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. This has been tested, but more - more testing is still needed. -- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses - the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25 - kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works. - This problem may also be present in certain Fedora FC5 kernels. -- If you have been using the data encryption feature of 1.39.x, please - be aware that certain combinations of encryption and other options - with version 1.39.0 through 1.39.26 created Volume data that cannot - be restored. We strongly recommend that anyone using encryption - carefully review his/her backups and at a minium do a Full backup - with 1.39.28 of all encrypted data. Robert Nelson has identified - and fixed it as follows: - As of 1.39.27: - No filters = Works fine - Sparse = Works fine - Compression = Works fine - Encryption = Works fine - Sparse + Compression = Works fine - - Sparse + Encryption = Restore broken - Sparse + Compression + Encryption = Restore broken - Compression + Encryption = Restore broken - - As of 1.39.28: - Most combinations work, but some encrypted files are - not properly restored. - - As of 1.39.30: - All combinations work fine except Sparse+Encryption. - - Bottom line, if you are using data encryption, please test restoring - data to be sure it all works correctly. -- The current Volume format written by 1.39.22 is different from - the format written by previous versions. The two formats - are not compatible. Thus any DVDs written prior to 1.39.22 will - be unreadable by version 1.39.22. -- If you previously run a Bacula version prior to 1.39.30, the JobMedia - data may not be correct for disk Volumes. This can cause incorrect - seeking in versions after 1.39.30. If you experience what appears to - be data I/O or integrity errors during restores, please add the - following directive to your disk DEVICE resource in the Storage - daemon conf file: - - Block Positioning = no - - This will turn off all seek requests during restores and avoid - this problem. -- VSS for Windows clients is now enabled by default. -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger, see manual. - -New Features in 2.0.0: -- Turn on disk seek code for restores. -- There is a partial but reasonable translation of the Bacula - messages for French. To install it, first configure and build - Bacula, then as root run: - - cd /po - make install - - If you have your locale set properly you will get the translated - messages. -- Bacula now support Migration jobs that are documented in a new - Migration chapter in the manual - http://www.bacula.org/dev-manual/Migration.html -- Data encryption is now implemented and is documented in - a new chapter of the manual at: - http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html -- Additional support for removable devices. See the - Requires Mount, Mount Point, Mount Command, and Unmount - Commands in the Storage daemon configuration chapter: - http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html - Also see the Edit Codes for Mount and Unmount Directives in the - same chapter. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The initial work was done by Howard Thomson, - then tweaked by me. Robert Nelson then totally reworked the - cross-compiling code so that it not only cross-compiles, but - also compiles on Visual Studio, and at the same time, he added - all the current Unix features to the FD, such as selection on - drives, encryption support, building *all* the tools, ... -- The Director and Storage daemon have now been ported to Win32. - This code is working but should still be tested carefully - before putting into production. -- Bacula restore and bextract can now extract non-portable Win32 data to - any client (including Unix/Linux clients). Of course, in doing so, - the Microsoft specific permissions and ACLs will be lost. Thanks - to Thorsten Engel for this code. -- The 260 character limitation for Win32 paths name lengths is now - eliminated thanks to Thorsten Engel. However, if you are using - Volume Shadow Copy, please be careful to specify all the paths - in the bacula-fd.conf file using a full path notation including - the drive letter. -- Eric Bollengier wrote new RunScript directives that includes - the old RunBefore/AfterJob and ClientRunBefore/AfterJob features - plus a *lot* more, allowing you to control just about every aspect - of running scripts. See the manual for detailed documentation. - http://www.bacula.org/dev-manual/Configuring_Director.html#5227 -- SunOS ACLs should now work thanks to a patch from David Duchscher. -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - "list nextvol days=xx" - or - "status dir days=xx" - This can be used to preview the next scheduled job (and the - next tape to be used) on Fridays if there are no scheduled jobs during - the weekend. -- From Eric Bollengier. One can now using the bconsole wait command do: - wait (wait for all jobs to stop) - wait jobid=nn - wait jobuid=unique id - wait job=job-name -- Volumes can now be set to Enable, Disable, or Archive. If they - are not enabled, Volumes will not be mounted. - Implement update volume enable=(on|off|true|false|archived|0|1|2) -- Add Catalog message destination in Messages resource that puts the - job report in the Log database table. -- Writing/reading DVD Volumes is much more stable -- to the point - of being useful. Thanks to Richard Mortimer. -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- The database Id records should be 32/64 bit independent now. 64 bits - can be enabled by changing one define and changing the appropriate - table variable. Normally, you need 64 bits only for FileId. -- Relative path specifications (i.e. ../xxx) are now permitted in - the restore cd command. -- When running multiple simultaneous jobs, most jobs that use spooling - will now finish faster due to a mutex optimization made by Eric - Bollengier. -- Conf files containing UTF-8 marker at the head of the file as well as - conf files containing Window cr/lf and Mac cr line termination characters - are now accepted thanks to Robert Nelson. -- Windows tray status windows are scrollable and resizable. -- Win32 external script execution is much more flexible -- handles - spaces in names better, ... -- Lots of DVD fixes -- writing DVDs is now reported to work. -- Fix opening of database in a restricted console to respect - any Catalog ACL. -- Much better automatic handling of multiple database catalogs in - the restore command. -- Permit multiple console/director resources in bconsole.conf. - patch from Carsten Paeth calle@calle.in-berlin.de -- Character substitution in Job/JobDefs WriteBootStrap. - from Eric Bollengier. -- Apply patch supplied in bug #656 to pass priority field - in the run dialog to the Director in gnome console. -- Add support of encrypted data stream to bscan from Eric. - display data_len instead of data content (may be binary). -- Add Enabled=xxx on update slots command. -- Add host:port to connect failure messages to FD and SD from Dir/ -- Add WhereACL to console ACL list. If nothing is specified, only - the default is permitted for restore. Otherwise, *all* allows any - path, or you can specify permitted paths. This should allow control - over where users can restore files. This is untested. -- Install man pages with 'make install'. -- Add Media.Enabled flag to client backups for dotcmds.c -- Enforce Media.Enabled=1 for a current restore to work -- Require restore case 3 to have sqlquery permission to work. -- Add -n option to bconsole to turn off conio -- used in bweb. -- The bytes field in the terminated jobs part of the status - command now reports in KB, MB, ... units. -- When not descending into a directory, print the File= name that - triggered it -- makes why not descending a bit clearer -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger -- Fix bug #462 incorrect error message printed when client script called - from File= was not found. -- Fix bug #558 (waiting for feedback) where Bacula needs too much time to - do a rewind on Solaris when no tape is in the drive (Solaris does not - have the detailed errno found on Linux). Added Solaris specific code. - Note, this may apply to other OSes as well. -- The examples directory has a new bacula_mail_summary.sh file that - creates a single email summary of any number of jobs. Submitted by - Andrew J. Millar. -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Modify most restore error messages to be queued so that they - appear at the end of the job rather than mixed with the restore - listing where they could be "lost". -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Added a report.pl program to the examples directory from Jonas Bjorklund. -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -- Implement new code for changing userid and group at startup. This - should get Bacula into the correct groups. -- Implement support for removable filesystems -- device type directive - and mount, unmount directives. -- Transfer rates are now presented in a more readable format thanks - to a user submission. -- SD is now aware of what volumes are mounted. More information is printed - in the Status report. You must take much more care now to unmount - devices prior to removing tapes that Bacula has open or prior to - changing a magazine. Don't forget to do a mount afterwards or the - device will be blocked. -- The Pool Maximum Volumes directive is now respected in all places. -- A Storage device can now be specified in a Pool resource. It will override - all other Storage specifications. -- Most but not all directives accept true/false in place of yes/no. -- A patch from Karl Hakimian that reads JobIds, FileIndexes - from a database table for restore. -- There are a number of new tables. Some such as the Location table are - designed for user use in doing Volume Management software. -- Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- Implement jobuid to replace old usage of job in keywords as - suggested by Eric Bollengier. -- Implement write variables for Python to set Priority (anytime), and - Job Level, only during JobInit event. -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow the SD to use multiple drives during a backup/restore (only - one at a time). -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -- Remove automatic case folding on Windows FDs. You must - explicitly use the 'Ignore Case = yes' option. -- Implement wild program in tools directory for testing - wild-cards. Almost identical to the regex program. -- Use the new bregex.c to implement Regex expressions on Win32. -- Apply patch from Christopher Hull - - Allow multiple connections to database with different - parameters. - - Invalidate the scheduler when doing a reload. Fixes seg - fault, but still 60 second window. - - Additional info in Reschedule message. - - Use set_jcr_job_status() everywhere to prevent loss of - cancel, error. - - Display peer IP in FD if error from connecting DIR. - - Don't increment file count for DIRBEGIN. - - Replace illegal characters in Win32 filename by _. - - Add SE_CREATE_PERMANENT_NAME privilege in Win32. - - Hash hard link filenames rather than linked list (performance). - - Fix for security failure in chdir on Win32. - - Add CreateDirectoryA/W win32 API entry points. -- programs to duplicate Bacula's base64 algorithm using standard - routines. This fixes bugs #296, and 565. Patch submitted by - author of bug #565. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. -- Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support. - O_NOATIME is a open() flag which makes it possible to read a file without - updating the inode atime (and also without the inode ctime update which - happens if you try to set the atime back to its previous value). It also - prevents a race condition when two programs are reading the same file, but - only one does not want to change the atime. It's most useful for backup - programs and file integrity checkers (and bacula can fit on both - categories). - You enable it in the Bacula FileSet Options resource by setting: - noatime = yes - The effect of this option is similar to the keepatime option except - it is more efficient and avoids modifying ctime. -- Implement a pile of new man pages contributed by Jose Tallon. -- Modify the database format for handling Migration jobs: - Add PriorJobId, RealEndTime to Job table - Delete MAC table - Remove Stripe from JobMedia record (not used, wasting space) - Add ScratchPoolId, RecyclePoolId, Enabled to Media record - Add Cost to Location table. - Enabled to Media table and Location table. -- Security: harden authentication failure in FD by single threading errors - and forcing a 6 second wait. -- If using GCC (actually g++) add the following compiler flags - -fno-strict-aliasing -fno-exceptions -fno-rtti -- Turn on new bsnprintf() code. The reason for this code is to - eliminate the security problems associated with using the - system libraries print routines. -- Implement job report that indicates where Storage and Pool - came from -- with overrides and Pool storage and NextPool, - it is all very complicated. -- Add more detail (Storage, Device) to list of volumes printed - for restore. -- Add new VOLMGMT message class. No messages are yet sent with this - class. -- Improved Bacula rescue procedures -- see the Disaster Recovery - chapter of the manual -- Add spooling/despooling info in status output of SD. -- Add Comment field to llist of a volume. -- Allow true/false in many but not all yes/no directives. -- The Bacula source code is now copyrighted by the Free Software - Foundation Europe. The Developer's Guide documents the new procedures, - and the LICENSE file has been updated. -- Apply Jaime Ventura's patch that implements the Messages resource - Mail On Success directive. -- The Client returns its Version string, which is printed in the Job - report. -- The Client returns whether or not VSS and Encryption are used, which - are printed in the Job report. - -Additional Features Added for Win32: -- Added DriveType directive to the Director's Include Option FileSet - resource. Allowed values are: fixed, removable, cdrom, and remote. There - is only an implementation for Windows because it is the only platform that - has the concept of drives. - -- Adds EnhancedWild directive to the Director's Include Option FileSet - resource. Allowed values are: yes and no. - - When EnhancedWild is enabled then the processing of the - Wild, WildDir and WildFile is changed in the following ways. - - Patterns conform to Posix - \ is not a special character in character classification [] - To match a - it must be the first or last character - To match a ] it must be the first character - - fnmatch option FNM_FILE_NAME is specified * doesn't match a / - so it won't match multiple directory levels in a path - -- Relative WildFile patterns (ones without a leading /) match - against the filename portion. This in combination with the - FNM_FILE_NAME fnmatch() flag makes directives such as WildFile = - abc*.def work as expected. - -- Adds support for the shell's feature of brace expansion. - - Here is an example where braces allow 24 lines to be expressed in 5. - - # Exclude directories full of lots and lots of useless little files - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files" - -;;; diff --git a/docs/home-page/en/pages/home.php b/docs/home-page/en/pages/home.php index 4d43450b..3a67dc9b 100644 --- a/docs/home-page/en/pages/home.php +++ b/docs/home-page/en/pages/home.php @@ -61,7 +61,7 @@ -

27 November 2011: Bacula 5.2.2 has been released.

+

16 December 2011: Bacula 5.2.3 has been released.

See: News

diff --git a/docs/home-page/es/news.txt b/docs/home-page/es/news.txt index 8550d09c..8835a9c0 100644 --- a/docs/home-page/es/news.txt +++ b/docs/home-page/es/news.txt @@ -1,18 +1,17 @@ -Kern;;;27 November 2011 at 12:03 CET -We have released Bacula Version 5.2.2 to Source Forge +Kern;;;16 December 2011 at 12:293 CET +We have released Bacula Version 5.2.3 to Source Forge - Release Notes for Bacula 5.2.2 + Release Notes for Bacula 5.2.3 Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) General: -------- -The 5.2.2 version is an important bug fix release. It contains also some -additions and performance improvements. +The 5.2.3 version is an bug fix release. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If you are upgrading directly from 5.0.3 to this version, please see the -important notices below for version 5.2.1, particularly +important notices below for version 5.2.2, particularly the database upgrade and the difference in packaging the SQL shared libraries. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -22,2649 +21,24 @@ Compatibility: As always, both the Director and Storage daemon must be upgraded at the same time. - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2 + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3 Director and Storage daemons. There should be no need to upgrade older File Daemons. -Changes since 5.2.1: ------------------ - - Implement -t option for Bat - - Require correct Qt version 4.6.2 or later to build bat - - Get new lib/plugins.h - - Pull new SD plugin files from Master - - Fix script to set mode of cats scripts - - Add Systemd configure options - - Split messages line by line before sending it to syslog() fix #3325 - - Fix bvfs_restore on MySQL - - Fix #3308 where a SMTP problem can block the director - - Change locking scheme of the mountpoint cache. - - Enhance mountcache with rescan option after interval. - - Add %D option to edit_job_code, simplify callbacks on director side - - Move Zdeflate and Zinflate to seperate file. - - Put libraries in the correct order for non shared libs. - - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@ - - Fix bug #1774 - - Move batch insert detection into db.m4 - - bat: try to fix offset button problem when clicking too much on previous - - bvfs: Use single transaction for each job during update - - Add missing bwild & bregex man8 pages - - Fix compilation issue of wx-console #1778 - - bvfs: fix filter for pattern= bvfs parameter - - Improve speed of BVFS with SQLite, Thanks to J.Starek - - bvfs: add clear_cache function - - bvfs: Handle windows drive when building path hierarchy +Changes since 5.2.2: -Closed Bugs Since 5.2.1 ------------------------ -1774 1778 3308 3325 + - Revert patch from Ben to not compress man pages on Solaris fix #1801 + - Fix bug #3322 don't poll when operator is labeling tapes + - bvfs: Fix mysql REGEXP operator + - Fix Mysql 5.5.18 symbol lookup + - fix utf8/iso8859 problems + - Fix #3419, update stats problem + - Fix cats_test to use the new method names. + - Update accurate code to use 1 byte instead of 3 + - Fix segfault in accurate code + - Fix compilation warning on FreeBSD +Bugs fixed/closed since last release: +1801 3322 3419 -;;;; -Kern;;;30 October 2011 at 14:50 CET -We have released Bacula Version 5.2.1 to Source Forge - - Release Notes for Bacula 5.2.1 - - Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) - -General: --------- - -This 5.2.1 version is a major release since the last version 5.0.3. -It includes well over 299,387 lines of changes made by 20 contributors, -lots of bug fixes (see below), 1,851 software commits,and a -number of important new features: - -Version 5.2.0 -------------- -Version 5.2.0 was short lived, because Marco (thanks) found -a number of last minute bugs. So the first official release of 5.2 -is 5.2.1. - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Main New Features: ------------------- -- LZO Compression -- New Tray Monitor -- Purge Migration Job -- Changes in Bvfs (Bacula Virtual FileSystem) -- Changes in the Pruning Algorithm -- Ability to Verify any specified Job -- Additions to RunScript variables -- Additions to the Plugin API -- ACL enhancements -- XATTR enhancements -- Class Based Database Backend Drivers -- Hash List Enhancements - -Some of the above are described below; all the above are -described in more detail in the New Features chapter of the -manual. - -Closed Bugs since 5.0.3: ---------------------- -1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501 -1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549 -1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582 -1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624 -1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699 -1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710 - - -================== Warning !!!!!! ========================== - - The new pruning algorithm will not allow pruning of jobs that are essential to - restore since the last Full backup. This is, of course, correct and desirable, - but it is different from older Bacula versions that could inappropriately - prune jobs. Pruning of volumes is not affected. - -Building Bat: -------------- -To build Bat, you need Qt4 version 4.6.2. If you build with any other -version it is likely not to work. If you do not have version 4.6.2, on -your system, you can download the Bacula depkgs_qt version 16Dec10. - -Packaging the SQL backend: --------------------------- -The main Bacula Director code is independent of the SQL backend -in this version. This means that the Bacula Director can be packaged -by itself, then each of the different SQL backends supported can -be packaged separately. It is possible to build all the DB backends -at the same time. - -- configure can be run with multiple database configure options. - --with-sqlite3 - --with-mysql - --with-postgresql - -Order of testing for database is -- postgresql -- mysql -- sqlite3 - -Each configured backend generates a libbaccats--.so -A dummy catalog library is created named libbaccats-version.so - -At configure time the first detected backend is used as the so called default -backend and at install time the dummy libbaccats-.so is replaced with -the default backend type. - -If you configure all 3 backends you get 3 backend libraries and the postgresql -gets installed as the default. When you want to switch the default you can -copy one of the 3 backend libraries over the libbaccats-.so e.g. - -cp libbaccats-postgresql-.so libbaccats-.so - -And update the default backend in the following files: - -create_bacula_database -drop_bacula_database -drop_bacula_tables -grant_bacula_privileges -make_bacula_tables -make_catalog_backup -update_bacula_tables - -New Catalog format in version 5.2.0 and greater ------------------------------------------------ -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version -14). The Bacula project rpm spec files have been modified to -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source (i.e. manually): -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.2.1 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 5.0.0 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - -================================================================ - -Changes: - -Speed and Memory Usage Enhancements: -- Implement LZO compression algorithm (need lzo2 headers to activate this option) -- New Pruning algoritm -- safer and faster -- Use of PostgreSQL cursor when doing large queries, should reduce the - memory usage during restore and accurate backups. -- limit command in some list commands -- Bacula Virtual File System for fast catalog access -- Faster crc32 algorithm - -Security Enhancements: -- Additional security against injection of illegal characters -- Fix possible fnmatch problem - -Features Enhancements: -- Improvements in ACL and xattr handling on additional platforms: - AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64 -- Tray monitor for Windows -- New SQL backend and ./configure that permits building multiple catalog - backends in one build, and has the main Bacula core code totally independent - of the SQL backend, which should simplify packaging (only the - libbacsql.so/dll needs to be changed to switch from one database backend - to another (e.g. MySQL to PostgreSQL). -- Indent lsmark during restore -- Disable batch insert config item -- Director selection option in bconsole -- restorejob command in bconsole -- Many additional features for bat such as "brestore" panel -- The old bat version browser has been turned off since it does not - work correctly and the brestore panel provides the same functionality -- Improved hash table for hard links -- Additional script variable editing such as %b (JobBytes), %F (JobFiles) - and %h (Client Address) - -Other Enhancements: -- Includes better handling for Windows repares points, mount points, and - junction points. -- New database format -- Many new plugin API features -- Improved memory handling for restores -- Significant stability enhancements to bat -- xattr/ACL restore failure are now printed as Warning -- A few path name length limits in Windows have been removed. - - -=========================================================================== -;;;; - -Kern;;;06 August 2010 at 19:15 CET -We have released Bacula Version 5.0.3 to Source Forge - -This 5.0.3 version is significant bug fix update to version 5.0.2. -It includes new code and some new features. -There is no database change since prior versions of 5.0. - -Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in - the 5.0.1 release section. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes and New Features: -- If a VSS (Windows) snapshot fails, the whole Job is failed, previously - it printed a warning message and continued. -- New editing codes %b = Job Bytes and %f = Job Files for runscripts -- Any non-Bacula project plugins (i.e. third party plugins) - must be upgraded to specify AGPLv3 in place of the GPLv2 used previously - for the PLUGIN_LICENSE. -- The bat Media page text columns can be sorted by clicking on the column. -- If possible, the SD will automatically update the catalog Volume size if - it does not match the Volume size. The mismatch between the Volume sizes - typically occurs when the FD has a comm line drop or the FD crashes. - - -Bug fixes -1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610 - -- Change license from GPLv2 to AGPLv3 -- Make Win32 no filesystem change more explicit -- Backport Branch-4.0 release to Branch-5.0 -- Massive backport from Branch-5.1 to Branch-5.0 -- Fix postgresql catalog creation when version is not on the first line -- Fix bug #1610 handle empty xattr values on Linux and xBSD. -- Garbage collect memory pool at end of job and before sm_dump -- Add xattr seg fault protection suggested by Marco for bug #1610 -- Add archlinux to os.m4 -- More fixes for 32/64 bit problems in smartall -- Fix 32/64 bit problem in smartalloc dump routine -- Fix bad copy/paste in commit c88dccb88 prably a seg fault -- Add .dump and .exit commands for daemons -- Make SD automatically fix the Volume size in the Catalog when out of sync -- Use Pmsg in smartall.c rather than printf for tracing Windows -- Up maximum block size to 20M -- Fix for TLS bugs #1568 and #1599 -- Improve comm line error handling for TLS, may fix bug #1568 and #1599 -- Fix problem when sending Cancel event to plugin -- Convert all Jmsg on the watchdog thread to Qmsg -- Fix SD crash due to mismatched lock/unlock in error condition -- Fix bug #1587 if you have clients with different catalogs configured, both - catalogs contains all clients after a reload or restart of the dir -- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() - by moving and commenting out the ASSERT() -- Skip HB kill in FD if HB thread terminated -- Fix crash from unequal volume_lock/unlock calls -- New prunning algorithm -- should be more accurate -- Save any dumps during regression to dumps directory -- Fix crash from rw_lock/unlock miss match -- Attempt to fix duplicate job kill seg fault -- Replace pthread_kill by my_thread_send_signal() in jcr.c -- fix #1595 about batch mode detection problem for postgresql with non standard - install dir -- Fix #1594 about prune copy jobs -- Apply literal string fix in printf submitted by Luca Berra -- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups -- Fix segfault on "cancel jobid=" command -- Fix bug #1554 Windows installer doesn't honor /S flag -- Remove pool zap code that breaks 2drive-concurrent-test -- Fix #1571 and install libraries with 755 perms -- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger -- Fix problem with BaseJob and Accurate FileSet options on client side -- Fix for bug #1569 deadlock/crash in Dir -- Fix segfault when loading Plugins -- Fix #1567 about display of long volume names truncated during restore -- Added new bacula-libs package. -- Fix bug #1538 Start Scripts return incorrect value -- Fix bug #1564 init scripts not LSB compliant - -See ChangeLog for more details. - -;;;; -Kern;;;01 August 2010 at 17:23 CET -Welcome to our new bacula.org server - -This is our new bacula.org server, graciously provided -by UKFast. Our previous server, also hosted by UKFast, was -getting to be a bit old, so they furnished us a new one, -and we are very pleased. - -;;;; -Kern;;;28 April 2010 at 19:15 CET -Eric has released Bacula Version 5.0.2 to Source Forge - -This 5.0.2 version is primarily a important bug fix update to version 5.0.1. - -Note, if you are running 5.0.0, read the 5.0.1 release notes below. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.2 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes since 5.0.1 -------------------- - -Bug fixes -1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560 - -- Probable fix for SD crash bug #1553 -- Fix #1559 problem when restoring pruned jobs with a regexp -- Fix for bug #1560 bcopy cannot find Volume -- Fix cancel crash bug #1551 -- Check if sql backend is thread-safe -- Correct Pool display in SD status. Fixes bug #1541 -- Fix cancel crash reported by Stephen Thompson -- Rewind on close to fix #1549 -- Remove closelog() in bpipe fixes bug #1536 -- Fix #1517 about missing Base level in .level command -- Replace ASSERT in block.c with fail Job -- Fix database locking calling db_lock and returning from function without - calling db_unlock. -- Add missing db_unlock to bvfs_update_cache. -- Fix #1532 about permission on binaries -- Fix #1527 about deadlock during migration -- Another fix for OpenSSLv1 -- Add -lrt to Solaris links -- Fix tls.c for OpenSSLv1 -- Fix #1511 when trying to insert more than 50.000 directories in bvfs -- Fix plugin load not to stop if one plugin bad -- pointed out by James -- Remove --without-qwt from configure statement. -- Second correct fix to bug #1524 verify fails after adding or removing files -- Fix bug #1524 verify fails after adding or removing files -- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem -- Fix OpenSSL 1.x problem in crypto.c on Fedora 12 -- Display AllowCompress warning message only if compression used in FileSet - -;;;; - -Kern;;;25 February 2010 at 15:35 -Bacula Version 5.0.1 has been released to Source Forge - -Bacula version 5.0.1 source code and Windows (32/64 bit) binaries have been -released to Source Forge (thanks Eric). - -This is a major bug fix release including a few directives that have been -rewritten, one new directive, and some different directive behavior (see the -release notes below). As is usual for a patch release (last digit changes by -one), this version is compatible with the 5.0.0 database and with prior -clients. However, you *must* upgrade all components that are on any one -machine (that is you must upgrade your Director, Storage daemon, and File -daemon at the same time, if they reside on the same machine). - -Note, Bacula does not normally uninstall previous versions, and we have -changed the shared object naming convention, so you might want to first save -your configuration files then uninstall the old Bacula using the old Bacula -uninstall prior to installing the new one. If you do not, it should not be -serious, but you may be left with some older Bacula shared objects that are -not used and hence wasting a small amount of disk space. - -If you are upgrading from version 3.0.x or prior, please see the full release -notes as you must do a database upgrade. When updating from 5.0.0 to this -release there is no database upgrade needed. - -Scott has made a number of changes and improvements in the rpm packaging over -the past few weeks since version 5.0.0 was released, so he will probably be -releasing the 5.0.1 rpms quite soon. - -Thanks for using Bacula :-) - -Best regards, - -Kern - -============= Performance Note ================== - -Some of you have encountered performance problems with your -database (mainly with MySQL) with Bacula version 5.0.0. This is -mainly because we've changed the SQL query used for restore, -accurate jobs and base jobs. We have extensively tested this -change, and though it should be a little bit slower than the previous -versions, on a well configured database it should run -extremely well. - -We strongly recommend to avoid the temptation to add new indexes. -In general, these will cause very significant performance -problems in other areas. A better approch is to carefully check -that all your MySQL memory configuation parameters are are -suitable for the size of your installation. If you backup -millions of files, you need to adapt the database memory -configuration parameters concerning sorting, joining and global -memory. By default, sort and join parameters are very small -(sometimes 8Kb), and having sufficient memory specified by those -parameters is extremely important to run fast. - -If adjusting your MySQL memory configuration values does not -solve your problem, you can also consider switching to -PostgreSQL, which performs much better with Bacula on big -installations (many millions of files per Job). However for -large installations, you will also need to adjust the default -PostgreSQL memory configuration parameters. - -========================================== - - - Release Notes for Bacula 5.0.1 - - Bacula code: Total files = 1,081 Total lines = 217,272 (Using SLOCCount) - -!!!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -The Allow Duplicate Jobs directive has been significantly -reworked, and the default value has changed. See below. - -Truncate On Purge has been totally rewritten. See the new -features section of the manual. - -When Volume Poll Interval is set in the SD DEVICE configuration, -(default 5 mins), after a certain number of polling tries (approx -10) polling will stop and the operator will be asked to -resolve the problem. Previously there was no limit, and an -error message could be produced at each poll attempt. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -Changes since 5.0.0 -------------------- -- We believe that we have resolved most of the problems - concerning canceled or failed jobs being "stuck" in the - Director. There is one outstanding problem in the SD when - canceling jobs that we will fix in the next major release. - If you see jobs that seem to be stuck, in general issuing - a cancel command in bconsole should now make them go away. - -Directives: -- The default for "Allow Duplicate Jobs" has been changed from - no to yes. If you use this directive, please check your - conf file, and note the next two items !!!!!!!!!!!!!!!!!!! -- AllowHigherDuplicates disabled. It did not work as documented - and was confusing. -- New directive "CancelLowerLevelDuplicates" See New Features - section in the manual. -- Truncate on Purge rewritten. See New Features section in the manual. - -Bug fixes: -1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 -1499 1501 1505 1509 1513 - -- Ensure SD asks for help when looping even if poll set. Fixes bug #1513. -- Fix three-pool regress bug -- Modify bacula.spec fixes bug #1505 -- This version fixes an issue where the console window would start out - docked. It is fixed by initiating the variables in the Pages class wi - constructor. -- Fix make_catalog_backup.pl fails when catalog db is on other host -- Apply MacOSX installer patch from bug #1509 -- Apply fix to previous fix of Copy problem. Fix proposed by reporter o - #1476 -- Fix bug #1501 -t does not print errors -- Apply SQLite3 update fix from bug #1497 -- Apply bashism fix for diskchanger.in script from bug #1499 -- Apply rpm fix for Sci Linux from bug #1494 -- Take most recent Ukranian po from bug #1448 -- Probable fix for Copy/Migration bug #1476 -- Fix bug #1488 -- avoid recursion and race conditions in messages.c -- Upgrade cats library also to 5.0.0 -- Fix missing console page in bat -- Add bat help files to Window install -- Improve Windows upgrade to ensure old FD is shutdown -- Fix bug #1481 -- bat consumes all console file descriptors -- Backport truncate on purge from 5.1.x -- Fix bug #1486 -- bat doesn't show any errors on command-line -- Update the bsock error URL -- Correct .my.cnf umask in make_catalog_backup.pl -- Apply fix for dbcheck use by make_catalog_backup.pl -- Fix seg fault in bscan from new comment field -- Allow multiple CNs when using TLS -- Fix seg fault in SQlite driver -- Make shared libs version the same as the Bacula release version -- Remove file_index sequential check -- Fix #1466 about Bogus pruning message - -For Packagers: -1. The default query.sql file is now, except for some comments, empty. -The old file, which we no longer support (it is impossible or difficult to -make it work on every backend, and the queries are mostly contributed) can -be found in /examples/sample-query.sql. The sample file is -not installed by the Makefiles - -2. When you install the mtx-changer script, you must also install -mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is -required for mtx-changer to work, but it is a user configurable file, so on -any update, any existing file should not be overwritten. - -3. Bat should be built on every platform that is capabable of running Qt. -However, the Qt code is changing rather quickly and is not always -compatible from version to version. We have built and verified bat on Qt -4.3.4. We strongly recommend that you do not build and distribute bat with -any other version of Qt unless you personally test it. To build against Qt -4.3.4, download the depkgs-qt package from the Bacula Source Forge download -location, read the README file and follow the instructions. - -If you are building for Bacula version 5.0.0, please ensure that you do not -have qmake-qt4 loaded on your system. If you do, either remove it or -rename it before trying to build bat. If you do not, bat will probably be -built using the shared objects on your system. For Bacula 5.0.1 and later, -this problem (bug) does not exist. - -depkgs-qt does not install Qt on your system, nor does it interfere with -you having any other version of Qt installed on your system. Once you -build bat with depkgs-qt, it should *not* use the Qt shared objects, but -rather they will be linked into the program. After fully installing bat -(make install), you can run "ldd bat" to see what shared objects it will -use. If any Qt shared objects are referenced, something has gone wrong. - -4. Unless absolutely necessary, we recommend that you do not define any -special library environment variables that apply to the ./configure -- for -example: LIBDIR=/... ./configure is strongly discouraged. -Doing so, could potentially cause Bacula to be linked against the wrong -shared objects. - -5. The Bacula project strongly recommends that you install Bacula into a -single directory, with a few minor exceptions such as the MySQL or -PostgreSQL databases. Preferrably this should be /opt/bacula. The full -recommendation is: - -#!/bin/sh -# Recommended configure script for Bacula -prefix=/opt/bacula -email=xxx@yyy.zz -CFLAGS="-g -O2 -Wall" \ - ./configure \ - --sbindir=${prefix}/bin \ - --sysconfdir=${prefix}/etc \ - --docdir=${prefix}/html \ - --htmldir=${prefix}/html \ - --with-working-dir=${prefix}/working \ - --with-pid-dir=${prefix}/working \ - --with-subsys-dir=${prefix}/working \ - --with-scriptdir=${prefix}/scripts \ - --with-plugindir=${prefix}/plugins \ - --libdir=${prefix}/lib \ - --enable-smartalloc \ - --enable-tray-monitor \ - --enable-bat \ - --with-mysql \ - --with-dump-email=${email} \ - --with-job-email=${email} \ - --with-smtp-host=localhost \ - --with-baseport=9101 - -Obviously, the email, and some of the minor options (mysql, postgresql, -...) can be changed to suit your distribution, but the directory names -defined above are strongly recommended, and over time the default values in -the bacula-dir.conf and bacula-sd.conf will reflect these choices. - -If you have any questions about this or would like a detailed document -describing our recommendations including packaging requirements, please -send an email to the bacula-devel list. - -6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared -libraries that Bacula uses by default are named xxx-1.0.0. Starting with -Bacula 5.0.1, we are going to name the libraries using the Bacula version. -So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future -versions, the last digit may or may not change when we distribute patch -updates (i.e. the last digit of the version changes). This will depend on -whether or not we have changed something in the library. Hopefully this -new procedure will resolve some of the incompatibility problems between -different versions of the shared objects. - -7. The default build option for bconsole is conio (my own little console -routines). I did this because some years ago, readline was very difficult -to maintain -- it and where it was found seemed to change on every release. -This generated at the time a number of support problems. It seems to me -that since then there have been very few problems with readline. As a -consequence, I have no problem if you want to make bconsole with readline -enabled. It will actually give some very nice new bconsole command -completion functionality that Eric has written. Bottom line: feel free to -use readline or not as you please. - - -;;;; -Eric;;;25 January 2010 at 10:00 -Bacula Version 5.0.0 has been released to Source Forge - -Release Numbering: ------------------------------------------------------------ -You might be wondering why this release jumps from 3.0.x to -5.0.0 thus skipping version 4.0.0. We have done this for -several reasons: first, we wanted a way of distinguishing -the numbering system for the Bacula System Enterprise version -and the Bacula Project version. So, to do so, we have decided -that the first number of the Bacula Project version will always -be odd, and the first number of the Enterprise version will always -be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x. -In addition, we want to keep the Bacula Project version larger -than the Enterprise version to indicate that the Bacula Project -version is more advanced or has more features than the -Enterprise version. For memory, the current Enterprise version -is 2.6.1, and the next release (in a few months -- before June 2010) -will be version 4.0.0. - -Warning: --------------------------------------------------------------- -Please note the three Warnings below before doing any install or -upgrade. - - -Changes since 3.0.3a (the last Bacula Project release): -------------------------------------------------------- - -Bug fixes: -1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 -1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 -1454 1455 1458 1456 - -Fixed: - - Problem that locks the Director when the SMTP server wasn't - responding to the bsmtp program - - Restore's dir command shows incorrect file sizes - - Fix various problems with the reload command - - Fix problems with conio - - Eliminate several deadlocks or potential race conditions from SD - -Enhancements: - - Project 5: Truncate volume after purge - - Project 6: File Deduplication using Base Jobs - - Project 10: Restore from Multiple Storage Daemons - - Project 11: AllowCompression per Device - - Project 23: Add Maximum Concurrent Jobs for Devices to balance load - between drives - - Add Accurate Fileset Options to configure accurate detection. Can use - checksum verification for example. - - Allow FD to keep root read but drop write permission (CAP) - - Secure handling of passwords for catalog backup - - Add Tab-completion for Bconsole when using Readline - - Add Bvfs API to query the catalog without building a memory tree - - Add new speed test to btape program - - Add new Bat screens (Autochanger content, Job view, Media view, ...) - - Windows version of Bat - - Added Spanish Bacula translation - - New bconsole -u nnn option to have timeout on commands - - Allow Migrate, Copy, and Virtual Full to read and write - to the same Pool - - show disabled -- shows disabled Jobs - - Add Pool File and Job retention periods (take precedence over Client) - - Many ACL improvements - - Level added to FD status Job entry - - Allow turning on/off Block Checksum per device - - Set Device Poll interval to 5 minutes -- previously did not poll - - Implement lock manager with bad order protection - -Compatibility: -As always, both the Director and Storage daemon must be upgraded at -the same time, and on any given machine, you must run only one version -of Bacula. This means that on the Director and Storage daemon machines, -you *must* upgrade your File daemon as well. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0 -Director and Storage daemons. There should be no need to upgrade older File -Daemons immediately. However, we recommend that you do so as soon -as is reasonable for your situation. - -================== Warning !!!!!! ========================== - -New Catalog format in version 5.0.0 (3.1.9 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version -12). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 3.1.9 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. -================================================================ - - -================== Warning !!!!!! ========================== -If you upgrade a previous Win32 client installation, you must -first stop the File daemon, then uninstall it before attempting -the upgrade. If you do not do so, the upgrade will probably -fail and you will need to manually find and run the -Uninstall.exe file, before you can upgrade to the new version. -This is because the file locations are different. If you want -to save your previous bacula-fd.conf file, please do so before -uninstalling it. -================================================================ - -================== Warning !!!!!! ========================== -Due to permissions problems on Windows Vista and later systems, -we no longer require SYSTEM or Administrator permissions to -access the binaries and configuation files. If you wish -to restrict access to these files, please see the New Features -section of the manual for how to set access control lists. -================================================================ - -Note, the Win32 Installer no longer installs the Bacula Servers -(Director and Storage daemon). See the New Features section of -the manual for more details. - -============ Documentation improvements needed ================== - -Note!!!!! The 5.0.0+ documentation has a number of known problems: - -1. We have reduced the number of manuals, which has fixed many - of the broken links found in the old 3.0.x version, but there - are still some that need fixing. - -2. Integration of the 3.0.x features into the main manuals has - not yet been done. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== - - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_0.html - -The ChangeLog has more details. - -;;;; - - -Kern;;;18 October 2009 at 21:00 -Bacula Version 3.0.3 has been released to Source Forge - -Note, if you are not already running 3.0.x, read the 3.0.x release notes - below. Important!!! - -Version 3.0.3 is primarily a important bug fix update to version 3.0.2. - -Changes since 3.0.2: -Bug fixes: - 1391, 1288, 1346, 1352, 1359, 1355, 1363, 1364, 1365, 1366, 1368, - 1369, 1370, 1371, 1382 - -Fixes: - Apply James' fix for some Exchange plugin crashes - Integrate patch for building dmg on OSX from Lorenz Schori - Fix bug #1391 Job status improperly set due to subtle variable overload problem - Fix #1352 about double free with regexp and big filenames on windows - Apply Graham's idea for recovering from disk full by recursing - when doing fixup_write_error ... - Make fix for VirtualFull changing device based on suggestion by - Nicolae Mihalache - Fix concurrent Job recycle bug #1288 - Backport part of one possible fix from bug #1346 - Fix bug #1382 newly created disk volumes -> file not found warning - Fix Alpha ifdefing -- should fix bug #1359 - Use old code for selecting file during restore. - Cherry-pick 3.1.x commits - tweak space on projects file - Fix seg fault in ignoredir code - Apply Frank's slash patch - Fix seg fault in SD bug #1371 - 3.0.2-Fix-seg-fault-in-SD-bug-1371.patch - Add more info when SD connection refused - 3.0.2-Add-more-info-when-SD-connection-refused.patch - Fix bug #1355 Director crashes with double free in Accurate SQL query - 3.0.2-accurate.patch - Fixes bug #1368 ASSERT Failure on MacOS. - 3.0.2-mac-path-len.patch - Fix #1364 and #1363 about compression buffer error. - 3.0.2-zlib-buffer.patch - Fixes bug #1365 and #1366 about MacOSX resource forks. - 3.0.2-bug-1365.patch and 3.0.2-bug-1366.patch - Fix "Exclude Dir Containing" fileset option - 3.0.2-exclude-dir-containing-fd.patch - 3.0.2-exclude-dir-containing.patch - 3.0.2-exclude-dir-containing-top_level.patch - -Compatibility: - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -;;;; - -Kern;;;20 July 2009 at 14:49 -Bacula Version 3.0.2 has been released to Source Forge -Note, if you are not already running 3.0.x, read the 3.0.x release notes -below. Important!!! - -Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with -some enhancements (see below). - -Changes since 3.0.1: - -Bug fixes: - 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 - 1317, 1318, 1323, 1325, 1331, 1333, 1335 - -Fixed: - - Fix problem with the Postgresql driver that sometime displays values - - Cleanup old job records when starting the Director - - Fix bugs in xattr code - - Fix encoding problem with Postgresql - - Fix that prevents restore by file selection from using Copy job - -Enhancements: - - Security enhancement for the File Daemon - - New directive to specify source address for outgoing connexions - - Show volume availability in autochanger when doing restore. - This is project 31 in the projects file. - - Add accurate=yes/no option to estimate command - - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure - - Add a restore menu that contructs a full restore when entering a JobId. - This is project 2 in the projects file. - - Add new Nagios plugin - -Compatibility: -Like always, both the Director and Storage daemon must be upgraded at -the same time. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 -Director and Storage daemons. It should be no need to upgrade older File -Daemon. -;;;; - -Kern;;;30 April 2009 at 17:49 -Bacula Version 3.0.1 has been released to Source Forge. - -Note, if you are not already running 3.0.0, please read the 3.0.0 release notes. Important!!! - -Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with -one enhancement (see below). - -Changes since 3.0.0: -Bug fixes: - 1276, 1274, 1275, 1272 1246, 1268, 1281, 1282. - -Fixed: -- Check for job_canceled() in fd_plugin code. -- Update Win32 table creation to have new DB version 11 format -- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf -- Remove 'Reposition' messages when restoring -- Updated projects file -- Tweak version string to display versionid field at the end - and keep fields order. - - Add additional mysql connection debug code submitted by: - Chandranshu - -Enhancement: -- Modify insertion of read Volumes in SD to be done *before* the - drive reservation. This ensures that a Volume to be read will not - be reserved for writing. Significant improvement in eliminating - tape deadlock situations. - -Note, both the Director and Storage daemons must be upgraded at the -same time. The 3.0.1 File daemons are compatible with 3.0.0 file -daemons and as noted below in the 3.0.0 release notes the Director -and Storage daemon should be compatible with 2.4.x File daemons. -In general, we do not expect any of the 3.0.x File daemons to work with older -Directors and Storage daemons (as has always been the case for Bacula -releases). - -============ Documentation improvements needed ================== - -Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the -following areas: - -1. Missing documentation. -2. Correction of links within various manuals -- most fail. -3. Integration of the new features into the main documents. -4. Much more. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== -;;; - -Kern;;;09 April 2009 at 22:30 -Bacula Version 3.0.0 has been released to Source Forge. - -This is to inform you that we have uploaded the Bacula version 3.0.0 source -tar files and the Win32/64 installer files to the Bacula Source Forge -download location. - -There are quite a number of new features in this release, and upgrading to it -requires a database upgrade, so please read the release notes carefully -(included below) and the documentation for the new features at: - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -There is still a good deal of work to do to finish the release process (mainly -reorganizing the web site manuals ...), but at least the source files are -released. The rpms should follow shortly (probably this weekend). - -If you are currently using 2.4.4, please note that within a few months that -version will no longer be supported, so please consider the possibility of -upgrading. - -This release probably has the most new features that we have ever released, -and it has taken a long time to produce it. The basic code is very well -tested, and if you stick to 2.4.4 features, you are unlikely to experience -problems. However, many of the new features have not been well tested, so -your help will be appreciated. - -The following issues with 3.0.0 are known and we are working on them: - -1. The documentation is not 100% complete (there are so many new features that -we missed documenting some). - -2. All the new documentation is in the New Features chapter, but not all of it -has yet been integrated back into the appropriate chapters. - -3. James has reported that the Exchange plugin may crash if you cancel a job -while it is running. He is working on this. - -4. The SD has many new features that will make it more stable. One in -particular is that it knows what Volumes will be read during a migration, -copy, or Virtual backup job, and will ensure that they are not selected for -writing (something easy to do if you are using disk files and the same pool -for reading an writing). However, the day after the release was cut, I found -a problem with this code that prevents it from working properly during -certain pre-allocations of the write tape. - -5. There is still an outstanding bug report on VSS failing (it seems to be a -bit of a rare case). - -As I previously announced, we will now make 3.0.0 our main release source code -stream, and we hope to release new version every six months and bug fix -updates even sooner. To be able to do this, we will support version 2.4.4 -only for a few more months. There after the project will only support the -most current release ... - -This release comprises a lot of work by a lot of different people and many -contributions. Normally I hesitate to mention particular people or -contributions because I always forget someone, but since this was such a big -release, I would like to mention at least the big contributions: - -Sponsor Company(s) - Programmer - Project -Bacula Systems - Eric Bollengier - Accurate Backup -Bacula Systems - Eric Bollengier - Catalog format enhancements -Bacula Systems - Eric Bollengier - bextract non-portable Win32 data -Bacula Systems - Eric Bollengier - Win64 File daemon -Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump -Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on - same machine -Bacula Systems - Eric Bollengier - Virtual tape emulation -Bacula Systems - Kern Sibbald - USB rescue key -Equiinet funded development - James Harper - MS Exchange plugin - -Personal contributions: -Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file -Marco van Wieringen - ACL code overhaul -Marco van Wieringen - Solaris ZFS/NFSv4 ACL support -Marco van Wieringen - Extended Attribute support -Marco van Wieringen - Shared Objects -Dirk Bartley - Bat speedup + stability improvement + many enhancements -Joao Henrique Freitas - libdbi catalog driver -Scott Barninger - rpm packaging -Kern Sibbald - many big and little projects ... -Many people -- see the AUTHORS file. - -Many thanks to everyone for making Bacula what it is today. - -=== List of new features === -- Accurate Backup -- Copy Jobs -- ACL code overhaul -- Solaris ZFS/NFSv4 ACL support -- Extended Attribute support - --disable-xattr (default=auto) -- Shared Objects - --enable-libtool (default) - --disable-libtool -- Virtual Backup -- Catalog Format Enhancements - - Support for more than 4 Billion file entries - - New stats tables -- Duplicate Job Control -- TLS Authentication -- bextract non-portable Win32 data -- State File updated at Job Termination -- Bacula Plugins - - FD bpipe plugin - - FD Exchange plugin -- libdbi DB driver -- Console Enhancements - - status slots - - list joblog - - command separator -- Bootstrap regex -- Restore seek optimization -- Virtual Tape Emulation -- Bat Enhancements -- RunScript Enhancements -- Status enhancements -- FD connect timeout default to 3 minutes -- ftruncate implemented for NFS Volumes -- FD Version compatibily flag -- Statistics Enhancements -- Faster Attribute despooling -- Document split into 6 manuals -- GPLv2 license now compatible with OpenSSL -- Win64 File daemon -- Postmortum dump improvements in SD -- Deadlock mutex detection in SD -- Improved Volume management in SD to avoid deadlocks. -- New configure install options - --docdir= (default=/usr/share/doc/bacula-VERSION) - --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files) - --plugindir= (default=sysconfdir, where plugins will be installed) -- New Bare Metal Recovery with USB key. See rescue/linux/usb - New Directives: -- Max Full Interval -- Max Diff Interval -- Honor No Dump Flag -- Exclude Dirs Containing -- Recycle Pool -- Max Run Sched Time -- Max Wait Time -- Full/Diff/Incr Max Run Time -- Scratch Pool -- Max Console Connections -- Spool Size (in Job resource) -- Allow Mixed Priorities -- Allow Duplicate Jobs -- Allow Higher Duplicates -- Cancel Queued Duplicates -- Cancel Running Duplicates -- TLS Authenticate -- Console (in RunScript) - -New features from Project Items Completed for version 3.0.0 - also listed above: -Item 1: Accurate restoration of renamed/deleted files -Item 3: Merge multiple backups (Synthetic Backup or Consolidation) -Item 4: Implement Catalog directive for Pool resource in Director -Item 5: Add an item to the restore option where you can select a Pool -Item 8: Implement Copy pools -Item 12: Add Plug-ins to the FileSet Include statements. -Item 13: Restore only file attributes (permissions, ACL, owner, group...) -Item 18: Better control over Job execution -Item 26: Store and restore extended attributes, especially selinux file -contexts -Item 27: make changing "spooldata=yes|no" possible for -Item 28: Implement an option to modify the last written date for volumes -Item n: Split documentation into several books -================================ - - - Release Notes for Bacula 3.0.0 - - Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in) - -The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release -represents an enormous effort. - -This Director and Storage daemon must be upgraded at the same time, -but they should be compatible with all 2.4.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. However, any -release of version 2.5.40 or greater requires a database upgrade. - -================== Warning !!!!!! ========================== - -New Catalog format in version 3.0.0 (2.5.40 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version -11). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrad the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 3.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -The upgrade operation will convert the FileId index field of the File table -from 32 bits to 64 bits. This operation will take TIME and will *temporarily* -DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update, -so, won't be able to run jobs during this period. For example, a 3 million -files -catalog will take 2 mins to upgrade on a normal machine. Don't forget to -backup it before executing the script. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 2.5.40 -(e.g. 2.4.4) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - - -Important New configure options : ----------------------- - -This release of Bacula 3.0.0 uses libtool by default -to generate the Bacula libraries as shared objects rather than -being directly linked in as in prior versions. This means that -the Bacula shared objects, must either be in a shared object -directory known to the loader or they must be in the directory -where the Bacula binaries are installed. It is also possible -to explicitly specify the libraries directory on the ./configure -line (--libdir=/full-path/dir), but this should not be necessary. - - ./configure --libdir= - -If you have problems with libtool or you wish to use the old -way of building libraries and linking them into Bacula, you -can do so by disabling libtool on the configure command line with: - - ./configure --disable-libtool - -During the installation of Bacula 3.0.0, it will now install -bat help files (if you have configured bat). These files -are placed in /usr/share/doc/bacula/html by default. If you -want to put them elsewhere use: - - ./configure --htmldir= - -During the installation of Bacula, it will now install the -ReleaseNotes, License, technotes, ChangeLog, and similar -files in /usr/share/doc/bacula by default. If you -want to put them elsewhere use: - - ./configure --docdir= - -During the installation of Bacula, any plugins will be -installed in the plugindir, which is by default the -same as libdir (/usr/lib). You can specify an alternate -location with: - - ./configure --with-plugindir= - -============================================================== - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -The ChangeLog has more details. - -;;; -Kern;;;03 Nobember 2008 at 17:35 -Critical 2.4.3-orphaned-jobs.patch released -We recently found and corrected a serious bug in Bacula that causes jobs to be -orphaned or "stuck" in the director during the pruning process. Depending on -what jobs get stuck and how many there are, it could prevent additional jobs -from running. As best we can tell, this problem occurs only during what could -be called extreme pruning conditions -- i.e. there are insufficient Volumes -available for normal operations. - -In any case, we recommend that everyone apply the 2.4.3-orphaned-jobs.patch, -which you can find in the bacula-patches section of the Source Forge download -area as well as in the directory patches of both the trunk and Branch-2.4 SVN. -;;; - -Kern;;;12 October 2008 at 10:30am -Creation of Bacula Systems SA -Dear Members of the Bacula Community, - -I'm pleased to announce the creation of Bacula Systems S.A., a new company to -provide professional support and service for Bacula. I believe you will be -pleased to see how we have married a strong commitment to the ethos of honest -open source software with the availability of services desired by a wide -range of Bacula users. - -As many of you know, I began work on Bacula in 2000 and released the first -public version in April 2002 to Source Forge. Although I have personally -written a very substantial part of the code, I offer sincere thanks to the -many members of the community who have provided ideas, fixes, testing, and -contributions of code, without which Bacula would not be what it is today. -It has been a labor of love and I am pleased that so many people have found -Bacula useful. - -Before telling you more about Bacula Systems, let me reiterate my unfaltering, -ongoing commitment to open source software and the Bacula open source -project. The code for Bacula and all future releases will remain available as -free open source software under the GPL license that I transferred to the -protection of the Free Software Foundation of Europe. Unlike some other open -source projects, there will be no separate "enterprise" or proprietary -version of the Bacula source code. www.bacula.org will continue to be the -home for Bacula project development. - -So, why create Bacula Systems? The company was created to respond to requests -from users who want professional support with guaranteed levels of service -and response times. To ensure continuity and the highest level of knowledge -transfer, I will take the position of Chairman of the Board and Chief -Technical Officer of Bacula Systems S.A.. - -Several members of the Bacula community have joined me to start the company. -The other team members are also strongly dedicated to the spirit of keeping -Bacula open and free while simultaneously offering commercial services to -those for whom it is essential in making the decision to deploy Bacula. -Bacula Systems is self-financed -- the initial capital comes from the -founders; no outside venture capital was sought or accepted. This means we -have the power to establish the company's priorities and we can remain -dedicated to "honest open source". Bacula Systems S.A. is a Swiss company -with offices in Yverdon-les-Bains, and with branches in France and Germany -initially. We will open additional branches as business requires. - -I will continue to support development of Bacula via bacula.org and the Bacula -community. Future developments will be in the "community" code base which -will remain free. Bacula Systems will offer "funded development" to -customers who wish to accelerate the addition of certain features to Bacula. -Code developed this way will be contributed to the free distribution and will -be available to the entire community at no charge. Bacula Systems will -provide additional fee-based services, including high quality consulting, -training, documentation and certified binaries. - -Our goal in establishing Bacula Systems is to be inclusive of the community, -and expand it by creating opportunities for members of the Bacula community -through a well-defined Partner Program. If you provide IT services or -consulting, the Bacula Systems Partner Program can provide you with the -additional back-up (pardon the pun) support you need to serve your customers -more effectively. - -Our plan is to develop an international network of partners who offer high -value added services to Bacula users -- installing, configuring and optimizing -Bacula for their customers, as well as Level 3 and 4 support, with guaranteed -service levels. We will also provide training and tools to our partners. - -The Bacula project website, www.bacula.org, and Source Forge will be unchanged -in the mission and ideals of being free sources of information, mail lists -and forum-based support for and by the community. Both Bacula source code and -Bacula binaries will continue to be available for free, as in the past, and -new releases will also be available for free. The new commercial website, -www.baculasystems.com will provide information on commercial subscriptions -for those users who want guaranteed levels of service, support, documentation -and certified binaries. - -All members of the Bacula community are encouraged to register for free at -www.baculasystems.com, so that you will receive announcements and news about -our commercial activities, and so that you can send feedback to our new -company, Bacula Systems. - -Thank you for your interest and participation in the Bacula community. - -Sincerely, - -Kern Sibbald -;;; - -Kern;;;11 October 2008 at 11:30am -Bacula version 2.4.3 Released -This is to let you know that the source tar files and the Win32 binaries for -Bacula version 2.4.3 have been released to the Bacula Source Forge download -area. - -Release 2.4.3 - This is a bug fix to version 2.4.2. All daemons are compatible - with other 2.4.x versions. - -Bugs Fixed: - 1159, 1162. 1149, 1128, 1143, 1140, 1129 - -Change Summary: -- Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel - a non created job faster. -- This should correct bug #1159 where Migration does not properly - respect the Migration Low Bytes directive. -- Fix typo in configure.in that breaks --with-db-password option -- 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. -- Remove all double quotes from SQLite creating script and - replace by single quotes as suggested by John Huttley. -- Fix SQL case problem that may cause the failure of DiskToCatalog - in bug #1149. -- Copy missing storage name into edit buffer. As far as I can tell - this never caused a bug. -- Remove catalog dependency for bcopy -- Modify catalog scripts to have an easier packaging integration, - using default variables. - Make difference between SQLite3 and SQLite in db_get_type() -- Attempt to fix bug #1128 InChanger flag cleared during Migration - job when reading from one autochanger and writing to another. -- Add more information to SD acquire.c INFO messages. -- Fix NULL Volume name error when reading and the drive must - be switched. -- Fix a Verify InitCatalog problem where in certain cases - a garbage filename may be entered in the verification database. This - fixes bug #1143. -- Add space after version before date in bat about dialog. -- Fix seg fault in Dir during estimate command with no level value - given. This fixes bug #1140. -- Add message to migration job when the target job is already migrated. - This closes bug #1129. - -Unless some really serious new bug shows up, this will be the last release -until the next major version (3.0.0), which we hope will be ready around the -end of the year. -;;; - -Kern;;;26 July 2008 at 10:30am -Bacula version 2.4.2 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.2 to the Bacula Source Forge download area. - - This is an important bug fix release since version 2.4.1. - -Bugs Fixed: - 1034, 1125, 1118, 1124, 1107, 1129, 1126 - -Change Summary: -26Jul08 -- 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. -- Break the do_swapping into do_unload, do_swapping, and - do_load. It is much more logical that way. -- 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 -- Apply patch submitted for bug #1107 with a small modification. - This fixes a bug where bcopy copied too many records. -- Make some tweaks to bsmtp based on patch submitted in bug #1124. - This fixes bug #1124. -- Make the default bat restore Pool be Any. This fixes bug #1118. -- 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. -- Fix #1034 by setting big timeout on mysql connections -- Do partial integration of the Win32 bat build created by Eric. -- Ensure that SD tried to mount a volume not in an autochanger - at least once before asking for operator intervention. -- Fix a pthreads bug in the Win32 pthreads emulation code affects only - version 2.5.x and above. -;;; - -Kern;;;7 July 2008 at 10:30am -Bacula version 2.4.1 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.1 to the Bacula Source Forge download area. - -Bugs Fixed: - 1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112 - 1117, 1116, 1097. - -Change summary: -- Clear in-use bit on vol when unused while swapping. -- Remove sleep at end of ./bacula -- Clear hash packet for hardlinked files correctly. This corrects - a long standing bug where hardlinked files selected individually - would occasionally not be restored. -- Apply Eric's patch to ensure that autoprune does not return - a Volume not in the autochanger unless requested to do so. -- Correct bat restore display of multiple drives. This fixes - bug #1117. -- Do find_a_volume() each time an unload is done. This - fixes the failure of maxvol2-test. -- Use Qmsg() in job.c watchdog callback. -- Release main control rwlock if ABORTing. -- Make watchdog connect timeout queue messages rather than sending - directly to avoid lock conflicts with the real thread. -- Remove const char that causes problems with Python, which has - older 'incorrect' headers. -- Add const char in dbd.c to avoid compiler warnings. -- Fix mtx-changer to detect both versions of Ubuntu (Debian) - mt. This fixes bug #1116. -- Fix failure of 2drive-concurrent-test. Always read label; - clear_unload() only after drive is defined in acquire_for_read(). -- Generally clean up the manual tape loading code. The main - conceptial 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. -- Fix a recycling problem with two autochangers reported in bug - #1106. This may also (unlikely) fix a second recycling bug as - reported in #1103. -- Fix a SD lock volumes deadlock problem reported in bug #1100. -- Fix format problem in bscan output reported in bug #1105. -- Copy more data when restarting a job so that run - overrides are kept. This should fix bug #1094. -- Backport updates to jobq.c where possible. -- Fix bug where SD did not ask operator if the device could not - be opened. Reported by Eric. -- Add dbuser to DIR conf file (replaces user). -- Add --with-db-password to ./configure -- Fix regress to handle db_password. -- Fix a couple of pedantic compiler warnings. -- Fix bug when starting a restore on a storage that doesn't - have the requested MediaType. -- More work on word alignments -- eliminate all ints from - the configuration routines. -- 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. -- Fix word alignment problem on non-Intel 64 bit machines - such as Solaris. This should fix bug #1097 -- bus error in SD. -- Add missing win32/patches/wxWidgets.patch to 2.4 repository. -;;; - - -Kern;;;4 Jun 2008 at 10:30am -Bacula version 2.4.0 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.0 to the Bacula Source Forge download area. - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -As usual, we strongly recommend when installing to keep the Director and the -Storage daemon on the same version. However, since this release only -contains refactored code and bug fixes rather than new features, the clients -(File daemons) should function perfectly with any 2.2.x version, and there is -no database upgrade needed. - -===================================================== - - Release Notes for Bacula 2.4.0 - - Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in) - -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 nor from version -2.2.x to version 2.4.0 - -================== Warning !!!!!! ========================== -As of Version 2.4.0, the Win32 FD should not descend into -any reparse point directory or reparse mount points unless the -specified directory is explicitly mentioned at the top level of -FileSet (as with Unix). A file that is linked to another file will -be backed up, much like Unix hardlinked files. If you want -reparse directories backed up, you must explicitly include them -in your FileSet. -====================================================== - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -Bugs fixed: - 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038 - 1062, 1065, 1046, 1047, 1031 - -New features: -- You can now build bat without the QWT libraries. Use - --without-qwt as a ./configure option. - -Release Version 2.4.0 -- Update version to 2.4.0 to reflect the magnitude of the SD changes. -- Make sure to clear JS_WaitMedia when operator mounts a Volume. - This fixes bug #1095. -- Add create_postgresql_database.sql to Win32 installer. Should - fix problem reported by Juilio Monteiro. -- Get correct slot when auto unloading a device. This fixes bug - #1086. -- Fix possible seg fault if SQL error. -- Fix renaming a Volume, which used the wrong Volume name. -- 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. -- Ensure correct volume name displayed during restore -- Fix a few more Coverity reported problems. -- Fix #1091 about bad output in estimate command. -- Modify autochanger locking to attempt to avoid race - conditions. -- Make sure device not busy before doing label command. -- Display open() errors except when polling. Previously too - many were suppressed. This should fix bug #1070. -- 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. -- Remove StorageId test when pruning and recycling (Eric's changes). -- Fix buffer overruns detected by Coverity. -- Implement --without-qwt -- Fix layout of restore tree dialog -- Add configure bat QWT libraries, so that bat can be built - with or without the QWT libaries. -- Implement regression that explicitly tests swapping a Volume - from one drive to another. -- Enhance disk-changer to detect most error conditions. -- Fix SD code so that it properly swaps a Volume between drives. - This fixes bug #1083. -- Prevent a Volume that is being swapped from being freed from - the volume list. This will most likely fix, at least partially, - bug #1083. -- Fix strippath so that it does not get a buffer overrun and crash FD. - This fixes bug #1078. -- Make inability to change owner/group when creating a dir only a - warning rather than an error. -- Fix SQL query in migration code -- Fix bat seg fault at termination. -- Add Bacula generated version to bat about box. -- Backport development stream SD reservation system changes. -- When wrong volume is mounted during read, unload_autochanger. -- Stop searching for Volumes in SD askdir if DIR returns the - same volume name twice in a row. -- Rework class structures for VOLRES, DCR, and DEVICE to make - the method names a bit more logical, and for more logically - handling the responsibilities. -- Remove redundant code in terminating the scheduler that just - causes a seg fault in many cases. -- Improve algorithm for detecting pre-reserved volume and - swapping volumes. -- Prevent volume from being released while being swapped. -- Refactor parts of stored/mount.c -- Add sanity checks for VolWriteTime and VolReadTime -- Take care of bad clock changes while computing VolWriteTime - and VolReadTime. This should fix or limit #1066 -- Correct error string numbers in dird/catreq.c -- Restructure reserving, acquiring, and mounting volumes. Calls to - autochanger are deferred for mount.c -- simplifes the code. -- Do not prune any running job. It just fails the job. -- 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. -- Correct some SD catalog request error messages. -- Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -- Turn off unloading the autochanger in reserve.c as it just - causes problems. -- Lock volumes when unreserving a device. -- Do not mark volume unused when recycling. -- Fix bug #1068 fixes a SD crash when using Virtual autochanger. -- Generate correct JobMedia records during spooling/despooling when - running concurrent jobs. Thanks to Tom Ivar Helbekkmo - for excellent analysis and testing. -- *Massive* commit of all fixes and back ports to create 2.2.9 - Mostly SD reservations enhancements. -- Fix Win32 FD backup/restore memory leak due to improper termination - of BackupRead/Write. This fixes bug# 1038. -- Fixes a StorageId problem with volumes after migration. -- Implements autostart scripts for Debian -- Fix mtx-changer.in for broken Debian mt program. -- Apply doc fix from bug #1062. -- Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. -- Update Win32 wxWidgets to latest version. -- Attempt to do correct handling of Win32 mount points. Should - fix bug #1046. -- Add const to AIX prototype for initgroups() -- Fix to the JobMedia patch, which introduced a new problem. -- Fix creating first JobMedia record during Migration to include - proper index. This caused slow restores of migrated jobs. -- Fix bug #1047, do not strip paths on symbolic links. -- Set catalog backup database and user name from values specified on - the ./configure line. -- Apply patch to correct bug #1031, about wrong pool source information - in job report. -;;;; - -Kern;;;27 Jan 2008 at 10:30am -Bacula version 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula and Win32 release areas -of Source Forge. I have hidden the previous BETA release - -Version 2.2.8 is a bug fix to version 2.2.7 and has a few - additional bugs fixed than the BETA 2.2.8 version previously - released: -- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030, - 1042(partially), and possibly bugs 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers, - and are difficult to reproduce. - See the ChangeLog for more details. - Note, if you previously loaded version 2.2.8 BETA, you will probably - want to upgrade, but it is not urgent ... -;;; - - -Kern;;;9 Jan 2008 at 20:30 -Bacula version BETA 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula-beta and -Win32-beta release areas of Source Forge - -Version BETA 2.2.8 is a bug fix to version 2.2.7: -- It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers. -;;; - -Kern;;;24 Dec 2007;;20:30 -Bacula version 2.2.7 Released -Bacula version 2.2.7 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge - -Version 2.2.7 has several new features and several important bug fixes - since version 2.2.6: -- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020 - 1007, 1008. For more details, please see the technotes-2.1 file. -- Fixed a seg fault reported by Frank Sweetser that depended on - exact path lengths, but the problem was in bsnprintf.c -- Double quoting include filenames (@xxx) in Bacula conf files is now - possible, thanks to a patch by Michael Stapelberg. -- You can pipe input to include filenames (@|prog) by using a vertical - bar, thanks to the above patch. -- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from - Nerijus Baliunas. -- Marc Cousins submitted a patch that permits building the PostgreSQL - driver with version 8.3. -- The configure option --archivedir has been changed to --with-archivedir -;;; -Kern;;;9 Nov 2007;;15:25 -Bacula version 2.2.6 Released -Bacula version 2.2.6 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge. - -This release is a minor fix upgrade to version 2.2.5, -and we recommend that all users upgrade when they can. - -Version 2.2.6 is a minor bug fix realease to version 2.2.5 -- It fixes bugs: #1003, 942, 982, 990(response only), 991, - 993, 986, 976. - - Fix bat crash wen it cannot connect to Director. - - Fix joblist failure bug in bat. -;;; -Kern;;;9 Oct 2007;;15:25 -Bacula version 2.2.5 Released -Despite the fact that the Release Notes are rather short, the bug -fixes represent quite a lot of work: - -Version 2.2.5 is a major bug fix release to version 2.2.4 -- It fixes the following bugs: #961, 962, 963, 969, 968, 960, - 964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954, - 957, 908, 958, and 955. -- It also improves listing performance problems in bat pointed - out by Chris Howells. -;;; -Kern;;;29 Sept 2007;;20:30 -A serious data loss bug in Bacula version 2.2.4 found and fixed - -This bug was very elusive and time consuming to track down. It -turned out to be a race condition that can lose the last one or -two blocks of a Job, which can happen in rare cases only when -running multiple simultaneous jobs when a volume fills and one -Job finishes receiving the last data from the FD and at the same -time a second job detects the end of the Volume. The bug was -introduced in version 2.0.0 and did not exist in version 1.38.x. -If the bug is triggered, the data is lost (not written to the -Volume), and it can occur for any backup job of any level under -the conditions noted above. - -The bug is reported in the bugs database as bug #964, and just -this morning I found and tested a fix, which is attached as a patch -to the bug report. The patch (2.2.4-lost-block.patch) is also -uploaded to the bacula-patches 2.2.x release area. This bug may -also be part of the problems reported in bug #935 and possibly -#903. - -Also in the bacula-patches 2.2.x area, you will find other -patches that fixes bugs #953, 966, 967, 965, 958, 908, and -955. Please refer to bugs.bacula.org for the details. - -Though this bug quite serious (data loss), it should be rare. -However, we recommend everyone to apply the patch. -;;; -Kern;;;2007/9/14;;;14:30 -Bacula version 2.2.4 Released - -This version of Bacula is a minor bug release to version 2.2.3. -It contains the following fixes: - -- Possible fix for authorization problems bug #953. -- Possible fix for bug #908. -- Add waits to multiple exit detection code to try to force pid - file to always be deleted. -- Restore good dev.tar.gz to rescue set appropriate binary property. - This fixes bug #950. -- 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. -- Cancel storage daemon in all cases where FD reports error. This - should fix virtually all cases of bug #920 and will ensure that Devices - are released as soon as possible. -- 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. -- Fix migration code to get correct Volume name with multiple volumes - by skipping |. Fixes bug #936. -- Implement patch supplied by Landon to fix bug #944 where using - TLS with bconsole uses 99+% of the CPU. -- Fix bug #946 about "bacula-dir -t" which doesn't works - as expected. -- Using "m" in bconsole will show messages as in prior versions - and not memory usage. - -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. -;;; -Kern;;;2007/9/9;;;14:30 -I regret to announce that there is a rather serious bug in Bacula. - -Bacula bug #935 reports that during a restore, a large number of files are -missing and thus not restored. This is really quite surprising because we -have a fairly extensive regression test suite that explicitly tests for this -kind of problem many times. - -Despite our testing, there is indeed a bug in Bacula that has the following -characteristics: - -1. It happens only when multiple simultaneous Jobs are run (regardless of -whether or not data spooling is enabled), and happens only when the -Storage daemon is changing from one Volume to another -- i.e. the -backups span multiple volumes, and it only happens for Jobs writing -to the same volume. - -2. It has only been observed on disk based backup, but not on tape. - -3. Under the right circumstances (timing), it could and probably does happen -on tape backups. - -4. It seems to be timing dependent, and requires multiple clients to -reproduce, although under the right circumstances, it should be reproducible -with a single client doing multiple simultaneous backups. - -5. Analysis indicates that it happens most often when the clients are slow -(e.g. doing Incremental backups). - -6. It has been verified to exist in versions 2.0.x and 2.2.x. - -7. It should also be in version 1.38, but could not be reproduced in testing, -perhaps due to timing considerations or the fact that the test FD daemons -were version 2.2.2. - -8. The data is correctly stored on the Volume, but incorrect index (JobMedia) -records are stored in the database. (the JobMedia record generated during -the Volume change contains the index of the new Volume rather than the -previous Volume). This will be described in more detail below. - -9. You can prevent the problem from occurring by either turning off multiple -simultaneous Jobs or by ensuring that while running multiple simultaneous -Jobs that those Jobs do not span Volumes. E.g. you could manually mark -Volumes as full when they are sufficiently large. - -10. If you are not running multiple simultaneous Jobs, you will not be -affected by this bug. - -11. If you are running multiple simultaneous Jobs to tapes, I believe there is -a reasonable probability that this problem could show up when Jobs are split -across tapes. - -12. If you are running multiple simultaneous Jobs to disks, I believe there is -a high probability that this problem will show up when Jobs are split across -disks Volumes. - -13. The bug concerns only the Storage daemon so there is no need to update -the clients, though I do recommend updating the Director when installing -an updated Storage daemon. - -I have uploaded patches to bug #935 (bugs.bacula.org) that will correct -version 2.2.0, 2.2.1, and 2.2.2. The patch has been tested only on version -2.2.2 and passes all regression tests as well as the specific test that -reproduced the problem. - -The patch has now been confirmed to fix the problem reported, and Bacula -version 2.2.3 has been released to Source Forge. - -For the technical details of the bug, please see: - - http://www.bacula.org/downloads/bug-935.txt - -;;; - -Kern;;;2007/8/11;;;14:30 - -Bacula Version 2.2.0 has been released to Source Forge. - - 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=. 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). - -;;; - -Kern;;;2007/3/6;;;14:30 - -Bacula Version 2.0.3 has been released to Source Forge. -This is a bug fix release to version 2.0.2. If you are upgrading from -a version older than 2.0.0, please be sure to read the important notes -below. - -Also, please check the patches directory in the current SVN or the -patches release section on Source Forge for important bug fixes to -this version. - -5Mar07 -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. -04Mar07 -kes Add smartctl call to bacula-sd.conf as an example of getting - tape alert info. -02Mar07 -kes Add Client Connect Wait to Storage daemon to permit users to - modify the time the SD waits for a FD connection. -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 Fix a few places in lib/message.c where the open fd may - not be zeroed. -21Feb07 -kes Add LANG=C to autoconf/randpass so it works with languages other - than English. Fixes bug #788. -20Feb07 -ebl Revert ClientRunBeforeJob as it was in 1.38.x - This fixes bug #780 - You will not be able to generate Include/Exclude list any more. - 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. -16Feb07 -kes Fix encryption deblocking bug, which caused some restored files - to be truncated. This fixes bug #763. This is a CRITICAL bug fix. -kes Add FD event sequence order prepared by Eric -- for RunScripts. -kes Fix 12am/pm bug as reported in bug #782. -15Feb07 -kes Add quick disconnect FD code from 2.1.4 to 2.0.3. This code - causes the SD to release the FD as soon as the FD has sent - all the data to the SD. After that the SD will do any final - despooling (data and attributes) that are necessary. This - allows laptops to disconnect much quicker from the network - after a backup. -13Feb07 -kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. -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 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). -09Feb07 -kes Update projects list. -08Feb07 -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). -26Jan07 (back port) -kes Implement item #12 on project list -- quick release of FD by - the SD. This is noted in more detail above. - -;;; - -Kern;;;2007/1/28;;;14:30 - -Bacula Version 2.0.2 released: -28Jan08 -kes Fix maxruntime bug #621. -27Jan07 -kes Get current main CVS .specs for RedHat, SuSE, Mandrake. -26Jan07 -ebl Implement the include JobID in spool file name project. -kes Reorder projects file in order determined by Jan 2007 vote. -kes Fix open of SQLite3 db where user does not have write permission - so that DIR does not crash. Fixes bug #761. -25Jan07 -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. - -;;; - -Kern;;;2007/1/13;;;14:30 - -Bacula Version 2.0.1 has been released to Source Forge. -This is bug fix update to version 2.0.0 and contains -the following fixes: - -- Fix Bacula->Documentation link on Win32 to point to index.html - instead of bacula.html. Fixed bug #750. -- Return JobId in db_get_job_record() when JobId==0. This should - fix bug #741. -- Do not release source pointers when restarting a failed job. -- Add dynamic dll entry point for SHGetFolderPath to Win32 code. - This *should* fix bug #747. -- Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix - bug #742. -- 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. -- Add back code to disable conio in configure. Fixes bug #743. -- Correct the Options scanner in the FD to correctly handle - SHA1 option, which was eating the next option. Reported by - Sebastien Guilbaud. -- Add code to indicate when the SD is spooling, spool wait, and - despooling as requested by Alan Brown. - -;;; - -Kern;;;2007/1/4;;;14:30 - -Bacula Version 2.0.0 has been released to Source Forge. - -There is an English Press Kit, written by Dan Langille at: - - http://www.bacula.org/about/press/presskit200.html.en - -and a German version, translated by Arno Lehmann at: - - http://www.bacula.org/about/press/presskit200.html.de - -;;; - -Kern;;;2007/1/4;;;14:31 - - Release Notes for Bacula 2.0.0 - - Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in) - -==== IMPORTANT Catalog update required ===== -- The database format has been updated from what was used in - Bacula 1.38.x. You must manually update your database before - running Bacula 1.39.x or higher. If you are using Bacula supplied - RPMs this is not necessary as the RPM does it automatically. - Please backup your previous version of the database before - running the update. The update script will be automatically - installed in your scripts directory, or can also be found in - /src/cats. It is called: - - ./update_bacula_tables - - It is necessary to run it only once the first time you move to - a 2.0.0. Upgrading the Bacula version thereafter does not - require updating the database again. Depending on the size of - your database the script make take a bit of time, to run, but - in general, it should be very fast. - -==== IMPORTANT new Win32 install procedure ===== - For Win32 migrations from versions prior to 1.39.0 nothing special - needs to be done to upgrade. Everything should be taken care of - automatically. The only thing not done is to delete the old C:\bacula - directory mostly out of paranoia. - -==== IMPORTANT miscellaneous ==== -- The Gnome console program (gconsole) no longer functions as it - should.More importantly, in restore mode, the restore tree is - no longer shown in the left pane. I suspect this is due to - incompatible changes in the GTK+ API, and hence have given up - on gnome and gtk+, as this has already happened several times - previously. At some point there will be a new GUI console. -- The bacula-dir.conf directive Accept Any Volume has been - removed because it was never implemented. You must delete all - occurrence of this directive for the Director to run. The Storage - daemon will automatically accept any valid Volume that you mount. -- The --mandir ./configure option now points to the top level man - directory. The man files will be installed under mandir/man8 and - mandir/man1 as appropriate. -- You *should* be able to use 1.38.x FDs with version 2.0.0 Director - and SD providing you do not use any of the new features (runscript, - data encryption). It seems to work here, but we do not guarantee it. -- Your Director and SD must be simultaneously upgraded. -- The restore command no longer uses the MediaType as the primary method - of finding a suitable Storage device. Normally it will select the last - device used to write a Volume. If no storage device is defined, it - will use the old algorithm which selects the first Storage resource - with the correct MediaType. -- The MD5/SHA1 hash codes kept in the database are now kept in a binary - format compatible with the rest of the world. If you are running verify - jobs, you *must* do an InitCatalog or all files will show an MD5 - difference. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. This has been tested, but more - more testing is still needed. -- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses - the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25 - kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works. - This problem may also be present in certain Fedora FC5 kernels. -- If you have been using the data encryption feature of 1.39.x, please - be aware that certain combinations of encryption and other options - with version 1.39.0 through 1.39.26 created Volume data that cannot - be restored. We strongly recommend that anyone using encryption - carefully review his/her backups and at a minium do a Full backup - with 1.39.28 of all encrypted data. Robert Nelson has identified - and fixed it as follows: - As of 1.39.27: - No filters = Works fine - Sparse = Works fine - Compression = Works fine - Encryption = Works fine - Sparse + Compression = Works fine - - Sparse + Encryption = Restore broken - Sparse + Compression + Encryption = Restore broken - Compression + Encryption = Restore broken - - As of 1.39.28: - Most combinations work, but some encrypted files are - not properly restored. - - As of 1.39.30: - All combinations work fine except Sparse+Encryption. - - Bottom line, if you are using data encryption, please test restoring - data to be sure it all works correctly. -- The current Volume format written by 1.39.22 is different from - the format written by previous versions. The two formats - are not compatible. Thus any DVDs written prior to 1.39.22 will - be unreadable by version 1.39.22. -- If you previously run a Bacula version prior to 1.39.30, the JobMedia - data may not be correct for disk Volumes. This can cause incorrect - seeking in versions after 1.39.30. If you experience what appears to - be data I/O or integrity errors during restores, please add the - following directive to your disk DEVICE resource in the Storage - daemon conf file: - - Block Positioning = no - - This will turn off all seek requests during restores and avoid - this problem. -- VSS for Windows clients is now enabled by default. -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger, see manual. - -New Features in 2.0.0: -- Turn on disk seek code for restores. -- There is a partial but reasonable translation of the Bacula - messages for French. To install it, first configure and build - Bacula, then as root run: - - cd /po - make install - - If you have your locale set properly you will get the translated - messages. -- Bacula now support Migration jobs that are documented in a new - Migration chapter in the manual - http://www.bacula.org/dev-manual/Migration.html -- Data encryption is now implemented and is documented in - a new chapter of the manual at: - http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html -- Additional support for removable devices. See the - Requires Mount, Mount Point, Mount Command, and Unmount - Commands in the Storage daemon configuration chapter: - http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html - Also see the Edit Codes for Mount and Unmount Directives in the - same chapter. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The initial work was done by Howard Thomson, - then tweaked by me. Robert Nelson then totally reworked the - cross-compiling code so that it not only cross-compiles, but - also compiles on Visual Studio, and at the same time, he added - all the current Unix features to the FD, such as selection on - drives, encryption support, building *all* the tools, ... -- The Director and Storage daemon have now been ported to Win32. - This code is working but should still be tested carefully - before putting into production. -- Bacula restore and bextract can now extract non-portable Win32 data to - any client (including Unix/Linux clients). Of course, in doing so, - the Microsoft specific permissions and ACLs will be lost. Thanks - to Thorsten Engel for this code. -- The 260 character limitation for Win32 paths name lengths is now - eliminated thanks to Thorsten Engel. However, if you are using - Volume Shadow Copy, please be careful to specify all the paths - in the bacula-fd.conf file using a full path notation including - the drive letter. -- Eric Bollengier wrote new RunScript directives that includes - the old RunBefore/AfterJob and ClientRunBefore/AfterJob features - plus a *lot* more, allowing you to control just about every aspect - of running scripts. See the manual for detailed documentation. - http://www.bacula.org/dev-manual/Configuring_Director.html#5227 -- SunOS ACLs should now work thanks to a patch from David Duchscher. -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - "list nextvol days=xx" - or - "status dir days=xx" - This can be used to preview the next scheduled job (and the - next tape to be used) on Fridays if there are no scheduled jobs during - the weekend. -- From Eric Bollengier. One can now using the bconsole wait command do: - wait (wait for all jobs to stop) - wait jobid=nn - wait jobuid=unique id - wait job=job-name -- Volumes can now be set to Enable, Disable, or Archive. If they - are not enabled, Volumes will not be mounted. - Implement update volume enable=(on|off|true|false|archived|0|1|2) -- Add Catalog message destination in Messages resource that puts the - job report in the Log database table. -- Writing/reading DVD Volumes is much more stable -- to the point - of being useful. Thanks to Richard Mortimer. -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- The database Id records should be 32/64 bit independent now. 64 bits - can be enabled by changing one define and changing the appropriate - table variable. Normally, you need 64 bits only for FileId. -- Relative path specifications (i.e. ../xxx) are now permitted in - the restore cd command. -- When running multiple simultaneous jobs, most jobs that use spooling - will now finish faster due to a mutex optimization made by Eric - Bollengier. -- Conf files containing UTF-8 marker at the head of the file as well as - conf files containing Window cr/lf and Mac cr line termination characters - are now accepted thanks to Robert Nelson. -- Windows tray status windows are scrollable and resizable. -- Win32 external script execution is much more flexible -- handles - spaces in names better, ... -- Lots of DVD fixes -- writing DVDs is now reported to work. -- Fix opening of database in a restricted console to respect - any Catalog ACL. -- Much better automatic handling of multiple database catalogs in - the restore command. -- Permit multiple console/director resources in bconsole.conf. - patch from Carsten Paeth calle@calle.in-berlin.de -- Character substitution in Job/JobDefs WriteBootStrap. - from Eric Bollengier. -- Apply patch supplied in bug #656 to pass priority field - in the run dialog to the Director in gnome console. -- Add support of encrypted data stream to bscan from Eric. - display data_len instead of data content (may be binary). -- Add Enabled=xxx on update slots command. -- Add host:port to connect failure messages to FD and SD from Dir/ -- Add WhereACL to console ACL list. If nothing is specified, only - the default is permitted for restore. Otherwise, *all* allows any - path, or you can specify permitted paths. This should allow control - over where users can restore files. This is untested. -- Install man pages with 'make install'. -- Add Media.Enabled flag to client backups for dotcmds.c -- Enforce Media.Enabled=1 for a current restore to work -- Require restore case 3 to have sqlquery permission to work. -- Add -n option to bconsole to turn off conio -- used in bweb. -- The bytes field in the terminated jobs part of the status - command now reports in KB, MB, ... units. -- When not descending into a directory, print the File= name that - triggered it -- makes why not descending a bit clearer -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger -- Fix bug #462 incorrect error message printed when client script called - from File= was not found. -- Fix bug #558 (waiting for feedback) where Bacula needs too much time to - do a rewind on Solaris when no tape is in the drive (Solaris does not - have the detailed errno found on Linux). Added Solaris specific code. - Note, this may apply to other OSes as well. -- The examples directory has a new bacula_mail_summary.sh file that - creates a single email summary of any number of jobs. Submitted by - Andrew J. Millar. -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Modify most restore error messages to be queued so that they - appear at the end of the job rather than mixed with the restore - listing where they could be "lost". -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Added a report.pl program to the examples directory from Jonas Bjorklund. -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -- Implement new code for changing userid and group at startup. This - should get Bacula into the correct groups. -- Implement support for removable filesystems -- device type directive - and mount, unmount directives. -- Transfer rates are now presented in a more readable format thanks - to a user submission. -- SD is now aware of what volumes are mounted. More information is printed - in the Status report. You must take much more care now to unmount - devices prior to removing tapes that Bacula has open or prior to - changing a magazine. Don't forget to do a mount afterwards or the - device will be blocked. -- The Pool Maximum Volumes directive is now respected in all places. -- A Storage device can now be specified in a Pool resource. It will override - all other Storage specifications. -- Most but not all directives accept true/false in place of yes/no. -- A patch from Karl Hakimian that reads JobIds, FileIndexes - from a database table for restore. -- There are a number of new tables. Some such as the Location table are - designed for user use in doing Volume Management software. -- Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- Implement jobuid to replace old usage of job in keywords as - suggested by Eric Bollengier. -- Implement write variables for Python to set Priority (anytime), and - Job Level, only during JobInit event. -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow the SD to use multiple drives during a backup/restore (only - one at a time). -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -- Remove automatic case folding on Windows FDs. You must - explicitly use the 'Ignore Case = yes' option. -- Implement wild program in tools directory for testing - wild-cards. Almost identical to the regex program. -- Use the new bregex.c to implement Regex expressions on Win32. -- Apply patch from Christopher Hull - - Allow multiple connections to database with different - parameters. - - Invalidate the scheduler when doing a reload. Fixes seg - fault, but still 60 second window. - - Additional info in Reschedule message. - - Use set_jcr_job_status() everywhere to prevent loss of - cancel, error. - - Display peer IP in FD if error from connecting DIR. - - Don't increment file count for DIRBEGIN. - - Replace illegal characters in Win32 filename by _. - - Add SE_CREATE_PERMANENT_NAME privilege in Win32. - - Hash hard link filenames rather than linked list (performance). - - Fix for security failure in chdir on Win32. - - Add CreateDirectoryA/W win32 API entry points. -- programs to duplicate Bacula's base64 algorithm using standard - routines. This fixes bugs #296, and 565. Patch submitted by - author of bug #565. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. -- Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support. - O_NOATIME is a open() flag which makes it possible to read a file without - updating the inode atime (and also without the inode ctime update which - happens if you try to set the atime back to its previous value). It also - prevents a race condition when two programs are reading the same file, but - only one does not want to change the atime. It's most useful for backup - programs and file integrity checkers (and bacula can fit on both - categories). - You enable it in the Bacula FileSet Options resource by setting: - noatime = yes - The effect of this option is similar to the keepatime option except - it is more efficient and avoids modifying ctime. -- Implement a pile of new man pages contributed by Jose Tallon. -- Modify the database format for handling Migration jobs: - Add PriorJobId, RealEndTime to Job table - Delete MAC table - Remove Stripe from JobMedia record (not used, wasting space) - Add ScratchPoolId, RecyclePoolId, Enabled to Media record - Add Cost to Location table. - Enabled to Media table and Location table. -- Security: harden authentication failure in FD by single threading errors - and forcing a 6 second wait. -- If using GCC (actually g++) add the following compiler flags - -fno-strict-aliasing -fno-exceptions -fno-rtti -- Turn on new bsnprintf() code. The reason for this code is to - eliminate the security problems associated with using the - system libraries print routines. -- Implement job report that indicates where Storage and Pool - came from -- with overrides and Pool storage and NextPool, - it is all very complicated. -- Add more detail (Storage, Device) to list of volumes printed - for restore. -- Add new VOLMGMT message class. No messages are yet sent with this - class. -- Improved Bacula rescue procedures -- see the Disaster Recovery - chapter of the manual -- Add spooling/despooling info in status output of SD. -- Add Comment field to llist of a volume. -- Allow true/false in many but not all yes/no directives. -- The Bacula source code is now copyrighted by the Free Software - Foundation Europe. The Developer's Guide documents the new procedures, - and the LICENSE file has been updated. -- Apply Jaime Ventura's patch that implements the Messages resource - Mail On Success directive. -- The Client returns its Version string, which is printed in the Job - report. -- The Client returns whether or not VSS and Encryption are used, which - are printed in the Job report. - -Additional Features Added for Win32: -- Added DriveType directive to the Director's Include Option FileSet - resource. Allowed values are: fixed, removable, cdrom, and remote. There - is only an implementation for Windows because it is the only platform that - has the concept of drives. - -- Adds EnhancedWild directive to the Director's Include Option FileSet - resource. Allowed values are: yes and no. - - When EnhancedWild is enabled then the processing of the - Wild, WildDir and WildFile is changed in the following ways. - - Patterns conform to Posix - \ is not a special character in character classification [] - To match a - it must be the first or last character - To match a ] it must be the first character - - fnmatch option FNM_FILE_NAME is specified * doesn't match a / - so it won't match multiple directory levels in a path - -- Relative WildFile patterns (ones without a leading /) match - against the filename portion. This in combination with the - FNM_FILE_NAME fnmatch() flag makes directives such as WildFile = - abc*.def work as expected. - -- Adds support for the shell's feature of brace expansion. - - Here is an example where braces allow 24 lines to be expressed in 5. - - # Exclude directories full of lots and lots of useless little files - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files" - -;;; diff --git a/docs/home-page/fr/news.txt b/docs/home-page/fr/news.txt index 8550d09c..8835a9c0 100644 --- a/docs/home-page/fr/news.txt +++ b/docs/home-page/fr/news.txt @@ -1,18 +1,17 @@ -Kern;;;27 November 2011 at 12:03 CET -We have released Bacula Version 5.2.2 to Source Forge +Kern;;;16 December 2011 at 12:293 CET +We have released Bacula Version 5.2.3 to Source Forge - Release Notes for Bacula 5.2.2 + Release Notes for Bacula 5.2.3 Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) General: -------- -The 5.2.2 version is an important bug fix release. It contains also some -additions and performance improvements. +The 5.2.3 version is an bug fix release. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If you are upgrading directly from 5.0.3 to this version, please see the -important notices below for version 5.2.1, particularly +important notices below for version 5.2.2, particularly the database upgrade and the difference in packaging the SQL shared libraries. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -22,2649 +21,24 @@ Compatibility: As always, both the Director and Storage daemon must be upgraded at the same time. - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2 + Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3 Director and Storage daemons. There should be no need to upgrade older File Daemons. -Changes since 5.2.1: ------------------ - - Implement -t option for Bat - - Require correct Qt version 4.6.2 or later to build bat - - Get new lib/plugins.h - - Pull new SD plugin files from Master - - Fix script to set mode of cats scripts - - Add Systemd configure options - - Split messages line by line before sending it to syslog() fix #3325 - - Fix bvfs_restore on MySQL - - Fix #3308 where a SMTP problem can block the director - - Change locking scheme of the mountpoint cache. - - Enhance mountcache with rescan option after interval. - - Add %D option to edit_job_code, simplify callbacks on director side - - Move Zdeflate and Zinflate to seperate file. - - Put libraries in the correct order for non shared libs. - - Remove last traces of @SQL_BINDIR@ and @DB_TYPE@ - - Fix bug #1774 - - Move batch insert detection into db.m4 - - bat: try to fix offset button problem when clicking too much on previous - - bvfs: Use single transaction for each job during update - - Add missing bwild & bregex man8 pages - - Fix compilation issue of wx-console #1778 - - bvfs: fix filter for pattern= bvfs parameter - - Improve speed of BVFS with SQLite, Thanks to J.Starek - - bvfs: add clear_cache function - - bvfs: Handle windows drive when building path hierarchy +Changes since 5.2.2: -Closed Bugs Since 5.2.1 ------------------------ -1774 1778 3308 3325 + - Revert patch from Ben to not compress man pages on Solaris fix #1801 + - Fix bug #3322 don't poll when operator is labeling tapes + - bvfs: Fix mysql REGEXP operator + - Fix Mysql 5.5.18 symbol lookup + - fix utf8/iso8859 problems + - Fix #3419, update stats problem + - Fix cats_test to use the new method names. + - Update accurate code to use 1 byte instead of 3 + - Fix segfault in accurate code + - Fix compilation warning on FreeBSD +Bugs fixed/closed since last release: +1801 3322 3419 -;;;; -Kern;;;30 October 2011 at 14:50 CET -We have released Bacula Version 5.2.1 to Source Forge - - Release Notes for Bacula 5.2.1 - - Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount) - -General: --------- - -This 5.2.1 version is a major release since the last version 5.0.3. -It includes well over 299,387 lines of changes made by 20 contributors, -lots of bug fixes (see below), 1,851 software commits,and a -number of important new features: - -Version 5.2.0 -------------- -Version 5.2.0 was short lived, because Marco (thanks) found -a number of last minute bugs. So the first official release of 5.2 -is 5.2.1. - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Main New Features: ------------------- -- LZO Compression -- New Tray Monitor -- Purge Migration Job -- Changes in Bvfs (Bacula Virtual FileSystem) -- Changes in the Pruning Algorithm -- Ability to Verify any specified Job -- Additions to RunScript variables -- Additions to the Plugin API -- ACL enhancements -- XATTR enhancements -- Class Based Database Backend Drivers -- Hash List Enhancements - -Some of the above are described below; all the above are -described in more detail in the New Features chapter of the -manual. - -Closed Bugs since 5.0.3: ---------------------- -1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501 -1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549 -1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582 -1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624 -1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699 -1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710 - - -================== Warning !!!!!! ========================== - - The new pruning algorithm will not allow pruning of jobs that are essential to - restore since the last Full backup. This is, of course, correct and desirable, - but it is different from older Bacula versions that could inappropriately - prune jobs. Pruning of volumes is not affected. - -Building Bat: -------------- -To build Bat, you need Qt4 version 4.6.2. If you build with any other -version it is likely not to work. If you do not have version 4.6.2, on -your system, you can download the Bacula depkgs_qt version 16Dec10. - -Packaging the SQL backend: --------------------------- -The main Bacula Director code is independent of the SQL backend -in this version. This means that the Bacula Director can be packaged -by itself, then each of the different SQL backends supported can -be packaged separately. It is possible to build all the DB backends -at the same time. - -- configure can be run with multiple database configure options. - --with-sqlite3 - --with-mysql - --with-postgresql - -Order of testing for database is -- postgresql -- mysql -- sqlite3 - -Each configured backend generates a libbaccats--.so -A dummy catalog library is created named libbaccats-version.so - -At configure time the first detected backend is used as the so called default -backend and at install time the dummy libbaccats-.so is replaced with -the default backend type. - -If you configure all 3 backends you get 3 backend libraries and the postgresql -gets installed as the default. When you want to switch the default you can -copy one of the 3 backend libraries over the libbaccats-.so e.g. - -cp libbaccats-postgresql-.so libbaccats-.so - -And update the default backend in the following files: - -create_bacula_database -drop_bacula_database -drop_bacula_tables -grant_bacula_privileges -make_bacula_tables -make_catalog_backup -update_bacula_tables - -New Catalog format in version 5.2.0 and greater ------------------------------------------------ -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (version -14). The Bacula project rpm spec files have been modified to -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source (i.e. manually): -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.2.1 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 5.0.0 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - -================================================================ - -Changes: - -Speed and Memory Usage Enhancements: -- Implement LZO compression algorithm (need lzo2 headers to activate this option) -- New Pruning algoritm -- safer and faster -- Use of PostgreSQL cursor when doing large queries, should reduce the - memory usage during restore and accurate backups. -- limit command in some list commands -- Bacula Virtual File System for fast catalog access -- Faster crc32 algorithm - -Security Enhancements: -- Additional security against injection of illegal characters -- Fix possible fnmatch problem - -Features Enhancements: -- Improvements in ACL and xattr handling on additional platforms: - AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64 -- Tray monitor for Windows -- New SQL backend and ./configure that permits building multiple catalog - backends in one build, and has the main Bacula core code totally independent - of the SQL backend, which should simplify packaging (only the - libbacsql.so/dll needs to be changed to switch from one database backend - to another (e.g. MySQL to PostgreSQL). -- Indent lsmark during restore -- Disable batch insert config item -- Director selection option in bconsole -- restorejob command in bconsole -- Many additional features for bat such as "brestore" panel -- The old bat version browser has been turned off since it does not - work correctly and the brestore panel provides the same functionality -- Improved hash table for hard links -- Additional script variable editing such as %b (JobBytes), %F (JobFiles) - and %h (Client Address) - -Other Enhancements: -- Includes better handling for Windows repares points, mount points, and - junction points. -- New database format -- Many new plugin API features -- Improved memory handling for restores -- Significant stability enhancements to bat -- xattr/ACL restore failure are now printed as Warning -- A few path name length limits in Windows have been removed. - - -=========================================================================== -;;;; - -Kern;;;06 August 2010 at 19:15 CET -We have released Bacula Version 5.0.3 to Source Forge - -This 5.0.3 version is significant bug fix update to version 5.0.2. -It includes new code and some new features. -There is no database change since prior versions of 5.0. - -Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in - the 5.0.1 release section. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes and New Features: -- If a VSS (Windows) snapshot fails, the whole Job is failed, previously - it printed a warning message and continued. -- New editing codes %b = Job Bytes and %f = Job Files for runscripts -- Any non-Bacula project plugins (i.e. third party plugins) - must be upgraded to specify AGPLv3 in place of the GPLv2 used previously - for the PLUGIN_LICENSE. -- The bat Media page text columns can be sorted by clicking on the column. -- If possible, the SD will automatically update the catalog Volume size if - it does not match the Volume size. The mismatch between the Volume sizes - typically occurs when the FD has a comm line drop or the FD crashes. - - -Bug fixes -1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610 - -- Change license from GPLv2 to AGPLv3 -- Make Win32 no filesystem change more explicit -- Backport Branch-4.0 release to Branch-5.0 -- Massive backport from Branch-5.1 to Branch-5.0 -- Fix postgresql catalog creation when version is not on the first line -- Fix bug #1610 handle empty xattr values on Linux and xBSD. -- Garbage collect memory pool at end of job and before sm_dump -- Add xattr seg fault protection suggested by Marco for bug #1610 -- Add archlinux to os.m4 -- More fixes for 32/64 bit problems in smartall -- Fix 32/64 bit problem in smartalloc dump routine -- Fix bad copy/paste in commit c88dccb88 prably a seg fault -- Add .dump and .exit commands for daemons -- Make SD automatically fix the Volume size in the Catalog when out of sync -- Use Pmsg in smartall.c rather than printf for tracing Windows -- Up maximum block size to 20M -- Fix for TLS bugs #1568 and #1599 -- Improve comm line error handling for TLS, may fix bug #1568 and #1599 -- Fix problem when sending Cancel event to plugin -- Convert all Jmsg on the watchdog thread to Qmsg -- Fix SD crash due to mismatched lock/unlock in error condition -- Fix bug #1587 if you have clients with different catalogs configured, both - catalogs contains all clients after a reload or restart of the dir -- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open() - by moving and commenting out the ASSERT() -- Skip HB kill in FD if HB thread terminated -- Fix crash from unequal volume_lock/unlock calls -- New prunning algorithm -- should be more accurate -- Save any dumps during regression to dumps directory -- Fix crash from rw_lock/unlock miss match -- Attempt to fix duplicate job kill seg fault -- Replace pthread_kill by my_thread_send_signal() in jcr.c -- fix #1595 about batch mode detection problem for postgresql with non standard - install dir -- Fix #1594 about prune copy jobs -- Apply literal string fix in printf submitted by Luca Berra -- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups -- Fix segfault on "cancel jobid=" command -- Fix bug #1554 Windows installer doesn't honor /S flag -- Remove pool zap code that breaks 2drive-concurrent-test -- Fix #1571 and install libraries with 755 perms -- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger -- Fix problem with BaseJob and Accurate FileSet options on client side -- Fix for bug #1569 deadlock/crash in Dir -- Fix segfault when loading Plugins -- Fix #1567 about display of long volume names truncated during restore -- Added new bacula-libs package. -- Fix bug #1538 Start Scripts return incorrect value -- Fix bug #1564 init scripts not LSB compliant - -See ChangeLog for more details. - -;;;; -Kern;;;01 August 2010 at 17:23 CET -Welcome to our new bacula.org server - -This is our new bacula.org server, graciously provided -by UKFast. Our previous server, also hosted by UKFast, was -getting to be a bit old, so they furnished us a new one, -and we are very pleased. - -;;;; -Kern;;;28 April 2010 at 19:15 CET -Eric has released Bacula Version 5.0.2 to Source Forge - -This 5.0.2 version is primarily a important bug fix update to version 5.0.1. - -Note, if you are running 5.0.0, read the 5.0.1 release notes below. - Important!!! - -Compatibility: --------------- - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.2 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -Changes since 5.0.1 -------------------- - -Bug fixes -1502 1511 1517 1524 1527 1532 1536 1541 1549 1551 1553 1559 1560 - -- Probable fix for SD crash bug #1553 -- Fix #1559 problem when restoring pruned jobs with a regexp -- Fix for bug #1560 bcopy cannot find Volume -- Fix cancel crash bug #1551 -- Check if sql backend is thread-safe -- Correct Pool display in SD status. Fixes bug #1541 -- Fix cancel crash reported by Stephen Thompson -- Rewind on close to fix #1549 -- Remove closelog() in bpipe fixes bug #1536 -- Fix #1517 about missing Base level in .level command -- Replace ASSERT in block.c with fail Job -- Fix database locking calling db_lock and returning from function without - calling db_unlock. -- Add missing db_unlock to bvfs_update_cache. -- Fix #1532 about permission on binaries -- Fix #1527 about deadlock during migration -- Another fix for OpenSSLv1 -- Add -lrt to Solaris links -- Fix tls.c for OpenSSLv1 -- Fix #1511 when trying to insert more than 50.000 directories in bvfs -- Fix plugin load not to stop if one plugin bad -- pointed out by James -- Remove --without-qwt from configure statement. -- Second correct fix to bug #1524 verify fails after adding or removing files -- Fix bug #1524 verify fails after adding or removing files -- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem -- Fix OpenSSL 1.x problem in crypto.c on Fedora 12 -- Display AllowCompress warning message only if compression used in FileSet - -;;;; - -Kern;;;25 February 2010 at 15:35 -Bacula Version 5.0.1 has been released to Source Forge - -Bacula version 5.0.1 source code and Windows (32/64 bit) binaries have been -released to Source Forge (thanks Eric). - -This is a major bug fix release including a few directives that have been -rewritten, one new directive, and some different directive behavior (see the -release notes below). As is usual for a patch release (last digit changes by -one), this version is compatible with the 5.0.0 database and with prior -clients. However, you *must* upgrade all components that are on any one -machine (that is you must upgrade your Director, Storage daemon, and File -daemon at the same time, if they reside on the same machine). - -Note, Bacula does not normally uninstall previous versions, and we have -changed the shared object naming convention, so you might want to first save -your configuration files then uninstall the old Bacula using the old Bacula -uninstall prior to installing the new one. If you do not, it should not be -serious, but you may be left with some older Bacula shared objects that are -not used and hence wasting a small amount of disk space. - -If you are upgrading from version 3.0.x or prior, please see the full release -notes as you must do a database upgrade. When updating from 5.0.0 to this -release there is no database upgrade needed. - -Scott has made a number of changes and improvements in the rpm packaging over -the past few weeks since version 5.0.0 was released, so he will probably be -releasing the 5.0.1 rpms quite soon. - -Thanks for using Bacula :-) - -Best regards, - -Kern - -============= Performance Note ================== - -Some of you have encountered performance problems with your -database (mainly with MySQL) with Bacula version 5.0.0. This is -mainly because we've changed the SQL query used for restore, -accurate jobs and base jobs. We have extensively tested this -change, and though it should be a little bit slower than the previous -versions, on a well configured database it should run -extremely well. - -We strongly recommend to avoid the temptation to add new indexes. -In general, these will cause very significant performance -problems in other areas. A better approch is to carefully check -that all your MySQL memory configuation parameters are are -suitable for the size of your installation. If you backup -millions of files, you need to adapt the database memory -configuration parameters concerning sorting, joining and global -memory. By default, sort and join parameters are very small -(sometimes 8Kb), and having sufficient memory specified by those -parameters is extremely important to run fast. - -If adjusting your MySQL memory configuration values does not -solve your problem, you can also consider switching to -PostgreSQL, which performs much better with Bacula on big -installations (many millions of files per Job). However for -large installations, you will also need to adjust the default -PostgreSQL memory configuration parameters. - -========================================== - - - Release Notes for Bacula 5.0.1 - - Bacula code: Total files = 1,081 Total lines = 217,272 (Using SLOCCount) - -!!!!!!!!!!!!!!!!!!!!! NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -The Allow Duplicate Jobs directive has been significantly -reworked, and the default value has changed. See below. - -Truncate On Purge has been totally rewritten. See the new -features section of the manual. - -When Volume Poll Interval is set in the SD DEVICE configuration, -(default 5 mins), after a certain number of polling tries (approx -10) polling will stop and the operator will be asked to -resolve the problem. Previously there was no limit, and an -error message could be produced at each poll attempt. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -Changes since 5.0.0 -------------------- -- We believe that we have resolved most of the problems - concerning canceled or failed jobs being "stuck" in the - Director. There is one outstanding problem in the SD when - canceling jobs that we will fix in the next major release. - If you see jobs that seem to be stuck, in general issuing - a cancel command in bconsole should now make them go away. - -Directives: -- The default for "Allow Duplicate Jobs" has been changed from - no to yes. If you use this directive, please check your - conf file, and note the next two items !!!!!!!!!!!!!!!!!!! -- AllowHigherDuplicates disabled. It did not work as documented - and was confusing. -- New directive "CancelLowerLevelDuplicates" See New Features - section in the manual. -- Truncate on Purge rewritten. See New Features section in the manual. - -Bug fixes: -1448 1466 1467 1468 1476 1481 1486 1488 1494 1497 -1499 1501 1505 1509 1513 - -- Ensure SD asks for help when looping even if poll set. Fixes bug #1513. -- Fix three-pool regress bug -- Modify bacula.spec fixes bug #1505 -- This version fixes an issue where the console window would start out - docked. It is fixed by initiating the variables in the Pages class wi - constructor. -- Fix make_catalog_backup.pl fails when catalog db is on other host -- Apply MacOSX installer patch from bug #1509 -- Apply fix to previous fix of Copy problem. Fix proposed by reporter o - #1476 -- Fix bug #1501 -t does not print errors -- Apply SQLite3 update fix from bug #1497 -- Apply bashism fix for diskchanger.in script from bug #1499 -- Apply rpm fix for Sci Linux from bug #1494 -- Take most recent Ukranian po from bug #1448 -- Probable fix for Copy/Migration bug #1476 -- Fix bug #1488 -- avoid recursion and race conditions in messages.c -- Upgrade cats library also to 5.0.0 -- Fix missing console page in bat -- Add bat help files to Window install -- Improve Windows upgrade to ensure old FD is shutdown -- Fix bug #1481 -- bat consumes all console file descriptors -- Backport truncate on purge from 5.1.x -- Fix bug #1486 -- bat doesn't show any errors on command-line -- Update the bsock error URL -- Correct .my.cnf umask in make_catalog_backup.pl -- Apply fix for dbcheck use by make_catalog_backup.pl -- Fix seg fault in bscan from new comment field -- Allow multiple CNs when using TLS -- Fix seg fault in SQlite driver -- Make shared libs version the same as the Bacula release version -- Remove file_index sequential check -- Fix #1466 about Bogus pruning message - -For Packagers: -1. The default query.sql file is now, except for some comments, empty. -The old file, which we no longer support (it is impossible or difficult to -make it work on every backend, and the queries are mostly contributed) can -be found in /examples/sample-query.sql. The sample file is -not installed by the Makefiles - -2. When you install the mtx-changer script, you must also install -mtx-changer.conf if it does not exist. This new file (mtx-changer.conf) is -required for mtx-changer to work, but it is a user configurable file, so on -any update, any existing file should not be overwritten. - -3. Bat should be built on every platform that is capabable of running Qt. -However, the Qt code is changing rather quickly and is not always -compatible from version to version. We have built and verified bat on Qt -4.3.4. We strongly recommend that you do not build and distribute bat with -any other version of Qt unless you personally test it. To build against Qt -4.3.4, download the depkgs-qt package from the Bacula Source Forge download -location, read the README file and follow the instructions. - -If you are building for Bacula version 5.0.0, please ensure that you do not -have qmake-qt4 loaded on your system. If you do, either remove it or -rename it before trying to build bat. If you do not, bat will probably be -built using the shared objects on your system. For Bacula 5.0.1 and later, -this problem (bug) does not exist. - -depkgs-qt does not install Qt on your system, nor does it interfere with -you having any other version of Qt installed on your system. Once you -build bat with depkgs-qt, it should *not* use the Qt shared objects, but -rather they will be linked into the program. After fully installing bat -(make install), you can run "ldd bat" to see what shared objects it will -use. If any Qt shared objects are referenced, something has gone wrong. - -4. Unless absolutely necessary, we recommend that you do not define any -special library environment variables that apply to the ./configure -- for -example: LIBDIR=/... ./configure is strongly discouraged. -Doing so, could potentially cause Bacula to be linked against the wrong -shared objects. - -5. The Bacula project strongly recommends that you install Bacula into a -single directory, with a few minor exceptions such as the MySQL or -PostgreSQL databases. Preferrably this should be /opt/bacula. The full -recommendation is: - -#!/bin/sh -# Recommended configure script for Bacula -prefix=/opt/bacula -email=xxx@yyy.zz -CFLAGS="-g -O2 -Wall" \ - ./configure \ - --sbindir=${prefix}/bin \ - --sysconfdir=${prefix}/etc \ - --docdir=${prefix}/html \ - --htmldir=${prefix}/html \ - --with-working-dir=${prefix}/working \ - --with-pid-dir=${prefix}/working \ - --with-subsys-dir=${prefix}/working \ - --with-scriptdir=${prefix}/scripts \ - --with-plugindir=${prefix}/plugins \ - --libdir=${prefix}/lib \ - --enable-smartalloc \ - --enable-tray-monitor \ - --enable-bat \ - --with-mysql \ - --with-dump-email=${email} \ - --with-job-email=${email} \ - --with-smtp-host=localhost \ - --with-baseport=9101 - -Obviously, the email, and some of the minor options (mysql, postgresql, -...) can be changed to suit your distribution, but the directory names -defined above are strongly recommended, and over time the default values in -the bacula-dir.conf and bacula-sd.conf will reflect these choices. - -If you have any questions about this or would like a detailed document -describing our recommendations including packaging requirements, please -send an email to the bacula-devel list. - -6. Starting with Bacula version 3.0.0 up to Bacula 5.0.0, the shared -libraries that Bacula uses by default are named xxx-1.0.0. Starting with -Bacula 5.0.1, we are going to name the libraries using the Bacula version. -So in Bacula 5.0.1, the libraries will be named xxx-5.0.1. With future -versions, the last digit may or may not change when we distribute patch -updates (i.e. the last digit of the version changes). This will depend on -whether or not we have changed something in the library. Hopefully this -new procedure will resolve some of the incompatibility problems between -different versions of the shared objects. - -7. The default build option for bconsole is conio (my own little console -routines). I did this because some years ago, readline was very difficult -to maintain -- it and where it was found seemed to change on every release. -This generated at the time a number of support problems. It seems to me -that since then there have been very few problems with readline. As a -consequence, I have no problem if you want to make bconsole with readline -enabled. It will actually give some very nice new bconsole command -completion functionality that Eric has written. Bottom line: feel free to -use readline or not as you please. - - -;;;; -Eric;;;25 January 2010 at 10:00 -Bacula Version 5.0.0 has been released to Source Forge - -Release Numbering: ------------------------------------------------------------ -You might be wondering why this release jumps from 3.0.x to -5.0.0 thus skipping version 4.0.0. We have done this for -several reasons: first, we wanted a way of distinguishing -the numbering system for the Bacula System Enterprise version -and the Bacula Project version. So, to do so, we have decided -that the first number of the Bacula Project version will always -be odd, and the first number of the Enterprise version will always -be even. Thus the Bacula Project now moves from 3.0.x to 5.0.x. -In addition, we want to keep the Bacula Project version larger -than the Enterprise version to indicate that the Bacula Project -version is more advanced or has more features than the -Enterprise version. For memory, the current Enterprise version -is 2.6.1, and the next release (in a few months -- before June 2010) -will be version 4.0.0. - -Warning: --------------------------------------------------------------- -Please note the three Warnings below before doing any install or -upgrade. - - -Changes since 3.0.3a (the last Bacula Project release): -------------------------------------------------------- - -Bug fixes: -1337 1351 1352 1354 1357 1361 1367 1369 1370 1373 -1376 1391 1403 1409 1420 1422 1427 1428 1431 1450 -1454 1455 1458 1456 - -Fixed: - - Problem that locks the Director when the SMTP server wasn't - responding to the bsmtp program - - Restore's dir command shows incorrect file sizes - - Fix various problems with the reload command - - Fix problems with conio - - Eliminate several deadlocks or potential race conditions from SD - -Enhancements: - - Project 5: Truncate volume after purge - - Project 6: File Deduplication using Base Jobs - - Project 10: Restore from Multiple Storage Daemons - - Project 11: AllowCompression per Device - - Project 23: Add Maximum Concurrent Jobs for Devices to balance load - between drives - - Add Accurate Fileset Options to configure accurate detection. Can use - checksum verification for example. - - Allow FD to keep root read but drop write permission (CAP) - - Secure handling of passwords for catalog backup - - Add Tab-completion for Bconsole when using Readline - - Add Bvfs API to query the catalog without building a memory tree - - Add new speed test to btape program - - Add new Bat screens (Autochanger content, Job view, Media view, ...) - - Windows version of Bat - - Added Spanish Bacula translation - - New bconsole -u nnn option to have timeout on commands - - Allow Migrate, Copy, and Virtual Full to read and write - to the same Pool - - show disabled -- shows disabled Jobs - - Add Pool File and Job retention periods (take precedence over Client) - - Many ACL improvements - - Level added to FD status Job entry - - Allow turning on/off Block Checksum per device - - Set Device Poll interval to 5 minutes -- previously did not poll - - Implement lock manager with bad order protection - -Compatibility: -As always, both the Director and Storage daemon must be upgraded at -the same time, and on any given machine, you must run only one version -of Bacula. This means that on the Director and Storage daemon machines, -you *must* upgrade your File daemon as well. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 5.0.0 -Director and Storage daemons. There should be no need to upgrade older File -Daemons immediately. However, we recommend that you do so as soon -as is reasonable for your situation. - -================== Warning !!!!!! ========================== - -New Catalog format in version 5.0.0 (3.1.9 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 3.0.x (version 11) catalog to 5.0.0 (version -12). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrade the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 5.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 3.1.9 -(e.g. 3.0.3) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. -================================================================ - - -================== Warning !!!!!! ========================== -If you upgrade a previous Win32 client installation, you must -first stop the File daemon, then uninstall it before attempting -the upgrade. If you do not do so, the upgrade will probably -fail and you will need to manually find and run the -Uninstall.exe file, before you can upgrade to the new version. -This is because the file locations are different. If you want -to save your previous bacula-fd.conf file, please do so before -uninstalling it. -================================================================ - -================== Warning !!!!!! ========================== -Due to permissions problems on Windows Vista and later systems, -we no longer require SYSTEM or Administrator permissions to -access the binaries and configuation files. If you wish -to restrict access to these files, please see the New Features -section of the manual for how to set access control lists. -================================================================ - -Note, the Win32 Installer no longer installs the Bacula Servers -(Director and Storage daemon). See the New Features section of -the manual for more details. - -============ Documentation improvements needed ================== - -Note!!!!! The 5.0.0+ documentation has a number of known problems: - -1. We have reduced the number of manuals, which has fixed many - of the broken links found in the old 3.0.x version, but there - are still some that need fixing. - -2. Integration of the 3.0.x features into the main manuals has - not yet been done. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== - - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/5.0.x-manuals/en/main/main/New_Features_in_5_0_0.html - -The ChangeLog has more details. - -;;;; - - -Kern;;;18 October 2009 at 21:00 -Bacula Version 3.0.3 has been released to Source Forge - -Note, if you are not already running 3.0.x, read the 3.0.x release notes - below. Important!!! - -Version 3.0.3 is primarily a important bug fix update to version 3.0.2. - -Changes since 3.0.2: -Bug fixes: - 1391, 1288, 1346, 1352, 1359, 1355, 1363, 1364, 1365, 1366, 1368, - 1369, 1370, 1371, 1382 - -Fixes: - Apply James' fix for some Exchange plugin crashes - Integrate patch for building dmg on OSX from Lorenz Schori - Fix bug #1391 Job status improperly set due to subtle variable overload problem - Fix #1352 about double free with regexp and big filenames on windows - Apply Graham's idea for recovering from disk full by recursing - when doing fixup_write_error ... - Make fix for VirtualFull changing device based on suggestion by - Nicolae Mihalache - Fix concurrent Job recycle bug #1288 - Backport part of one possible fix from bug #1346 - Fix bug #1382 newly created disk volumes -> file not found warning - Fix Alpha ifdefing -- should fix bug #1359 - Use old code for selecting file during restore. - Cherry-pick 3.1.x commits - tweak space on projects file - Fix seg fault in ignoredir code - Apply Frank's slash patch - Fix seg fault in SD bug #1371 - 3.0.2-Fix-seg-fault-in-SD-bug-1371.patch - Add more info when SD connection refused - 3.0.2-Add-more-info-when-SD-connection-refused.patch - Fix bug #1355 Director crashes with double free in Accurate SQL query - 3.0.2-accurate.patch - Fixes bug #1368 ASSERT Failure on MacOS. - 3.0.2-mac-path-len.patch - Fix #1364 and #1363 about compression buffer error. - 3.0.2-zlib-buffer.patch - Fixes bug #1365 and #1366 about MacOSX resource forks. - 3.0.2-bug-1365.patch and 3.0.2-bug-1366.patch - Fix "Exclude Dir Containing" fileset option - 3.0.2-exclude-dir-containing-fd.patch - 3.0.2-exclude-dir-containing.patch - 3.0.2-exclude-dir-containing-top_level.patch - -Compatibility: - As always, both the Director and Storage daemon must be upgraded at - the same time. - - Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.3 - Director and Storage daemons. There should be no need to upgrade older File - Daemons. - -;;;; - -Kern;;;20 July 2009 at 14:49 -Bacula Version 3.0.2 has been released to Source Forge -Note, if you are not already running 3.0.x, read the 3.0.x release notes -below. Important!!! - -Version 3.0.2 is primarily a important bug fix update to version 3.0.1 with -some enhancements (see below). - -Changes since 3.0.1: - -Bug fixes: - 1029, 1285, 1298, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1311, 1315 - 1317, 1318, 1323, 1325, 1331, 1333, 1335 - -Fixed: - - Fix problem with the Postgresql driver that sometime displays values - - Cleanup old job records when starting the Director - - Fix bugs in xattr code - - Fix encoding problem with Postgresql - - Fix that prevents restore by file selection from using Copy job - -Enhancements: - - Security enhancement for the File Daemon - - New directive to specify source address for outgoing connexions - - Show volume availability in autochanger when doing restore. - This is project 31 in the projects file. - - Add accurate=yes/no option to estimate command - - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure - - Add a restore menu that contructs a full restore when entering a JobId. - This is project 2 in the projects file. - - Add new Nagios plugin - -Compatibility: -Like always, both the Director and Storage daemon must be upgraded at -the same time. - -Older 3.0.x and possibly 2.4.x File Daemons are compatible with the 3.0.2 -Director and Storage daemons. It should be no need to upgrade older File -Daemon. -;;;; - -Kern;;;30 April 2009 at 17:49 -Bacula Version 3.0.1 has been released to Source Forge. - -Note, if you are not already running 3.0.0, please read the 3.0.0 release notes. Important!!! - -Version 3.0.1 is primarily a minor bug fix update to version 3.0.0 with -one enhancement (see below). - -Changes since 3.0.0: -Bug fixes: - 1276, 1274, 1275, 1272 1246, 1268, 1281, 1282. - -Fixed: -- Check for job_canceled() in fd_plugin code. -- Update Win32 table creation to have new DB version 11 format -- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf -- Remove 'Reposition' messages when restoring -- Updated projects file -- Tweak version string to display versionid field at the end - and keep fields order. - - Add additional mysql connection debug code submitted by: - Chandranshu - -Enhancement: -- Modify insertion of read Volumes in SD to be done *before* the - drive reservation. This ensures that a Volume to be read will not - be reserved for writing. Significant improvement in eliminating - tape deadlock situations. - -Note, both the Director and Storage daemons must be upgraded at the -same time. The 3.0.1 File daemons are compatible with 3.0.0 file -daemons and as noted below in the 3.0.0 release notes the Director -and Storage daemon should be compatible with 2.4.x File daemons. -In general, we do not expect any of the 3.0.x File daemons to work with older -Directors and Storage daemons (as has always been the case for Bacula -releases). - -============ Documentation improvements needed ================== - -Note!!!!! The 3.0.0+ documentation needs rather extensive modifications in the -following areas: - -1. Missing documentation. -2. Correction of links within various manuals -- most fail. -3. Integration of the new features into the main documents. -4. Much more. - -The documentation will not be completed in the near future due to lack -manpower. If you are unhappy with this situation as we are, we suggest -you help by submitting patches to the documentation. Thanks. -===== -;;; - -Kern;;;09 April 2009 at 22:30 -Bacula Version 3.0.0 has been released to Source Forge. - -This is to inform you that we have uploaded the Bacula version 3.0.0 source -tar files and the Win32/64 installer files to the Bacula Source Forge -download location. - -There are quite a number of new features in this release, and upgrading to it -requires a database upgrade, so please read the release notes carefully -(included below) and the documentation for the new features at: - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -There is still a good deal of work to do to finish the release process (mainly -reorganizing the web site manuals ...), but at least the source files are -released. The rpms should follow shortly (probably this weekend). - -If you are currently using 2.4.4, please note that within a few months that -version will no longer be supported, so please consider the possibility of -upgrading. - -This release probably has the most new features that we have ever released, -and it has taken a long time to produce it. The basic code is very well -tested, and if you stick to 2.4.4 features, you are unlikely to experience -problems. However, many of the new features have not been well tested, so -your help will be appreciated. - -The following issues with 3.0.0 are known and we are working on them: - -1. The documentation is not 100% complete (there are so many new features that -we missed documenting some). - -2. All the new documentation is in the New Features chapter, but not all of it -has yet been integrated back into the appropriate chapters. - -3. James has reported that the Exchange plugin may crash if you cancel a job -while it is running. He is working on this. - -4. The SD has many new features that will make it more stable. One in -particular is that it knows what Volumes will be read during a migration, -copy, or Virtual backup job, and will ensure that they are not selected for -writing (something easy to do if you are using disk files and the same pool -for reading an writing). However, the day after the release was cut, I found -a problem with this code that prevents it from working properly during -certain pre-allocations of the write tape. - -5. There is still an outstanding bug report on VSS failing (it seems to be a -bit of a rare case). - -As I previously announced, we will now make 3.0.0 our main release source code -stream, and we hope to release new version every six months and bug fix -updates even sooner. To be able to do this, we will support version 2.4.4 -only for a few more months. There after the project will only support the -most current release ... - -This release comprises a lot of work by a lot of different people and many -contributions. Normally I hesitate to mention particular people or -contributions because I always forget someone, but since this was such a big -release, I would like to mention at least the big contributions: - -Sponsor Company(s) - Programmer - Project -Bacula Systems - Eric Bollengier - Accurate Backup -Bacula Systems - Eric Bollengier - Catalog format enhancements -Bacula Systems - Eric Bollengier - bextract non-portable Win32 data -Bacula Systems - Eric Bollengier - Win64 File daemon -Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump -Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on - same machine -Bacula Systems - Eric Bollengier - Virtual tape emulation -Bacula Systems - Kern Sibbald - USB rescue key -Equiinet funded development - James Harper - MS Exchange plugin - -Personal contributions: -Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file -Marco van Wieringen - ACL code overhaul -Marco van Wieringen - Solaris ZFS/NFSv4 ACL support -Marco van Wieringen - Extended Attribute support -Marco van Wieringen - Shared Objects -Dirk Bartley - Bat speedup + stability improvement + many enhancements -Joao Henrique Freitas - libdbi catalog driver -Scott Barninger - rpm packaging -Kern Sibbald - many big and little projects ... -Many people -- see the AUTHORS file. - -Many thanks to everyone for making Bacula what it is today. - -=== List of new features === -- Accurate Backup -- Copy Jobs -- ACL code overhaul -- Solaris ZFS/NFSv4 ACL support -- Extended Attribute support - --disable-xattr (default=auto) -- Shared Objects - --enable-libtool (default) - --disable-libtool -- Virtual Backup -- Catalog Format Enhancements - - Support for more than 4 Billion file entries - - New stats tables -- Duplicate Job Control -- TLS Authentication -- bextract non-portable Win32 data -- State File updated at Job Termination -- Bacula Plugins - - FD bpipe plugin - - FD Exchange plugin -- libdbi DB driver -- Console Enhancements - - status slots - - list joblog - - command separator -- Bootstrap regex -- Restore seek optimization -- Virtual Tape Emulation -- Bat Enhancements -- RunScript Enhancements -- Status enhancements -- FD connect timeout default to 3 minutes -- ftruncate implemented for NFS Volumes -- FD Version compatibily flag -- Statistics Enhancements -- Faster Attribute despooling -- Document split into 6 manuals -- GPLv2 license now compatible with OpenSSL -- Win64 File daemon -- Postmortum dump improvements in SD -- Deadlock mutex detection in SD -- Improved Volume management in SD to avoid deadlocks. -- New configure install options - --docdir= (default=/usr/share/doc/bacula-VERSION) - --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files) - --plugindir= (default=sysconfdir, where plugins will be installed) -- New Bare Metal Recovery with USB key. See rescue/linux/usb - New Directives: -- Max Full Interval -- Max Diff Interval -- Honor No Dump Flag -- Exclude Dirs Containing -- Recycle Pool -- Max Run Sched Time -- Max Wait Time -- Full/Diff/Incr Max Run Time -- Scratch Pool -- Max Console Connections -- Spool Size (in Job resource) -- Allow Mixed Priorities -- Allow Duplicate Jobs -- Allow Higher Duplicates -- Cancel Queued Duplicates -- Cancel Running Duplicates -- TLS Authenticate -- Console (in RunScript) - -New features from Project Items Completed for version 3.0.0 - also listed above: -Item 1: Accurate restoration of renamed/deleted files -Item 3: Merge multiple backups (Synthetic Backup or Consolidation) -Item 4: Implement Catalog directive for Pool resource in Director -Item 5: Add an item to the restore option where you can select a Pool -Item 8: Implement Copy pools -Item 12: Add Plug-ins to the FileSet Include statements. -Item 13: Restore only file attributes (permissions, ACL, owner, group...) -Item 18: Better control over Job execution -Item 26: Store and restore extended attributes, especially selinux file -contexts -Item 27: make changing "spooldata=yes|no" possible for -Item 28: Implement an option to modify the last written date for volumes -Item n: Split documentation into several books -================================ - - - Release Notes for Bacula 3.0.0 - - Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in) - -The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release -represents an enormous effort. - -This Director and Storage daemon must be upgraded at the same time, -but they should be compatible with all 2.4.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. However, any -release of version 2.5.40 or greater requires a database upgrade. - -================== Warning !!!!!! ========================== - -New Catalog format in version 3.0.0 (2.5.40 or later) ------------------------------------------------------ - -This release of Bacula uses a new catalog format. We provide a set of -scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version -11). The Bacula project rpms distributed on Source Forge will automatically -detect the database change and do the upgrade for you. We strongly -recommend that you save a copy of your existing database before upgrading -using rpms. - -The simplest way to upgrad the database assuming you are building from -source: -1. Stop any current version of Bacula from running. -2. Save a copy of your existing database. -3. Configure, build, and install the 3.0.0 version of Bacula - Note the new ./configure options in the manuals see the link - at the bottom of this file. -4. cd -5. ./update_bacula_tables -6. If you have multiple catalogs, edit the update_bacula_tables - script and put the name of another database, and then - execute the script again. Repeat this until all Bacula - catalogs have been updated. -7. Start the new Bacula. If everything worked, it should - not print any error messages. - -The upgrade operation will convert the FileId index field of the File table -from 32 bits to 64 bits. This operation will take TIME and will *temporarily* -DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update, -so, won't be able to run jobs during this period. For example, a 3 million -files -catalog will take 2 mins to upgrade on a normal machine. Don't forget to -backup it before executing the script. - -If you start from scratch, you don't need to run the update_bacula_tables -script because the create_bacula_tables script automatically creates the new -table format. However, if you are using a version of Bacula older than 2.5.40 -(e.g. 2.4.4) then you need to run the update_bacula_tables script that will -be found in the /src/cats directory after you run the ./configure -command. As mentioned above, before running this script, please backup your -catalog database, and when you do running it, be sure shutdown Bacula and be -aware that running the script can take some time depending on your database -size. - - -Important New configure options : ----------------------- - -This release of Bacula 3.0.0 uses libtool by default -to generate the Bacula libraries as shared objects rather than -being directly linked in as in prior versions. This means that -the Bacula shared objects, must either be in a shared object -directory known to the loader or they must be in the directory -where the Bacula binaries are installed. It is also possible -to explicitly specify the libraries directory on the ./configure -line (--libdir=/full-path/dir), but this should not be necessary. - - ./configure --libdir= - -If you have problems with libtool or you wish to use the old -way of building libraries and linking them into Bacula, you -can do so by disabling libtool on the configure command line with: - - ./configure --disable-libtool - -During the installation of Bacula 3.0.0, it will now install -bat help files (if you have configured bat). These files -are placed in /usr/share/doc/bacula/html by default. If you -want to put them elsewhere use: - - ./configure --htmldir= - -During the installation of Bacula, it will now install the -ReleaseNotes, License, technotes, ChangeLog, and similar -files in /usr/share/doc/bacula by default. If you -want to put them elsewhere use: - - ./configure --docdir= - -During the installation of Bacula, any plugins will be -installed in the plugindir, which is by default the -same as libdir (/usr/lib). You can specify an alternate -location with: - - ./configure --with-plugindir= - -============================================================== - -This release includes large number of new features and changes. -It should be more or less compatible with previous xx.conf files -and File daemons providing that you are not using any of the new -features. - -Please see the New Features chapter of the new manual, which documents -some but not all the new features (we are still working on it): - -http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html - -The ChangeLog has more details. - -;;; -Kern;;;03 Nobember 2008 at 17:35 -Critical 2.4.3-orphaned-jobs.patch released -We recently found and corrected a serious bug in Bacula that causes jobs to be -orphaned or "stuck" in the director during the pruning process. Depending on -what jobs get stuck and how many there are, it could prevent additional jobs -from running. As best we can tell, this problem occurs only during what could -be called extreme pruning conditions -- i.e. there are insufficient Volumes -available for normal operations. - -In any case, we recommend that everyone apply the 2.4.3-orphaned-jobs.patch, -which you can find in the bacula-patches section of the Source Forge download -area as well as in the directory patches of both the trunk and Branch-2.4 SVN. -;;; - -Kern;;;12 October 2008 at 10:30am -Creation of Bacula Systems SA -Dear Members of the Bacula Community, - -I'm pleased to announce the creation of Bacula Systems S.A., a new company to -provide professional support and service for Bacula. I believe you will be -pleased to see how we have married a strong commitment to the ethos of honest -open source software with the availability of services desired by a wide -range of Bacula users. - -As many of you know, I began work on Bacula in 2000 and released the first -public version in April 2002 to Source Forge. Although I have personally -written a very substantial part of the code, I offer sincere thanks to the -many members of the community who have provided ideas, fixes, testing, and -contributions of code, without which Bacula would not be what it is today. -It has been a labor of love and I am pleased that so many people have found -Bacula useful. - -Before telling you more about Bacula Systems, let me reiterate my unfaltering, -ongoing commitment to open source software and the Bacula open source -project. The code for Bacula and all future releases will remain available as -free open source software under the GPL license that I transferred to the -protection of the Free Software Foundation of Europe. Unlike some other open -source projects, there will be no separate "enterprise" or proprietary -version of the Bacula source code. www.bacula.org will continue to be the -home for Bacula project development. - -So, why create Bacula Systems? The company was created to respond to requests -from users who want professional support with guaranteed levels of service -and response times. To ensure continuity and the highest level of knowledge -transfer, I will take the position of Chairman of the Board and Chief -Technical Officer of Bacula Systems S.A.. - -Several members of the Bacula community have joined me to start the company. -The other team members are also strongly dedicated to the spirit of keeping -Bacula open and free while simultaneously offering commercial services to -those for whom it is essential in making the decision to deploy Bacula. -Bacula Systems is self-financed -- the initial capital comes from the -founders; no outside venture capital was sought or accepted. This means we -have the power to establish the company's priorities and we can remain -dedicated to "honest open source". Bacula Systems S.A. is a Swiss company -with offices in Yverdon-les-Bains, and with branches in France and Germany -initially. We will open additional branches as business requires. - -I will continue to support development of Bacula via bacula.org and the Bacula -community. Future developments will be in the "community" code base which -will remain free. Bacula Systems will offer "funded development" to -customers who wish to accelerate the addition of certain features to Bacula. -Code developed this way will be contributed to the free distribution and will -be available to the entire community at no charge. Bacula Systems will -provide additional fee-based services, including high quality consulting, -training, documentation and certified binaries. - -Our goal in establishing Bacula Systems is to be inclusive of the community, -and expand it by creating opportunities for members of the Bacula community -through a well-defined Partner Program. If you provide IT services or -consulting, the Bacula Systems Partner Program can provide you with the -additional back-up (pardon the pun) support you need to serve your customers -more effectively. - -Our plan is to develop an international network of partners who offer high -value added services to Bacula users -- installing, configuring and optimizing -Bacula for their customers, as well as Level 3 and 4 support, with guaranteed -service levels. We will also provide training and tools to our partners. - -The Bacula project website, www.bacula.org, and Source Forge will be unchanged -in the mission and ideals of being free sources of information, mail lists -and forum-based support for and by the community. Both Bacula source code and -Bacula binaries will continue to be available for free, as in the past, and -new releases will also be available for free. The new commercial website, -www.baculasystems.com will provide information on commercial subscriptions -for those users who want guaranteed levels of service, support, documentation -and certified binaries. - -All members of the Bacula community are encouraged to register for free at -www.baculasystems.com, so that you will receive announcements and news about -our commercial activities, and so that you can send feedback to our new -company, Bacula Systems. - -Thank you for your interest and participation in the Bacula community. - -Sincerely, - -Kern Sibbald -;;; - -Kern;;;11 October 2008 at 11:30am -Bacula version 2.4.3 Released -This is to let you know that the source tar files and the Win32 binaries for -Bacula version 2.4.3 have been released to the Bacula Source Forge download -area. - -Release 2.4.3 - This is a bug fix to version 2.4.2. All daemons are compatible - with other 2.4.x versions. - -Bugs Fixed: - 1159, 1162. 1149, 1128, 1143, 1140, 1129 - -Change Summary: -- Apply 2.4.2-cancel-non-running-jobs.patch to be able to cancel - a non created job faster. -- This should correct bug #1159 where Migration does not properly - respect the Migration Low Bytes directive. -- Fix typo in configure.in that breaks --with-db-password option -- 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. -- Remove all double quotes from SQLite creating script and - replace by single quotes as suggested by John Huttley. -- Fix SQL case problem that may cause the failure of DiskToCatalog - in bug #1149. -- Copy missing storage name into edit buffer. As far as I can tell - this never caused a bug. -- Remove catalog dependency for bcopy -- Modify catalog scripts to have an easier packaging integration, - using default variables. - Make difference between SQLite3 and SQLite in db_get_type() -- Attempt to fix bug #1128 InChanger flag cleared during Migration - job when reading from one autochanger and writing to another. -- Add more information to SD acquire.c INFO messages. -- Fix NULL Volume name error when reading and the drive must - be switched. -- Fix a Verify InitCatalog problem where in certain cases - a garbage filename may be entered in the verification database. This - fixes bug #1143. -- Add space after version before date in bat about dialog. -- Fix seg fault in Dir during estimate command with no level value - given. This fixes bug #1140. -- Add message to migration job when the target job is already migrated. - This closes bug #1129. - -Unless some really serious new bug shows up, this will be the last release -until the next major version (3.0.0), which we hope will be ready around the -end of the year. -;;; - -Kern;;;26 July 2008 at 10:30am -Bacula version 2.4.2 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.2 to the Bacula Source Forge download area. - - This is an important bug fix release since version 2.4.1. - -Bugs Fixed: - 1034, 1125, 1118, 1124, 1107, 1129, 1126 - -Change Summary: -26Jul08 -- 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. -- Break the do_swapping into do_unload, do_swapping, and - do_load. It is much more logical that way. -- 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 -- Apply patch submitted for bug #1107 with a small modification. - This fixes a bug where bcopy copied too many records. -- Make some tweaks to bsmtp based on patch submitted in bug #1124. - This fixes bug #1124. -- Make the default bat restore Pool be Any. This fixes bug #1118. -- 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. -- Fix #1034 by setting big timeout on mysql connections -- Do partial integration of the Win32 bat build created by Eric. -- Ensure that SD tried to mount a volume not in an autochanger - at least once before asking for operator intervention. -- Fix a pthreads bug in the Win32 pthreads emulation code affects only - version 2.5.x and above. -;;; - -Kern;;;7 July 2008 at 10:30am -Bacula version 2.4.1 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.1 to the Bacula Source Forge download area. - -Bugs Fixed: - 1103, 1100, 1105, 1094, 1109, 1106, 1101, 1102, 1112 - 1117, 1116, 1097. - -Change summary: -- Clear in-use bit on vol when unused while swapping. -- Remove sleep at end of ./bacula -- Clear hash packet for hardlinked files correctly. This corrects - a long standing bug where hardlinked files selected individually - would occasionally not be restored. -- Apply Eric's patch to ensure that autoprune does not return - a Volume not in the autochanger unless requested to do so. -- Correct bat restore display of multiple drives. This fixes - bug #1117. -- Do find_a_volume() each time an unload is done. This - fixes the failure of maxvol2-test. -- Use Qmsg() in job.c watchdog callback. -- Release main control rwlock if ABORTing. -- Make watchdog connect timeout queue messages rather than sending - directly to avoid lock conflicts with the real thread. -- Remove const char that causes problems with Python, which has - older 'incorrect' headers. -- Add const char in dbd.c to avoid compiler warnings. -- Fix mtx-changer to detect both versions of Ubuntu (Debian) - mt. This fixes bug #1116. -- Fix failure of 2drive-concurrent-test. Always read label; - clear_unload() only after drive is defined in acquire_for_read(). -- Generally clean up the manual tape loading code. The main - conceptial 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. -- Fix a recycling problem with two autochangers reported in bug - #1106. This may also (unlikely) fix a second recycling bug as - reported in #1103. -- Fix a SD lock volumes deadlock problem reported in bug #1100. -- Fix format problem in bscan output reported in bug #1105. -- Copy more data when restarting a job so that run - overrides are kept. This should fix bug #1094. -- Backport updates to jobq.c where possible. -- Fix bug where SD did not ask operator if the device could not - be opened. Reported by Eric. -- Add dbuser to DIR conf file (replaces user). -- Add --with-db-password to ./configure -- Fix regress to handle db_password. -- Fix a couple of pedantic compiler warnings. -- Fix bug when starting a restore on a storage that doesn't - have the requested MediaType. -- More work on word alignments -- eliminate all ints from - the configuration routines. -- 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. -- Fix word alignment problem on non-Intel 64 bit machines - such as Solaris. This should fix bug #1097 -- bus error in SD. -- Add missing win32/patches/wxWidgets.patch to 2.4 repository. -;;; - - -Kern;;;4 Jun 2008 at 10:30am -Bacula version 2.4.0 Released -This is to inform you that we have released the source and Win32 binaries of -Bacula version 2.4.0 to the Bacula Source Forge download area. - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -As usual, we strongly recommend when installing to keep the Director and the -Storage daemon on the same version. However, since this release only -contains refactored code and bug fixes rather than new features, the clients -(File daemons) should function perfectly with any 2.2.x version, and there is -no database upgrade needed. - -===================================================== - - Release Notes for Bacula 2.4.0 - - Bacula code: Total files = 500 Total lines = 188,654 (*.h *.c *.in) - -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 nor from version -2.2.x to version 2.4.0 - -================== Warning !!!!!! ========================== -As of Version 2.4.0, the Win32 FD should not descend into -any reparse point directory or reparse mount points unless the -specified directory is explicitly mentioned at the top level of -FileSet (as with Unix). A file that is linked to another file will -be backed up, much like Unix hardlinked files. If you want -reparse directories backed up, you must explicitly include them -in your FileSet. -====================================================== - -This release consists mainly of a number of bug fixes since 2.2.x -but most importantly, a rewrite of significant portions of the -Storage daemon reservation and autochanger code. This rewritten -code is simpler, more stable, and works much better, particularly -with multiple drive autochangers than the prior code did. That -said, there are still a number of issues to be resolved. Note, -the new code has not been tested in manual volume mount situations. - -Bugs fixed: - 1095, 1086, 1091, 1070, 1041, 1083, 1078, 1066, 1068, 1038 - 1062, 1065, 1046, 1047, 1031 - -New features: -- You can now build bat without the QWT libraries. Use - --without-qwt as a ./configure option. - -Release Version 2.4.0 -- Update version to 2.4.0 to reflect the magnitude of the SD changes. -- Make sure to clear JS_WaitMedia when operator mounts a Volume. - This fixes bug #1095. -- Add create_postgresql_database.sql to Win32 installer. Should - fix problem reported by Juilio Monteiro. -- Get correct slot when auto unloading a device. This fixes bug - #1086. -- Fix possible seg fault if SQL error. -- Fix renaming a Volume, which used the wrong Volume name. -- 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. -- Ensure correct volume name displayed during restore -- Fix a few more Coverity reported problems. -- Fix #1091 about bad output in estimate command. -- Modify autochanger locking to attempt to avoid race - conditions. -- Make sure device not busy before doing label command. -- Display open() errors except when polling. Previously too - many were suppressed. This should fix bug #1070. -- 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. -- Remove StorageId test when pruning and recycling (Eric's changes). -- Fix buffer overruns detected by Coverity. -- Implement --without-qwt -- Fix layout of restore tree dialog -- Add configure bat QWT libraries, so that bat can be built - with or without the QWT libaries. -- Implement regression that explicitly tests swapping a Volume - from one drive to another. -- Enhance disk-changer to detect most error conditions. -- Fix SD code so that it properly swaps a Volume between drives. - This fixes bug #1083. -- Prevent a Volume that is being swapped from being freed from - the volume list. This will most likely fix, at least partially, - bug #1083. -- Fix strippath so that it does not get a buffer overrun and crash FD. - This fixes bug #1078. -- Make inability to change owner/group when creating a dir only a - warning rather than an error. -- Fix SQL query in migration code -- Fix bat seg fault at termination. -- Add Bacula generated version to bat about box. -- Backport development stream SD reservation system changes. -- When wrong volume is mounted during read, unload_autochanger. -- Stop searching for Volumes in SD askdir if DIR returns the - same volume name twice in a row. -- Rework class structures for VOLRES, DCR, and DEVICE to make - the method names a bit more logical, and for more logically - handling the responsibilities. -- Remove redundant code in terminating the scheduler that just - causes a seg fault in many cases. -- Improve algorithm for detecting pre-reserved volume and - swapping volumes. -- Prevent volume from being released while being swapped. -- Refactor parts of stored/mount.c -- Add sanity checks for VolWriteTime and VolReadTime -- Take care of bad clock changes while computing VolWriteTime - and VolReadTime. This should fix or limit #1066 -- Correct error string numbers in dird/catreq.c -- Restructure reserving, acquiring, and mounting volumes. Calls to - autochanger are deferred for mount.c -- simplifes the code. -- Do not prune any running job. It just fails the job. -- 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. -- Correct some SD catalog request error messages. -- Turn off code in read_record that causes a seg fault in the SD - when reading past an EOS_LABEL. -- Turn off unloading the autochanger in reserve.c as it just - causes problems. -- Lock volumes when unreserving a device. -- Do not mark volume unused when recycling. -- Fix bug #1068 fixes a SD crash when using Virtual autochanger. -- Generate correct JobMedia records during spooling/despooling when - running concurrent jobs. Thanks to Tom Ivar Helbekkmo - for excellent analysis and testing. -- *Massive* commit of all fixes and back ports to create 2.2.9 - Mostly SD reservations enhancements. -- Fix Win32 FD backup/restore memory leak due to improper termination - of BackupRead/Write. This fixes bug# 1038. -- Fixes a StorageId problem with volumes after migration. -- Implements autostart scripts for Debian -- Fix mtx-changer.in for broken Debian mt program. -- Apply doc fix from bug #1062. -- Resolve crash and improper restore wx-console Win32 restore - GUI. Fixes bug #1065. -- Update Win32 wxWidgets to latest version. -- Attempt to do correct handling of Win32 mount points. Should - fix bug #1046. -- Add const to AIX prototype for initgroups() -- Fix to the JobMedia patch, which introduced a new problem. -- Fix creating first JobMedia record during Migration to include - proper index. This caused slow restores of migrated jobs. -- Fix bug #1047, do not strip paths on symbolic links. -- Set catalog backup database and user name from values specified on - the ./configure line. -- Apply patch to correct bug #1031, about wrong pool source information - in job report. -;;;; - -Kern;;;27 Jan 2008 at 10:30am -Bacula version 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula and Win32 release areas -of Source Forge. I have hidden the previous BETA release - -Version 2.2.8 is a bug fix to version 2.2.7 and has a few - additional bugs fixed than the BETA 2.2.8 version previously - released: -- It fixes bugs: 1036, 1033(doc), 1028, 1040, 1045(doc), 1030, - 1042(partially), and possibly bugs 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers, - and are difficult to reproduce. - See the ChangeLog for more details. - Note, if you previously loaded version 2.2.8 BETA, you will probably - want to upgrade, but it is not urgent ... -;;; - - -Kern;;;9 Jan 2008 at 20:30 -Bacula version BETA 2.2.8 Released -Bacula version 2.2.8 source tar files as well as the Win32 -binaries are available in the bacula-beta and -Win32-beta release areas of Source Forge - -Version BETA 2.2.8 is a bug fix to version 2.2.7: -- It fixes bugs: 1036, 1033(doc), 1028, and possibly 1018 and 1032. - Bugs 1018 and 1032 involve problems with multiple-drive autochangers. -;;; - -Kern;;;24 Dec 2007;;20:30 -Bacula version 2.2.7 Released -Bacula version 2.2.7 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge - -Version 2.2.7 has several new features and several important bug fixes - since version 2.2.6: -- It fixes bugs: 1009, 1022, 1024, 1019, 1012, 1021, 1020 - 1007, 1008. For more details, please see the technotes-2.1 file. -- Fixed a seg fault reported by Frank Sweetser that depended on - exact path lengths, but the problem was in bsnprintf.c -- Double quoting include filenames (@xxx) in Bacula conf files is now - possible, thanks to a patch by Michael Stapelberg. -- You can pipe input to include filenames (@|prog) by using a vertical - bar, thanks to the above patch. -- A daylight savings time bug in the Win32 bsmpt was fixed by a patch from - Nerijus Baliunas. -- Marc Cousins submitted a patch that permits building the PostgreSQL - driver with version 8.3. -- The configure option --archivedir has been changed to --with-archivedir -;;; -Kern;;;9 Nov 2007;;15:25 -Bacula version 2.2.6 Released -Bacula version 2.2.6 source tar files as well as the Win32 -binaries are available in the Bacula release area of Source Forge. - -This release is a minor fix upgrade to version 2.2.5, -and we recommend that all users upgrade when they can. - -Version 2.2.6 is a minor bug fix realease to version 2.2.5 -- It fixes bugs: #1003, 942, 982, 990(response only), 991, - 993, 986, 976. - - Fix bat crash wen it cannot connect to Director. - - Fix joblist failure bug in bat. -;;; -Kern;;;9 Oct 2007;;15:25 -Bacula version 2.2.5 Released -Despite the fact that the Release Notes are rather short, the bug -fixes represent quite a lot of work: - -Version 2.2.5 is a major bug fix release to version 2.2.4 -- It fixes the following bugs: #961, 962, 963, 969, 968, 960, - 964, (possibly 935 and 903), 953, 953, 967, 966, 965, 954, - 957, 908, 958, and 955. -- It also improves listing performance problems in bat pointed - out by Chris Howells. -;;; -Kern;;;29 Sept 2007;;20:30 -A serious data loss bug in Bacula version 2.2.4 found and fixed - -This bug was very elusive and time consuming to track down. It -turned out to be a race condition that can lose the last one or -two blocks of a Job, which can happen in rare cases only when -running multiple simultaneous jobs when a volume fills and one -Job finishes receiving the last data from the FD and at the same -time a second job detects the end of the Volume. The bug was -introduced in version 2.0.0 and did not exist in version 1.38.x. -If the bug is triggered, the data is lost (not written to the -Volume), and it can occur for any backup job of any level under -the conditions noted above. - -The bug is reported in the bugs database as bug #964, and just -this morning I found and tested a fix, which is attached as a patch -to the bug report. The patch (2.2.4-lost-block.patch) is also -uploaded to the bacula-patches 2.2.x release area. This bug may -also be part of the problems reported in bug #935 and possibly -#903. - -Also in the bacula-patches 2.2.x area, you will find other -patches that fixes bugs #953, 966, 967, 965, 958, 908, and -955. Please refer to bugs.bacula.org for the details. - -Though this bug quite serious (data loss), it should be rare. -However, we recommend everyone to apply the patch. -;;; -Kern;;;2007/9/14;;;14:30 -Bacula version 2.2.4 Released - -This version of Bacula is a minor bug release to version 2.2.3. -It contains the following fixes: - -- Possible fix for authorization problems bug #953. -- Possible fix for bug #908. -- Add waits to multiple exit detection code to try to force pid - file to always be deleted. -- Restore good dev.tar.gz to rescue set appropriate binary property. - This fixes bug #950. -- 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. -- Cancel storage daemon in all cases where FD reports error. This - should fix virtually all cases of bug #920 and will ensure that Devices - are released as soon as possible. -- 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. -- Fix migration code to get correct Volume name with multiple volumes - by skipping |. Fixes bug #936. -- Implement patch supplied by Landon to fix bug #944 where using - TLS with bconsole uses 99+% of the CPU. -- Fix bug #946 about "bacula-dir -t" which doesn't works - as expected. -- Using "m" in bconsole will show messages as in prior versions - and not memory usage. - -- Note, you need GTK >= 2.10 to be able to link the Tray Monitor - program. -;;; -Kern;;;2007/9/9;;;14:30 -I regret to announce that there is a rather serious bug in Bacula. - -Bacula bug #935 reports that during a restore, a large number of files are -missing and thus not restored. This is really quite surprising because we -have a fairly extensive regression test suite that explicitly tests for this -kind of problem many times. - -Despite our testing, there is indeed a bug in Bacula that has the following -characteristics: - -1. It happens only when multiple simultaneous Jobs are run (regardless of -whether or not data spooling is enabled), and happens only when the -Storage daemon is changing from one Volume to another -- i.e. the -backups span multiple volumes, and it only happens for Jobs writing -to the same volume. - -2. It has only been observed on disk based backup, but not on tape. - -3. Under the right circumstances (timing), it could and probably does happen -on tape backups. - -4. It seems to be timing dependent, and requires multiple clients to -reproduce, although under the right circumstances, it should be reproducible -with a single client doing multiple simultaneous backups. - -5. Analysis indicates that it happens most often when the clients are slow -(e.g. doing Incremental backups). - -6. It has been verified to exist in versions 2.0.x and 2.2.x. - -7. It should also be in version 1.38, but could not be reproduced in testing, -perhaps due to timing considerations or the fact that the test FD daemons -were version 2.2.2. - -8. The data is correctly stored on the Volume, but incorrect index (JobMedia) -records are stored in the database. (the JobMedia record generated during -the Volume change contains the index of the new Volume rather than the -previous Volume). This will be described in more detail below. - -9. You can prevent the problem from occurring by either turning off multiple -simultaneous Jobs or by ensuring that while running multiple simultaneous -Jobs that those Jobs do not span Volumes. E.g. you could manually mark -Volumes as full when they are sufficiently large. - -10. If you are not running multiple simultaneous Jobs, you will not be -affected by this bug. - -11. If you are running multiple simultaneous Jobs to tapes, I believe there is -a reasonable probability that this problem could show up when Jobs are split -across tapes. - -12. If you are running multiple simultaneous Jobs to disks, I believe there is -a high probability that this problem will show up when Jobs are split across -disks Volumes. - -13. The bug concerns only the Storage daemon so there is no need to update -the clients, though I do recommend updating the Director when installing -an updated Storage daemon. - -I have uploaded patches to bug #935 (bugs.bacula.org) that will correct -version 2.2.0, 2.2.1, and 2.2.2. The patch has been tested only on version -2.2.2 and passes all regression tests as well as the specific test that -reproduced the problem. - -The patch has now been confirmed to fix the problem reported, and Bacula -version 2.2.3 has been released to Source Forge. - -For the technical details of the bug, please see: - - http://www.bacula.org/downloads/bug-935.txt - -;;; - -Kern;;;2007/8/11;;;14:30 - -Bacula Version 2.2.0 has been released to Source Forge. - - 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=. 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). - -;;; - -Kern;;;2007/3/6;;;14:30 - -Bacula Version 2.0.3 has been released to Source Forge. -This is a bug fix release to version 2.0.2. If you are upgrading from -a version older than 2.0.0, please be sure to read the important notes -below. - -Also, please check the patches directory in the current SVN or the -patches release section on Source Forge for important bug fixes to -this version. - -5Mar07 -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. -04Mar07 -kes Add smartctl call to bacula-sd.conf as an example of getting - tape alert info. -02Mar07 -kes Add Client Connect Wait to Storage daemon to permit users to - modify the time the SD waits for a FD connection. -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 Fix a few places in lib/message.c where the open fd may - not be zeroed. -21Feb07 -kes Add LANG=C to autoconf/randpass so it works with languages other - than English. Fixes bug #788. -20Feb07 -ebl Revert ClientRunBeforeJob as it was in 1.38.x - This fixes bug #780 - You will not be able to generate Include/Exclude list any more. - 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. -16Feb07 -kes Fix encryption deblocking bug, which caused some restored files - to be truncated. This fixes bug #763. This is a CRITICAL bug fix. -kes Add FD event sequence order prepared by Eric -- for RunScripts. -kes Fix 12am/pm bug as reported in bug #782. -15Feb07 -kes Add quick disconnect FD code from 2.1.4 to 2.0.3. This code - causes the SD to release the FD as soon as the FD has sent - all the data to the SD. After that the SD will do any final - despooling (data and attributes) that are necessary. This - allows laptops to disconnect much quicker from the network - after a backup. -13Feb07 -kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. -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 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). -09Feb07 -kes Update projects list. -08Feb07 -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). -26Jan07 (back port) -kes Implement item #12 on project list -- quick release of FD by - the SD. This is noted in more detail above. - -;;; - -Kern;;;2007/1/28;;;14:30 - -Bacula Version 2.0.2 released: -28Jan08 -kes Fix maxruntime bug #621. -27Jan07 -kes Get current main CVS .specs for RedHat, SuSE, Mandrake. -26Jan07 -ebl Implement the include JobID in spool file name project. -kes Reorder projects file in order determined by Jan 2007 vote. -kes Fix open of SQLite3 db where user does not have write permission - so that DIR does not crash. Fixes bug #761. -25Jan07 -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. - -;;; - -Kern;;;2007/1/13;;;14:30 - -Bacula Version 2.0.1 has been released to Source Forge. -This is bug fix update to version 2.0.0 and contains -the following fixes: - -- Fix Bacula->Documentation link on Win32 to point to index.html - instead of bacula.html. Fixed bug #750. -- Return JobId in db_get_job_record() when JobId==0. This should - fix bug #741. -- Do not release source pointers when restarting a failed job. -- Add dynamic dll entry point for SHGetFolderPath to Win32 code. - This *should* fix bug #747. -- Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix - bug #742. -- 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. -- Add back code to disable conio in configure. Fixes bug #743. -- Correct the Options scanner in the FD to correctly handle - SHA1 option, which was eating the next option. Reported by - Sebastien Guilbaud. -- Add code to indicate when the SD is spooling, spool wait, and - despooling as requested by Alan Brown. - -;;; - -Kern;;;2007/1/4;;;14:30 - -Bacula Version 2.0.0 has been released to Source Forge. - -There is an English Press Kit, written by Dan Langille at: - - http://www.bacula.org/about/press/presskit200.html.en - -and a German version, translated by Arno Lehmann at: - - http://www.bacula.org/about/press/presskit200.html.de - -;;; - -Kern;;;2007/1/4;;;14:31 - - Release Notes for Bacula 2.0.0 - - Bacula code: Total files = 438 Total lines = 154,329 (*.h *.c *.in) - -==== IMPORTANT Catalog update required ===== -- The database format has been updated from what was used in - Bacula 1.38.x. You must manually update your database before - running Bacula 1.39.x or higher. If you are using Bacula supplied - RPMs this is not necessary as the RPM does it automatically. - Please backup your previous version of the database before - running the update. The update script will be automatically - installed in your scripts directory, or can also be found in - /src/cats. It is called: - - ./update_bacula_tables - - It is necessary to run it only once the first time you move to - a 2.0.0. Upgrading the Bacula version thereafter does not - require updating the database again. Depending on the size of - your database the script make take a bit of time, to run, but - in general, it should be very fast. - -==== IMPORTANT new Win32 install procedure ===== - For Win32 migrations from versions prior to 1.39.0 nothing special - needs to be done to upgrade. Everything should be taken care of - automatically. The only thing not done is to delete the old C:\bacula - directory mostly out of paranoia. - -==== IMPORTANT miscellaneous ==== -- The Gnome console program (gconsole) no longer functions as it - should.More importantly, in restore mode, the restore tree is - no longer shown in the left pane. I suspect this is due to - incompatible changes in the GTK+ API, and hence have given up - on gnome and gtk+, as this has already happened several times - previously. At some point there will be a new GUI console. -- The bacula-dir.conf directive Accept Any Volume has been - removed because it was never implemented. You must delete all - occurrence of this directive for the Director to run. The Storage - daemon will automatically accept any valid Volume that you mount. -- The --mandir ./configure option now points to the top level man - directory. The man files will be installed under mandir/man8 and - mandir/man1 as appropriate. -- You *should* be able to use 1.38.x FDs with version 2.0.0 Director - and SD providing you do not use any of the new features (runscript, - data encryption). It seems to work here, but we do not guarantee it. -- Your Director and SD must be simultaneously upgraded. -- The restore command no longer uses the MediaType as the primary method - of finding a suitable Storage device. Normally it will select the last - device used to write a Volume. If no storage device is defined, it - will use the old algorithm which selects the first Storage resource - with the correct MediaType. -- The MD5/SHA1 hash codes kept in the database are now kept in a binary - format compatible with the rest of the world. If you are running verify - jobs, you *must* do an InitCatalog or all files will show an MD5 - difference. Also, authentication uses the new algorithm by - default, but *should* accept connections from older components (FD) using - the old non-compatible algorithm. This has been tested, but more - more testing is still needed. -- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses - the tape drive. Workaround, load the SuSE 10.1 version 2.6.16.21-0.25 - kernel or later. The SuSE 10.2 Alpha 5 or later kernel also works. - This problem may also be present in certain Fedora FC5 kernels. -- If you have been using the data encryption feature of 1.39.x, please - be aware that certain combinations of encryption and other options - with version 1.39.0 through 1.39.26 created Volume data that cannot - be restored. We strongly recommend that anyone using encryption - carefully review his/her backups and at a minium do a Full backup - with 1.39.28 of all encrypted data. Robert Nelson has identified - and fixed it as follows: - As of 1.39.27: - No filters = Works fine - Sparse = Works fine - Compression = Works fine - Encryption = Works fine - Sparse + Compression = Works fine - - Sparse + Encryption = Restore broken - Sparse + Compression + Encryption = Restore broken - Compression + Encryption = Restore broken - - As of 1.39.28: - Most combinations work, but some encrypted files are - not properly restored. - - As of 1.39.30: - All combinations work fine except Sparse+Encryption. - - Bottom line, if you are using data encryption, please test restoring - data to be sure it all works correctly. -- The current Volume format written by 1.39.22 is different from - the format written by previous versions. The two formats - are not compatible. Thus any DVDs written prior to 1.39.22 will - be unreadable by version 1.39.22. -- If you previously run a Bacula version prior to 1.39.30, the JobMedia - data may not be correct for disk Volumes. This can cause incorrect - seeking in versions after 1.39.30. If you experience what appears to - be data I/O or integrity errors during restores, please add the - following directive to your disk DEVICE resource in the Storage - daemon conf file: - - Block Positioning = no - - This will turn off all seek requests during restores and avoid - this problem. -- VSS for Windows clients is now enabled by default. -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger, see manual. - -New Features in 2.0.0: -- Turn on disk seek code for restores. -- There is a partial but reasonable translation of the Bacula - messages for French. To install it, first configure and build - Bacula, then as root run: - - cd /po - make install - - If you have your locale set properly you will get the translated - messages. -- Bacula now support Migration jobs that are documented in a new - Migration chapter in the manual - http://www.bacula.org/dev-manual/Migration.html -- Data encryption is now implemented and is documented in - a new chapter of the manual at: - http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html -- Additional support for removable devices. See the - Requires Mount, Mount Point, Mount Command, and Unmount - Commands in the Storage daemon configuration chapter: - http://www.bacula.org/dev-manual/Storage_Daemon_Configuratio.html - Also see the Edit Codes for Mount and Unmount Directives in the - same chapter. -- Switch the Win32 build from using Microsoft C++ to using mingw32 - cross-compiling. The initial work was done by Howard Thomson, - then tweaked by me. Robert Nelson then totally reworked the - cross-compiling code so that it not only cross-compiles, but - also compiles on Visual Studio, and at the same time, he added - all the current Unix features to the FD, such as selection on - drives, encryption support, building *all* the tools, ... -- The Director and Storage daemon have now been ported to Win32. - This code is working but should still be tested carefully - before putting into production. -- Bacula restore and bextract can now extract non-portable Win32 data to - any client (including Unix/Linux clients). Of course, in doing so, - the Microsoft specific permissions and ACLs will be lost. Thanks - to Thorsten Engel for this code. -- The 260 character limitation for Win32 paths name lengths is now - eliminated thanks to Thorsten Engel. However, if you are using - Volume Shadow Copy, please be careful to specify all the paths - in the bacula-fd.conf file using a full path notation including - the drive letter. -- Eric Bollengier wrote new RunScript directives that includes - the old RunBefore/AfterJob and ClientRunBefore/AfterJob features - plus a *lot* more, allowing you to control just about every aspect - of running scripts. See the manual for detailed documentation. - http://www.bacula.org/dev-manual/Configuring_Director.html#5227 -- SunOS ACLs should now work thanks to a patch from David Duchscher. -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - "list nextvol days=xx" - or - "status dir days=xx" - This can be used to preview the next scheduled job (and the - next tape to be used) on Fridays if there are no scheduled jobs during - the weekend. -- From Eric Bollengier. One can now using the bconsole wait command do: - wait (wait for all jobs to stop) - wait jobid=nn - wait jobuid=unique id - wait job=job-name -- Volumes can now be set to Enable, Disable, or Archive. If they - are not enabled, Volumes will not be mounted. - Implement update volume enable=(on|off|true|false|archived|0|1|2) -- Add Catalog message destination in Messages resource that puts the - job report in the Log database table. -- Writing/reading DVD Volumes is much more stable -- to the point - of being useful. Thanks to Richard Mortimer. -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- The database Id records should be 32/64 bit independent now. 64 bits - can be enabled by changing one define and changing the appropriate - table variable. Normally, you need 64 bits only for FileId. -- Relative path specifications (i.e. ../xxx) are now permitted in - the restore cd command. -- When running multiple simultaneous jobs, most jobs that use spooling - will now finish faster due to a mutex optimization made by Eric - Bollengier. -- Conf files containing UTF-8 marker at the head of the file as well as - conf files containing Window cr/lf and Mac cr line termination characters - are now accepted thanks to Robert Nelson. -- Windows tray status windows are scrollable and resizable. -- Win32 external script execution is much more flexible -- handles - spaces in names better, ... -- Lots of DVD fixes -- writing DVDs is now reported to work. -- Fix opening of database in a restricted console to respect - any Catalog ACL. -- Much better automatic handling of multiple database catalogs in - the restore command. -- Permit multiple console/director resources in bconsole.conf. - patch from Carsten Paeth calle@calle.in-berlin.de -- Character substitution in Job/JobDefs WriteBootStrap. - from Eric Bollengier. -- Apply patch supplied in bug #656 to pass priority field - in the run dialog to the Director in gnome console. -- Add support of encrypted data stream to bscan from Eric. - display data_len instead of data content (may be binary). -- Add Enabled=xxx on update slots command. -- Add host:port to connect failure messages to FD and SD from Dir/ -- Add WhereACL to console ACL list. If nothing is specified, only - the default is permitted for restore. Otherwise, *all* allows any - path, or you can specify permitted paths. This should allow control - over where users can restore files. This is untested. -- Install man pages with 'make install'. -- Add Media.Enabled flag to client backups for dotcmds.c -- Enforce Media.Enabled=1 for a current restore to work -- Require restore case 3 to have sqlquery permission to work. -- Add -n option to bconsole to turn off conio -- used in bweb. -- The bytes field in the terminated jobs part of the status - command now reports in KB, MB, ... units. -- When not descending into a directory, print the File= name that - triggered it -- makes why not descending a bit clearer -- Do not unload autochanger when doing "update slots" -- Implement mount command for autochanger -- Fix bug #462 incorrect error message printed when client script called - from File= was not found. -- Fix bug #558 (waiting for feedback) where Bacula needs too much time to - do a rewind on Solaris when no tape is in the drive (Solaris does not - have the detailed errno found on Linux). Added Solaris specific code. - Note, this may apply to other OSes as well. -- The examples directory has a new bacula_mail_summary.sh file that - creates a single email summary of any number of jobs. Submitted by - Andrew J. Millar. -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Modify most restore error messages to be queued so that they - appear at the end of the job rather than mixed with the restore - listing where they could be "lost". -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Added a report.pl program to the examples directory from Jonas Bjorklund. -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -- Implement new code for changing userid and group at startup. This - should get Bacula into the correct groups. -- Implement support for removable filesystems -- device type directive - and mount, unmount directives. -- Transfer rates are now presented in a more readable format thanks - to a user submission. -- SD is now aware of what volumes are mounted. More information is printed - in the Status report. You must take much more care now to unmount - devices prior to removing tapes that Bacula has open or prior to - changing a magazine. Don't forget to do a mount afterwards or the - device will be blocked. -- The Pool Maximum Volumes directive is now respected in all places. -- A Storage device can now be specified in a Pool resource. It will override - all other Storage specifications. -- Most but not all directives accept true/false in place of yes/no. -- A patch from Karl Hakimian that reads JobIds, FileIndexes - from a database table for restore. -- There are a number of new tables. Some such as the Location table are - designed for user use in doing Volume Management software. -- Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to - accept time qualifiers. -- Implement jobuid to replace old usage of job in keywords as - suggested by Eric Bollengier. -- Implement write variables for Python to set Priority (anytime), and - Job Level, only during JobInit event. -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow the SD to use multiple drives during a backup/restore (only - one at a time). -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -- Remove automatic case folding on Windows FDs. You must - explicitly use the 'Ignore Case = yes' option. -- Implement wild program in tools directory for testing - wild-cards. Almost identical to the regex program. -- Use the new bregex.c to implement Regex expressions on Win32. -- Apply patch from Christopher Hull - - Allow multiple connections to database with different - parameters. - - Invalidate the scheduler when doing a reload. Fixes seg - fault, but still 60 second window. - - Additional info in Reschedule message. - - Use set_jcr_job_status() everywhere to prevent loss of - cancel, error. - - Display peer IP in FD if error from connecting DIR. - - Don't increment file count for DIRBEGIN. - - Replace illegal characters in Win32 filename by _. - - Add SE_CREATE_PERMANENT_NAME privilege in Win32. - - Hash hard link filenames rather than linked list (performance). - - Fix for security failure in chdir on Win32. - - Add CreateDirectoryA/W win32 API entry points. -- programs to duplicate Bacula's base64 algorithm using standard - routines. This fixes bugs #296, and 565. Patch submitted by - author of bug #565. -- Fixes to reloading the Dir conf file from Eric Bollengier and Christopher - Hull. -- Modify LICENSE to correct some problems pointed out by Debian. -- Apply a patch submitted by cesarb in bug #606 to implement O_NOATIME support. - O_NOATIME is a open() flag which makes it possible to read a file without - updating the inode atime (and also without the inode ctime update which - happens if you try to set the atime back to its previous value). It also - prevents a race condition when two programs are reading the same file, but - only one does not want to change the atime. It's most useful for backup - programs and file integrity checkers (and bacula can fit on both - categories). - You enable it in the Bacula FileSet Options resource by setting: - noatime = yes - The effect of this option is similar to the keepatime option except - it is more efficient and avoids modifying ctime. -- Implement a pile of new man pages contributed by Jose Tallon. -- Modify the database format for handling Migration jobs: - Add PriorJobId, RealEndTime to Job table - Delete MAC table - Remove Stripe from JobMedia record (not used, wasting space) - Add ScratchPoolId, RecyclePoolId, Enabled to Media record - Add Cost to Location table. - Enabled to Media table and Location table. -- Security: harden authentication failure in FD by single threading errors - and forcing a 6 second wait. -- If using GCC (actually g++) add the following compiler flags - -fno-strict-aliasing -fno-exceptions -fno-rtti -- Turn on new bsnprintf() code. The reason for this code is to - eliminate the security problems associated with using the - system libraries print routines. -- Implement job report that indicates where Storage and Pool - came from -- with overrides and Pool storage and NextPool, - it is all very complicated. -- Add more detail (Storage, Device) to list of volumes printed - for restore. -- Add new VOLMGMT message class. No messages are yet sent with this - class. -- Improved Bacula rescue procedures -- see the Disaster Recovery - chapter of the manual -- Add spooling/despooling info in status output of SD. -- Add Comment field to llist of a volume. -- Allow true/false in many but not all yes/no directives. -- The Bacula source code is now copyrighted by the Free Software - Foundation Europe. The Developer's Guide documents the new procedures, - and the LICENSE file has been updated. -- Apply Jaime Ventura's patch that implements the Messages resource - Mail On Success directive. -- The Client returns its Version string, which is printed in the Job - report. -- The Client returns whether or not VSS and Encryption are used, which - are printed in the Job report. - -Additional Features Added for Win32: -- Added DriveType directive to the Director's Include Option FileSet - resource. Allowed values are: fixed, removable, cdrom, and remote. There - is only an implementation for Windows because it is the only platform that - has the concept of drives. - -- Adds EnhancedWild directive to the Director's Include Option FileSet - resource. Allowed values are: yes and no. - - When EnhancedWild is enabled then the processing of the - Wild, WildDir and WildFile is changed in the following ways. - - Patterns conform to Posix - \ is not a special character in character classification [] - To match a - it must be the first or last character - To match a ] it must be the first character - - fnmatch option FNM_FILE_NAME is specified * doesn't match a / - so it won't match multiple directory levels in a path - -- Relative WildFile patterns (ones without a leading /) match - against the filename portion. This in combination with the - FNM_FILE_NAME fnmatch() flag makes directives such as WildFile = - abc*.def work as expected. - -- Adds support for the shell's feature of brace expansion. - - Here is an example where braces allow 24 lines to be expressed in 5. - - # Exclude directories full of lots and lots of useless little files - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Cookies" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/Recent" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/History" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temp" - WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local Settings,LOCALS~1}/Temporary Internet Files" - -;;; -- 2.39.5