- Release Notes for Bacula 1.39.20
+ Release Notes for Bacula 1.39.28
- Bacula code: Total files = 448 Total lines = 150,330 (*.h *.c *.in)
+ Bacula code: Total files = 442 Total lines = 150,218 (*.h *.c *.in)
-Version 1.39.20:
-- The basic features of Migration are now complete.
-- There is a Migration chapter in the doc.
- http://www.bacula.org/dev-manual/Migration.html
-- There is an Encryption chapter in the doc.
- http://www.bacula.org/dev-manual/Bacula_Data_Encryption.html
-New Features in 1.39.20:
-- Add -n option to bconsole to turn off conio.
-- 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
+Version 1.39.28 contains mainly bug fixes to 1.39.26. Please
+ see the ChangeLog for more details.
-Fixes for 1.39.20:
-- Writing DVDs should work much better thanks to Richard Mortimer.
-- 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.
-- Many cleanups/enhancements for Win32 systems.
-- Correct improperly formated list command output reported by Dan.
-- Eric fixed RunScripts, which I (Kern) had broken in the last beta.
-- Correct Client migration SQL as pointed out by Marc.
+==== IMPORTANT Encrypted Volume data may be unreadable ====
+- 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:
+ All combinations work fine.
+
+==== IMPORTANT a stock SuSE 10.1 kernel may crash =====
+- A stock SuSE 10.1 kernel may crash when Bacula runs and accesses
+ the tape drive. Workaround, load a Fedora kernel, which works fine,
+ or load the SuSE 10.2 rc5 kernel which also works fine.
+
+==== 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. 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 <bacula-source>/src/cats. It is called:
+
+ ./update_bacula_tables
-==========================================
+ It is necessary to run it only once the first time you move to
+ a 1.39.x beta or to 1.40.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.
-Warning for version 1.39.18 and greater:
-- The documentation is almost non-existent for all new features
- except RunScripts (written and documented by Eric Bollengier).
-- If you have an old pre 1.39.18 database, you must upgrade it using
- the upgrade_bacula_tables script. Please backup your database before
- upgrading just in case.
+==== IMPORTANT DVD Volume format changed ====
+- 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.
+
+==== IMPORTANT miscellaneous ====
+- The Gnome console program (gconsole) no longer functions as it
+ should. If you have multiple catalogs, you will need to select
+ the catalog (this I will fix). 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 --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.
+- The "Accept Any Volume" directive has been removed. It was never
+ implemented. Bacula will always accept any valid tape that is in
+ the drive for appending.
- You *should* be able to use 1.38.x FDs with version 1.39.18 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.
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.
-- 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.
-- The "Accept Any Volume" directive has been removed. It was never
- implemented. Bacula will always accept any valid tape that is in
- the drive for appending.
-- To install the 1.39.18 Win32 FD, you *must* first stop any
- previous version that is running in a DOS shell with:
- net stop bacula
+==== 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, we can change that prior to release if
+ everyone is comfortable with it).
- or select the 'Close Bacula' menu item from the Bacula tray icon,
- you should then save your bacula-fd.conf file, and either
- uninstall (using Uninstall.bat in the c:\bacula directory) or
- remove the old installation by manually in a DOS shell in the
- Bacula directory enter:
+ Prior to using the current installer, if you used a version of the beta
+ prior to 1.39.26, you must do one of the following three things:
- bacula-fd /remove
+ 1) Uninstall prior beta version and select the option to delete
+ the configuration and state files. This will get rid of the bogus
+ configuration files. Reinstall the new 1.39.26 version.
- after that you can proceed with the installation. My experience
- is that it does not properly create the new bacula-fd.conf file, so
- copy the one saved to the directory you chose to install Bacula,
- or to the directory chosen by the Installer to put the bacula-fd.conf
- file. Then you can start Bacula in a DOS shell with:
+ 2) Manually copy the *.conf files from C:\Bacula\bin to
+ C:\Documents and Settings\All Users\Application Data\Bacula.
- net start baculafd
+ 3) Manually edit the *.conf files in C:\Documents and
+ Settings\All Users\Application Data\Bacula. The links in the Bacula menu
+ can be used to avoid having to enter that ugly path.
- or use the Windows Control Panel->Administrative Tools->Component
- Services menu item.
+ After one of these has been done the upgrade should work fine.
-A Lot of New features for 1.39.18:
+New Features in 1.40.0:
+- 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 excution is much more flexible -- handles
+ spaces in names better, ...
+- Lots of DVD fixes -- I think they now work!
+- Fix opening of database in a restricted console to respect
+ any Catalog ACL.
+- 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.
+- The basic features of Migration are now complete.
+- There is a Migration chapter in the doc.
+ http://www.bacula.org/dev-manual/Migration.html
+- There is an Encryption chapter in the doc.
+ 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.
+- Add -n option to bconsole to turn off conio.
+- 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.
- Switch the Win32 build from using Microsoft C++ to using mingw32
- cross-compiling. The inital work was done by Howard Thomson,
+ 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, ...
- Finally, he also ported the Directory and the Storage daemon to
+ Finally, he also ported the Director and the Storage daemon to
Win32.
- Data encryption done in the Client is now supported due to code
submitted by Landon Fuller.
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 Thorsted Engel.
+ eliminated thanks to Thorsten Engel.
- 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
or
"status dir days=xx"
My use case is to be able to preview the next scheduled job (and the
- next tape to be used) on fridays if there are no scheduled jobs during
+ next tape to be used) on Fridays if there are no scheduled jobs during
the weekend. This patch was probably back ported to 1.38.x
- 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 mixted with the restore
+ 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.
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
- explictly use the 'Ignore Case = yes' option.
+ 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.
- Hash hard link filenames rather than linked list (performance).
- Fix for security failure in chdir on Win32.
- Add CreateDirectoryA/W win32 API entry points.
-- Add /silent option to Win32 FD for Install/Remove service.
- programs to duplicate Bacula's base64 algorithm using standard
+- 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
- If using GCC (actually g++) add the following compiler flags
-fno-strict-aliasing -fno-exceptions -fno-rtti
- Turn on new bsnprintf() code. This could cause print output
- to look different.
+ to look different. 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.
Settings,LOCALS~1}/Temp"
WildDir = "[A-Z]:/{Documents and Settings,{WINNT,Windows}/Profiles}/*/{Local
Settings,LOCALS~1}/Temporary Internet Files"
-
-
-
-Here are some hints if you want to play with the Windows Director and/or
-Storage daemon.
-
-Changer and Tape device names in Windows are Changer0, Changer1, etc and
-Tape0, Tape1, etc. If there isn't a device driver loaded for the Changer
-then you need to use the address <Port>:<Bus>:<Target>:<Lun>. Port is the
-SCSI Adapter Number, Bus is the Bus Number on the adapter (usually 0 since
-most adapters only have one bus), Target is the device's Target Device ID,
-Lun is the Logical Unit Number.
-
-You must specify DeviceType = tape in the Device resource in bacula-sd.conf
-since detection doesn't currently work.