- Release Notes for Bacula 1.34.5
-
- Bacula code: Total files = 364 Total lines = 103,481 (*.h *.c *.in)
-
-Changes for 1.34.5:
-Major Changes:
-- Correct socket close on Win32 in bnet.c (in addition to compat.cpp).
- Caused fd leak in Win32 for each connection.
-- Fix a number of places in query.sql where multiple JobIds are
- printed (due to JobMedia records).
-- Abort configure if Internal is selected as the database.
-- Close socket in SD when connection rejected. Caused fd leaks.
-
-Items to note!!!!
-- If you are upgrading from 1.32, please be sure to see the database
- upgrade procedure under the 1.34.0 notes.
-
-Other Items:
-- Fixed Gnome crash on up/down arrow with no history.
-- Fixed btape "fill" crash with multiple tape option.
-- Add new query: List jobs on Volume given Volume name.
-- Remove vol labeled test in askdir update_volume_info so that non-labeled
- Volume in catalog can be marked in error.
-- Initialize job_start_wait cond variable after every new_jcr() otherwise
- NetBSD gets error in library when trying to delete it without being inited.
-- Fix typo (9 instead of 0) return status in write_new_volume_label.
-- Fix mount.c to call routine that correctly marks a volume in error.
-- Eliminate printing INFO message in UpdateDB (cats) -- it generates
- "false" error messages.
-- Eliminate some GTK error messages when running the Gnome2 console.
-- Apply Peter Eriksson's lib file order changes in linking for IRIX.
-- Add testimonials to the Web page
-- Add the bugs list to the Web page "lists".
-- Clarify the English in SuSE and Slackware when SD not running.
-- Applied the patches sent by Andreas Jellinghaus: build Gnome and
- wx-console in client-only build if configured; add ./configure option
- to permit setting of sbin modes -- default is 0745 as before; remove
- cats library from Gnome console build; remove old version from Gnome
- About box. Thanks Andreas.
-- Correct a typo in the FreeBSD SD autostart install.
-- New bacula.spec.in from Scott.
-- Use /usr/lib/sendmail instead of mail if no mail program is configured.
- Submitted by Peter Eriksson. This *should* be more portable.
-
-
-Changes for 1.34.4:
-Major Changes/Features:
-- Implement | and < in FD for new FileSet files.
-- Implement simplistic attribute spooling statistics in status.
-- Make storage=xxx on restore override the restore default.
-- Clear InChanger flag during "update barcodes" if no VolName present,
- i.e. no Volume in Changer.
-- An update pulled in Christopher Hull's fixes to the client program
- execution on Win32 to search the path and use COMSPEC. New rules
- apply!
-- In SD mount.c, if get I/O error or read label error on non-removable
- Volume, mark the volume in error and retry.
-- Apply Tim Oberfoell's ACL patch.
-
-Items to note!!!!
-- If you are upgrading from 1.32, please be sure to see the database
- upgrade procedure under the 1.34.0 notes.
-- If your system has a libacl in the standard location, acl's will
- be enabled, and you can turn them on with "aclsupport=yes" as an
- Include or Option option.
-
-Other Items:
-- Enhance regression scripts.
-- Implement bsscanf() because sscanf on FreeBSD amd64 stores
- in 64 bit words for %ld. Turned on for the moment only for
- FreeBSD amd64.
-- Fix all conversions of ptr to int to use (long unsigned) this
- works on i386 and amd64.
-- Add mtimeonly and keepatime to new Options list -- omitted before.
-- Add a bit more authentication debug code.
-- Start variable name/overload cleanup in SD
-- Fix sscanf() in askdir.c scanning into bool to use local int.
-- Make max_spool_size int to allow proper arithmetic.
-- Remove trailing junk on sscanf() of "Hello Start Job" in SD.
-- Make ask_sysop_to_mount_volume() always ask sysop.
-- In SD mount.c, if get I/O error or read label error on non-removable
- Volume, mark the volume in error and retry.
-- In SD mount.c, if non-removable volume, never ask sysop to mount. We
- ask sysop if there are no appendable Volumes though.
-- The above 3 items fix the looping error Bacula would get if the
- Volume was in the catalog but didn't exist -- or was zero bytes
- long.
-- Fix an uninitialized stack variable in append.c that caused data
- corruption on amd64 machines and *could* cause the same on other
- machines.
-- Fix a seg fault in automatic tape labeling.
-- Eliminate a PoolId=nn when zeroing the InChanger flag for a Volume.
-- Add a bit more debug info to bls.c
-- Fix UpdateDB to complain if mum_rows < 1 rather than != 1.
-
-
-
-
-Changes for 1.34.3:
-Major Features:
-- Implemented and documented the first cut of the new FileSet directives.
- The first cut permits using wild-card matches for including files in
- addition to excluding files.
-- The Windows rescue procedure is confirmed for WinXP/2K (probably not NT).
-- Modification of the PostgreSQL database creation scripts to improve
- performance by removing foreign keys.
-- Use trasactions on PostgreSQL to improve performance.
-- Restore jobs will now not start until they can get exclusive use
- of the Storage daemon Device previously they erred.
-- Permit execution of more kinds of Win32 files with ClientRunxxxJob.
- If an absolute path is specified, the filename must contain the correct
- extention.
-
-Items to note!!!!
-- If you are upgrading from 1.32, please be sure to see the database
- upgrade procedure under the 1.34.0 notes.
-- Although the daemons are compatible for all 1.34.2 features,
- the new FileSet directives are not compatible with 1.34.2 daemons.
-- Fixed several query.sql bugs.
-- The behavior of the hourly, daily, weekly, and monthly keywords in
- the Run directive have been changed to be more logical -- they only
- affect the one item mentioned rather than all items.
-
-Other items:
-- The wx-console has had significant improvements.
-- Upgraded to latest autoconf files.
-- Added BaculaRoadmap_v1.1.pdf in doc directory
-- Fixed a crash in the btape "fill" command.
-- Added a new alpha directory to platforms -- first cut.
-- The mtx-changer script was broken in 1.34.2 -- it is now fixed.
-- Pass all arguments on database creation scripts.
-- I finally found and fixed the bug that in some cases required a double
- mount to get Bacula to look at the tape again.
-- Thanks to user input corrected (I think) the negative values that
- sometimes occurred in the spooling statistics.
-- Fixed several bsmpt bugs thanks to user input.
-- Added user supplied code to read the Directors's conf file in dbcheck so
- that remote databases could be contacted as well as the working directory
- and other catalog parameters obtained.
-- Fixed changing a Volume from one Pool to another in "update volumes".
-
-
-
-
-
-
-
-
-
-Changes for 1.34.2:
-Major Features:
-- wx-console can now be built both under GTK and Win32. It is
- now part of the Win32 binary release. It has a very nice tree
- oriented restore. Thanks to Nicolas Boichat for this program.
-- bconsole is now included in the Win32 binary release.
-
-Items to note!!!
-- bscan restored StartBlocks one block off resulting in loss of
- data if any bscanned volumes were restored. Thanks to Gregory
- for reporting this. It is fixed in this release.
-- Due to an oversight, "Maximum Job Spool Size" was is not implemented.
- It will be in the next release.
-- To build wx-console on Linux. Download wxWidgets 2.4.2 from wxwidgets.org,
- build and install it on your system, then add --enable-wx-console on
- your Bacula ./configure and it will be built and installed.
-- For both the Win32 and Linux GTK versions of wx-console, you must
- create a wx-console.conf in the current directory. The contents are
- identical to a bconsole.conf file.
-
-Other items:
-- Make SD utility programs accept device name as well as archive device
- on command line.
-- Update docs
-- Remove old debug code from Win32 FD.
-- A new version of depkgs-win32 was released containing the Win32
- wxWidgets source code.
-- Disable SIGHUP code in Director which is not yet complete.
-
-
-Release 1.34.1:
-- Autochanger users, please note you must add %d to the end of the
- changer command line in your Device resource in your bacula-sd.conf
- file.
-- There is a new wx-console program that does restores with a
- tree allowing you to visually select what files are to be restored.
- It is in a preliminary stage of development, but can be easily
- be built under Linux with GTK, and with just a bit more difficulty
- under Win32 with MinGW.
-- Fixed a major race condition in the job scheduler when multiple
- simultaneous jobs is enabled. This occurred only when on job had
- blocked another because of resource usage.
-- Fixed crash in SD during restore.
-- Changed the backup report to indicate "Backup OK -- with warnings
- if any warning messages were generated.
-- Change output of restore report to indicate:
- "Restore OK -- warning file count mismatch"
-- Make backup report say "Backup OK with warnings" if either FD or SD
- report any non-fatal errors.
-- Modify bscan to print some elementary statistics (#Jobs, #Files, ...)
- added to catalog.
-- Added --enable-wx-console and updated Makefile.in
-- Fix mtx-changer so that the calling sequence is compatible
- with the previous version (the new one required arguments that
- were not necessarily used).
-- Document how to use stunnel with Bacula.
-- Fix crash in query command.
-- Remove schedule from the default restore job.
-- Fix data spooler to use min/max tape blocking factors.
-- Automatically turn of conio if library not found instead of bombing.
-- Cleaned up a lot of copyright dates.
-- Try to keep spool statistics from going negative.
-- Added new Pools chapter. Doc about using two disks.
-- Attempt to keep the spool file statistics size from going
- negative.
-- Fix the Director's Scheduled Jobs: list to have a ===
- termination.
-- Fixed ./configure to disable readline rather than stop if
- readline.h is not found
-- Fixed a typo in the SQLite database update script as reported
- by Robert J. Clark - thanks.
-- Removed src/win32/pthreads and src/win32/zlib from the source
- tree.
-- Created a new depkgs-win32 that has the pthreads and zlib source
- code.
-- Removed the JobDefs from the default Restore job as it has a
- schedule. Thanks to Matt Howard for this.
-
-
-
-Release 1.34.0
-Major Features:
-- Data spooling which reduces tape shoe-shine during Inc backups,
- and permits multiple simultaneous backups without interleaved blocks.
-- Native Win32 client -- much faster and restores permissions correctly
- (thanks to Christopher Hull)
-- New Windows style installer for the Win32 Client.
-- PostgreSQL database driver (thanks to Dan Langille).
-- Polling of devices eliminating need to unmount and mount from
- console.
-- Improved Autochange support of Slots (update slots scan).
-- Autochanger support for multiple drives (I think).
-- New conio code to implement Console command line editing and history.
-- JobDefs resource permits smaller .conf files for Director
-- Access console lists for the Console
-- Pool level overrides.
-- Daemon "status" is recovered across daemon executions.
-- Improved btape "test" and "fill" commands.
-
-
-Items to note: !!!!!
-- If you have a RedHat system, be sure to delete the /lib/tls
- directory from your system. It contains defective pthreads code.
-- The restore default is changed to have nothing selected by default.
- You must either enter: "restore all" or after getting into the tree
- selection prompt enter "mark *" to have everything selected.
-- In previous versions the "all" keyword on the restore command caused
- it to return without user interaction after selecting everything.
- This function is now replaced by the "done" keyword (more logical).
- The "all" keyword now causes everything to be selected by default.
-- The default tape driver behavior is now to write only a single EOF
- at the end of the tape. For most tape drives, this is totally
- transparent and nothing needs to be done. For FreeBSD see below.
-- FreeBSD users NOTE!!!!!
- You may need the following two records to your SD Device resource for
- tape drives.
-
- TWOEOF = yes
- Fast Forward Space File = no
-
- The "Fast Forward Space File" is surely needed, and the TWOEOF
- is needed on some systems and not others. Running the btape
- "test" command will tell you. If you get an error with TWOEOF set
- to yes, set it to no.
-
-- If you want either bsmtp or bconsole on Win32, you will need
- to load the 1.32 version along with cygwin1.dll. Some solution
- for this will be forthcoming in a future update.
-- The daemon protocol has changed from version 1.32, you must update
- everything at once.
-- The database level has been updated. You must either re-initialize
- your databases with:
-
- ./drop_bacula_tables
- ./make_bacula_tables
-
- which will delete ALL prior catalog information, or you can
- update your 1.32 database with:
-
- ./update_bacula_tables
-
- Please save your old database before dropping the tables or doing
- an upgrade or you may regret it later.
-- If you are updating versions older than 1.32, you can look in
- the updatedb directory for scripts that you can use. You will need
- to manually set the paths for your system.
-
-- smtp has now become bsmtp -- you *must* modify your .conf files.
-- console has now become bconsole.
-- console.conf is now bconsole.conf
-- Please don't underestimate the repercussions of the bsmtp and bconsole
- name changes!
-
-
-New directives:
-- "Close on Poll = yes/no" in SD Device resource.
-- "Volume Poll Interval = time-interval" in SD Device resource.
-- "Two EOF = yes/no" in SD Device resource.
-- "Maximum Network Buffer Size = size" in SD Device resource.
-- "Maximum Network Buffer Size = size" in FD FileDaemon (or Client) resource.
-- "Console" new resource in Director conf file.
- New directives: Name, Description, Password, JobACL, ClientACL,
- StorageACL, ScheduleACL, RunACL, PoolACL, CommandACL,
- FileSetACL, CatalogACL.
-- "Max Run Time = duration" in Director Job resource.
-- "Max Wait Time = duration" in Director Job resource (not fully implemented).
-- "JobDefs = name-of-resource" in Director Job resource.
-- "Jobdefs" new resource in Director. Same directives as for a Job.
-- "Full Backup Pool = xxx" in Job resource in the Director.
-- "Incremental Backup Pool = xxx" in Job resource in the Director.
-- "Differential Backup Pool = xxx" in Job resource in the Director.
-- Three new options on the Run override statement in a Schedule resource:
- FullPool=xxx
- IncrementalPool=xxx
- DifferentialPool=xxx
-- SpoolData=yes/no in DIR Job resource
-- SpoolData=yes/no in Run override directive.
-- MaximumSpoolSize in SD Device resource
-- MaximumJobSpoolSize in SD Device resource
-- SpoolDirectory in SD Device resource.
-- Drive Index in SD Device resource for using two autochanger
- drives.
-- mtimeonly=yes/no on Include directive.
-- keepatime=yes/no on Include directive.
-
-New Commands:
-- "SetIP"
-- Added "pool=xxx" to restore command line.
-- Added "fileset=xxx" to restore command line.
-- Fixed "storage=xxx" on restore command line.
-- "markdir" command in restore tree.
-- "unmarkdir" command in restore tree.
-- "quit" command in restore tree.
-- Trace option on "setdebug trace=1/0 ..."
-- Update slots scan
-- The "all" keyword on the restore command marks all files by default.
-- The "done" keyword prevents user interaction with the tree -- used
- mostly for batch scripting.
-
-
-Additional changes:
-- Slackware support
-- On multiple ctl-c, exit from console quickly.
-- Implement "delete job jobid=xxx jobid=yyy ..."
-- Implement "purge volume=xxx volume=yyy ..."
-- Add -p option to all SD programs including bacula-sd. It causes
- Bacula to proceed or forge on in case of I/O errors. It is unlikely
- this will help, and it is strongly recommended against running
- the daemon with this option in production.
-- Add a missing unlock in the jobq handler.
-- Fix bug where a soft linked file and a directory had the same name
- by treating the soft link as a directory and putting the entries under
- it. This fixes the bug reported by Alexander Mueller.
-- Apply Jess Guardiani's second fix to list autochanger volumes without
- opening the drive (necessary on FreeBSD if no tape is in the drive).
-- Reworked the command line handler in restore to walk through the
- arguments one at a time. This makes the file= entries work correctly.
- Also reworked the code that takes the MediaType and finds a
- storage device.
-- Add quit command to restore tree handler.
-- Make restore tree handler remember if a hard link is present, and
- in doing a mark, only get database entry if there is a hard link.
- mark commands thus run at least 2 orders of magnitude faster.
-- Add files=xxx field to run command submitted for restore.
-- Add yes to restore run command if either yes or run is command line
- argument.
-- Make "yes" on command line argument skip prompt for modification of
- run job.
-- Add markdir and unmarkdir -- both affect only the directory in
- question and do not do a recursive descent.
-- Make tree command automatically mark all higher level directories to
- be restored when a directory or a file is selected. Such directories
- are indicated by preceding the name with a + to indicate that only
- the directory entry is selected and not the whole directory tree.
-- Modify a few tree commands to walk through all arguments rather than
- just taking the first one.
-- Improved btape "test" and "fill" commands.
-- The ability to ask the Storage daemon on a device by device basis
- to "poll" the tape drive at a given interval (minimum 1 minute). If
- a tape is found, its label is read and if appropriate it is used.
- This eliminates the need to do "mount" commands.
-- The ability to close and re-open the device when a poll occurs.
- This permits dealing with certain recalcitrant autochangers that
- invalidate devices (typically on FreeBSD).
-- Dan Langille has written a PostgreSQL driver for Bacula.
-- Implement "update slots scan" that reads the volume label(s).
-- The full form of the scan is "scan=1,2,4-5,7". With no specification,
- all occupied slots are scanned.
-- Turn off changer Volumes that are not current in the changer when
- an "update slots" is done, or if any tape operation discovers that
- the right volume is not in the slot.
-- The console program will run all commands it finds in ~/.bconsolerc
- at startup.
-- Add Dan Langille's changes to the bacula start/stop script that
- permit dropping root permissions just after startup.
-- New version 1.5.5-1 Cygwin.
-- Modify SD to update the catalog database when it is shutdown,
- even if the job is canceled.
-- Fixed seg fault in restore of multiple simultaneous jobs to
- a single Volume.
-- Fixed thread race problem in multiple simultaneous jobs to
- a single Volume where the volume label is not in the first
- tape block, so the tape is not recognized.
-- Restore directory tree automatically selects all higher level
- directories to be restored.
-- Implement conio.c to use in console program -- mini-readline.
-- Enhance "fill" command of btape -- simpler output. Use -v to
- cause last block to be dumped after write and after re-read.
-- Added an autochanger test to the btape "test" command. It is
- automatically invoked if the autochanger is properly configured. It
- is still a bit primitive but covers the essential of testing
- the mtx-changer script with your autochanger.
-- Select the oldest LastWritten volume during recycling.
-- Added forward space file test to btape "test" command.
-- All 1.32d patches applied.
-- Fixed seg fault in restore of multiple simultaneous jobs to
- a single Volume.
-- Fixed thread race problem in multiple simultaneous jobs to
- a single Volume where the volume lable is not in the first
- tape block, so the tape is not recognized.
+ Release Notes for Bacula 1.39.22
+
+ Bacula code: Total files = 447 Total lines = 149,711 (*.h *.c *.in)
+
+New Features in 1.39.22:
+- 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.
+
+==== 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.
+
+==== 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 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.
+- 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.
+
+==== IMPORTANT new Win32 install procedure =====
+ For Win32 migrations from versions prior to the new installer 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).
+
+ Prior to using the current installer, if you used a prior 1.39.x
+ beta version, you must do one of the following three things:
+
+ 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.22 version.
+
+ 2) Manually copy the *.conf files from C:\Bacula\bin to
+ C:\Documents and Settings\All Users\Application Data\Bacula.
+
+ 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.
+
+ After one of these has been done the upgrade should work fine.
+
+ If you have problems with the above, try the following
+ The new Win32 installer requires that you deinstall any
+ previous 1.39.x beta version before installing the new version.
+ The following is not necessary if you are upgrading from
+ a 1.38.x installation.
+
+ The simplest way to do clean up a prior 1.39.x beta is in a DOS shell:
+
+ cd c:\bacula\bin
+ net stop bacula
+ net stop baculfd
+ ./bacula-fd /remove
+ (Install the new Bacula)
+
+ Note, one or both of the 'net stop' commands may fail. Don't
+ worry about it.
+
+ If you didn't read the release notes or forgot to do those
+ commands, try the following:
+
+ cd c:\bacula\bin
+ net stop bacula
+ net stop baculafd
+ sc delete bacula
+ sc delete baculafd
+
+ Note, at least one of the 'net' commands and possibly both
+ will fail, and at least one of the 'sc' commands will fail.
+ Don't worry about it. After that, try again to install
+ the new Bacula.
+
+
+New Features in 1.40.0:
+- 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 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
+ Win32.
+- Data encryption done in the Client is now supported due to code
+ submitted by Landon Fuller.
+- 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 Thorsted 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
+ of running scripts. See the manual for detailed documentation.
+ http://www.bacula.org/dev-manual/Configuring_Director.html#5227
+- 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.
+- SunOS ACLs should now work thanks to a patch from David Duchscher.
+- The database Id records should be 32/64 bit independent now. 64 bits
+ can be enabled by changing one define, but this has never been tested.
+- 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"
+ 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
+ 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 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 enable/disable job=<job-name>. This command prevents
+ the specified job from being scheduled. Even when disabled,
+ the job can be manually started from the console.
+- 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.
+- 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.
+- 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.
+- Apply patch for enhancing wait from Eric Bollengier. One can now:
+ wait (wait for all jobs to stop)
+ wait jobid=nn
+ wait jobuid=unique id
+ wait job=job-name
+- 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). This is not well tested.
+- Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+- 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.
+- Add /silent option to Win32 FD for Install/Remove service.
+ 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.
+- Implement a number of user supplied patches for DVD writing.
+- 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. This could cause print output
+ 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.
+- 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.
+- Add Catalog message destination in Messages resource that puts the
+ job report in the Log database table.
+- Spend a lot of time integrating mkcdrec with the rescue disk.
+- Add spooling/despooling info in status output of SD.
+- Add Comment field to llist of a volume.
+- Allow true/false in some yes/no questions.
+- Implement update volume enable=(on|off|true|false|archived|0|1|2)
+
+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"
+
+
+
+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.