--- /dev/null
+
+ Release Notes for Bacula 1.38.10
+
+ Bacula code: Total files = 423 Total lines = 139,479 (*.h *.c *.in)
+
+Warning for version 1.38.8 and greater:
+- The Windows FD no longer automatically folds the case
+ in wild-card comparions. To get the same behavior as before,
+ you must explicitly use "Ignore Case = yes" in your FileSet.
+- Backslashes are no longer permitted in File directives
+ (typical error for Windows users), unless the string is
+ enclosed in double quotes, in which case, the backslashes
+ must be doubled.
+
+Major Changes for 1.38.10:
+- This is a primarily a bug fix release, with the following bugs being
+ resolved #570, 609, 611, 613, 614, 617 as well as other bugs not
+ reported in the bugs database. See below for details.
+- The bconsole "reload" command should now work properly in virtually
+ all situations thanks to the efforts of a number of people (Eric,
+ Christopher, and myself).
+- There is an untested fix to eliminate the scheduling problems (either
+ no job run or the same job run twice) during sudden clock shifts (daylight
+ savings time change).
+- The manual has been released under the GNU Free Documentation License (FDL).
+ The major difference is that this removes the prior restriction on
+ commercial reproduction of the manual.
+- Fixed a race condition (thanks to Christopher) on dual processor machines
+ that caused jobs to block when starting with the SD.
+
+New features for 1.38.10:
+- None
+
+Fixes for 1.38.10:
+08Jun06
+- Modify setting ACLs to suppress error message if the file is a
+ symbolic link since the file linked to may not yet be created,
+ and symbolic links really should not have attributes ...
+06Jun06
+- Complete implementation of acl.c error message during restore.
+ During backups, errors getting acls are silently ignored, as was
+ previously the case.
+04Jun06
+- Modify configure.in to check for typeof().
+- Better detection of postgresql installation if pg_conf works.
+- Fix RescheduleTimes = 0 bug (should not reschedule).
+- Down port from 1.39: fixes for reload, autochanger error messages,
+ scheduler fixes for reload and day light savings change,
+01Jun06
+- Implement partial error messages for src/filed/acl.c
+- Fix return code to fail when doing update barcodes and
+ Pool resource is not found. This previously caused Volumes
+ to be labeled as cleaning tapes.
+- Small updates to projects file.
+26May06
+- Prevent DVD code from rewriting label if the device cannot be
+ opened read/write.
+- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+- Update projects file.
+24May06
+- Applied patch posted by Jaime Ventura to bug #570 to correct failure
+ of restarted jobs to complete (due to a destroyed pthreads conditional
+ variable used by the message thread).
+- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+ set to zero.
+- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+- Apply patch from Rudolf Cejka bug #614 to removed trailing
+ colons in query.sql file.
+- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+ not to create orphans.
+- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+ in restore long listing.
+- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+ of incorrect MarkedId.
+- Apply patch from adioso bug #616 to correct text in manual (replace
+ Director with File daemon).
+21May06
+- Move DIR "run" command to SD before starting the message thread
+ as suggested by Cristopher Hull to avoid a race deadlock from
+ two threads using the bsock structure.
+- Modify LICENSE to correct some problems pointed out by Debian.
+05May06
+- Correct EOF with no \n lex.c problem.
+- Add additional INFO messages if autochanger cannot be used.
+- Add Eric Bollengier's lex error handler fix, which corrects most
+ of the reload problems.
+
+
+New features for 1.38.9:
+- A "Dir Status" button in the Gnome console.
+
+Fixes:
+This is mainly a bug fix release containing a collection of
+ minor fixes for 1.38.8.
+- Added code to strip backslashes from Windows filenames during
+ a restore.
+- Corrected Win32 License to use the correct LICENSE file.
+- Corrected the buffer count and bytes reported in the heap
+ statistics.
+- Fix a number of incorrect strings marked for translation, when
+ they should not be (e.g. commands).
+- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+ Patches supplied by user in bugs #608 and #599.
+- Use most recent of st_ctime and st_mtime in restore tree DIR
+ listing. This fixes some problems with Win32 printing incorrect
+ values.
+- Correct the clock shift comm time calculation between the DIR
+ and the FD. It was added rather than subtracted.
+- Strip all backslashes in filenames to be restored on Win32
+ machines -- the names should all be in Unix format, and if
+ there are any backslashes it is most likely due to an improper
+ FileSet definition, and the files will not otherwise be
+ restorable.
+- Delete src/win32/License.txt
+- Modify installer to install LICENSE
+- Add back ua_label barcode fix from Rufolf Cejka.
+- Add 'Dir Status' button to the gnome console.
+- Display heap stats in Storage daemon without debug level.
+- Implement using pg_config for finding PostgreSQL files.
+ Fixes bug #600. Patch supplied by user.
+- Remove -t option from mktemp in mtx_changer.in and use
+ working directory. Fixes bug #578.
+- Update job start time after the any run before job so that
+ files created by the script are only backed up once. Fixes
+ bug #599.
+- Strip trailing newline only from filenames entered in
+ the restore command when reading a file. This permits
+ the user to enter filenames with trailing spaces. Fixes
+ bug #549. The user supplied a patch that I modified slightly.
+- Use the most recent time (st_mtime, st_ctime) in the dir
+ command in restore. This gives the user a better idea of what
+ the newest file really is. This fixes bug #574. The fix
+ was suggested by the user.
+- Remove the -f option from the chown in Makefile.in for more
+ portability.
+- Change setting the group in Makefile.in to use chgrp for
+ more portability.
+- Implement a Bacula read/write lock for Python rather
+ than using the Python lock to avoid recursive problems.
+- Correct the uninstall directory names in filed/Makefile.in
+ as reported by a user.
+
+
+New features for 1.38.8:
+- Regex, RegexFile, and RegexDir are now implemented in the
+ Win32 FD. However, this is new experimental code that is
+ largely untested. It may not work, it may cause memory
+ leaks, or it may even crash the FD. Please test carefully
+ before using.
+- On Linux/Unix systems there are two new programs, bregex
+ and bwild that allow you to test regular expressions and
+ wild-cards. These programs are installed with the other
+ binaries. They are not available on Win32 systems.
+
+Fixes:
+- See below.
+
+New Features from pre-1.38.8 releases:
+- For autochanger get Scratch tape if in autochanger if
+ no appendable Volumes are available.
+- New virtual disk autochanger. See scripts/disk-changer for
+ documentation.
+- New optional Device resource directive in SD. 'Device Type =',
+ which may have types: File, DVD, Tape, or FIFO. This can
+ be useful for writing DVDs on FreeBSD where Bacula cannot
+ correctly detect the DVD.
+- Faster restore tree building and uses less memory.
+- The command line keyword job (or jobname) now refers to the
+ name of the job specified in the Job resource; jobid refers
+ as before to the non-unique numeric jobid; and ujobid refers
+ to the unique job identification that Bacula creates for each
+ job.
+- The job report for Backups has a few more user friendly ways
+ of displaying the information.
+- The wait command can now be made to wait for jobids.
+- New command line keywords are permitted in update volume. They
+ are Inchanger=yes/no, slot=nn.
+- Add two new console commands: enable job=<job-name> and
+ disable job=<job-name>. When a job is disabled, it will not
+ be started by the scheduler. If you disable a job and restart
+ Bacula or reload the .conf file, the job will be re-enabled.
+- Add a new Job resource directive "enable = yes|no".
+- There is a new program named regex in the tools directory that
+ allows you to try regular expressions on your system.
+
+Major bug fixes:
+- Fix race condition in multiple-drive autochangers where
+ both drives want the same Volume.
+- Do not allow opening default catalog for restricted console
+ if it is not in ACL.
+- Writable FIFOs now work for restore.
+- ACLs are now checked in all dot commands.
+- Multiple drive autochangers and multiple different autochangers
+ should now work correctly (no race conditions for Volume names,
+ update slots use correct StorageId).
+- Fix bug where drive was always reserved if a restore job failed
+ while in the reservation process.
+
+
+Minor bug fixes:
+- See below:
+
+Release 1.38.8 (14Apr06)
+14Apr06
+- Correct Makefile for Solaris /bin/sh
+- Correct mtx-changer.in for Solaris /bin/sh
+- Abort if a conf resource does not have a Name =
+12Apr06
+- Change the name of the regex program to bregex.
+- Add the bwild program to the tools directory. It is similar
+ to the bregex program.
+- Implement create bregex.h and bregex.c in src/lib from the
+ Python regexp program.
+- Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+- Modify Makefile to change the permissions on Working Directory
+ to 770 if the directory is created.
+- Do not fail the Makefile if changing the permissions or
+ owner/group on WorkingDir fails.
+- Correct the old recycling algorithm so that Scratch Volumes
+ are selected when looking for a Volume in the changer.
+- Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+- Remove automatic case folding on Windows FDs. You must
+ explictly use the 'Ignore Case = yes' option.
+- Remove the code added to 1.38.6 and 1.38.7 that pulls a
+ scratch volume in an Autochanger early in the 'recycling'
+ algorithm.
+08Apr06
+- Tweak license to include Microsoft restrictions.
+- Move mysql.reconnect to after real_connect(). Thanks to
+ Frank Sweetser for the patch.
+- Disallow a backslash in a File = directive (Windows junk)
+ unless the string is quoted.
+- Apply Eric's patch to ua_label.c so that daemon protocol
+ is not translated.
+
+Release 1.38.7 (06Apr06) released 07Apr06
+06Apr06
+- Remove timed wait for VSS on Win2K3 as it is not yet
+ implemented.
+- Correct bacula.in script to reference bacula-ctl-xx in the
+ sysconfig directory rather than the bin directory.
+
+Release 1.38.6 (28Mar06) released 29Mar06
+28Mar06
+- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
+ and new jcr chain locking.
+26Mar06
+- Fix a long standing bug in the bacula start/stop scripts.
+- Attempt to add the new bacula-ctl-* files to the rpm.
+- Switch to using typeof() for list traversing to avoid
+ as many FC5 g++ compiler warnings as possible.
+25Mar06
+- 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
+- Create datestyle fix for PostgreSQL. Fixes bug #574.
+- Correct editing of JobId from int to int64 in fd_cmds.c
+- Eliminate FileSet name race with bash_spaces() and multiple
+ threads by bashing in a local.
+- Fix error return from 'use storage' to print a correct error
+ message rather than nothing.
+- Correct false re-read last block error message when two jobs
+ are simultaneously writing at the end of a tape.
+- Simplify exit conditions in the reserve.c code to avoid
+ possible non-release of reservation_lock().
+- Suffle lock order in reserve to avoid deadlock between
+ reservation lock and device mutex.
+- Add Thorsten's VSS timeout code to 1.38 branch.
+- Initialize jcr mutex before first use. Thanks to Thorsten for
+ tracking this down for me !!!! as it broke the Win32 build.
+- Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+- Implement regex test program in tools directory.
+- Attempt to fix time problem with bsmtp with foreign langs.
+- Add strip_trailing_newline() submitted by user.
+
+Release 1.38.6 beta6 16Mar06
+- Fix bug #537 to allow arbitrary time to mount a volume for
+ restore, if polling is turned on.
+- Disallow multiple storage specifications for a job. Should fix Arno's
+ problem.
+- Add back a missing store of poolid in jr.poolid.
+- If dir_user or dir-group is specified in ./configure apply it to
+ the working-dir. Fixes bug #533.
+- If rescheduling a job cancel the previous incarnation with the SD.
+ Fixes bugs #566 and 557.
+- Fix bug #567 do_message() definition type conflict.
+
+Release 1.38.6 beta5 14Mar06
+- Add more jcr methods and make mutex and use_count private.
+- Create lock/unlock methods for jcr.
+- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+ records to get to seek position.
+- Integrate patch from bug #561 to correct conio.c signal definitions.
+- Fix Rescheduling failed Jobs. Ensure that SD message thread
+ terminates correctly by doing pthread_kill(). Do not destroy
+ SD cond wait variable between executions of the job. Use local
+ mutex for cond variable to avoid blocking jcr chain. Fix poor
+ use of jcr use count in jobq.c for restarted jobs.
+- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+ lib/jcr.c -- prevents locking the jcr chaing.
+- Apply patch from bug #564, which corrects listing volumes with
+ multiple autochangers. Apply same fix to next volume list.
+- Fix bug #562 where restore bootstrap file is not unique.
+- Use new routine lock_reservations() to lock the reservations
+ system, and call it while looking for a volume in askdir.c.
+ This could possibly fix bug #543.
+- Stop SD command loop if job is canceled.
+
+Release 1.38.6 beta3 4Mar06
+04Mar06
+- The po files should now be current.
+- Fix new sql_use_result() code to properly release the
+ buffers in all cases.
+- Convert to using new Python class definitons with (object).
+- 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 listing by any of the above.
+- Add the user friendly job report code for reporting job elapsed time
+ and rates with suffexes.
+- Add Priority and JobLevel as Python settable items.
+- Use TEMPORARY table creation where the table is created by
+ Bacula.
+- Add new code submitted by Eric for waiting on specific jobid.
+- Add ACL checking for the dot commands.
+- Fix restore of writable FIFOs.
+- Fix a bug in bpipe where the string was freed too early.
+
+26Feb06
+- Fix bug reported by Arno listing blocks with bls
+- Update the po files at Eric's request.
+
+Release 1.38.6-beta2 25Feb06
+25Feb06
+- Add sql_use_result() define.
+
+Changes to 1.38.6-beta1
+- Don't open default catalog if not in ACL.
+- Add virtual disk autochanger code.
+- Add user supplied bug fix to make two autochangers work
+ correctly using StorageId with InChanger checks.
+- Correct new/old_jcr confusion in copy_storage().
+- Remove & from Job during scan in msgchan.c -- probably
+ trashed the stack.
+- When getting the next Volume if no Volume in Append mode
+ exists and we are dealing with an Autochanger, search
+ for a Scratch Volume.
+- Check for missing value in dot commands -- bug fix.
+- Fix bug in update barcodes command line scanning.
+- Make sure Pool Max Vols is respected.
+- Check that user supplied a value before referencing
+ it in restore -- pointed out by Karl Hakimian.
+- Add Karl Hakimian's table insert code.
+- Don't ask user to select a specific Volume when
+ updating all volumes in a Pool.
+- Remove reservation if set for read when removing dcr.
+- Lock code that requests next appendable volume so that
+ two jobs to get the same Volume at the same time.
+- Add new Device Type = xxx code. Values are file, tape,
+ dvd, and fifo.
+- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
+ a re-open to change read/write permission on a device.
+- Correct a misplaced double quote in certain autochanger
+ scripts.
+- Make make_catalog_backup.in a bit more portable.
+- Implement Karl Hakimian's sql_use_result(), which speeds
+ up restore tree building and reduces the memory load.
+- Correct a number of minor bugs in getting a Volume from
+ the Scratch Pool.
+- Implement additional command line options for update Volume.
+- Don't require user to enter a Volume name when updating
+ all Volumes in a pool.
+
+Release 1.38.5 released 19Jan06:
+- Apply label barcodes fix supplied by Rudolf Cejka.
+- Modify standard rpm installation to set SD group to disk
+ so that SD will by default have access to tape drives.
+- Allow users to specify user/group and start options
+ for each daemon in /etc/sysconf/bacula file.
+
+Changes to 1.38.4 released 17Jan06:
+- The main changes are to the Director and the Storage daemon,
+ thus there is no need to update your File daemons. Just the
+ same, I do recommend running with the release 1.38.3 Win32
+ FD or later.
+- 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, ...).
+- Add periodic (every 24 hours) garbage collection of memory
+ pool by releasing free buffers.
+- Correct bug counting sized (for display only) in smartall.c
+- Print FD mempool stats if debug > 0 rather than 5.
+- Correct bug in alist.c that re-allocated the list if the
+ number of items goes to zero.
+- Move the reservation system thread locking to the top level
+ so that one job at a time tries all possible drives before
+ waiting.
+- Implement a reservation 'fail' message queue that is built
+ and destroyed on each pass through the reservation system.
+ These messages are displayed in a 'Jobs waiting to reserve
+ a drive' list during a 'status storage='. Note, multiple
+ messages will generally print for each JobId because they
+ represent the different problems with either the same drive
+ or different drives. If this output proves too confusing
+ of voluminous, I will display it only when debug level 1
+ or greater is enabled in the SD.
+- 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.
+- During 'update slots' clear all InChanger flags where the
+ StorageId is zero (old Media records).
+- Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+- Back port a bit of 1.39 crypto code to reduce diffs.
+- Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+- Add PoolId to Job record when updating it at job start time.
+- Pull in more code from 1.39 so that there are fewer file
+ differences (the new ua_dotcmds.c, base64.h, crypto.h
+ hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
+ util.c. Aside from ua_dotcmds.c these are mostly crypto
+ upgrades.
+- Implement new method of walking the jcr chain. The
+ incr/dec of the use_count is done within the walking
+ routines. This should prevent a jcr from being freed
+ from under the walk routines.
+
+
+Changes to 1.38.3 released 05Jan06:
+- This is mainly a bug release fix. In addition, the multiple drive
+ reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+ mounted and the mount messages has been modified.
+ (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when 'autochanger drives' is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+- 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.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
+- Critical: allow restore of the first file of non-portable Win32 backup.
+- Important: with muliple concurrent jobs the autochanger could get
+ confused because of a missing mutex.
+- Fix accessing last slot in label and update slots.
+- Modify configure.in to add execute option to sqlite3 catalog
+ scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+ autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+ by user. Fixes bug #456.
+- AMD64 users see compiler bug warning below!!!!!!!!!
+
+Major Changes in 1.38:
+- Fixed out of order Volumes in restore.
+- Improved algorithm for reserving drives in multiple drive
+ autochangers. Autochange users MUST use the new Autochanger
+ resource in the Storage daemon.
+- There is a new database format that is not compatible
+ with previous databases. You must upgrade if converting
+ from 1.36.x. No changes from version 1.37.30.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- Support for ANSI/IBM labels.
+- Faster database inserts due to combining the MD5/SHA1 into
+ the attributes record, eliminating one INSERT/file backed up.
+- Python Event support has been added. See below for
+ configuration and details. The implementation is somewhat minimal,
+ so the functionality is not complete. The Python interface
+ has not been extensively tested, so please consider it BETA.
+- DVD writing support, using parts, and some new directives in
+ the Device resource of the Storage configuration file thanks
+ to Nicolas Boichat. Please note that this code is still
+ BETA and should be carefully tested before using in
+ production.
+- Seven new options keywords in a FileSet resource:
+ ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
+ and regexfile thanks to Pruben Guldberg). See below for details.
+- Restore of all files for a Job or set of jobs even if the file
+ records have been removed from the catalog.
+- Restore of a directory (non-recursive, i.e. only one level).
+- Support for TLS (ssl) between all the daemon connections thanks
+ to Landon Fuller.
+- Any Volume in the Pool named Scratch may be reassigned to any
+ other Pool when a new Volume is needed.
+- You may clone a Job and thus write (almost) the same data
+ to multiple Volumes simultaneously (see below). Actually,
+ any Job may start any other Job with this mechanism, so it
+ also be used to group jobs.
+- Unicode filename support for Win32 (thanks to Thorsten Engel)
+- Volume Shadow Copy support for Win32 thus the capability to
+ backup exclusively opened files (thanks to Thorsten Engel).
+ A VSS enabled Win32 FD is available. You must explicitly
+ turn on VSS with 'Enable VSS = yes' in your FileSet resource.
+- New manual format with an index (thanks to Karl Cunningham).
+- New Web site format (thanks to Michael Scherer).
+- SQLite3 support.
+- Web-bacula, previously a separate project by Juan Luis Frances,
+ is now included in the Bacula GUI release. This is a management
+ level tool for reporting the state of Bacula jobs.
+- The code is now Internationalized so that it can be localized
+ in native languages. Thanks to Nicolas Boichat.
+
+New Directives:
+- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
+ SD to select either an Autochanger or a drive with a valid
+ Volume already mounted in preference. If none is available,
+ it will select the first available drive.
+- New Run directive in Job resource of DIR. It permits
+ cloning of jobs. To clone a copy of the current job, use
+ Run = 'job-name level=%l since=\'%s\''
+ Note, job-name is normally the same name as the job that
+ is running but there is no restriction on what you put. If you
+ want to start the job by hand and use job overrides such as
+ storage=xxx, realize that the job will be started with the
+ default storage values not the overrides. The level=%l guarantees
+ that the chosen level of the job is the same, and the since=...
+ ensures that the job uses *exactly* the same time/date for incremental
+ and differential jobs. The since=... is ignored when level=Full.
+ A cloned job will not start additional clones, so it is not possible
+ to recurse.
+- New Options keywords in a FileSet directive (backported to 1.36.3):
+ - WildDir xxx
+ Will do a wild card match against directories (files will not
+ be matched).
+ - WildFile xxx
+ Will do a wild card match against files (directories will not
+ be matched).
+ - RegexDir xxx
+ Will do a regular expression match against directories (files
+ will not be matched).
+ - RegexFile xxx
+ Will do a regular expression match against files( directories
+ will not be matched).
+ - IgnoreCase = yes | no
+ Will ignore case in wild card and regular expression matches.
+ This is handy for Windows where filename case is not significant.
+ - FsType = string
+ where string is a filesystem type: ext2, jfs, ntfs, proc,
+ reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
+ systems, use ext2. You may have multiple fstype directives
+ and thus permit multiple filesystem types. If the type
+ specified on the fstype directive does not match the
+ filesystem for a particular directive, that directory will
+ not be backed up. This directive can be used to prevent
+ backing up non-local filesystems.
+ - HFS Plus Support = yes | no
+ If set, Mac OS X resource forks will be saved and restored.
+- Label Type = ANSI | IBM | Bacula
+ Implemented in Director Pool resource and in SD Device resource.
+ If it is specified in the SD Device resource, it will take
+ precedence over the value passed from the Director to the SD.
+- Check Labels = yes | no
+ Implemented in the SD Device resource. If you intend to read
+ ANSI or IBM labels, this *must* be set. Even if the volume
+ is not ANSI labeled, you can set this to yes, and Bacula will
+ check the label type.
+- Scripts Directory = <directory> name. Defines the directory from
+ which Bacula scripts will be called for events. In fact, Bacula
+ appends this name to the standard Python list of search directories,
+ so the script could also be in any of the Python system directories.
+- In FileSet, you can exclude backing up of hardlinks (if you have
+ a lot, it can be very expensive), by using:
+ HardLinks = no
+ in the Options section. Patch supplied by David R Bosso. Thanks.
+- MaximumPartSize = bytes (SD, Device resource)
+ Defines the maximum part size.
+- Requires Mount = Yes/No (SD, Device resource)
+ Defines if the device require to be mounted to be read, and if it
+ must be written in a special way. If it set, the following directives
+ must be defined in the same Device resource:
+ + Mount Point = directory
+ Directory where the device must be mounted.
+ + Mount Command = name-string
+ Command that must be executed to mount the device. Before the command
+ is executed, %a is replaced with the Archive Device, and %m with the
+ Mount Point.
+ + Unmount Command = name-string
+ Command that must be executed to unmount the device. Before the
+ command is executed, %a is replaced with the Archive Device, and
+ %m with the Mount Point.
+ + Write Part Command = name-string
+ Command that must be executed to write a part to the device. Before
+ the command is executed, %a is replaced with the Archive Device, %m
+ with the Mount Point, %n with the current part number (0-based),
+ and %v with the current part filename.
+ + Free Space Command = name-string
+ Command that must be executed to check how much free space is left
+ on the device. Before the command is executed, %a is replaced with
+ the Archive Device, %m with the Mount Point, %n with the current part
+ number (0-based), and %v with the current part filename.
+- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
+ If this directive is set to yes (default no), a new part file will be
+ created after the job is finished.
+- A pile of new Directives to support TLS. Please see the TLS chapter
+ of the manual.
+
+New Commands:
+- 'python restart' restarts the Python interpreter. Rather brutal, make
+ sure no Python scripts are running. This permits you to change
+ a Python script and get Bacula to use the new script.
+
+New configure options:
+- --with-libintl-prefix for defining alternate locations for
+ the NLS internationalization libraries. Not normally required.
+- --datadir for defining where the language files will be installed
+ required only if you do not want the default /usr/share.
+
+Items to note!!!
+- The Storage daemon now keeps track of what tapes it is using
+ (was not the case in 1.36.x). This means that you must be much
+ more careful when removing tapes and putting up a new one. In
+ general, you should always do a 'unmount' prior to removing a
+ tape, and a 'mount' after putting a new one into the drive.
+- If you use an Autochanger, you MUST update your SD conf file
+ to use the new Autochanger resource. Otherwise, certain commands
+ such as 'update slots' may not work.
+- You must add --with-python=[DIR] to the configure command line
+ if you want Python support. Python 2.2, 2.3 and 2.4 should be
+ automatically detected if in the standard place.
+- When linking with --with-python, there are a few warnings that
+ can be ignored.
+- You must either create a new catalog database or upgrade your
+ old database. After installation, run from your scripts
+ directory:
+
+ ./upgrade_bacula_tables
+
+ You can also find this script in the <bacula-source>/src/cats
+ directory.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- You must add --with-openssl to the configure command line if
+ you want TLS communications encryption support.
+- Disk seeking during restores does not yet work correctly in
+ all cases, so it is turned off.
+- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
+ AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
+ generates bad code that causes Bacula to segment fault.
+ Typically you will see this in the Storage daemon first. The
+ solution is to compile Bacula ensuring that no optimization is
+ turned on (normally it is -O2).
+ This same compiler bug has been reported and confirmed with
+ gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
+ an AMD64 CPU. This for the moment, I would recommend that all
+ users of GCC 4.0.1 or greater turn off all optimization when
+ compiling.
+
+
+Other Items Fixed:
+- Security fixes for temp files created in mtx-changer, during
+ ./configure, and during making of Rescue disk.
+- A new script, dvd-handler, in the scripts directory,
+ which is designed to be used as parameters to Write Part Command and
+ Free Space Command. They need the dvd+rw-tools to be installed
+ (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
+ program must be patched using the
+ <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
+ You must have Python installed to run the scripts.
+- Part files support: File volumes can now be split into multiple
+ files, called 'parts'.
+- For the details of the Python scripting support, please see the new
+ Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+ by rpms is bacula/bacula, thus you may need to add additional permissions
+ to your database, or modify the permissions of the tape drive. If
+ all else fails, change to using user=root. However, it is more secure
+ to use user=bacula.
--- /dev/null
+
+ Release Notes for Bacula 1.38.11
+
+ Bacula code: Total files = 423 Total lines = 139,479 (*.h *.c *.in)
+
+Warning for version 1.38.8 and greater:
+- The Windows FD no longer automatically folds the case
+ in wild-card comparions. To get the same behavior as before,
+ you must explicitly use "Ignore Case = yes" in your FileSet.
+- Backslashes are no longer permitted in File directives
+ (typical error for Windows users), unless the string is
+ enclosed in double quotes, in which case, the backslashes
+ must be doubled.
+
+Major Changes for 1.38.11
+- Add test for IRIX64 as OS
+- Fix scheduler hang during clock shift (due to missing unlock())
+- Minor tweaks to bregex.c
+- Fix to block.c to correctly check for DVD number of parts.
+- Fix to dev.c to permit DVD seeking in spool file. Corrects
+ label rewriting problems.
+- Clarify license for techlogs (GPL). I consider them "part" of
+ the source code of Bacula.
+- Use FDL license for developer's manual, French translation, German
+ translation, bimagemgr manuals (same as the main manual), and
+ the web site.
+
+New features for 1.38.11:
+- None
+
+====================================================================
+
+Major Changes for 1.38.10:
+- This is a primarily a bug fix release, with the following bugs being
+ resolved #570, 609, 611, 613, 614, 617 as well as other bugs not
+ reported in the bugs database. See below for details.
+- The bconsole "reload" command should now work properly in virtually
+ all situations thanks to the efforts of a number of people (Eric,
+ Christopher, and myself).
+- There is an untested fix to eliminate the scheduling problems (either
+ no job run or the same job run twice) during sudden clock shifts (daylight
+ savings time change).
+- The manual has been released under the GNU Free Documentation License (FDL).
+ The major difference is that this removes the prior restriction on
+ commercial reproduction of the manual.
+- Fixed a race condition (thanks to Christopher) on dual processor machines
+ that caused jobs to block when starting with the SD.
+
+New features for 1.38.10:
+- None
+
+Fixes for 1.38.10:
+08Jun06
+- Modify setting ACLs to suppress error message if the file is a
+ symbolic link since the file linked to may not yet be created,
+ and symbolic links really should not have attributes ...
+06Jun06
+- Complete implementation of acl.c error message during restore.
+ During backups, errors getting acls are silently ignored, as was
+ previously the case.
+04Jun06
+- Modify configure.in to check for typeof().
+- Better detection of postgresql installation if pg_conf works.
+- Fix RescheduleTimes = 0 bug (should not reschedule).
+- Down port from 1.39: fixes for reload, autochanger error messages,
+ scheduler fixes for reload and day light savings change,
+01Jun06
+- Implement partial error messages for src/filed/acl.c
+- Fix return code to fail when doing update barcodes and
+ Pool resource is not found. This previously caused Volumes
+ to be labeled as cleaning tapes.
+- Small updates to projects file.
+26May06
+- Prevent DVD code from rewriting label if the device cannot be
+ opened read/write.
+- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+- Update projects file.
+24May06
+- Applied patch posted by Jaime Ventura to bug #570 to correct failure
+ of restarted jobs to complete (due to a destroyed pthreads conditional
+ variable used by the message thread).
+- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+ set to zero.
+- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+- Apply patch from Rudolf Cejka bug #614 to removed trailing
+ colons in query.sql file.
+- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+ not to create orphans.
+- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+ in restore long listing.
+- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+ of incorrect MarkedId.
+- Apply patch from adioso bug #616 to correct text in manual (replace
+ Director with File daemon).
+21May06
+- Move DIR "run" command to SD before starting the message thread
+ as suggested by Cristopher Hull to avoid a race deadlock from
+ two threads using the bsock structure.
+- Modify LICENSE to correct some problems pointed out by Debian.
+05May06
+- Correct EOF with no \n lex.c problem.
+- Add additional INFO messages if autochanger cannot be used.
+- Add Eric Bollengier's lex error handler fix, which corrects most
+ of the reload problems.
+
+
+New features for 1.38.9:
+- A "Dir Status" button in the Gnome console.
+
+Fixes:
+This is mainly a bug fix release containing a collection of
+ minor fixes for 1.38.8.
+- Added code to strip backslashes from Windows filenames during
+ a restore.
+- Corrected Win32 License to use the correct LICENSE file.
+- Corrected the buffer count and bytes reported in the heap
+ statistics.
+- Fix a number of incorrect strings marked for translation, when
+ they should not be (e.g. commands).
+- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+ Patches supplied by user in bugs #608 and #599.
+- Use most recent of st_ctime and st_mtime in restore tree DIR
+ listing. This fixes some problems with Win32 printing incorrect
+ values.
+- Correct the clock shift comm time calculation between the DIR
+ and the FD. It was added rather than subtracted.
+- Strip all backslashes in filenames to be restored on Win32
+ machines -- the names should all be in Unix format, and if
+ there are any backslashes it is most likely due to an improper
+ FileSet definition, and the files will not otherwise be
+ restorable.
+- Delete src/win32/License.txt
+- Modify installer to install LICENSE
+- Add back ua_label barcode fix from Rufolf Cejka.
+- Add 'Dir Status' button to the gnome console.
+- Display heap stats in Storage daemon without debug level.
+- Implement using pg_config for finding PostgreSQL files.
+ Fixes bug #600. Patch supplied by user.
+- Remove -t option from mktemp in mtx_changer.in and use
+ working directory. Fixes bug #578.
+- Update job start time after the any run before job so that
+ files created by the script are only backed up once. Fixes
+ bug #599.
+- Strip trailing newline only from filenames entered in
+ the restore command when reading a file. This permits
+ the user to enter filenames with trailing spaces. Fixes
+ bug #549. The user supplied a patch that I modified slightly.
+- Use the most recent time (st_mtime, st_ctime) in the dir
+ command in restore. This gives the user a better idea of what
+ the newest file really is. This fixes bug #574. The fix
+ was suggested by the user.
+- Remove the -f option from the chown in Makefile.in for more
+ portability.
+- Change setting the group in Makefile.in to use chgrp for
+ more portability.
+- Implement a Bacula read/write lock for Python rather
+ than using the Python lock to avoid recursive problems.
+- Correct the uninstall directory names in filed/Makefile.in
+ as reported by a user.
+
+
+New features for 1.38.8:
+- Regex, RegexFile, and RegexDir are now implemented in the
+ Win32 FD. However, this is new experimental code that is
+ largely untested. It may not work, it may cause memory
+ leaks, or it may even crash the FD. Please test carefully
+ before using.
+- On Linux/Unix systems there are two new programs, bregex
+ and bwild that allow you to test regular expressions and
+ wild-cards. These programs are installed with the other
+ binaries. They are not available on Win32 systems.
+
+Fixes:
+- See below.
+
+New Features from pre-1.38.8 releases:
+- For autochanger get Scratch tape if in autochanger if
+ no appendable Volumes are available.
+- New virtual disk autochanger. See scripts/disk-changer for
+ documentation.
+- New optional Device resource directive in SD. 'Device Type =',
+ which may have types: File, DVD, Tape, or FIFO. This can
+ be useful for writing DVDs on FreeBSD where Bacula cannot
+ correctly detect the DVD.
+- Faster restore tree building and uses less memory.
+- The command line keyword job (or jobname) now refers to the
+ name of the job specified in the Job resource; jobid refers
+ as before to the non-unique numeric jobid; and ujobid refers
+ to the unique job identification that Bacula creates for each
+ job.
+- The job report for Backups has a few more user friendly ways
+ of displaying the information.
+- The wait command can now be made to wait for jobids.
+- New command line keywords are permitted in update volume. They
+ are Inchanger=yes/no, slot=nn.
+- Add two new console commands: enable job=<job-name> and
+ disable job=<job-name>. When a job is disabled, it will not
+ be started by the scheduler. If you disable a job and restart
+ Bacula or reload the .conf file, the job will be re-enabled.
+- Add a new Job resource directive "enable = yes|no".
+- There is a new program named regex in the tools directory that
+ allows you to try regular expressions on your system.
+
+Major bug fixes:
+- Fix race condition in multiple-drive autochangers where
+ both drives want the same Volume.
+- Do not allow opening default catalog for restricted console
+ if it is not in ACL.
+- Writable FIFOs now work for restore.
+- ACLs are now checked in all dot commands.
+- Multiple drive autochangers and multiple different autochangers
+ should now work correctly (no race conditions for Volume names,
+ update slots use correct StorageId).
+- Fix bug where drive was always reserved if a restore job failed
+ while in the reservation process.
+
+
+Minor bug fixes:
+- See below:
+
+Release 1.38.8 (14Apr06)
+14Apr06
+- Correct Makefile for Solaris /bin/sh
+- Correct mtx-changer.in for Solaris /bin/sh
+- Abort if a conf resource does not have a Name =
+12Apr06
+- Change the name of the regex program to bregex.
+- Add the bwild program to the tools directory. It is similar
+ to the bregex program.
+- Implement create bregex.h and bregex.c in src/lib from the
+ Python regexp program.
+- Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+- Modify Makefile to change the permissions on Working Directory
+ to 770 if the directory is created.
+- Do not fail the Makefile if changing the permissions or
+ owner/group on WorkingDir fails.
+- Correct the old recycling algorithm so that Scratch Volumes
+ are selected when looking for a Volume in the changer.
+- Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+- Remove automatic case folding on Windows FDs. You must
+ explictly use the 'Ignore Case = yes' option.
+- Remove the code added to 1.38.6 and 1.38.7 that pulls a
+ scratch volume in an Autochanger early in the 'recycling'
+ algorithm.
+08Apr06
+- Tweak license to include Microsoft restrictions.
+- Move mysql.reconnect to after real_connect(). Thanks to
+ Frank Sweetser for the patch.
+- Disallow a backslash in a File = directive (Windows junk)
+ unless the string is quoted.
+- Apply Eric's patch to ua_label.c so that daemon protocol
+ is not translated.
+
+Release 1.38.7 (06Apr06) released 07Apr06
+06Apr06
+- Remove timed wait for VSS on Win2K3 as it is not yet
+ implemented.
+- Correct bacula.in script to reference bacula-ctl-xx in the
+ sysconfig directory rather than the bin directory.
+
+Release 1.38.6 (28Mar06) released 29Mar06
+28Mar06
+- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
+ and new jcr chain locking.
+26Mar06
+- Fix a long standing bug in the bacula start/stop scripts.
+- Attempt to add the new bacula-ctl-* files to the rpm.
+- Switch to using typeof() for list traversing to avoid
+ as many FC5 g++ compiler warnings as possible.
+25Mar06
+- 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
+- Create datestyle fix for PostgreSQL. Fixes bug #574.
+- Correct editing of JobId from int to int64 in fd_cmds.c
+- Eliminate FileSet name race with bash_spaces() and multiple
+ threads by bashing in a local.
+- Fix error return from 'use storage' to print a correct error
+ message rather than nothing.
+- Correct false re-read last block error message when two jobs
+ are simultaneously writing at the end of a tape.
+- Simplify exit conditions in the reserve.c code to avoid
+ possible non-release of reservation_lock().
+- Suffle lock order in reserve to avoid deadlock between
+ reservation lock and device mutex.
+- Add Thorsten's VSS timeout code to 1.38 branch.
+- Initialize jcr mutex before first use. Thanks to Thorsten for
+ tracking this down for me !!!! as it broke the Win32 build.
+- Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+- Implement regex test program in tools directory.
+- Attempt to fix time problem with bsmtp with foreign langs.
+- Add strip_trailing_newline() submitted by user.
+
+Release 1.38.6 beta6 16Mar06
+- Fix bug #537 to allow arbitrary time to mount a volume for
+ restore, if polling is turned on.
+- Disallow multiple storage specifications for a job. Should fix Arno's
+ problem.
+- Add back a missing store of poolid in jr.poolid.
+- If dir_user or dir-group is specified in ./configure apply it to
+ the working-dir. Fixes bug #533.
+- If rescheduling a job cancel the previous incarnation with the SD.
+ Fixes bugs #566 and 557.
+- Fix bug #567 do_message() definition type conflict.
+
+Release 1.38.6 beta5 14Mar06
+- Add more jcr methods and make mutex and use_count private.
+- Create lock/unlock methods for jcr.
+- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+ records to get to seek position.
+- Integrate patch from bug #561 to correct conio.c signal definitions.
+- Fix Rescheduling failed Jobs. Ensure that SD message thread
+ terminates correctly by doing pthread_kill(). Do not destroy
+ SD cond wait variable between executions of the job. Use local
+ mutex for cond variable to avoid blocking jcr chain. Fix poor
+ use of jcr use count in jobq.c for restarted jobs.
+- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+ lib/jcr.c -- prevents locking the jcr chaing.
+- Apply patch from bug #564, which corrects listing volumes with
+ multiple autochangers. Apply same fix to next volume list.
+- Fix bug #562 where restore bootstrap file is not unique.
+- Use new routine lock_reservations() to lock the reservations
+ system, and call it while looking for a volume in askdir.c.
+ This could possibly fix bug #543.
+- Stop SD command loop if job is canceled.
+
+Release 1.38.6 beta3 4Mar06
+04Mar06
+- The po files should now be current.
+- Fix new sql_use_result() code to properly release the
+ buffers in all cases.
+- Convert to using new Python class definitons with (object).
+- 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 listing by any of the above.
+- Add the user friendly job report code for reporting job elapsed time
+ and rates with suffexes.
+- Add Priority and JobLevel as Python settable items.
+- Use TEMPORARY table creation where the table is created by
+ Bacula.
+- Add new code submitted by Eric for waiting on specific jobid.
+- Add ACL checking for the dot commands.
+- Fix restore of writable FIFOs.
+- Fix a bug in bpipe where the string was freed too early.
+
+26Feb06
+- Fix bug reported by Arno listing blocks with bls
+- Update the po files at Eric's request.
+
+Release 1.38.6-beta2 25Feb06
+25Feb06
+- Add sql_use_result() define.
+
+Changes to 1.38.6-beta1
+- Don't open default catalog if not in ACL.
+- Add virtual disk autochanger code.
+- Add user supplied bug fix to make two autochangers work
+ correctly using StorageId with InChanger checks.
+- Correct new/old_jcr confusion in copy_storage().
+- Remove & from Job during scan in msgchan.c -- probably
+ trashed the stack.
+- When getting the next Volume if no Volume in Append mode
+ exists and we are dealing with an Autochanger, search
+ for a Scratch Volume.
+- Check for missing value in dot commands -- bug fix.
+- Fix bug in update barcodes command line scanning.
+- Make sure Pool Max Vols is respected.
+- Check that user supplied a value before referencing
+ it in restore -- pointed out by Karl Hakimian.
+- Add Karl Hakimian's table insert code.
+- Don't ask user to select a specific Volume when
+ updating all volumes in a Pool.
+- Remove reservation if set for read when removing dcr.
+- Lock code that requests next appendable volume so that
+ two jobs to get the same Volume at the same time.
+- Add new Device Type = xxx code. Values are file, tape,
+ dvd, and fifo.
+- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
+ a re-open to change read/write permission on a device.
+- Correct a misplaced double quote in certain autochanger
+ scripts.
+- Make make_catalog_backup.in a bit more portable.
+- Implement Karl Hakimian's sql_use_result(), which speeds
+ up restore tree building and reduces the memory load.
+- Correct a number of minor bugs in getting a Volume from
+ the Scratch Pool.
+- Implement additional command line options for update Volume.
+- Don't require user to enter a Volume name when updating
+ all Volumes in a pool.
+
+Release 1.38.5 released 19Jan06:
+- Apply label barcodes fix supplied by Rudolf Cejka.
+- Modify standard rpm installation to set SD group to disk
+ so that SD will by default have access to tape drives.
+- Allow users to specify user/group and start options
+ for each daemon in /etc/sysconf/bacula file.
+
+Changes to 1.38.4 released 17Jan06:
+- The main changes are to the Director and the Storage daemon,
+ thus there is no need to update your File daemons. Just the
+ same, I do recommend running with the release 1.38.3 Win32
+ FD or later.
+- 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, ...).
+- Add periodic (every 24 hours) garbage collection of memory
+ pool by releasing free buffers.
+- Correct bug counting sized (for display only) in smartall.c
+- Print FD mempool stats if debug > 0 rather than 5.
+- Correct bug in alist.c that re-allocated the list if the
+ number of items goes to zero.
+- Move the reservation system thread locking to the top level
+ so that one job at a time tries all possible drives before
+ waiting.
+- Implement a reservation 'fail' message queue that is built
+ and destroyed on each pass through the reservation system.
+ These messages are displayed in a 'Jobs waiting to reserve
+ a drive' list during a 'status storage='. Note, multiple
+ messages will generally print for each JobId because they
+ represent the different problems with either the same drive
+ or different drives. If this output proves too confusing
+ of voluminous, I will display it only when debug level 1
+ or greater is enabled in the SD.
+- 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.
+- During 'update slots' clear all InChanger flags where the
+ StorageId is zero (old Media records).
+- Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+- Back port a bit of 1.39 crypto code to reduce diffs.
+- Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+- Add PoolId to Job record when updating it at job start time.
+- Pull in more code from 1.39 so that there are fewer file
+ differences (the new ua_dotcmds.c, base64.h, crypto.h
+ hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
+ util.c. Aside from ua_dotcmds.c these are mostly crypto
+ upgrades.
+- Implement new method of walking the jcr chain. The
+ incr/dec of the use_count is done within the walking
+ routines. This should prevent a jcr from being freed
+ from under the walk routines.
+
+
+Changes to 1.38.3 released 05Jan06:
+- This is mainly a bug release fix. In addition, the multiple drive
+ reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+ mounted and the mount messages has been modified.
+ (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when 'autochanger drives' is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+- 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.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
+- Critical: allow restore of the first file of non-portable Win32 backup.
+- Important: with muliple concurrent jobs the autochanger could get
+ confused because of a missing mutex.
+- Fix accessing last slot in label and update slots.
+- Modify configure.in to add execute option to sqlite3 catalog
+ scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+ autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+ by user. Fixes bug #456.
+- AMD64 users see compiler bug warning below!!!!!!!!!
+
+Major Changes in 1.38:
+- Fixed out of order Volumes in restore.
+- Improved algorithm for reserving drives in multiple drive
+ autochangers. Autochange users MUST use the new Autochanger
+ resource in the Storage daemon.
+- There is a new database format that is not compatible
+ with previous databases. You must upgrade if converting
+ from 1.36.x. No changes from version 1.37.30.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- Support for ANSI/IBM labels.
+- Faster database inserts due to combining the MD5/SHA1 into
+ the attributes record, eliminating one INSERT/file backed up.
+- Python Event support has been added. See below for
+ configuration and details. The implementation is somewhat minimal,
+ so the functionality is not complete. The Python interface
+ has not been extensively tested, so please consider it BETA.
+- DVD writing support, using parts, and some new directives in
+ the Device resource of the Storage configuration file thanks
+ to Nicolas Boichat. Please note that this code is still
+ BETA and should be carefully tested before using in
+ production.
+- Seven new options keywords in a FileSet resource:
+ ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
+ and regexfile thanks to Pruben Guldberg). See below for details.
+- Restore of all files for a Job or set of jobs even if the file
+ records have been removed from the catalog.
+- Restore of a directory (non-recursive, i.e. only one level).
+- Support for TLS (ssl) between all the daemon connections thanks
+ to Landon Fuller.
+- Any Volume in the Pool named Scratch may be reassigned to any
+ other Pool when a new Volume is needed.
+- You may clone a Job and thus write (almost) the same data
+ to multiple Volumes simultaneously (see below). Actually,
+ any Job may start any other Job with this mechanism, so it
+ also be used to group jobs.
+- Unicode filename support for Win32 (thanks to Thorsten Engel)
+- Volume Shadow Copy support for Win32 thus the capability to
+ backup exclusively opened files (thanks to Thorsten Engel).
+ A VSS enabled Win32 FD is available. You must explicitly
+ turn on VSS with 'Enable VSS = yes' in your FileSet resource.
+- New manual format with an index (thanks to Karl Cunningham).
+- New Web site format (thanks to Michael Scherer).
+- SQLite3 support.
+- Web-bacula, previously a separate project by Juan Luis Frances,
+ is now included in the Bacula GUI release. This is a management
+ level tool for reporting the state of Bacula jobs.
+- The code is now Internationalized so that it can be localized
+ in native languages. Thanks to Nicolas Boichat.
+
+New Directives:
+- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
+ SD to select either an Autochanger or a drive with a valid
+ Volume already mounted in preference. If none is available,
+ it will select the first available drive.
+- New Run directive in Job resource of DIR. It permits
+ cloning of jobs. To clone a copy of the current job, use
+ Run = 'job-name level=%l since=\'%s\''
+ Note, job-name is normally the same name as the job that
+ is running but there is no restriction on what you put. If you
+ want to start the job by hand and use job overrides such as
+ storage=xxx, realize that the job will be started with the
+ default storage values not the overrides. The level=%l guarantees
+ that the chosen level of the job is the same, and the since=...
+ ensures that the job uses *exactly* the same time/date for incremental
+ and differential jobs. The since=... is ignored when level=Full.
+ A cloned job will not start additional clones, so it is not possible
+ to recurse.
+- New Options keywords in a FileSet directive (backported to 1.36.3):
+ - WildDir xxx
+ Will do a wild card match against directories (files will not
+ be matched).
+ - WildFile xxx
+ Will do a wild card match against files (directories will not
+ be matched).
+ - RegexDir xxx
+ Will do a regular expression match against directories (files
+ will not be matched).
+ - RegexFile xxx
+ Will do a regular expression match against files( directories
+ will not be matched).
+ - IgnoreCase = yes | no
+ Will ignore case in wild card and regular expression matches.
+ This is handy for Windows where filename case is not significant.
+ - FsType = string
+ where string is a filesystem type: ext2, jfs, ntfs, proc,
+ reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
+ systems, use ext2. You may have multiple fstype directives
+ and thus permit multiple filesystem types. If the type
+ specified on the fstype directive does not match the
+ filesystem for a particular directive, that directory will
+ not be backed up. This directive can be used to prevent
+ backing up non-local filesystems.
+ - HFS Plus Support = yes | no
+ If set, Mac OS X resource forks will be saved and restored.
+- Label Type = ANSI | IBM | Bacula
+ Implemented in Director Pool resource and in SD Device resource.
+ If it is specified in the SD Device resource, it will take
+ precedence over the value passed from the Director to the SD.
+- Check Labels = yes | no
+ Implemented in the SD Device resource. If you intend to read
+ ANSI or IBM labels, this *must* be set. Even if the volume
+ is not ANSI labeled, you can set this to yes, and Bacula will
+ check the label type.
+- Scripts Directory = <directory> name. Defines the directory from
+ which Bacula scripts will be called for events. In fact, Bacula
+ appends this name to the standard Python list of search directories,
+ so the script could also be in any of the Python system directories.
+- In FileSet, you can exclude backing up of hardlinks (if you have
+ a lot, it can be very expensive), by using:
+ HardLinks = no
+ in the Options section. Patch supplied by David R Bosso. Thanks.
+- MaximumPartSize = bytes (SD, Device resource)
+ Defines the maximum part size.
+- Requires Mount = Yes/No (SD, Device resource)
+ Defines if the device require to be mounted to be read, and if it
+ must be written in a special way. If it set, the following directives
+ must be defined in the same Device resource:
+ + Mount Point = directory
+ Directory where the device must be mounted.
+ + Mount Command = name-string
+ Command that must be executed to mount the device. Before the command
+ is executed, %a is replaced with the Archive Device, and %m with the
+ Mount Point.
+ + Unmount Command = name-string
+ Command that must be executed to unmount the device. Before the
+ command is executed, %a is replaced with the Archive Device, and
+ %m with the Mount Point.
+ + Write Part Command = name-string
+ Command that must be executed to write a part to the device. Before
+ the command is executed, %a is replaced with the Archive Device, %m
+ with the Mount Point, %n with the current part number (0-based),
+ and %v with the current part filename.
+ + Free Space Command = name-string
+ Command that must be executed to check how much free space is left
+ on the device. Before the command is executed, %a is replaced with
+ the Archive Device, %m with the Mount Point, %n with the current part
+ number (0-based), and %v with the current part filename.
+- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
+ If this directive is set to yes (default no), a new part file will be
+ created after the job is finished.
+- A pile of new Directives to support TLS. Please see the TLS chapter
+ of the manual.
+
+New Commands:
+- 'python restart' restarts the Python interpreter. Rather brutal, make
+ sure no Python scripts are running. This permits you to change
+ a Python script and get Bacula to use the new script.
+
+New configure options:
+- --with-libintl-prefix for defining alternate locations for
+ the NLS internationalization libraries. Not normally required.
+- --datadir for defining where the language files will be installed
+ required only if you do not want the default /usr/share.
+
+Items to note!!!
+- The Storage daemon now keeps track of what tapes it is using
+ (was not the case in 1.36.x). This means that you must be much
+ more careful when removing tapes and putting up a new one. In
+ general, you should always do a 'unmount' prior to removing a
+ tape, and a 'mount' after putting a new one into the drive.
+- If you use an Autochanger, you MUST update your SD conf file
+ to use the new Autochanger resource. Otherwise, certain commands
+ such as 'update slots' may not work.
+- You must add --with-python=[DIR] to the configure command line
+ if you want Python support. Python 2.2, 2.3 and 2.4 should be
+ automatically detected if in the standard place.
+- When linking with --with-python, there are a few warnings that
+ can be ignored.
+- You must either create a new catalog database or upgrade your
+ old database. After installation, run from your scripts
+ directory:
+
+ ./upgrade_bacula_tables
+
+ You can also find this script in the <bacula-source>/src/cats
+ directory.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- You must add --with-openssl to the configure command line if
+ you want TLS communications encryption support.
+- Disk seeking during restores does not yet work correctly in
+ all cases, so it is turned off.
+- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
+ AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
+ generates bad code that causes Bacula to segment fault.
+ Typically you will see this in the Storage daemon first. The
+ solution is to compile Bacula ensuring that no optimization is
+ turned on (normally it is -O2).
+ This same compiler bug has been reported and confirmed with
+ gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
+ an AMD64 CPU. This for the moment, I would recommend that all
+ users of GCC 4.0.1 or greater turn off all optimization when
+ compiling.
+
+
+Other Items Fixed:
+- Security fixes for temp files created in mtx-changer, during
+ ./configure, and during making of Rescue disk.
+- A new script, dvd-handler, in the scripts directory,
+ which is designed to be used as parameters to Write Part Command and
+ Free Space Command. They need the dvd+rw-tools to be installed
+ (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
+ program must be patched using the
+ <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
+ You must have Python installed to run the scripts.
+- Part files support: File volumes can now be split into multiple
+ files, called 'parts'.
+- For the details of the Python scripting support, please see the new
+ Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+ by rpms is bacula/bacula, thus you may need to add additional permissions
+ to your database, or modify the permissions of the tape drive. If
+ all else fails, change to using user=root. However, it is more secure
+ to use user=bacula.
--- /dev/null
+
+ Release Notes for Bacula 1.38.4
+
+ Bacula code: Total files = 424 Total lines = 140,955 (*.h *.c *.in)
+ 20,440 additional lines of code since version 1.36.3
+
+Changes to 1.38.4 BETA:
+09Jan06
+- Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+- Back port a bit of 1.39 crypto code to reduce diffs.
+- Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+- Add PoolId to Job record when updating it at job start time.
+- Pull in more code from 1.39 so that there are fewer file
+ differences (the new ua_dotcmds.c, base64.h, crypto.h
+ hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
+ util.c. Aside from ua_dotcmds.c these are mostly crypto
+ upgrades.
+- Implement new method of walking the jcr chain. The
+ incr/dec of the use_count is done within the walking
+ routines. This should prevent a jcr from being freed
+ from under the walk routines.
+
+
+Changes to 1.38.3 released 05Jan06:
+- This is mainly a bug release fix. In addition, the multiple drive
+ reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+ mounted and the mount messages has been modified.
+ (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when "autochanger drives" is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+- 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.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
+- Critical: allow restore of the first file of non-portable Win32 backup.
+- Important: with muliple concurrent jobs the autochanger could get
+ confused because of a missing mutex.
+- Fix accessing last slot in label and update slots.
+- Modify configure.in to add execute option to sqlite3 catalog
+ scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+ autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+ by user. Fixes bug #456.
+- AMD64 users see compiler bug warning below!!!!!!!!!
+
+Major Changes in 1.38:
+- Fixed out of order Volumes in restore.
+- Improved algorithm for reserving drives in multiple drive
+ autochangers. Autochange users MUST use the new Autochanger
+ resource in the Storage daemon.
+- There is a new database format that is not compatible
+ with previous databases. You must upgrade if converting
+ from 1.36.x. No changes from version 1.37.30.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- Support for ANSI/IBM labels.
+- Faster database inserts due to combining the MD5/SHA1 into
+ the attributes record, eliminating one INSERT/file backed up.
+- Python Event support has been added. See below for
+ configuration and details. The implementation is somewhat minimal,
+ so the functionality is not complete. The Python interface
+ has not been extensively tested, so please consider it BETA.
+- DVD writing support, using parts, and some new directives in
+ the Device resource of the Storage configuration file thanks
+ to Nicolas Boichat. Please note that this code is still
+ BETA and should be carefully tested before using in
+ production.
+- Seven new options keywords in a FileSet resource:
+ ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
+ and regexfile thanks to Pruben Guldberg). See below for details.
+- Restore of all files for a Job or set of jobs even if the file
+ records have been removed from the catalog.
+- Restore of a directory (non-recursive, i.e. only one level).
+- Support for TLS (ssl) between all the daemon connections thanks
+ to Landon Fuller.
+- Any Volume in the Pool named Scratch may be reassigned to any
+ other Pool when a new Volume is needed.
+- You may clone a Job and thus write (almost) the same data
+ to multiple Volumes simultaneously (see below). Actually,
+ any Job may start any other Job with this mechanism, so it
+ also be used to group jobs.
+- Unicode filename support for Win32 (thanks to Thorsten Engel)
+- Volume Shadow Copy support for Win32 thus the capability to
+ backup exclusively opened files (thanks to Thorsten Engel).
+ A VSS enabled Win32 FD is available. You must explicitly
+ turn on VSS with "Enable VSS = yes" in your FileSet resource.
+- New manual format with an index (thanks to Karl Cunningham).
+- New Web site format (thanks to Michael Scherer).
+- SQLite3 support.
+- Web-bacula, previously a separate project by Juan Luis Frances,
+ is now included in the Bacula GUI release. This is a management
+ level tool for reporting the state of Bacula jobs.
+- The code is now Internationalized so that it can be localized
+ in native languages. Thanks to Nicolas Boichat.
+
+New Directives:
+- New Job directive "Prefer Mounted Volumes = yes|no" causes the
+ SD to select either an Autochanger or a drive with a valid
+ Volume already mounted in preference. If none is available,
+ it will select the first available drive.
+- New Run directive in Job resource of DIR. It permits
+ cloning of jobs. To clone a copy of the current job, use
+ Run = "job-name level=%l since=\"%s\""
+ Note, job-name is normally the same name as the job that
+ is running but there is no restriction on what you put. If you
+ want to start the job by hand and use job overrides such as
+ storage=xxx, realize that the job will be started with the
+ default storage values not the overrides. The level=%l guarantees
+ that the chosen level of the job is the same, and the since=...
+ ensures that the job uses *exactly* the same time/date for incremental
+ and differential jobs. The since=... is ignored when level=Full.
+ A cloned job will not start additional clones, so it is not possible
+ to recurse.
+- New Options keywords in a FileSet directive (backported to 1.36.3):
+ - WildDir xxx
+ Will do a wild card match against directories (files will not
+ be matched).
+ - WildFile xxx
+ Will do a wild card match against files (directories will not
+ be matched).
+ - RegexDir xxx
+ Will do a regular expression match against directories (files
+ will not be matched).
+ - RegexFile xxx
+ Will do a regular expression match against files( directories
+ will not be matched).
+ - IgnoreCase = yes | no
+ Will ignore case in wild card and regular expression matches.
+ This is handy for Windows where filename case is not significant.
+ - FsType = string
+ where string is a filesystem type: ext2, jfs, ntfs, proc,
+ reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
+ systems, use ext2. You may have multiple fstype directives
+ and thus permit multiple filesystem types. If the type
+ specified on the fstype directive does not match the
+ filesystem for a particular directive, that directory will
+ not be backed up. This directive can be used to prevent
+ backing up non-local filesystems.
+ - HFS Plus Support = yes | no
+ If set, Mac OS X resource forks will be saved and restored.
+- Label Type = ANSI | IBM | Bacula
+ Implemented in Director Pool resource and in SD Device resource.
+ If it is specified in the SD Device resource, it will take
+ precedence over the value passed from the Director to the SD.
+- Check Labels = yes | no
+ Implemented in the SD Device resource. If you intend to read
+ ANSI or IBM labels, this *must* be set. Even if the volume
+ is not ANSI labeled, you can set this to yes, and Bacula will
+ check the label type.
+- Scripts Directory = <directory> name. Defines the directory from
+ which Bacula scripts will be called for events. In fact, Bacula
+ appends this name to the standard Python list of search directories,
+ so the script could also be in any of the Python system directories.
+- In FileSet, you can exclude backing up of hardlinks (if you have
+ a lot, it can be very expensive), by using:
+ HardLinks = no
+ in the Options section. Patch supplied by David R Bosso. Thanks.
+- MaximumPartSize = bytes (SD, Device resource)
+ Defines the maximum part size.
+- Requires Mount = Yes/No (SD, Device resource)
+ Defines if the device require to be mounted to be read, and if it
+ must be written in a special way. If it set, the following directives
+ must be defined in the same Device resource:
+ + Mount Point = directory
+ Directory where the device must be mounted.
+ + Mount Command = name-string
+ Command that must be executed to mount the device. Before the command
+ is executed, %a is replaced with the Archive Device, and %m with the
+ Mount Point.
+ + Unmount Command = name-string
+ Command that must be executed to unmount the device. Before the
+ command is executed, %a is replaced with the Archive Device, and
+ %m with the Mount Point.
+ + Write Part Command = name-string
+ Command that must be executed to write a part to the device. Before
+ the command is executed, %a is replaced with the Archive Device, %m
+ with the Mount Point, %n with the current part number (0-based),
+ and %v with the current part filename.
+ + Free Space Command = name-string
+ Command that must be executed to check how much free space is left
+ on the device. Before the command is executed, %a is replaced with
+ the Archive Device, %m with the Mount Point, %n with the current part
+ number (0-based), and %v with the current part filename.
+- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
+ If this directive is set to yes (default no), a new part file will be
+ created after the job is finished.
+- A pile of new Directives to support TLS. Please see the TLS chapter
+ of the manual.
+
+New Commands:
+- "python restart" restarts the Python interpreter. Rather brutal, make
+ sure no Python scripts are running. This permits you to change
+ a Python script and get Bacula to use the new script.
+
+New configure options:
+- --with-libintl-prefix for defining alternate locations for
+ the NLS internationalization libraries. Not normally required.
+- --datadir for defining where the language files will be installed
+ required only if you do not want the default /usr/share.
+
+Items to note!!!
+- The Storage daemon now keeps track of what tapes it is using
+ (was not the case in 1.36.x). This means that you must be much
+ more careful when removing tapes and putting up a new one. In
+ general, you should always do a "unmount" prior to removing a
+ tape, and a "mount" after putting a new one into the drive.
+- If you use an Autochanger, you MUST update your SD conf file
+ to use the new Autochanger resource. Otherwise, certain commands
+ such as "update slots" may not work.
+- You must add --with-python=[DIR] to the configure command line
+ if you want Python support. Python 2.2, 2.3 and 2.4 should be
+ automatically detected if in the standard place.
+- When linking with --with-python, there are a few warnings that
+ can be ignored.
+- You must either create a new catalog database or upgrade your
+ old database. After installation, run from your scripts
+ directory:
+
+ ./upgrade_bacula_tables
+
+ You can also find this script in the <bacula-source>/src/cats
+ directory.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- You must add --with-openssl to the configure command line if
+ you want TLS communications encryption support.
+- Disk seeking during restores does not yet work correctly in
+ all cases, so it is turned off.
+- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
+ AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
+ generates bad code that causes Bacula to segment fault.
+ Typically you will see this in the Storage daemon first. The
+ solution is to compile Bacula ensuring that no optimization is
+ turned on (normally it is -O2).
+ This same compiler bug has been reported and confirmed with
+ gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
+ an AMD64 CPU. This for the moment, I would recommend that all
+ users of GCC 4.0.1 or greater turn off all optimization when
+ compiling.
+
+
+Other Items:
+- Security fixes for temp files created in mtx-changer, during
+ ./configure, and during making of Rescue disk.
+- A new script, dvd-handler, in the scripts directory,
+ which is designed to be used as parameters to Write Part Command and
+ Free Space Command. They need the dvd+rw-tools to be installed
+ (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
+ program must be patched using the
+ <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
+ You must have Python installed to run the scripts.
+- Part files support: File volumes can now be split into multiple
+ files, called "parts".
+- For the details of the Python scripting support, please see the new
+ Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+ by rpms is bacula/bacula, thus you may need to add additional permissions
+ to your database, or modify the permissions of the tape drive. If
+ all else fails, change to using user=root. However, it is more secure
+ to use user=bacula.
--- /dev/null
+
+ Release Notes for Bacula 1.38.9
+
+ Bacula code: Total files = 419 Total lines = 137,078 (*.h *.c *.in)
+ 20,440 additional lines of code since version 1.36.3
+
+Warning for version 1.38.8 and greater:
+- The Windows FD no longer automatically folds the case
+ in wild-card comparions. To get the same behavior as before,
+ you must explicitly use "Ignore Case = yes" in your FileSet.
+- Backslashes are no longer permitted in File directives
+ (typical error for Windows users), unless the string is
+ enclosed in double quotes, in which case, the backslashes
+ must be doubled.
+- The new algorithm for selecting Volumes from the Scratch
+ pool that was implemented in 1.38.6 and 1.38.7 is abandoned
+ in favor of a corrected version of the 1.38.5 algorithm.
+
+New features for 1.38.9:
+- A "Dir Status" button in the Gnome console.
+
+Fixes:
+This is mainly a bug fix release containing a collection of
+ minor fixes for 1.38.8.
+- Added code to strip backslashes from Windows filenames during
+ a restore.
+- Corrected Win32 License to use the correct LICENSE file.
+- Corrected the buffer count and bytes reported in the heap
+ statistics.
+- Fix a number of incorrect strings marked for translation, when
+ they should not be (e.g. commands).
+- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+ Patches supplied by user in bugs #608 and #599.
+- Use most recent of st_ctime and st_mtime in restore tree DIR
+ listing. This fixes some problems with Win32 printing incorrect
+ values.
+- Correct the clock shift comm time calculation between the DIR
+ and the FD. It was added rather than subtracted.
+- Strip all backslashes in filenames to be restored on Win32
+ machines -- the names should all be in Unix format, and if
+ there are any backslashes it is most likely due to an improper
+ FileSet definition, and the files will not otherwise be
+ restorable.
+- Delete src/win32/License.txt
+- Modify installer to install LICENSE
+- Add back ua_label barcode fix from Rufolf Cejka.
+- Add 'Dir Status' button to the gnome console.
+- Display heap stats in Storage daemon without debug level.
+- Implement using pg_config for finding PostgreSQL files.
+ Fixes bug #600. Patch supplied by user.
+- Remove -t option from mktemp in mtx_changer.in and use
+ working directory. Fixes bug #578.
+- Update job start time after the any run before job so that
+ files created by the script are only backed up once. Fixes
+ bug #599.
+- Strip trailing newline only from filenames entered in
+ the restore command when reading a file. This permits
+ the user to enter filenames with trailing spaces. Fixes
+ bug #549. The user supplied a patch that I modified slightly.
+- Use the most recent time (st_mtime, st_ctime) in the dir
+ command in restore. This gives the user a better idea of what
+ the newest file really is. This fixes bug #574. The fix
+ was suggested by the user.
+- Remove the -f option from the chown in Makefile.in for more
+ portability.
+- Change setting the group in Makefile.in to use chgrp for
+ more portability.
+- Implement a Bacula read/write lock for Python rather
+ than using the Python lock to avoid recursive problems.
+- Correct the uninstall directory names in filed/Makefile.in
+ as reported by a user.
+
+!!!! Important !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ In Bacula version 1.38.5 and prior, there was apparently a
+ compiler bug that caused the Storage daemon to seg fault.
+ I have applied a workaround in version 1.38.6 and greater that
+ seems to work. If you experience problems, follow the instructions
+ below.
+
+ If you are compiling for a 64 bit machine, you need to ensure
+ that the code is compiled with the -O0 (- oh zero) option otherwise
+ the SD will crash on most all operations -- apparently due to
+ a compiler bug in gcc's 64 bit code generation.
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+New features for 1.38.8:
+- Regex, RegexFile, and RegexDir are now implemented in the
+ Win32 FD. However, this is new experimental code that is
+ largely untested. It may not work, it may cause memory
+ leaks, or it may even crash the FD. Please test carefully
+ before using.
+- On Linux/Unix systems there are two new programs, bregex
+ and bwild that allow you to test regular expressions and
+ wild-cards. These programs are installed with the other
+ binaries. They are not available on Win32 systems.
+
+Fixes:
+- See below.
+
+New Features from pre-1.38.8 releases:
+- For autochanger get Scratch tape if in autochanger if
+ no appendable Volumes are available.
+- New virtual disk autochanger. See scripts/disk-changer for
+ documentation.
+- New optional Device resource directive in SD. 'Device Type =',
+ which may have types: File, DVD, Tape, or FIFO. This can
+ be useful for writing DVDs on FreeBSD where Bacula cannot
+ correctly detect the DVD.
+- Faster restore tree building and uses less memory.
+- The command line keyword job (or jobname) now refers to the
+ name of the job specified in the Job resource; jobid refers
+ as before to the non-unique numeric jobid; and ujobid refers
+ to the unique job identification that Bacula creates for each
+ job.
+- The job report for Backups has a few more user friendly ways
+ of displaying the information.
+- The wait command can now be made to wait for jobids.
+- New command line keywords are permitted in update volume. They
+ are Inchanger=yes/no, slot=nn.
+- Add two new console commands: enable job=<job-name> and
+ disable job=<job-name>. When a job is disabled, it will not
+ be started by the scheduler. If you disable a job and restart
+ Bacula or reload the .conf file, the job will be re-enabled.
+- Add a new Job resource directive "enable = yes|no".
+- There is a new program named regex in the tools directory that
+ allows you to try regular expressions on your system.
+
+Major bug fixes:
+- Fix race condition in multiple-drive autochangers where
+ both drives want the same Volume.
+- Do not allow opening default catalog for restricted console
+ if it is not in ACL.
+- Writable FIFOs now work for restore.
+- ACLs are now checked in all dot commands.
+- Multiple drive autochangers and multiple different autochangers
+ should now work correctly (no race conditions for Volume names,
+ update slots use correct StorageId).
+- Fix bug where drive was always reserved if a restore job failed
+ while in the reservation process.
+
+
+Minor bug fixes:
+- See below:
+
+Release 1.38.8 (14Apr06)
+14Apr06
+- Correct Makefile for Solaris /bin/sh
+- Correct mtx-changer.in for Solaris /bin/sh
+- Abort if a conf resource does not have a Name =
+12Apr06
+- Change the name of the regex program to bregex.
+- Add the bwild program to the tools directory. It is similar
+ to the bregex program.
+- Implement create bregex.h and bregex.c in src/lib from the
+ Python regexp program.
+- Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+- Modify Makefile to change the permissions on Working Directory
+ to 770 if the directory is created.
+- Do not fail the Makefile if changing the permissions or
+ owner/group on WorkingDir fails.
+- Correct the old recycling algorithm so that Scratch Volumes
+ are selected when looking for a Volume in the changer.
+- Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+- Remove automatic case folding on Windows FDs. You must
+ explictly use the 'Ignore Case = yes' option.
+- Remove the code added to 1.38.6 and 1.38.7 that pulls a
+ scratch volume in an Autochanger early in the 'recycling'
+ algorithm.
+08Apr06
+- Tweak license to include Microsoft restrictions.
+- Move mysql.reconnect to after real_connect(). Thanks to
+ Frank Sweetser for the patch.
+- Disallow a backslash in a File = directive (Windows junk)
+ unless the string is quoted.
+- Apply Eric's patch to ua_label.c so that daemon protocol
+ is not translated.
+
+Release 1.38.7 (06Apr06) released 07Apr06
+06Apr06
+- Remove timed wait for VSS on Win2K3 as it is not yet
+ implemented.
+- Correct bacula.in script to reference bacula-ctl-xx in the
+ sysconfig directory rather than the bin directory.
+
+Release 1.38.6 (28Mar06) released 29Mar06
+28Mar06
+- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
+ and new jcr chain locking.
+26Mar06
+- Fix a long standing bug in the bacula start/stop scripts.
+- Attempt to add the new bacula-ctl-* files to the rpm.
+- Switch to using typeof() for list traversing to avoid
+ as many FC5 g++ compiler warnings as possible.
+25Mar06
+- 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
+- Create datestyle fix for PostgreSQL. Fixes bug #574.
+- Correct editing of JobId from int to int64 in fd_cmds.c
+- Eliminate FileSet name race with bash_spaces() and multiple
+ threads by bashing in a local.
+- Fix error return from 'use storage' to print a correct error
+ message rather than nothing.
+- Correct false re-read last block error message when two jobs
+ are simultaneously writing at the end of a tape.
+- Simplify exit conditions in the reserve.c code to avoid
+ possible non-release of reservation_lock().
+- Suffle lock order in reserve to avoid deadlock between
+ reservation lock and device mutex.
+- Add Thorsten's VSS timeout code to 1.38 branch.
+- Initialize jcr mutex before first use. Thanks to Thorsten for
+ tracking this down for me !!!! as it broke the Win32 build.
+- Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+- Implement regex test program in tools directory.
+- Attempt to fix time problem with bsmtp with foreign langs.
+- Add strip_trailing_newline() submitted by user.
+
+Release 1.38.6 beta6 16Mar06
+- Fix bug #537 to allow arbitrary time to mount a volume for
+ restore, if polling is turned on.
+- Disallow multiple storage specifications for a job. Should fix Arno's
+ problem.
+- Add back a missing store of poolid in jr.poolid.
+- If dir_user or dir-group is specified in ./configure apply it to
+ the working-dir. Fixes bug #533.
+- If rescheduling a job cancel the previous incarnation with the SD.
+ Fixes bugs #566 and 557.
+- Fix bug #567 do_message() definition type conflict.
+
+Release 1.38.6 beta5 14Mar06
+- Add more jcr methods and make mutex and use_count private.
+- Create lock/unlock methods for jcr.
+- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+ records to get to seek position.
+- Integrate patch from bug #561 to correct conio.c signal definitions.
+- Fix Rescheduling failed Jobs. Ensure that SD message thread
+ terminates correctly by doing pthread_kill(). Do not destroy
+ SD cond wait variable between executions of the job. Use local
+ mutex for cond variable to avoid blocking jcr chain. Fix poor
+ use of jcr use count in jobq.c for restarted jobs.
+- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+ lib/jcr.c -- prevents locking the jcr chaing.
+- Apply patch from bug #564, which corrects listing volumes with
+ multiple autochangers. Apply same fix to next volume list.
+- Fix bug #562 where restore bootstrap file is not unique.
+- Use new routine lock_reservations() to lock the reservations
+ system, and call it while looking for a volume in askdir.c.
+ This could possibly fix bug #543.
+- Stop SD command loop if job is canceled.
+
+Release 1.38.6 beta3 4Mar06
+04Mar06
+- The po files should now be current.
+- Fix new sql_use_result() code to properly release the
+ buffers in all cases.
+- Convert to using new Python class definitons with (object).
+- 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 listing by any of the above.
+- Add the user friendly job report code for reporting job elapsed time
+ and rates with suffexes.
+- Add Priority and JobLevel as Python settable items.
+- Use TEMPORARY table creation where the table is created by
+ Bacula.
+- Add new code submitted by Eric for waiting on specific jobid.
+- Add ACL checking for the dot commands.
+- Fix restore of writable FIFOs.
+- Fix a bug in bpipe where the string was freed too early.
+
+26Feb06
+- Fix bug reported by Arno listing blocks with bls
+- Update the po files at Eric's request.
+
+Release 1.38.6-beta2 25Feb06
+25Feb06
+- Add sql_use_result() define.
+
+Changes to 1.38.6-beta1
+- Don't open default catalog if not in ACL.
+- Add virtual disk autochanger code.
+- Add user supplied bug fix to make two autochangers work
+ correctly using StorageId with InChanger checks.
+- Correct new/old_jcr confusion in copy_storage().
+- Remove & from Job during scan in msgchan.c -- probably
+ trashed the stack.
+- When getting the next Volume if no Volume in Append mode
+ exists and we are dealing with an Autochanger, search
+ for a Scratch Volume.
+- Check for missing value in dot commands -- bug fix.
+- Fix bug in update barcodes command line scanning.
+- Make sure Pool Max Vols is respected.
+- Check that user supplied a value before referencing
+ it in restore -- pointed out by Karl Hakimian.
+- Add Karl Hakimian's table insert code.
+- Don't ask user to select a specific Volume when
+ updating all volumes in a Pool.
+- Remove reservation if set for read when removing dcr.
+- Lock code that requests next appendable volume so that
+ two jobs to get the same Volume at the same time.
+- Add new Device Type = xxx code. Values are file, tape,
+ dvd, and fifo.
+- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
+ a re-open to change read/write permission on a device.
+- Correct a misplaced double quote in certain autochanger
+ scripts.
+- Make make_catalog_backup.in a bit more portable.
+- Implement Karl Hakimian's sql_use_result(), which speeds
+ up restore tree building and reduces the memory load.
+- Correct a number of minor bugs in getting a Volume from
+ the Scratch Pool.
+- Implement additional command line options for update Volume.
+- Don't require user to enter a Volume name when updating
+ all Volumes in a pool.
+
+Release 1.38.5 released 19Jan06:
+- Apply label barcodes fix supplied by Rudolf Cejka.
+- Modify standard rpm installation to set SD group to disk
+ so that SD will by default have access to tape drives.
+- Allow users to specify user/group and start options
+ for each daemon in /etc/sysconf/bacula file.
+
+Changes to 1.38.4 released 17Jan06:
+- The main changes are to the Director and the Storage daemon,
+ thus there is no need to update your File daemons. Just the
+ same, I do recommend running with the release 1.38.3 Win32
+ FD or later.
+- 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, ...).
+- Add periodic (every 24 hours) garbage collection of memory
+ pool by releasing free buffers.
+- Correct bug counting sized (for display only) in smartall.c
+- Print FD mempool stats if debug > 0 rather than 5.
+- Correct bug in alist.c that re-allocated the list if the
+ number of items goes to zero.
+- Move the reservation system thread locking to the top level
+ so that one job at a time tries all possible drives before
+ waiting.
+- Implement a reservation 'fail' message queue that is built
+ and destroyed on each pass through the reservation system.
+ These messages are displayed in a 'Jobs waiting to reserve
+ a drive' list during a 'status storage='. Note, multiple
+ messages will generally print for each JobId because they
+ represent the different problems with either the same drive
+ or different drives. If this output proves too confusing
+ of voluminous, I will display it only when debug level 1
+ or greater is enabled in the SD.
+- 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.
+- During 'update slots' clear all InChanger flags where the
+ StorageId is zero (old Media records).
+- Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+- Back port a bit of 1.39 crypto code to reduce diffs.
+- Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+- Add PoolId to Job record when updating it at job start time.
+- Pull in more code from 1.39 so that there are fewer file
+ differences (the new ua_dotcmds.c, base64.h, crypto.h
+ hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
+ util.c. Aside from ua_dotcmds.c these are mostly crypto
+ upgrades.
+- Implement new method of walking the jcr chain. The
+ incr/dec of the use_count is done within the walking
+ routines. This should prevent a jcr from being freed
+ from under the walk routines.
+
+
+Changes to 1.38.3 released 05Jan06:
+- This is mainly a bug release fix. In addition, the multiple drive
+ reservation algorithm has been rewritten.
+- In addition, the method of handling waiting for tapes to be
+ mounted and the mount messages has been modified.
+ (the above two items are a potential source of problems).
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when 'autochanger drives' is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+- Implement load balancing code with multiple drive autochangers.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+- Use localhost if no network configured
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Update specs to include mysql4 define.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+- 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.
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+- Ensure that StorageId is stored in Media record when ever possible.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
+
+Changes to 1.38.2:
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1:
+- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Unmount command now unloads autochanger.
+- Fix hang in FD (Martin Simmons)
+- Fix Win98 stat() problem in FD (Thorsten Engel)
+- Fix update slots which did not clear missing tapes.
+- Fix autostart install for FreeBSD (user reported)
+- Fix several problems with PostgreSQL scripts (Eric Bollinger)
+- Critical: allow restore of the first file of non-portable Win32 backup.
+- Important: with muliple concurrent jobs the autochanger could get
+ confused because of a missing mutex.
+- Fix accessing last slot in label and update slots.
+- Modify configure.in to add execute option to sqlite3 catalog
+ scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+ autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+ by user. Fixes bug #456.
+- AMD64 users see compiler bug warning below!!!!!!!!!
+
+Major Changes in 1.38:
+- Fixed out of order Volumes in restore.
+- Improved algorithm for reserving drives in multiple drive
+ autochangers. Autochange users MUST use the new Autochanger
+ resource in the Storage daemon.
+- There is a new database format that is not compatible
+ with previous databases. You must upgrade if converting
+ from 1.36.x. No changes from version 1.37.30.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- Support for ANSI/IBM labels.
+- Faster database inserts due to combining the MD5/SHA1 into
+ the attributes record, eliminating one INSERT/file backed up.
+- Python Event support has been added. See below for
+ configuration and details. The implementation is somewhat minimal,
+ so the functionality is not complete. The Python interface
+ has not been extensively tested, so please consider it BETA.
+- DVD writing support, using parts, and some new directives in
+ the Device resource of the Storage configuration file thanks
+ to Nicolas Boichat. Please note that this code is still
+ BETA and should be carefully tested before using in
+ production.
+- Seven new options keywords in a FileSet resource:
+ ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
+ and regexfile thanks to Pruben Guldberg). See below for details.
+- Restore of all files for a Job or set of jobs even if the file
+ records have been removed from the catalog.
+- Restore of a directory (non-recursive, i.e. only one level).
+- Support for TLS (ssl) between all the daemon connections thanks
+ to Landon Fuller.
+- Any Volume in the Pool named Scratch may be reassigned to any
+ other Pool when a new Volume is needed.
+- You may clone a Job and thus write (almost) the same data
+ to multiple Volumes simultaneously (see below). Actually,
+ any Job may start any other Job with this mechanism, so it
+ also be used to group jobs.
+- Unicode filename support for Win32 (thanks to Thorsten Engel)
+- Volume Shadow Copy support for Win32 thus the capability to
+ backup exclusively opened files (thanks to Thorsten Engel).
+ A VSS enabled Win32 FD is available. You must explicitly
+ turn on VSS with 'Enable VSS = yes' in your FileSet resource.
+- New manual format with an index (thanks to Karl Cunningham).
+- New Web site format (thanks to Michael Scherer).
+- SQLite3 support.
+- Web-bacula, previously a separate project by Juan Luis Frances,
+ is now included in the Bacula GUI release. This is a management
+ level tool for reporting the state of Bacula jobs.
+- The code is now Internationalized so that it can be localized
+ in native languages. Thanks to Nicolas Boichat.
+
+New Directives:
+- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
+ SD to select either an Autochanger or a drive with a valid
+ Volume already mounted in preference. If none is available,
+ it will select the first available drive.
+- New Run directive in Job resource of DIR. It permits
+ cloning of jobs. To clone a copy of the current job, use
+ Run = 'job-name level=%l since=\'%s\''
+ Note, job-name is normally the same name as the job that
+ is running but there is no restriction on what you put. If you
+ want to start the job by hand and use job overrides such as
+ storage=xxx, realize that the job will be started with the
+ default storage values not the overrides. The level=%l guarantees
+ that the chosen level of the job is the same, and the since=...
+ ensures that the job uses *exactly* the same time/date for incremental
+ and differential jobs. The since=... is ignored when level=Full.
+ A cloned job will not start additional clones, so it is not possible
+ to recurse.
+- New Options keywords in a FileSet directive (backported to 1.36.3):
+ - WildDir xxx
+ Will do a wild card match against directories (files will not
+ be matched).
+ - WildFile xxx
+ Will do a wild card match against files (directories will not
+ be matched).
+ - RegexDir xxx
+ Will do a regular expression match against directories (files
+ will not be matched).
+ - RegexFile xxx
+ Will do a regular expression match against files( directories
+ will not be matched).
+ - IgnoreCase = yes | no
+ Will ignore case in wild card and regular expression matches.
+ This is handy for Windows where filename case is not significant.
+ - FsType = string
+ where string is a filesystem type: ext2, jfs, ntfs, proc,
+ reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
+ systems, use ext2. You may have multiple fstype directives
+ and thus permit multiple filesystem types. If the type
+ specified on the fstype directive does not match the
+ filesystem for a particular directive, that directory will
+ not be backed up. This directive can be used to prevent
+ backing up non-local filesystems.
+ - HFS Plus Support = yes | no
+ If set, Mac OS X resource forks will be saved and restored.
+- Label Type = ANSI | IBM | Bacula
+ Implemented in Director Pool resource and in SD Device resource.
+ If it is specified in the SD Device resource, it will take
+ precedence over the value passed from the Director to the SD.
+- Check Labels = yes | no
+ Implemented in the SD Device resource. If you intend to read
+ ANSI or IBM labels, this *must* be set. Even if the volume
+ is not ANSI labeled, you can set this to yes, and Bacula will
+ check the label type.
+- Scripts Directory = <directory> name. Defines the directory from
+ which Bacula scripts will be called for events. In fact, Bacula
+ appends this name to the standard Python list of search directories,
+ so the script could also be in any of the Python system directories.
+- In FileSet, you can exclude backing up of hardlinks (if you have
+ a lot, it can be very expensive), by using:
+ HardLinks = no
+ in the Options section. Patch supplied by David R Bosso. Thanks.
+- MaximumPartSize = bytes (SD, Device resource)
+ Defines the maximum part size.
+- Requires Mount = Yes/No (SD, Device resource)
+ Defines if the device require to be mounted to be read, and if it
+ must be written in a special way. If it set, the following directives
+ must be defined in the same Device resource:
+ + Mount Point = directory
+ Directory where the device must be mounted.
+ + Mount Command = name-string
+ Command that must be executed to mount the device. Before the command
+ is executed, %a is replaced with the Archive Device, and %m with the
+ Mount Point.
+ + Unmount Command = name-string
+ Command that must be executed to unmount the device. Before the
+ command is executed, %a is replaced with the Archive Device, and
+ %m with the Mount Point.
+ + Write Part Command = name-string
+ Command that must be executed to write a part to the device. Before
+ the command is executed, %a is replaced with the Archive Device, %m
+ with the Mount Point, %n with the current part number (0-based),
+ and %v with the current part filename.
+ + Free Space Command = name-string
+ Command that must be executed to check how much free space is left
+ on the device. Before the command is executed, %a is replaced with
+ the Archive Device, %m with the Mount Point, %n with the current part
+ number (0-based), and %v with the current part filename.
+- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
+ If this directive is set to yes (default no), a new part file will be
+ created after the job is finished.
+- A pile of new Directives to support TLS. Please see the TLS chapter
+ of the manual.
+
+New Commands:
+- 'python restart' restarts the Python interpreter. Rather brutal, make
+ sure no Python scripts are running. This permits you to change
+ a Python script and get Bacula to use the new script.
+
+New configure options:
+- --with-libintl-prefix for defining alternate locations for
+ the NLS internationalization libraries. Not normally required.
+- --datadir for defining where the language files will be installed
+ required only if you do not want the default /usr/share.
+
+Items to note!!!
+- The Storage daemon now keeps track of what tapes it is using
+ (was not the case in 1.36.x). This means that you must be much
+ more careful when removing tapes and putting up a new one. In
+ general, you should always do a 'unmount' prior to removing a
+ tape, and a 'mount' after putting a new one into the drive.
+- If you use an Autochanger, you MUST update your SD conf file
+ to use the new Autochanger resource. Otherwise, certain commands
+ such as 'update slots' may not work.
+- You must add --with-python=[DIR] to the configure command line
+ if you want Python support. Python 2.2, 2.3 and 2.4 should be
+ automatically detected if in the standard place.
+- When linking with --with-python, there are a few warnings that
+ can be ignored.
+- You must either create a new catalog database or upgrade your
+ old database. After installation, run from your scripts
+ directory:
+
+ ./upgrade_bacula_tables
+
+ You can also find this script in the <bacula-source>/src/cats
+ directory.
+- The Director, Storage daemon, and File daemons are
+ Deamons are not compatible with prior versions.
+ All FDs must be upgraded at the same time.
+- You must add --with-openssl to the configure command line if
+ you want TLS communications encryption support.
+- Disk seeking during restores does not yet work correctly in
+ all cases, so it is turned off.
+- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
+ AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
+ generates bad code that causes Bacula to segment fault.
+ Typically you will see this in the Storage daemon first. The
+ solution is to compile Bacula ensuring that no optimization is
+ turned on (normally it is -O2).
+ This same compiler bug has been reported and confirmed with
+ gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
+ an AMD64 CPU. This for the moment, I would recommend that all
+ users of GCC 4.0.1 or greater turn off all optimization when
+ compiling.
+
+
+Other Items Fixed:
+- Security fixes for temp files created in mtx-changer, during
+ ./configure, and during making of Rescue disk.
+- A new script, dvd-handler, in the scripts directory,
+ which is designed to be used as parameters to Write Part Command and
+ Free Space Command. They need the dvd+rw-tools to be installed
+ (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
+ program must be patched using the
+ <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
+ You must have Python installed to run the scripts.
+- Part files support: File volumes can now be split into multiple
+ files, called 'parts'.
+- For the details of the Python scripting support, please see the new
+ Python Scripting chapter in the manual.
+- The default user/group for the Director and Storage daemon installed
+ by rpms is bacula/bacula, thus you may need to add additional permissions
+ to your database, or modify the permissions of the tape drive. If
+ all else fails, change to using user=root. However, it is more secure
+ to use user=bacula.
--- /dev/null
+ Technical notes on version 1.38
+ Kern Sibbald
+
+General:
+Release 1.38.11 (28Jun06) released 28JunO6
+28Jun06
+- Add test for IRIX64 as OS
+- Fix scheduler hang during clock shift (due to missing unlock())
+- Minor tweaks to bregex.c
+- Fix to block.c to correctly check for DVD number of parts.
+- Fix to dev.c to permit DVD seeking in spool file. Corrects
+ label rewriting problems.
+- Clarify license for techlogs (GPL). I consider them "part" of
+ the source code of Bacula.
+- Use FDL license for developer's manual, French translation, German
+ translation, bimagemgr manuals (same as the main manual), and
+ the web site.
+
+Release 1.38.10 (08Jun06) released 12JunO6
+08Jun06
+- Modify setting ACLs to suppress error message if the file is a
+ symbolic link since the file linked to may not yet be created,
+ and symbolic links really should not have attributes ...
+- Remove old regex code from baconfig.h
+06Jun06
+- Complete implementation of acl.c error message during restore.
+ During backups, errors getting acls are silently ignored, as was
+ previously the case.
+04Jun06
+- Modify configure.in to check for typeof().
+- Better detection of postgresql installation if pg_conf works.
+- Fix RescheduleTimes = 0 bug (should not reschedule).
+- Down port from 1.39: fixes for reload, autochanger error messages,
+ scheduler fixes for reload and day light savings change,
+01Jun06
+- Implement partial error messages for src/filed/acl.c
+- Fix return code to fail when doing update barcodes and
+ Pool resource is not found. This previously caused Volumes
+ to be labeled as cleaning tapes.
+- Small updates to projects file.
+26May06
+- Prevent DVD code from rewriting label if the device cannot be
+ opened read/write.
+- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+- Update projects file.
+24May06
+- Applied patch posted by Jaime Ventura to bug #570 to correct failure
+ of restarted jobs to complete (due to a destroyed pthreads conditional
+ variable used by the message thread).
+- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+ set to zero.
+- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+- Apply patch from Rudolf Cejka bug #614 to removed trailing
+ colons in query.sql file.
+- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+ not to create orphans.
+- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+ in restore long listing.
+- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+ of incorrect MarkedId.
+- Apply patch from adioso bug #616 to correct text in manual (replace
+ Director with File daemon).
+21May06
+- Move DIR "run" command to SD before starting the message thread
+ as suggested by Cristopher Hull to avoid a race deadlock from
+ two threads using the bsock structure.
+- Modify LICENSE to correct some problems pointed out by Debian.
+05May06
+- Correct EOF with no \n lex.c problem.
+- Add additional INFO messages if autochanger cannot be used.
+- Add Eric Bollengier's lex error handler fix, which corrects most
+ of the reload problems.
+
+Release 1.38.9 (02May06) released 02MayO6
+02May06
+- Added code to strip backslashes from Windows filenames during
+ a restore.
+- Corrected Win32 License to use the correct LICENSE file.
+- Corrected the buffer count and bytes reported in the heap
+ statistics.
+26Apr06
+- Implement an NT_() macro to indicate that text should NOT
+ be translated.
+- Fix a number of incorrect strings marked for translation, when
+ they should not be (e.g. commands).
+- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+ Patches supplied by user in bugs #608 and #599.
+- Use most recent of st_ctime and st_mtime in restore tree DIR
+ listing. This fixes some problems with Win32 printing incorrect
+ values.
+- Correct the clock shift comm time calculation between the DIR
+ and the FD. It was added rather than subtracted.
+- Strip all backslashes in filenames to be restored on Win32
+ machines -- the names should all be in Unix format, and if
+ there are any backslashes it is most likely due to an improper
+ FileSet definition, and the files will not otherwise be
+ restorable.
+- Remove lib/regex.c (replaced by bregex.c).
+- Delete src/win32/License.txt
+- Modify installer to install LICENSE
+25Apr06
+- Add back ua_label barcode fix from Rufolf Cejka.
+23Apr06
+- Add 'Dir Status' button to the gnome console.
+- Display heap stats in Storage daemon without debug level.
+22Apr06
+- Integrate most of the MinGW changes -- more to do.
+21Apr06
+- Implement using pg_config for finding PostgreSQL files.
+ Fixes bug #600. Patch supplied by user.
+- Remove -t option from mktemp in mtx_changer.in and use
+ working directory. Fixes bug #578.
+- Update job start time after the any run before job so that
+ files created by the script are only backed up once. Fixes
+ bug #599.
+- Strip trailing newline only from filenames entered in
+ the restore command when reading a file. This permits
+ the user to enter filenames with trailing spaces. Fixes
+ bug #549. The user supplied a patch that I modified slightly.
+- Use the most recent time (st_mtime, st_ctime) in the dir
+ command in restore. This gives the user a better idea of what
+ the newest file really is. This fixes bug #574. The fix
+ was suggested by the user.
+18Apr06
+- Remove the -f option from the chown in Makefile.in for more
+ portability.
+- Change setting the group in Makefile.in to use chgrp for
+ more portability.
+- Implement a Bacula read/write lock for Python rather
+ than using the Python lock to avoid recursive problems.
+- Correct the uninstall directory names in filed/Makefile.in
+ as reported by a user.
+
+Release 1.38.8 (14Apr06) released 14Apr06
+15Apr06
+- Correct Makefile bug found by Dan Langille.
+14Apr06
+- Correct Makefile for Solaris /bin/sh
+- Correct mtx-changer.in for Solaris /bin/sh
+- Abort if a conf resource does not have a Name =
+12Apr06
+- Change the name of the regex program to bregex.
+- Add the bwild program to the tools directory. It is similar
+ to the bregex program.
+- Implement create bregex.h and bregex.c in src/lib from the
+ Python regexp program.
+- Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+- Modify Makefile to change the permissions on Working Directory
+ to 770 if the directory is created.
+- Do not fail the Makefile if changing the permissions or
+ owner/group on WorkingDir fails.
+- Correct the old recycling algorithm so that Scratch Volumes
+ are selected when looking for a Volume in the changer.
+- Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+- Remove automatic case folding on Windows FDs. You must
+ explictly use the 'Ignore Case = yes' option.
+- Remove the code added to 1.38.6 and 1.38.7 that pulls a
+ scratch volume in an Autochanger early in the 'recycling'
+ algorithm.
+08Apr06
+- Tweak license to include Microsoft restrictions.
+- Move mysql.reconnect to after real_connect(). Thanks to
+ Frank Sweetser for the patch.
+- Disallow a backslash in a File = directive (Windows junk)
+ unless the string is quoted.
+- Apply Eric's patch to ua_label.c so that daemon protocol
+ is not translated.
+
+Release 1.38.7 (06Apr06) released 07Apr06
+06Apr06
+- Remove timed wait for VSS on Win2K3 as it is not yet
+ implemented.
+- Correct bacula.in script to reference bacula-ctl-xx in the
+ sysconfig directory rather than the bin directory.
+
+Release 1.38.6 (28Mar06) released 29Mar06
+28Mar06
+- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
+ and new jcr chain locking.
+26Mar06
+- Fix a long standing bug in the bacula start/stop scripts.
+- Attempt to add the new bacula-ctl-* files to the rpm.
+- Switch to using typeof() for list traversing to avoid
+ as many FC5 g++ compiler warnings as possible.
+25Mar06
+- 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
+24Mar06
+- Create datestyle fix for PostgreSQL. Fixes bug #574.
+- Correct editing of JobId from int to int64 in fd_cmds.c
+- Eliminate FileSet name race with bash_spaces() and multiple
+ threads by bashing in a local.
+- Fix error return from 'use storage' to print a correct error
+ message rather than nothing.
+- Correct false re-read last block error message when two jobs
+ are simultaneously writing at the end of a tape.
+- Simplify exit conditions in the reserve.c code to avoid
+ possible non-release of reservation_lock().
+- Suffle lock order in reserve to avoid deadlock between
+ reservation lock and device mutex.
+- Add Thorsten's VSS timeout code to 1.38 branch.
+21Mar06
+- Initialize jcr mutex before first use. Thanks to Thorsten for
+ tracking this down for me !!!! as it broke the Win32 build.
+20Mar06
+- Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+17Mar06
+- Implement regex test program in tools directory.
+- Attempt to fix time problem with bsmtp with foreign langs.
+- Add strip_trailing_newline() submitted by user.
+
+16Mar06
+- Fix bug #537 to allow arbitrary time to mount a volume for
+ restore, if polling is turned on.
+- Disallow multiple storage specifications for a job. Should fix Arno's
+ problem.
+- Add back a missing store of poolid in jr.poolid.
+- If dir_user or dir-group is specified in ./configure apply it to
+ the working-dir. Fixes bug #533.
+- If rescheduling a job cancel the previous incarnation with the SD.
+ Fixes bugs #566 and 557.
+- Fix bug #567 do_message() definition type conflict.
+
+
+14Mar06
+- Add more jcr methods and make mutex and use_count private.
+- Create lock/unlock methods for jcr.
+- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+ records to get to seek position.
+- Integrate patch from bug #561 to correct conio.c signal definitions.
+- Fix Rescheduling failed Jobs. Ensure that SD message thread
+ terminates correctly by doing pthread_kill(). Do not destroy
+ SD cond wait variable between executions of the job. Use local
+ mutex for cond variable to avoid blocking jcr chain. Fix poor
+ use of jcr use count in jobq.c for restarted jobs.
+- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+ lib/jcr.c -- prevents locking the jcr chaing.
+- Apply patch from bug #564, which corrects listing volumes with
+ multiple autochangers. Apply same fix to next volume list.
+- Fix bug #562 where restore bootstrap file is not unique.
+- Use new routine lock_reservations() to lock the reservations
+ system, and call it while looking for a volume in askdir.c.
+ This could possibly fix bug #543.
+- Stop SD command loop if job is canceled.
+
+09Mar06
+- Use John Kodis' edit_with_suffix code to edit VolBytes.
+- Backport some fixes for acquire.c. Most importantly, to explicitly
+ have a reserved_device flag for acquire_for_read(). Hopefully
+ this will correct the remaining issues with failed restores holding
+ a drive.
+- Add a job_canceled() check in SD command loop.
+
+Release 1.38.6 beta3 4Mar06
+04Mar06
+- The po files should now be current.
+- Fix new sql_use_result() code to properly release the
+ buffers in all cases.
+- Convert to using new Python class definitons with (object).
+- 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 listing by any of the above.
+- Add the user friendly job report code for reporting job elapsed time
+ and rates with suffexes from John Kodis <kodis at comcast.net>.
+- Add Priority and JobLevel as Python settable items.
+- Use TEMPORARY table creation where the table is created by
+ Bacula.
+- Add new code submitted by Eric for waiting on specific jobid.
+- Add ACL checking for the dot commands.
+- Fix restore of writable FIFOs.
+- Fix a bug in bpipe where the string was freed too early.
+
+26Feb06
+- Fix bug reported by Arno listing blocks with bls
+- Update the po files at Eric's request.
+
+Release 1.38.6-beta2 25Feb06
+25Feb06
+- Add sql_use_result() define.
+
+Release 1.38.6 beta1 24Feb06
+24Feb06
+- Don't open default catalog if not in ACL.
+
+22Feb06
+- Add virtual disk autochanger code.
+- Add user supplied bug fix to make two autochangers work
+ correctly using StorageId with InChanger checks.
+- Correct new/old_jcr confusion in copy_storage().
+- Remove & from Job during scan in msgchan.c -- probably
+ trashed the stack.
+- When getting the next Volume if no Volume in Append mode
+ exists and we are dealing with an Autochanger, search
+ for a Scratch Volume.
+- Check for missing value in dot commands -- bug fix.
+- Fix bug in update barcodes command line scanning.
+- Make sure Pool Max Vols is respected.
+- Check that user supplied a value before referencing
+ it in restore -- pointed out by Karl Hakimian.
+- Add Karl Hakimian's table insert code.
+- Don't ask user to select a specific Volume when
+ updating all volumes in a Pool.
+- Remove reservation if set for read when removing dcr.
+- Lock code that requests next appendable volume so that
+ two jobs to get the same Volume at the same time.
+- Add new Device Type = xxx code. Values are file, tape,
+ dvd, and fifo.
+- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
+ a re-open to change read/write permission on a device.
+- Correct a misplaced double quote in certain autochanger
+ scripts.
+- Make make_catalog_backup.in a bit more portable.
+- Implement Karl Hakimian's sql_use_result(), which speeds
+ up restore tree building and reduces the memory load.
+- Correct a number of minor bugs in getting a Volume from
+ the Scratch Pool.
+- Implement additional command line options for update Volume.
+- Don't require user to enter a Volume name when updating
+ all Volumes in a pool.
+
+Release 1.38.5 released 19Jan06:
+19Jan06
+- Apply label barcodes fix supplied by Rudolf Cejka.
+18Jan06
+- Modify standard rpm installation to set SD group to disk
+ so that SD will by default have access to tape drives.
+- Allow users to specify user/group and start options
+ for each daemon in /etc/sysconf/bacula file.
+
+Release 1.38.4 released 17Jan06:
+16Jan06
+- 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, ...).
+15Jan06
+- Add periodic (every 24 hours) garbage collection of memory
+ pool by releasing free buffers.
+14Jan06
+- Correct bug counting sized (for display only) in smartall.c
+- Print FD mempool stats if debug > 0 rather than 5.
+12Jan06
+- Make db_lock() mutex error fail the job rather than abort
+ Bacula. Canceling the job caused the mutex to fail.
+- Correct bug in alist.c that re-allocated the list if the
+ number of items goes to zero.
+- Move the reservation system thread locking to the top level
+ so that one job at a time tries all possible drives before
+ waiting.
+- Implement a reservation 'fail' message queue that is built
+ and destroyed on each pass through the reservation system.
+ These messages are displayed in a 'Jobs waiting to reserve
+ a drive' list during a 'status storage='. Note, multiple
+ messages will generally print for each JobId because they
+ represent the different problems with either the same drive
+ or different drives. If this output proves too confusing
+ of voluminous, I will display it only when debug level 1
+ or greater is enabled in the SD.
+11Jan06
+- 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.
+- During 'update slots' clear all InChanger flags where the
+ StorageId is zero (old Media records).
+
+Beta release 1.38.4:
+09Jan06
+- Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+- Back port a bit of 1.39 crypto code to reduce diffs.
+- Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+07Jan06
+- Add PoolId to Job record when updating it at job start time.
+06Jan06
+- Pull in more code from 1.39 so that there are fewer file
+ differences (the new ua_dotcmds.c, base64.h, crypto.h
+ hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
+ util.c. Aside from ua_dotcmds.c these are mostly crypto
+ upgrades.
+- Implement new method of walking the jcr chain. The
+ incr/dec of the use_count is done within the walking
+ routines. This should prevent a jcr from being freed
+ from under the walk routines.
+
+Release 1.38.3 05Jan06:
+04Jan06
+- Move the suitable_drive flag to a better place to prevent
+ premature termination of the reservation if all drives
+ are busy -- should fix Arno's diff/inc pool failures.
+26Dec05
+- Add mutex to single thread VSS code in Win32.
+
+Beta release 23Dec05:
+22Dec05
+- Add OPENSSL_INC to console dependencies, lib dependencies, and
+ wx-console dependencies in Makefile.in
+- Add OPENSSL INC/LIB to gnome2_console Makefile.in.
+- Simplify code in askdir.c that waits for creating an appendable
+ volume so that it can handle multiple returns from the wait
+ code.
+- Modify the wait code to permit multiple returns.
+- Return a zero when 'autochanger drives' is called and
+ it is not an autochanger.
+- Make rewind_dev() a method taking a DCR as an argument.
+ This permits closing and reopening the drive if the
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
+ if the device is open or not. This should eliminate
+ Arnos problem.
+- Return error if reserve cannot find at least one suitable device.
+- Make wait_for_sysop() return correct state information.
+- Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+21Dec05
+- Modify gui on command to set only GUI mode and not batch.
+- Modify .messages command to always print messages regardless
+ of the mode.
+- If GUI mode is on, suppress automatic printing of
+ You have messages.
+- Delete old bnet packet code.
+- Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
+ wx-console.
+- Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+Beta release 20Dec05:
+20Dec05
+- Fix seg fault in exit of acquire when canceling a job --
+ reported by Wolfgang Denk
+19Dec05
+- Implement load balancing code.
+- Pull a few files from 1.39 where we can maintain compatibility.
+- Rewrite reservation algorithm again. Rename variables to be
+ more logical, add HEARTBEAT with Director, allow cancel of
+ jobs stuck in reservation, add last resourt any_drive.
+17Dec05
+- Remove quotes from Version table name -- it breaks things.
+- Fix seg fault if user labels a drive directly bug #513
+- Remove quotes around Version as it breaks things.
+16Dec05
+- Merge in Aleksandar Milivojevic's mods to the spec file.
+- Apply sparse code fix for raw drives and fifos. Bug 506
+- Thorsten fixed Unicode cd problem with wx-console bug 505.
+Beta release 14Dec05:
+14Dec05
+- Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+- Add quotes around table Version because of
+ error in MySQL 4.1.15 -- bug report submitted.
+- Correct some minor problems with btape in the fill
+ command.
+- Updates to ssh-tunnel from Joshua Kugler.
+- Added a report.pl program from Jonas Bjorklund.
+- Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+- Do not wait for open() if EIO returned (shouldn't happen).
+- Eliminate 3 argument to tape open().
+- Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+- With -S on bscan (show progress) do not divide by zero.
+ Bug #510
+13Dec05
+- Make cancel pthread_cond_signal() pthread_cond_broadcast().
+- When dcr is freed, also broadcast dev->wait_next_vol signal.
+- Remove unused code in wait_for_device.
+- Make wait_for_device() always return after 60 seconds of wait.
+12Dec05
+- Use localhost if no network configured
+11Dec05
+- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
+- Remove debug print.
+- Add bail_out in error during state file reading.
+Beta release 10Dec05:
+09Dec05
+- Merge updates into 1.38 branch
+- Update specs to include mysql4 define.
+- Stop read_record() if status not ok in second loop.
+- Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
+08Dec05
+- Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+- Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+07Dec05
+- Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+- Remove warning message about multiple saves of hardlinked files
+ from find_one.c as it can generate too many warning messages.
+06Dec05
+- Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+- Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+- Add sanity check in append.c to ensure that dcr is not NULL.
+ This can happen if multiple drive autochanger SCSI control
+ channel and drive indicies do not correspond.
+05Dec05
+- Get next volume from Scratch pool before creating a volume.
+- Set new Pool defaults in Vol when moved from Scratch Pool.
+- Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+- Add back next_vol index code so that two drive autochangers can get
+ a second tape.
+- Change a bunch of debug levels to aid debugging autochangers.
+- Fix reservation so that mutexes are properly applied.
+- Rework reservation algorithm so that two drives can be used
+ at the same time.
+04Dec05
+- 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.
+03Dec05
+- Fix font code in gnome2 console user patch. Fixes bug #501.
+- Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+- Applied user patch to improve README.vc8 in src/win32.
+29Nov05
+- Correct some more editing of JobId's (for 64 bit compatibility).
+- Ensure that StorageId is stored in Media record when ever possible.
+- Add Migration Job to Job.
+- Change Start Storage daemon job to require read and write storage
+ pointers.
+- Pass read storage data to SD as well as write storage data.
+- Remove old code from winservice.cpp
+- Break on error in scan.
+- Fix typo in signal.c
+- Separate read/write DCR in SD. Add jcr->read_dcr.
+- Cleanup how find_device() works.
+- Add read output to Status in SD.
+21Nov05
+- Remove abs() in bfile.c so that it compiles on Solaris.
+ Bug #491.
+
+Changes to 1.38.2: 22 November 2005
+20Nov05
+- Fix crash in tray-monitor when daemon disconnects. Bug #479.
+- Fix bnet-server bug found on OpenBSD. Bug #486 (bug originator
+ says this does not fix *his* bug).
+- Fix cancel failure bug. Bug #481
+- Fix failure when Pool name has spaces. Bug #487
+- Fix SD crash in autochanger code. Mutex failure. Bug #488
+- Fix a couple of free()s in src/filed/acl.c
+- Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+- Add Pool name to SD status output.
+- Add Python install dir for Solaris to configure. Bug #492
+
+Changes to 1.38.1: 15 November 2005
+14Nov05
+- Apply SunOS patch for ACLs submitted by David Duchscher.
+- Make sure to set storage before trying to set drive.
+- Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+- Make sure when we do a mount to unblock the device even
+ if the drive could not be opened.
+13Nov05
+- Merge Scott's new spec files.
+- Add doc on setting up Win32 environment variable supplied
+ by Kees van den Broek.
+- Turn off API debug output unless debug set to avoid confusing
+ the user.
+- Add Solaris ACL detection in configure.in as supplied by
+ Attila Fulop.
+12Nov05
+- Implement 'autochanger drives' protocol so that Dir knows
+ how many drives an autochanger has.
+- Do not request drive number in label, ... if only one drive.
+- Turn off debug code.
+- Fix update slots to clear slot number of every slot before
+ setting it. This fixes (I believe) bug #471
+- Make unmount unload the autochanger slot.
+- Modify open() on mount to be read-only and non-blocking,
+ otherwise the mount can block for a long time.
+- Make a few error message numbers unique.
+- Make a few error messages more correct.
+- Apply patch from Thorsten to fix Win98 stat() command.
+10Nov05
+- Remove delete of CVS from all makefiles.
+- Fix seg fault when clicking on Add button in wx-console
+ restore panel. Bug #470.
+- Fix copyright date and URL typo -- bug #468.
+- Change autostart install for FreeBSD to look for rc.conf
+ rather than rc.local as suggested fix for bug #466.
+- Apply patch supplied by Eric Bollinger to fix PostgreSQL
+ grant on status. Bug #465
+- Apply patch supplied by Eric Bollinger to fix PostgreSQL
+ update script. Bug #464
+- Fix off by one for last Slot of autochanger for label.
+- Update release date.
+- Tweak an authentication error message in dir.
+- Fix autoloader so that mutex is set and released around
+ each run_program(). There was a missing set.
+- Remove an unnecessary drive release in autochanger.
+- Modify configure.in to add execute option to sqlite3 catalog
+ scripts.
+- Create update_xxx_table_8_to_9 scripts for updatedb
+- Fix wrong variable in bpipe.c debug output reported by user.
+- Fix improper placement of encode_and_send_attributes() in
+ FD backup.c causing first file of non-portable Win32 backup
+ to have wrong stream. Reported by Thorsten.
+- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
+ autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
+- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
+ by user. Fixes bug #456.
+
+Released 1.38.0 (28Oct05): 31 October 2005
--- /dev/null
+ Technical notes on version 1.38
+ Nicolas Boichat
+
+General:
+
+Release 1.38.0: 31 October 2005
+++ /dev/null
-
- Release Notes for Bacula 1.38.10
-
- Bacula code: Total files = 423 Total lines = 139,479 (*.h *.c *.in)
-
-Warning for version 1.38.8 and greater:
-- The Windows FD no longer automatically folds the case
- in wild-card comparions. To get the same behavior as before,
- you must explicitly use "Ignore Case = yes" in your FileSet.
-- Backslashes are no longer permitted in File directives
- (typical error for Windows users), unless the string is
- enclosed in double quotes, in which case, the backslashes
- must be doubled.
-
-Major Changes for 1.38.10:
-- This is a primarily a bug fix release, with the following bugs being
- resolved #570, 609, 611, 613, 614, 617 as well as other bugs not
- reported in the bugs database. See below for details.
-- The bconsole "reload" command should now work properly in virtually
- all situations thanks to the efforts of a number of people (Eric,
- Christopher, and myself).
-- There is an untested fix to eliminate the scheduling problems (either
- no job run or the same job run twice) during sudden clock shifts (daylight
- savings time change).
-- The manual has been released under the GNU Free Documentation License (FDL).
- The major difference is that this removes the prior restriction on
- commercial reproduction of the manual.
-- Fixed a race condition (thanks to Christopher) on dual processor machines
- that caused jobs to block when starting with the SD.
-
-New features for 1.38.10:
-- None
-
-Fixes for 1.38.10:
-08Jun06
-- Modify setting ACLs to suppress error message if the file is a
- symbolic link since the file linked to may not yet be created,
- and symbolic links really should not have attributes ...
-06Jun06
-- Complete implementation of acl.c error message during restore.
- During backups, errors getting acls are silently ignored, as was
- previously the case.
-04Jun06
-- Modify configure.in to check for typeof().
-- Better detection of postgresql installation if pg_conf works.
-- Fix RescheduleTimes = 0 bug (should not reschedule).
-- Down port from 1.39: fixes for reload, autochanger error messages,
- scheduler fixes for reload and day light savings change,
-01Jun06
-- Implement partial error messages for src/filed/acl.c
-- Fix return code to fail when doing update barcodes and
- Pool resource is not found. This previously caused Volumes
- to be labeled as cleaning tapes.
-- Small updates to projects file.
-26May06
-- Prevent DVD code from rewriting label if the device cannot be
- opened read/write.
-- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-- Update projects file.
-24May06
-- Applied patch posted by Jaime Ventura to bug #570 to correct failure
- of restarted jobs to complete (due to a destroyed pthreads conditional
- variable used by the message thread).
-- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
- set to zero.
-- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-- Apply patch from Rudolf Cejka bug #614 to removed trailing
- colons in query.sql file.
-- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
- not to create orphans.
-- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
- in restore long listing.
-- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
- of incorrect MarkedId.
-- Apply patch from adioso bug #616 to correct text in manual (replace
- Director with File daemon).
-21May06
-- Move DIR "run" command to SD before starting the message thread
- as suggested by Cristopher Hull to avoid a race deadlock from
- two threads using the bsock structure.
-- Modify LICENSE to correct some problems pointed out by Debian.
-05May06
-- Correct EOF with no \n lex.c problem.
-- Add additional INFO messages if autochanger cannot be used.
-- Add Eric Bollengier's lex error handler fix, which corrects most
- of the reload problems.
-
-
-New features for 1.38.9:
-- A "Dir Status" button in the Gnome console.
-
-Fixes:
-This is mainly a bug fix release containing a collection of
- minor fixes for 1.38.8.
-- Added code to strip backslashes from Windows filenames during
- a restore.
-- Corrected Win32 License to use the correct LICENSE file.
-- Corrected the buffer count and bytes reported in the heap
- statistics.
-- Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-- Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
- machines -- the names should all be in Unix format, and if
- there are any backslashes it is most likely due to an improper
- FileSet definition, and the files will not otherwise be
- restorable.
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
-- Add back ua_label barcode fix from Rufolf Cejka.
-- Add 'Dir Status' button to the gnome console.
-- Display heap stats in Storage daemon without debug level.
-- Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-- Update job start time after the any run before job so that
- files created by the script are only backed up once. Fixes
- bug #599.
-- Strip trailing newline only from filenames entered in
- the restore command when reading a file. This permits
- the user to enter filenames with trailing spaces. Fixes
- bug #549. The user supplied a patch that I modified slightly.
-- Use the most recent time (st_mtime, st_ctime) in the dir
- command in restore. This gives the user a better idea of what
- the newest file really is. This fixes bug #574. The fix
- was suggested by the user.
-- Remove the -f option from the chown in Makefile.in for more
- portability.
-- Change setting the group in Makefile.in to use chgrp for
- more portability.
-- Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-
-
-New features for 1.38.8:
-- Regex, RegexFile, and RegexDir are now implemented in the
- Win32 FD. However, this is new experimental code that is
- largely untested. It may not work, it may cause memory
- leaks, or it may even crash the FD. Please test carefully
- before using.
-- On Linux/Unix systems there are two new programs, bregex
- and bwild that allow you to test regular expressions and
- wild-cards. These programs are installed with the other
- binaries. They are not available on Win32 systems.
-
-Fixes:
-- See below.
-
-New Features from pre-1.38.8 releases:
-- For autochanger get Scratch tape if in autochanger if
- no appendable Volumes are available.
-- New virtual disk autochanger. See scripts/disk-changer for
- documentation.
-- New optional Device resource directive in SD. 'Device Type =',
- which may have types: File, DVD, Tape, or FIFO. This can
- be useful for writing DVDs on FreeBSD where Bacula cannot
- correctly detect the DVD.
-- Faster restore tree building and uses less memory.
-- The command line keyword job (or jobname) now refers to the
- name of the job specified in the Job resource; jobid refers
- as before to the non-unique numeric jobid; and ujobid refers
- to the unique job identification that Bacula creates for each
- job.
-- The job report for Backups has a few more user friendly ways
- of displaying the information.
-- The wait command can now be made to wait for jobids.
-- New command line keywords are permitted in update volume. They
- are Inchanger=yes/no, slot=nn.
-- Add two new console commands: enable job=<job-name> and
- disable job=<job-name>. When a job is disabled, it will not
- be started by the scheduler. If you disable a job and restart
- Bacula or reload the .conf file, the job will be re-enabled.
-- Add a new Job resource directive "enable = yes|no".
-- There is a new program named regex in the tools directory that
- allows you to try regular expressions on your system.
-
-Major bug fixes:
-- Fix race condition in multiple-drive autochangers where
- both drives want the same Volume.
-- Do not allow opening default catalog for restricted console
- if it is not in ACL.
-- Writable FIFOs now work for restore.
-- ACLs are now checked in all dot commands.
-- Multiple drive autochangers and multiple different autochangers
- should now work correctly (no race conditions for Volume names,
- update slots use correct StorageId).
-- Fix bug where drive was always reserved if a restore job failed
- while in the reservation process.
-
-
-Minor bug fixes:
-- See below:
-
-Release 1.38.8 (14Apr06)
-14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
-12Apr06
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
- to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-- Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-- Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Remove the code added to 1.38.6 and 1.38.7 that pulls a
- scratch volume in an Autochanger early in the 'recycling'
- algorithm.
-08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-- Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-
-Release 1.38.7 (06Apr06) released 07Apr06
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
- implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-
-Release 1.38.6 (28Mar06) released 29Mar06
-28Mar06
-- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
- and new jcr chain locking.
-26Mar06
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-- 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
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-- Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-- Add Thorsten's VSS timeout code to 1.38 branch.
-- Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-
-Release 1.38.6 beta6 16Mar06
-- Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-- Disallow multiple storage specifications for a job. Should fix Arno's
- problem.
-- Add back a missing store of poolid in jr.poolid.
-- If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
-
-Release 1.38.6 beta5 14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- Fix Rescheduling failed Jobs. Ensure that SD message thread
- terminates correctly by doing pthread_kill(). Do not destroy
- SD cond wait variable between executions of the job. Use local
- mutex for cond variable to avoid blocking jcr chain. Fix poor
- use of jcr use count in jobq.c for restarted jobs.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- Use new routine lock_reservations() to lock the reservations
- system, and call it while looking for a volume in askdir.c.
- This could possibly fix bug #543.
-- Stop SD command loop if job is canceled.
-
-Release 1.38.6 beta3 4Mar06
-04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
- buffers in all cases.
-- Convert to using new Python class definitons with (object).
-- 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 listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
- Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
-
-26Feb06
-- Fix bug reported by Arno listing blocks with bls
-- Update the po files at Eric's request.
-
-Release 1.38.6-beta2 25Feb06
-25Feb06
-- Add sql_use_result() define.
-
-Changes to 1.38.6-beta1
-- Don't open default catalog if not in ACL.
-- Add virtual disk autochanger code.
-- Add user supplied bug fix to make two autochangers work
- correctly using StorageId with InChanger checks.
-- Correct new/old_jcr confusion in copy_storage().
-- Remove & from Job during scan in msgchan.c -- probably
- trashed the stack.
-- When getting the next Volume if no Volume in Append mode
- exists and we are dealing with an Autochanger, search
- for a Scratch Volume.
-- Check for missing value in dot commands -- bug fix.
-- Fix bug in update barcodes command line scanning.
-- Make sure Pool Max Vols is respected.
-- Check that user supplied a value before referencing
- it in restore -- pointed out by Karl Hakimian.
-- Add Karl Hakimian's table insert code.
-- Don't ask user to select a specific Volume when
- updating all volumes in a Pool.
-- Remove reservation if set for read when removing dcr.
-- Lock code that requests next appendable volume so that
- two jobs to get the same Volume at the same time.
-- Add new Device Type = xxx code. Values are file, tape,
- dvd, and fifo.
-- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
- a re-open to change read/write permission on a device.
-- Correct a misplaced double quote in certain autochanger
- scripts.
-- Make make_catalog_backup.in a bit more portable.
-- Implement Karl Hakimian's sql_use_result(), which speeds
- up restore tree building and reduces the memory load.
-- Correct a number of minor bugs in getting a Volume from
- the Scratch Pool.
-- Implement additional command line options for update Volume.
-- Don't require user to enter a Volume name when updating
- all Volumes in a pool.
-
-Release 1.38.5 released 19Jan06:
-- Apply label barcodes fix supplied by Rudolf Cejka.
-- Modify standard rpm installation to set SD group to disk
- so that SD will by default have access to tape drives.
-- Allow users to specify user/group and start options
- for each daemon in /etc/sysconf/bacula file.
-
-Changes to 1.38.4 released 17Jan06:
-- The main changes are to the Director and the Storage daemon,
- thus there is no need to update your File daemons. Just the
- same, I do recommend running with the release 1.38.3 Win32
- FD or later.
-- 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, ...).
-- Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
-- Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-- Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-- Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
-- 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.
-- During 'update slots' clear all InChanger flags where the
- StorageId is zero (old Media records).
-- Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-- Add PoolId to Job record when updating it at job start time.
-- Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-- Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-
-Changes to 1.38.3 released 05Jan06:
-- This is mainly a bug release fix. In addition, the multiple drive
- reservation algorithm has been rewritten.
-- In addition, the method of handling waiting for tapes to be
- mounted and the mount messages has been modified.
- (the above two items are a potential source of problems).
-- Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when 'autochanger drives' is called and
- it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
- of the mode.
-- If GUI mode is on, suppress automatic printing of
- You have messages.
-- Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-- Implement load balancing code with multiple drive autochangers.
-- Rewrite reservation algorithm again. Rename variables to be
- more logical, add HEARTBEAT with Director, allow cancel of
- jobs stuck in reservation, add last resourt any_drive.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-- Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.
-- Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-- With -S on bscan (show progress) do not divide by zero.
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.
-- Make wait_for_device() always return after 60 seconds of wait.
-- Use localhost if no network configured
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Update specs to include mysql4 define.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-- Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
- caused an error.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
- at the same time.
-- 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.
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-- Ensure that StorageId is stored in Media record when ever possible.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD. Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
-
-Changes to 1.38.2:
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1:
-- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
-- Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-- Unmount command now unloads autochanger.
-- Fix hang in FD (Martin Simmons)
-- Fix Win98 stat() problem in FD (Thorsten Engel)
-- Fix update slots which did not clear missing tapes.
-- Fix autostart install for FreeBSD (user reported)
-- Fix several problems with PostgreSQL scripts (Eric Bollinger)
-- Critical: allow restore of the first file of non-portable Win32 backup.
-- Important: with muliple concurrent jobs the autochanger could get
- confused because of a missing mutex.
-- Fix accessing last slot in label and update slots.
-- Modify configure.in to add execute option to sqlite3 catalog
- scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
- autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
- by user. Fixes bug #456.
-- AMD64 users see compiler bug warning below!!!!!!!!!
-
-Major Changes in 1.38:
-- Fixed out of order Volumes in restore.
-- Improved algorithm for reserving drives in multiple drive
- autochangers. Autochange users MUST use the new Autochanger
- resource in the Storage daemon.
-- There is a new database format that is not compatible
- with previous databases. You must upgrade if converting
- from 1.36.x. No changes from version 1.37.30.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- Support for ANSI/IBM labels.
-- Faster database inserts due to combining the MD5/SHA1 into
- the attributes record, eliminating one INSERT/file backed up.
-- Python Event support has been added. See below for
- configuration and details. The implementation is somewhat minimal,
- so the functionality is not complete. The Python interface
- has not been extensively tested, so please consider it BETA.
-- DVD writing support, using parts, and some new directives in
- the Device resource of the Storage configuration file thanks
- to Nicolas Boichat. Please note that this code is still
- BETA and should be carefully tested before using in
- production.
-- Seven new options keywords in a FileSet resource:
- ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
- and regexfile thanks to Pruben Guldberg). See below for details.
-- Restore of all files for a Job or set of jobs even if the file
- records have been removed from the catalog.
-- Restore of a directory (non-recursive, i.e. only one level).
-- Support for TLS (ssl) between all the daemon connections thanks
- to Landon Fuller.
-- Any Volume in the Pool named Scratch may be reassigned to any
- other Pool when a new Volume is needed.
-- You may clone a Job and thus write (almost) the same data
- to multiple Volumes simultaneously (see below). Actually,
- any Job may start any other Job with this mechanism, so it
- also be used to group jobs.
-- Unicode filename support for Win32 (thanks to Thorsten Engel)
-- Volume Shadow Copy support for Win32 thus the capability to
- backup exclusively opened files (thanks to Thorsten Engel).
- A VSS enabled Win32 FD is available. You must explicitly
- turn on VSS with 'Enable VSS = yes' in your FileSet resource.
-- New manual format with an index (thanks to Karl Cunningham).
-- New Web site format (thanks to Michael Scherer).
-- SQLite3 support.
-- Web-bacula, previously a separate project by Juan Luis Frances,
- is now included in the Bacula GUI release. This is a management
- level tool for reporting the state of Bacula jobs.
-- The code is now Internationalized so that it can be localized
- in native languages. Thanks to Nicolas Boichat.
-
-New Directives:
-- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
- SD to select either an Autochanger or a drive with a valid
- Volume already mounted in preference. If none is available,
- it will select the first available drive.
-- New Run directive in Job resource of DIR. It permits
- cloning of jobs. To clone a copy of the current job, use
- Run = 'job-name level=%l since=\'%s\''
- Note, job-name is normally the same name as the job that
- is running but there is no restriction on what you put. If you
- want to start the job by hand and use job overrides such as
- storage=xxx, realize that the job will be started with the
- default storage values not the overrides. The level=%l guarantees
- that the chosen level of the job is the same, and the since=...
- ensures that the job uses *exactly* the same time/date for incremental
- and differential jobs. The since=... is ignored when level=Full.
- A cloned job will not start additional clones, so it is not possible
- to recurse.
-- New Options keywords in a FileSet directive (backported to 1.36.3):
- - WildDir xxx
- Will do a wild card match against directories (files will not
- be matched).
- - WildFile xxx
- Will do a wild card match against files (directories will not
- be matched).
- - RegexDir xxx
- Will do a regular expression match against directories (files
- will not be matched).
- - RegexFile xxx
- Will do a regular expression match against files( directories
- will not be matched).
- - IgnoreCase = yes | no
- Will ignore case in wild card and regular expression matches.
- This is handy for Windows where filename case is not significant.
- - FsType = string
- where string is a filesystem type: ext2, jfs, ntfs, proc,
- reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
- systems, use ext2. You may have multiple fstype directives
- and thus permit multiple filesystem types. If the type
- specified on the fstype directive does not match the
- filesystem for a particular directive, that directory will
- not be backed up. This directive can be used to prevent
- backing up non-local filesystems.
- - HFS Plus Support = yes | no
- If set, Mac OS X resource forks will be saved and restored.
-- Label Type = ANSI | IBM | Bacula
- Implemented in Director Pool resource and in SD Device resource.
- If it is specified in the SD Device resource, it will take
- precedence over the value passed from the Director to the SD.
-- Check Labels = yes | no
- Implemented in the SD Device resource. If you intend to read
- ANSI or IBM labels, this *must* be set. Even if the volume
- is not ANSI labeled, you can set this to yes, and Bacula will
- check the label type.
-- Scripts Directory = <directory> name. Defines the directory from
- which Bacula scripts will be called for events. In fact, Bacula
- appends this name to the standard Python list of search directories,
- so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
- a lot, it can be very expensive), by using:
- HardLinks = no
- in the Options section. Patch supplied by David R Bosso. Thanks.
-- MaximumPartSize = bytes (SD, Device resource)
- Defines the maximum part size.
-- Requires Mount = Yes/No (SD, Device resource)
- Defines if the device require to be mounted to be read, and if it
- must be written in a special way. If it set, the following directives
- must be defined in the same Device resource:
- + Mount Point = directory
- Directory where the device must be mounted.
- + Mount Command = name-string
- Command that must be executed to mount the device. Before the command
- is executed, %a is replaced with the Archive Device, and %m with the
- Mount Point.
- + Unmount Command = name-string
- Command that must be executed to unmount the device. Before the
- command is executed, %a is replaced with the Archive Device, and
- %m with the Mount Point.
- + Write Part Command = name-string
- Command that must be executed to write a part to the device. Before
- the command is executed, %a is replaced with the Archive Device, %m
- with the Mount Point, %n with the current part number (0-based),
- and %v with the current part filename.
- + Free Space Command = name-string
- Command that must be executed to check how much free space is left
- on the device. Before the command is executed, %a is replaced with
- the Archive Device, %m with the Mount Point, %n with the current part
- number (0-based), and %v with the current part filename.
-- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
- If this directive is set to yes (default no), a new part file will be
- created after the job is finished.
-- A pile of new Directives to support TLS. Please see the TLS chapter
- of the manual.
-
-New Commands:
-- 'python restart' restarts the Python interpreter. Rather brutal, make
- sure no Python scripts are running. This permits you to change
- a Python script and get Bacula to use the new script.
-
-New configure options:
-- --with-libintl-prefix for defining alternate locations for
- the NLS internationalization libraries. Not normally required.
-- --datadir for defining where the language files will be installed
- required only if you do not want the default /usr/share.
-
-Items to note!!!
-- The Storage daemon now keeps track of what tapes it is using
- (was not the case in 1.36.x). This means that you must be much
- more careful when removing tapes and putting up a new one. In
- general, you should always do a 'unmount' prior to removing a
- tape, and a 'mount' after putting a new one into the drive.
-- If you use an Autochanger, you MUST update your SD conf file
- to use the new Autochanger resource. Otherwise, certain commands
- such as 'update slots' may not work.
-- You must add --with-python=[DIR] to the configure command line
- if you want Python support. Python 2.2, 2.3 and 2.4 should be
- automatically detected if in the standard place.
-- When linking with --with-python, there are a few warnings that
- can be ignored.
-- You must either create a new catalog database or upgrade your
- old database. After installation, run from your scripts
- directory:
-
- ./upgrade_bacula_tables
-
- You can also find this script in the <bacula-source>/src/cats
- directory.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- You must add --with-openssl to the configure command line if
- you want TLS communications encryption support.
-- Disk seeking during restores does not yet work correctly in
- all cases, so it is turned off.
-- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
- AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
- generates bad code that causes Bacula to segment fault.
- Typically you will see this in the Storage daemon first. The
- solution is to compile Bacula ensuring that no optimization is
- turned on (normally it is -O2).
- This same compiler bug has been reported and confirmed with
- gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
- an AMD64 CPU. This for the moment, I would recommend that all
- users of GCC 4.0.1 or greater turn off all optimization when
- compiling.
-
-
-Other Items Fixed:
-- Security fixes for temp files created in mtx-changer, during
- ./configure, and during making of Rescue disk.
-- A new script, dvd-handler, in the scripts directory,
- which is designed to be used as parameters to Write Part Command and
- Free Space Command. They need the dvd+rw-tools to be installed
- (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
- program must be patched using the
- <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
- You must have Python installed to run the scripts.
-- Part files support: File volumes can now be split into multiple
- files, called 'parts'.
-- For the details of the Python scripting support, please see the new
- Python Scripting chapter in the manual.
-- The default user/group for the Director and Storage daemon installed
- by rpms is bacula/bacula, thus you may need to add additional permissions
- to your database, or modify the permissions of the tape drive. If
- all else fails, change to using user=root. However, it is more secure
- to use user=bacula.
+++ /dev/null
-
- Release Notes for Bacula 1.38.11
-
- Bacula code: Total files = 423 Total lines = 139,479 (*.h *.c *.in)
-
-Warning for version 1.38.8 and greater:
-- The Windows FD no longer automatically folds the case
- in wild-card comparions. To get the same behavior as before,
- you must explicitly use "Ignore Case = yes" in your FileSet.
-- Backslashes are no longer permitted in File directives
- (typical error for Windows users), unless the string is
- enclosed in double quotes, in which case, the backslashes
- must be doubled.
-
-Major Changes for 1.38.11
-- Add test for IRIX64 as OS
-- Fix scheduler hang during clock shift (due to missing unlock())
-- Minor tweaks to bregex.c
-- Fix to block.c to correctly check for DVD number of parts.
-- Fix to dev.c to permit DVD seeking in spool file. Corrects
- label rewriting problems.
-- Clarify license for techlogs (GPL). I consider them "part" of
- the source code of Bacula.
-- Use FDL license for developer's manual, French translation, German
- translation, bimagemgr manuals (same as the main manual), and
- the web site.
-
-New features for 1.38.11:
-- None
-
-====================================================================
-
-Major Changes for 1.38.10:
-- This is a primarily a bug fix release, with the following bugs being
- resolved #570, 609, 611, 613, 614, 617 as well as other bugs not
- reported in the bugs database. See below for details.
-- The bconsole "reload" command should now work properly in virtually
- all situations thanks to the efforts of a number of people (Eric,
- Christopher, and myself).
-- There is an untested fix to eliminate the scheduling problems (either
- no job run or the same job run twice) during sudden clock shifts (daylight
- savings time change).
-- The manual has been released under the GNU Free Documentation License (FDL).
- The major difference is that this removes the prior restriction on
- commercial reproduction of the manual.
-- Fixed a race condition (thanks to Christopher) on dual processor machines
- that caused jobs to block when starting with the SD.
-
-New features for 1.38.10:
-- None
-
-Fixes for 1.38.10:
-08Jun06
-- Modify setting ACLs to suppress error message if the file is a
- symbolic link since the file linked to may not yet be created,
- and symbolic links really should not have attributes ...
-06Jun06
-- Complete implementation of acl.c error message during restore.
- During backups, errors getting acls are silently ignored, as was
- previously the case.
-04Jun06
-- Modify configure.in to check for typeof().
-- Better detection of postgresql installation if pg_conf works.
-- Fix RescheduleTimes = 0 bug (should not reschedule).
-- Down port from 1.39: fixes for reload, autochanger error messages,
- scheduler fixes for reload and day light savings change,
-01Jun06
-- Implement partial error messages for src/filed/acl.c
-- Fix return code to fail when doing update barcodes and
- Pool resource is not found. This previously caused Volumes
- to be labeled as cleaning tapes.
-- Small updates to projects file.
-26May06
-- Prevent DVD code from rewriting label if the device cannot be
- opened read/write.
-- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-- Update projects file.
-24May06
-- Applied patch posted by Jaime Ventura to bug #570 to correct failure
- of restarted jobs to complete (due to a destroyed pthreads conditional
- variable used by the message thread).
-- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
- set to zero.
-- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-- Apply patch from Rudolf Cejka bug #614 to removed trailing
- colons in query.sql file.
-- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
- not to create orphans.
-- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
- in restore long listing.
-- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
- of incorrect MarkedId.
-- Apply patch from adioso bug #616 to correct text in manual (replace
- Director with File daemon).
-21May06
-- Move DIR "run" command to SD before starting the message thread
- as suggested by Cristopher Hull to avoid a race deadlock from
- two threads using the bsock structure.
-- Modify LICENSE to correct some problems pointed out by Debian.
-05May06
-- Correct EOF with no \n lex.c problem.
-- Add additional INFO messages if autochanger cannot be used.
-- Add Eric Bollengier's lex error handler fix, which corrects most
- of the reload problems.
-
-
-New features for 1.38.9:
-- A "Dir Status" button in the Gnome console.
-
-Fixes:
-This is mainly a bug fix release containing a collection of
- minor fixes for 1.38.8.
-- Added code to strip backslashes from Windows filenames during
- a restore.
-- Corrected Win32 License to use the correct LICENSE file.
-- Corrected the buffer count and bytes reported in the heap
- statistics.
-- Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-- Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
- machines -- the names should all be in Unix format, and if
- there are any backslashes it is most likely due to an improper
- FileSet definition, and the files will not otherwise be
- restorable.
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
-- Add back ua_label barcode fix from Rufolf Cejka.
-- Add 'Dir Status' button to the gnome console.
-- Display heap stats in Storage daemon without debug level.
-- Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-- Update job start time after the any run before job so that
- files created by the script are only backed up once. Fixes
- bug #599.
-- Strip trailing newline only from filenames entered in
- the restore command when reading a file. This permits
- the user to enter filenames with trailing spaces. Fixes
- bug #549. The user supplied a patch that I modified slightly.
-- Use the most recent time (st_mtime, st_ctime) in the dir
- command in restore. This gives the user a better idea of what
- the newest file really is. This fixes bug #574. The fix
- was suggested by the user.
-- Remove the -f option from the chown in Makefile.in for more
- portability.
-- Change setting the group in Makefile.in to use chgrp for
- more portability.
-- Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-
-
-New features for 1.38.8:
-- Regex, RegexFile, and RegexDir are now implemented in the
- Win32 FD. However, this is new experimental code that is
- largely untested. It may not work, it may cause memory
- leaks, or it may even crash the FD. Please test carefully
- before using.
-- On Linux/Unix systems there are two new programs, bregex
- and bwild that allow you to test regular expressions and
- wild-cards. These programs are installed with the other
- binaries. They are not available on Win32 systems.
-
-Fixes:
-- See below.
-
-New Features from pre-1.38.8 releases:
-- For autochanger get Scratch tape if in autochanger if
- no appendable Volumes are available.
-- New virtual disk autochanger. See scripts/disk-changer for
- documentation.
-- New optional Device resource directive in SD. 'Device Type =',
- which may have types: File, DVD, Tape, or FIFO. This can
- be useful for writing DVDs on FreeBSD where Bacula cannot
- correctly detect the DVD.
-- Faster restore tree building and uses less memory.
-- The command line keyword job (or jobname) now refers to the
- name of the job specified in the Job resource; jobid refers
- as before to the non-unique numeric jobid; and ujobid refers
- to the unique job identification that Bacula creates for each
- job.
-- The job report for Backups has a few more user friendly ways
- of displaying the information.
-- The wait command can now be made to wait for jobids.
-- New command line keywords are permitted in update volume. They
- are Inchanger=yes/no, slot=nn.
-- Add two new console commands: enable job=<job-name> and
- disable job=<job-name>. When a job is disabled, it will not
- be started by the scheduler. If you disable a job and restart
- Bacula or reload the .conf file, the job will be re-enabled.
-- Add a new Job resource directive "enable = yes|no".
-- There is a new program named regex in the tools directory that
- allows you to try regular expressions on your system.
-
-Major bug fixes:
-- Fix race condition in multiple-drive autochangers where
- both drives want the same Volume.
-- Do not allow opening default catalog for restricted console
- if it is not in ACL.
-- Writable FIFOs now work for restore.
-- ACLs are now checked in all dot commands.
-- Multiple drive autochangers and multiple different autochangers
- should now work correctly (no race conditions for Volume names,
- update slots use correct StorageId).
-- Fix bug where drive was always reserved if a restore job failed
- while in the reservation process.
-
-
-Minor bug fixes:
-- See below:
-
-Release 1.38.8 (14Apr06)
-14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
-12Apr06
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
- to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-- Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-- Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Remove the code added to 1.38.6 and 1.38.7 that pulls a
- scratch volume in an Autochanger early in the 'recycling'
- algorithm.
-08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-- Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-
-Release 1.38.7 (06Apr06) released 07Apr06
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
- implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-
-Release 1.38.6 (28Mar06) released 29Mar06
-28Mar06
-- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
- and new jcr chain locking.
-26Mar06
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-- 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
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-- Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-- Add Thorsten's VSS timeout code to 1.38 branch.
-- Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-
-Release 1.38.6 beta6 16Mar06
-- Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-- Disallow multiple storage specifications for a job. Should fix Arno's
- problem.
-- Add back a missing store of poolid in jr.poolid.
-- If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
-
-Release 1.38.6 beta5 14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- Fix Rescheduling failed Jobs. Ensure that SD message thread
- terminates correctly by doing pthread_kill(). Do not destroy
- SD cond wait variable between executions of the job. Use local
- mutex for cond variable to avoid blocking jcr chain. Fix poor
- use of jcr use count in jobq.c for restarted jobs.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- Use new routine lock_reservations() to lock the reservations
- system, and call it while looking for a volume in askdir.c.
- This could possibly fix bug #543.
-- Stop SD command loop if job is canceled.
-
-Release 1.38.6 beta3 4Mar06
-04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
- buffers in all cases.
-- Convert to using new Python class definitons with (object).
-- 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 listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
- Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
-
-26Feb06
-- Fix bug reported by Arno listing blocks with bls
-- Update the po files at Eric's request.
-
-Release 1.38.6-beta2 25Feb06
-25Feb06
-- Add sql_use_result() define.
-
-Changes to 1.38.6-beta1
-- Don't open default catalog if not in ACL.
-- Add virtual disk autochanger code.
-- Add user supplied bug fix to make two autochangers work
- correctly using StorageId with InChanger checks.
-- Correct new/old_jcr confusion in copy_storage().
-- Remove & from Job during scan in msgchan.c -- probably
- trashed the stack.
-- When getting the next Volume if no Volume in Append mode
- exists and we are dealing with an Autochanger, search
- for a Scratch Volume.
-- Check for missing value in dot commands -- bug fix.
-- Fix bug in update barcodes command line scanning.
-- Make sure Pool Max Vols is respected.
-- Check that user supplied a value before referencing
- it in restore -- pointed out by Karl Hakimian.
-- Add Karl Hakimian's table insert code.
-- Don't ask user to select a specific Volume when
- updating all volumes in a Pool.
-- Remove reservation if set for read when removing dcr.
-- Lock code that requests next appendable volume so that
- two jobs to get the same Volume at the same time.
-- Add new Device Type = xxx code. Values are file, tape,
- dvd, and fifo.
-- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
- a re-open to change read/write permission on a device.
-- Correct a misplaced double quote in certain autochanger
- scripts.
-- Make make_catalog_backup.in a bit more portable.
-- Implement Karl Hakimian's sql_use_result(), which speeds
- up restore tree building and reduces the memory load.
-- Correct a number of minor bugs in getting a Volume from
- the Scratch Pool.
-- Implement additional command line options for update Volume.
-- Don't require user to enter a Volume name when updating
- all Volumes in a pool.
-
-Release 1.38.5 released 19Jan06:
-- Apply label barcodes fix supplied by Rudolf Cejka.
-- Modify standard rpm installation to set SD group to disk
- so that SD will by default have access to tape drives.
-- Allow users to specify user/group and start options
- for each daemon in /etc/sysconf/bacula file.
-
-Changes to 1.38.4 released 17Jan06:
-- The main changes are to the Director and the Storage daemon,
- thus there is no need to update your File daemons. Just the
- same, I do recommend running with the release 1.38.3 Win32
- FD or later.
-- 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, ...).
-- Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
-- Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-- Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-- Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
-- 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.
-- During 'update slots' clear all InChanger flags where the
- StorageId is zero (old Media records).
-- Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-- Add PoolId to Job record when updating it at job start time.
-- Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-- Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-
-Changes to 1.38.3 released 05Jan06:
-- This is mainly a bug release fix. In addition, the multiple drive
- reservation algorithm has been rewritten.
-- In addition, the method of handling waiting for tapes to be
- mounted and the mount messages has been modified.
- (the above two items are a potential source of problems).
-- Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when 'autochanger drives' is called and
- it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
- of the mode.
-- If GUI mode is on, suppress automatic printing of
- You have messages.
-- Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-- Implement load balancing code with multiple drive autochangers.
-- Rewrite reservation algorithm again. Rename variables to be
- more logical, add HEARTBEAT with Director, allow cancel of
- jobs stuck in reservation, add last resourt any_drive.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-- Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.
-- Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-- With -S on bscan (show progress) do not divide by zero.
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.
-- Make wait_for_device() always return after 60 seconds of wait.
-- Use localhost if no network configured
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Update specs to include mysql4 define.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-- Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
- caused an error.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
- at the same time.
-- 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.
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-- Ensure that StorageId is stored in Media record when ever possible.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD. Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
-
-Changes to 1.38.2:
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1:
-- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
-- Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-- Unmount command now unloads autochanger.
-- Fix hang in FD (Martin Simmons)
-- Fix Win98 stat() problem in FD (Thorsten Engel)
-- Fix update slots which did not clear missing tapes.
-- Fix autostart install for FreeBSD (user reported)
-- Fix several problems with PostgreSQL scripts (Eric Bollinger)
-- Critical: allow restore of the first file of non-portable Win32 backup.
-- Important: with muliple concurrent jobs the autochanger could get
- confused because of a missing mutex.
-- Fix accessing last slot in label and update slots.
-- Modify configure.in to add execute option to sqlite3 catalog
- scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
- autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
- by user. Fixes bug #456.
-- AMD64 users see compiler bug warning below!!!!!!!!!
-
-Major Changes in 1.38:
-- Fixed out of order Volumes in restore.
-- Improved algorithm for reserving drives in multiple drive
- autochangers. Autochange users MUST use the new Autochanger
- resource in the Storage daemon.
-- There is a new database format that is not compatible
- with previous databases. You must upgrade if converting
- from 1.36.x. No changes from version 1.37.30.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- Support for ANSI/IBM labels.
-- Faster database inserts due to combining the MD5/SHA1 into
- the attributes record, eliminating one INSERT/file backed up.
-- Python Event support has been added. See below for
- configuration and details. The implementation is somewhat minimal,
- so the functionality is not complete. The Python interface
- has not been extensively tested, so please consider it BETA.
-- DVD writing support, using parts, and some new directives in
- the Device resource of the Storage configuration file thanks
- to Nicolas Boichat. Please note that this code is still
- BETA and should be carefully tested before using in
- production.
-- Seven new options keywords in a FileSet resource:
- ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
- and regexfile thanks to Pruben Guldberg). See below for details.
-- Restore of all files for a Job or set of jobs even if the file
- records have been removed from the catalog.
-- Restore of a directory (non-recursive, i.e. only one level).
-- Support for TLS (ssl) between all the daemon connections thanks
- to Landon Fuller.
-- Any Volume in the Pool named Scratch may be reassigned to any
- other Pool when a new Volume is needed.
-- You may clone a Job and thus write (almost) the same data
- to multiple Volumes simultaneously (see below). Actually,
- any Job may start any other Job with this mechanism, so it
- also be used to group jobs.
-- Unicode filename support for Win32 (thanks to Thorsten Engel)
-- Volume Shadow Copy support for Win32 thus the capability to
- backup exclusively opened files (thanks to Thorsten Engel).
- A VSS enabled Win32 FD is available. You must explicitly
- turn on VSS with 'Enable VSS = yes' in your FileSet resource.
-- New manual format with an index (thanks to Karl Cunningham).
-- New Web site format (thanks to Michael Scherer).
-- SQLite3 support.
-- Web-bacula, previously a separate project by Juan Luis Frances,
- is now included in the Bacula GUI release. This is a management
- level tool for reporting the state of Bacula jobs.
-- The code is now Internationalized so that it can be localized
- in native languages. Thanks to Nicolas Boichat.
-
-New Directives:
-- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
- SD to select either an Autochanger or a drive with a valid
- Volume already mounted in preference. If none is available,
- it will select the first available drive.
-- New Run directive in Job resource of DIR. It permits
- cloning of jobs. To clone a copy of the current job, use
- Run = 'job-name level=%l since=\'%s\''
- Note, job-name is normally the same name as the job that
- is running but there is no restriction on what you put. If you
- want to start the job by hand and use job overrides such as
- storage=xxx, realize that the job will be started with the
- default storage values not the overrides. The level=%l guarantees
- that the chosen level of the job is the same, and the since=...
- ensures that the job uses *exactly* the same time/date for incremental
- and differential jobs. The since=... is ignored when level=Full.
- A cloned job will not start additional clones, so it is not possible
- to recurse.
-- New Options keywords in a FileSet directive (backported to 1.36.3):
- - WildDir xxx
- Will do a wild card match against directories (files will not
- be matched).
- - WildFile xxx
- Will do a wild card match against files (directories will not
- be matched).
- - RegexDir xxx
- Will do a regular expression match against directories (files
- will not be matched).
- - RegexFile xxx
- Will do a regular expression match against files( directories
- will not be matched).
- - IgnoreCase = yes | no
- Will ignore case in wild card and regular expression matches.
- This is handy for Windows where filename case is not significant.
- - FsType = string
- where string is a filesystem type: ext2, jfs, ntfs, proc,
- reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
- systems, use ext2. You may have multiple fstype directives
- and thus permit multiple filesystem types. If the type
- specified on the fstype directive does not match the
- filesystem for a particular directive, that directory will
- not be backed up. This directive can be used to prevent
- backing up non-local filesystems.
- - HFS Plus Support = yes | no
- If set, Mac OS X resource forks will be saved and restored.
-- Label Type = ANSI | IBM | Bacula
- Implemented in Director Pool resource and in SD Device resource.
- If it is specified in the SD Device resource, it will take
- precedence over the value passed from the Director to the SD.
-- Check Labels = yes | no
- Implemented in the SD Device resource. If you intend to read
- ANSI or IBM labels, this *must* be set. Even if the volume
- is not ANSI labeled, you can set this to yes, and Bacula will
- check the label type.
-- Scripts Directory = <directory> name. Defines the directory from
- which Bacula scripts will be called for events. In fact, Bacula
- appends this name to the standard Python list of search directories,
- so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
- a lot, it can be very expensive), by using:
- HardLinks = no
- in the Options section. Patch supplied by David R Bosso. Thanks.
-- MaximumPartSize = bytes (SD, Device resource)
- Defines the maximum part size.
-- Requires Mount = Yes/No (SD, Device resource)
- Defines if the device require to be mounted to be read, and if it
- must be written in a special way. If it set, the following directives
- must be defined in the same Device resource:
- + Mount Point = directory
- Directory where the device must be mounted.
- + Mount Command = name-string
- Command that must be executed to mount the device. Before the command
- is executed, %a is replaced with the Archive Device, and %m with the
- Mount Point.
- + Unmount Command = name-string
- Command that must be executed to unmount the device. Before the
- command is executed, %a is replaced with the Archive Device, and
- %m with the Mount Point.
- + Write Part Command = name-string
- Command that must be executed to write a part to the device. Before
- the command is executed, %a is replaced with the Archive Device, %m
- with the Mount Point, %n with the current part number (0-based),
- and %v with the current part filename.
- + Free Space Command = name-string
- Command that must be executed to check how much free space is left
- on the device. Before the command is executed, %a is replaced with
- the Archive Device, %m with the Mount Point, %n with the current part
- number (0-based), and %v with the current part filename.
-- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
- If this directive is set to yes (default no), a new part file will be
- created after the job is finished.
-- A pile of new Directives to support TLS. Please see the TLS chapter
- of the manual.
-
-New Commands:
-- 'python restart' restarts the Python interpreter. Rather brutal, make
- sure no Python scripts are running. This permits you to change
- a Python script and get Bacula to use the new script.
-
-New configure options:
-- --with-libintl-prefix for defining alternate locations for
- the NLS internationalization libraries. Not normally required.
-- --datadir for defining where the language files will be installed
- required only if you do not want the default /usr/share.
-
-Items to note!!!
-- The Storage daemon now keeps track of what tapes it is using
- (was not the case in 1.36.x). This means that you must be much
- more careful when removing tapes and putting up a new one. In
- general, you should always do a 'unmount' prior to removing a
- tape, and a 'mount' after putting a new one into the drive.
-- If you use an Autochanger, you MUST update your SD conf file
- to use the new Autochanger resource. Otherwise, certain commands
- such as 'update slots' may not work.
-- You must add --with-python=[DIR] to the configure command line
- if you want Python support. Python 2.2, 2.3 and 2.4 should be
- automatically detected if in the standard place.
-- When linking with --with-python, there are a few warnings that
- can be ignored.
-- You must either create a new catalog database or upgrade your
- old database. After installation, run from your scripts
- directory:
-
- ./upgrade_bacula_tables
-
- You can also find this script in the <bacula-source>/src/cats
- directory.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- You must add --with-openssl to the configure command line if
- you want TLS communications encryption support.
-- Disk seeking during restores does not yet work correctly in
- all cases, so it is turned off.
-- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
- AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
- generates bad code that causes Bacula to segment fault.
- Typically you will see this in the Storage daemon first. The
- solution is to compile Bacula ensuring that no optimization is
- turned on (normally it is -O2).
- This same compiler bug has been reported and confirmed with
- gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
- an AMD64 CPU. This for the moment, I would recommend that all
- users of GCC 4.0.1 or greater turn off all optimization when
- compiling.
-
-
-Other Items Fixed:
-- Security fixes for temp files created in mtx-changer, during
- ./configure, and during making of Rescue disk.
-- A new script, dvd-handler, in the scripts directory,
- which is designed to be used as parameters to Write Part Command and
- Free Space Command. They need the dvd+rw-tools to be installed
- (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
- program must be patched using the
- <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
- You must have Python installed to run the scripts.
-- Part files support: File volumes can now be split into multiple
- files, called 'parts'.
-- For the details of the Python scripting support, please see the new
- Python Scripting chapter in the manual.
-- The default user/group for the Director and Storage daemon installed
- by rpms is bacula/bacula, thus you may need to add additional permissions
- to your database, or modify the permissions of the tape drive. If
- all else fails, change to using user=root. However, it is more secure
- to use user=bacula.
+++ /dev/null
-
- Release Notes for Bacula 1.38.4
-
- Bacula code: Total files = 424 Total lines = 140,955 (*.h *.c *.in)
- 20,440 additional lines of code since version 1.36.3
-
-Changes to 1.38.4 BETA:
-09Jan06
-- Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-- Add PoolId to Job record when updating it at job start time.
-- Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-- Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-
-Changes to 1.38.3 released 05Jan06:
-- This is mainly a bug release fix. In addition, the multiple drive
- reservation algorithm has been rewritten.
-- In addition, the method of handling waiting for tapes to be
- mounted and the mount messages has been modified.
- (the above two items are a potential source of problems).
-- Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when "autochanger drives" is called and
- it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
- of the mode.
-- If GUI mode is on, suppress automatic printing of
- You have messages.
-- Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-- Implement load balancing code with multiple drive autochangers.
-- Rewrite reservation algorithm again. Rename variables to be
- more logical, add HEARTBEAT with Director, allow cancel of
- jobs stuck in reservation, add last resourt any_drive.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-- Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.
-- Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-- With -S on bscan (show progress) do not divide by zero.
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.
-- Make wait_for_device() always return after 60 seconds of wait.
-- Use localhost if no network configured
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Update specs to include mysql4 define.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-- Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
- caused an error.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
- at the same time.
-- 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.
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-- Ensure that StorageId is stored in Media record when ever possible.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD. Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
-
-Changes to 1.38.2:
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1:
-- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
-- Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-- Unmount command now unloads autochanger.
-- Fix hang in FD (Martin Simmons)
-- Fix Win98 stat() problem in FD (Thorsten Engel)
-- Fix update slots which did not clear missing tapes.
-- Fix autostart install for FreeBSD (user reported)
-- Fix several problems with PostgreSQL scripts (Eric Bollinger)
-- Critical: allow restore of the first file of non-portable Win32 backup.
-- Important: with muliple concurrent jobs the autochanger could get
- confused because of a missing mutex.
-- Fix accessing last slot in label and update slots.
-- Modify configure.in to add execute option to sqlite3 catalog
- scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
- autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
- by user. Fixes bug #456.
-- AMD64 users see compiler bug warning below!!!!!!!!!
-
-Major Changes in 1.38:
-- Fixed out of order Volumes in restore.
-- Improved algorithm for reserving drives in multiple drive
- autochangers. Autochange users MUST use the new Autochanger
- resource in the Storage daemon.
-- There is a new database format that is not compatible
- with previous databases. You must upgrade if converting
- from 1.36.x. No changes from version 1.37.30.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- Support for ANSI/IBM labels.
-- Faster database inserts due to combining the MD5/SHA1 into
- the attributes record, eliminating one INSERT/file backed up.
-- Python Event support has been added. See below for
- configuration and details. The implementation is somewhat minimal,
- so the functionality is not complete. The Python interface
- has not been extensively tested, so please consider it BETA.
-- DVD writing support, using parts, and some new directives in
- the Device resource of the Storage configuration file thanks
- to Nicolas Boichat. Please note that this code is still
- BETA and should be carefully tested before using in
- production.
-- Seven new options keywords in a FileSet resource:
- ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
- and regexfile thanks to Pruben Guldberg). See below for details.
-- Restore of all files for a Job or set of jobs even if the file
- records have been removed from the catalog.
-- Restore of a directory (non-recursive, i.e. only one level).
-- Support for TLS (ssl) between all the daemon connections thanks
- to Landon Fuller.
-- Any Volume in the Pool named Scratch may be reassigned to any
- other Pool when a new Volume is needed.
-- You may clone a Job and thus write (almost) the same data
- to multiple Volumes simultaneously (see below). Actually,
- any Job may start any other Job with this mechanism, so it
- also be used to group jobs.
-- Unicode filename support for Win32 (thanks to Thorsten Engel)
-- Volume Shadow Copy support for Win32 thus the capability to
- backup exclusively opened files (thanks to Thorsten Engel).
- A VSS enabled Win32 FD is available. You must explicitly
- turn on VSS with "Enable VSS = yes" in your FileSet resource.
-- New manual format with an index (thanks to Karl Cunningham).
-- New Web site format (thanks to Michael Scherer).
-- SQLite3 support.
-- Web-bacula, previously a separate project by Juan Luis Frances,
- is now included in the Bacula GUI release. This is a management
- level tool for reporting the state of Bacula jobs.
-- The code is now Internationalized so that it can be localized
- in native languages. Thanks to Nicolas Boichat.
-
-New Directives:
-- New Job directive "Prefer Mounted Volumes = yes|no" causes the
- SD to select either an Autochanger or a drive with a valid
- Volume already mounted in preference. If none is available,
- it will select the first available drive.
-- New Run directive in Job resource of DIR. It permits
- cloning of jobs. To clone a copy of the current job, use
- Run = "job-name level=%l since=\"%s\""
- Note, job-name is normally the same name as the job that
- is running but there is no restriction on what you put. If you
- want to start the job by hand and use job overrides such as
- storage=xxx, realize that the job will be started with the
- default storage values not the overrides. The level=%l guarantees
- that the chosen level of the job is the same, and the since=...
- ensures that the job uses *exactly* the same time/date for incremental
- and differential jobs. The since=... is ignored when level=Full.
- A cloned job will not start additional clones, so it is not possible
- to recurse.
-- New Options keywords in a FileSet directive (backported to 1.36.3):
- - WildDir xxx
- Will do a wild card match against directories (files will not
- be matched).
- - WildFile xxx
- Will do a wild card match against files (directories will not
- be matched).
- - RegexDir xxx
- Will do a regular expression match against directories (files
- will not be matched).
- - RegexFile xxx
- Will do a regular expression match against files( directories
- will not be matched).
- - IgnoreCase = yes | no
- Will ignore case in wild card and regular expression matches.
- This is handy for Windows where filename case is not significant.
- - FsType = string
- where string is a filesystem type: ext2, jfs, ntfs, proc,
- reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
- systems, use ext2. You may have multiple fstype directives
- and thus permit multiple filesystem types. If the type
- specified on the fstype directive does not match the
- filesystem for a particular directive, that directory will
- not be backed up. This directive can be used to prevent
- backing up non-local filesystems.
- - HFS Plus Support = yes | no
- If set, Mac OS X resource forks will be saved and restored.
-- Label Type = ANSI | IBM | Bacula
- Implemented in Director Pool resource and in SD Device resource.
- If it is specified in the SD Device resource, it will take
- precedence over the value passed from the Director to the SD.
-- Check Labels = yes | no
- Implemented in the SD Device resource. If you intend to read
- ANSI or IBM labels, this *must* be set. Even if the volume
- is not ANSI labeled, you can set this to yes, and Bacula will
- check the label type.
-- Scripts Directory = <directory> name. Defines the directory from
- which Bacula scripts will be called for events. In fact, Bacula
- appends this name to the standard Python list of search directories,
- so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
- a lot, it can be very expensive), by using:
- HardLinks = no
- in the Options section. Patch supplied by David R Bosso. Thanks.
-- MaximumPartSize = bytes (SD, Device resource)
- Defines the maximum part size.
-- Requires Mount = Yes/No (SD, Device resource)
- Defines if the device require to be mounted to be read, and if it
- must be written in a special way. If it set, the following directives
- must be defined in the same Device resource:
- + Mount Point = directory
- Directory where the device must be mounted.
- + Mount Command = name-string
- Command that must be executed to mount the device. Before the command
- is executed, %a is replaced with the Archive Device, and %m with the
- Mount Point.
- + Unmount Command = name-string
- Command that must be executed to unmount the device. Before the
- command is executed, %a is replaced with the Archive Device, and
- %m with the Mount Point.
- + Write Part Command = name-string
- Command that must be executed to write a part to the device. Before
- the command is executed, %a is replaced with the Archive Device, %m
- with the Mount Point, %n with the current part number (0-based),
- and %v with the current part filename.
- + Free Space Command = name-string
- Command that must be executed to check how much free space is left
- on the device. Before the command is executed, %a is replaced with
- the Archive Device, %m with the Mount Point, %n with the current part
- number (0-based), and %v with the current part filename.
-- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
- If this directive is set to yes (default no), a new part file will be
- created after the job is finished.
-- A pile of new Directives to support TLS. Please see the TLS chapter
- of the manual.
-
-New Commands:
-- "python restart" restarts the Python interpreter. Rather brutal, make
- sure no Python scripts are running. This permits you to change
- a Python script and get Bacula to use the new script.
-
-New configure options:
-- --with-libintl-prefix for defining alternate locations for
- the NLS internationalization libraries. Not normally required.
-- --datadir for defining where the language files will be installed
- required only if you do not want the default /usr/share.
-
-Items to note!!!
-- The Storage daemon now keeps track of what tapes it is using
- (was not the case in 1.36.x). This means that you must be much
- more careful when removing tapes and putting up a new one. In
- general, you should always do a "unmount" prior to removing a
- tape, and a "mount" after putting a new one into the drive.
-- If you use an Autochanger, you MUST update your SD conf file
- to use the new Autochanger resource. Otherwise, certain commands
- such as "update slots" may not work.
-- You must add --with-python=[DIR] to the configure command line
- if you want Python support. Python 2.2, 2.3 and 2.4 should be
- automatically detected if in the standard place.
-- When linking with --with-python, there are a few warnings that
- can be ignored.
-- You must either create a new catalog database or upgrade your
- old database. After installation, run from your scripts
- directory:
-
- ./upgrade_bacula_tables
-
- You can also find this script in the <bacula-source>/src/cats
- directory.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- You must add --with-openssl to the configure command line if
- you want TLS communications encryption support.
-- Disk seeking during restores does not yet work correctly in
- all cases, so it is turned off.
-- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
- AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
- generates bad code that causes Bacula to segment fault.
- Typically you will see this in the Storage daemon first. The
- solution is to compile Bacula ensuring that no optimization is
- turned on (normally it is -O2).
- This same compiler bug has been reported and confirmed with
- gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
- an AMD64 CPU. This for the moment, I would recommend that all
- users of GCC 4.0.1 or greater turn off all optimization when
- compiling.
-
-
-Other Items:
-- Security fixes for temp files created in mtx-changer, during
- ./configure, and during making of Rescue disk.
-- A new script, dvd-handler, in the scripts directory,
- which is designed to be used as parameters to Write Part Command and
- Free Space Command. They need the dvd+rw-tools to be installed
- (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
- program must be patched using the
- <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
- You must have Python installed to run the scripts.
-- Part files support: File volumes can now be split into multiple
- files, called "parts".
-- For the details of the Python scripting support, please see the new
- Python Scripting chapter in the manual.
-- The default user/group for the Director and Storage daemon installed
- by rpms is bacula/bacula, thus you may need to add additional permissions
- to your database, or modify the permissions of the tape drive. If
- all else fails, change to using user=root. However, it is more secure
- to use user=bacula.
+++ /dev/null
-
- Release Notes for Bacula 1.38.9
-
- Bacula code: Total files = 419 Total lines = 137,078 (*.h *.c *.in)
- 20,440 additional lines of code since version 1.36.3
-
-Warning for version 1.38.8 and greater:
-- The Windows FD no longer automatically folds the case
- in wild-card comparions. To get the same behavior as before,
- you must explicitly use "Ignore Case = yes" in your FileSet.
-- Backslashes are no longer permitted in File directives
- (typical error for Windows users), unless the string is
- enclosed in double quotes, in which case, the backslashes
- must be doubled.
-- The new algorithm for selecting Volumes from the Scratch
- pool that was implemented in 1.38.6 and 1.38.7 is abandoned
- in favor of a corrected version of the 1.38.5 algorithm.
-
-New features for 1.38.9:
-- A "Dir Status" button in the Gnome console.
-
-Fixes:
-This is mainly a bug fix release containing a collection of
- minor fixes for 1.38.8.
-- Added code to strip backslashes from Windows filenames during
- a restore.
-- Corrected Win32 License to use the correct LICENSE file.
-- Corrected the buffer count and bytes reported in the heap
- statistics.
-- Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-- Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
- machines -- the names should all be in Unix format, and if
- there are any backslashes it is most likely due to an improper
- FileSet definition, and the files will not otherwise be
- restorable.
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
-- Add back ua_label barcode fix from Rufolf Cejka.
-- Add 'Dir Status' button to the gnome console.
-- Display heap stats in Storage daemon without debug level.
-- Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-- Update job start time after the any run before job so that
- files created by the script are only backed up once. Fixes
- bug #599.
-- Strip trailing newline only from filenames entered in
- the restore command when reading a file. This permits
- the user to enter filenames with trailing spaces. Fixes
- bug #549. The user supplied a patch that I modified slightly.
-- Use the most recent time (st_mtime, st_ctime) in the dir
- command in restore. This gives the user a better idea of what
- the newest file really is. This fixes bug #574. The fix
- was suggested by the user.
-- Remove the -f option from the chown in Makefile.in for more
- portability.
-- Change setting the group in Makefile.in to use chgrp for
- more portability.
-- Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-
-!!!! Important !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- In Bacula version 1.38.5 and prior, there was apparently a
- compiler bug that caused the Storage daemon to seg fault.
- I have applied a workaround in version 1.38.6 and greater that
- seems to work. If you experience problems, follow the instructions
- below.
-
- If you are compiling for a 64 bit machine, you need to ensure
- that the code is compiled with the -O0 (- oh zero) option otherwise
- the SD will crash on most all operations -- apparently due to
- a compiler bug in gcc's 64 bit code generation.
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-
-New features for 1.38.8:
-- Regex, RegexFile, and RegexDir are now implemented in the
- Win32 FD. However, this is new experimental code that is
- largely untested. It may not work, it may cause memory
- leaks, or it may even crash the FD. Please test carefully
- before using.
-- On Linux/Unix systems there are two new programs, bregex
- and bwild that allow you to test regular expressions and
- wild-cards. These programs are installed with the other
- binaries. They are not available on Win32 systems.
-
-Fixes:
-- See below.
-
-New Features from pre-1.38.8 releases:
-- For autochanger get Scratch tape if in autochanger if
- no appendable Volumes are available.
-- New virtual disk autochanger. See scripts/disk-changer for
- documentation.
-- New optional Device resource directive in SD. 'Device Type =',
- which may have types: File, DVD, Tape, or FIFO. This can
- be useful for writing DVDs on FreeBSD where Bacula cannot
- correctly detect the DVD.
-- Faster restore tree building and uses less memory.
-- The command line keyword job (or jobname) now refers to the
- name of the job specified in the Job resource; jobid refers
- as before to the non-unique numeric jobid; and ujobid refers
- to the unique job identification that Bacula creates for each
- job.
-- The job report for Backups has a few more user friendly ways
- of displaying the information.
-- The wait command can now be made to wait for jobids.
-- New command line keywords are permitted in update volume. They
- are Inchanger=yes/no, slot=nn.
-- Add two new console commands: enable job=<job-name> and
- disable job=<job-name>. When a job is disabled, it will not
- be started by the scheduler. If you disable a job and restart
- Bacula or reload the .conf file, the job will be re-enabled.
-- Add a new Job resource directive "enable = yes|no".
-- There is a new program named regex in the tools directory that
- allows you to try regular expressions on your system.
-
-Major bug fixes:
-- Fix race condition in multiple-drive autochangers where
- both drives want the same Volume.
-- Do not allow opening default catalog for restricted console
- if it is not in ACL.
-- Writable FIFOs now work for restore.
-- ACLs are now checked in all dot commands.
-- Multiple drive autochangers and multiple different autochangers
- should now work correctly (no race conditions for Volume names,
- update slots use correct StorageId).
-- Fix bug where drive was always reserved if a restore job failed
- while in the reservation process.
-
-
-Minor bug fixes:
-- See below:
-
-Release 1.38.8 (14Apr06)
-14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
-12Apr06
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
- to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-- Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-- Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Remove the code added to 1.38.6 and 1.38.7 that pulls a
- scratch volume in an Autochanger early in the 'recycling'
- algorithm.
-08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-- Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-
-Release 1.38.7 (06Apr06) released 07Apr06
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
- implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-
-Release 1.38.6 (28Mar06) released 29Mar06
-28Mar06
-- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
- and new jcr chain locking.
-26Mar06
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-- 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
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-- Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-- Add Thorsten's VSS timeout code to 1.38 branch.
-- Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-
-Release 1.38.6 beta6 16Mar06
-- Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-- Disallow multiple storage specifications for a job. Should fix Arno's
- problem.
-- Add back a missing store of poolid in jr.poolid.
-- If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
-
-Release 1.38.6 beta5 14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- Fix Rescheduling failed Jobs. Ensure that SD message thread
- terminates correctly by doing pthread_kill(). Do not destroy
- SD cond wait variable between executions of the job. Use local
- mutex for cond variable to avoid blocking jcr chain. Fix poor
- use of jcr use count in jobq.c for restarted jobs.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- Use new routine lock_reservations() to lock the reservations
- system, and call it while looking for a volume in askdir.c.
- This could possibly fix bug #543.
-- Stop SD command loop if job is canceled.
-
-Release 1.38.6 beta3 4Mar06
-04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
- buffers in all cases.
-- Convert to using new Python class definitons with (object).
-- 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 listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
- Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
-
-26Feb06
-- Fix bug reported by Arno listing blocks with bls
-- Update the po files at Eric's request.
-
-Release 1.38.6-beta2 25Feb06
-25Feb06
-- Add sql_use_result() define.
-
-Changes to 1.38.6-beta1
-- Don't open default catalog if not in ACL.
-- Add virtual disk autochanger code.
-- Add user supplied bug fix to make two autochangers work
- correctly using StorageId with InChanger checks.
-- Correct new/old_jcr confusion in copy_storage().
-- Remove & from Job during scan in msgchan.c -- probably
- trashed the stack.
-- When getting the next Volume if no Volume in Append mode
- exists and we are dealing with an Autochanger, search
- for a Scratch Volume.
-- Check for missing value in dot commands -- bug fix.
-- Fix bug in update barcodes command line scanning.
-- Make sure Pool Max Vols is respected.
-- Check that user supplied a value before referencing
- it in restore -- pointed out by Karl Hakimian.
-- Add Karl Hakimian's table insert code.
-- Don't ask user to select a specific Volume when
- updating all volumes in a Pool.
-- Remove reservation if set for read when removing dcr.
-- Lock code that requests next appendable volume so that
- two jobs to get the same Volume at the same time.
-- Add new Device Type = xxx code. Values are file, tape,
- dvd, and fifo.
-- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
- a re-open to change read/write permission on a device.
-- Correct a misplaced double quote in certain autochanger
- scripts.
-- Make make_catalog_backup.in a bit more portable.
-- Implement Karl Hakimian's sql_use_result(), which speeds
- up restore tree building and reduces the memory load.
-- Correct a number of minor bugs in getting a Volume from
- the Scratch Pool.
-- Implement additional command line options for update Volume.
-- Don't require user to enter a Volume name when updating
- all Volumes in a pool.
-
-Release 1.38.5 released 19Jan06:
-- Apply label barcodes fix supplied by Rudolf Cejka.
-- Modify standard rpm installation to set SD group to disk
- so that SD will by default have access to tape drives.
-- Allow users to specify user/group and start options
- for each daemon in /etc/sysconf/bacula file.
-
-Changes to 1.38.4 released 17Jan06:
-- The main changes are to the Director and the Storage daemon,
- thus there is no need to update your File daemons. Just the
- same, I do recommend running with the release 1.38.3 Win32
- FD or later.
-- 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, ...).
-- Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
-- Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-- Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-- Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
-- 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.
-- During 'update slots' clear all InChanger flags where the
- StorageId is zero (old Media records).
-- Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-- Add PoolId to Job record when updating it at job start time.
-- Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-- Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-
-Changes to 1.38.3 released 05Jan06:
-- This is mainly a bug release fix. In addition, the multiple drive
- reservation algorithm has been rewritten.
-- In addition, the method of handling waiting for tapes to be
- mounted and the mount messages has been modified.
- (the above two items are a potential source of problems).
-- Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when 'autochanger drives' is called and
- it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
- of the mode.
-- If GUI mode is on, suppress automatic printing of
- You have messages.
-- Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-- Implement load balancing code with multiple drive autochangers.
-- Rewrite reservation algorithm again. Rename variables to be
- more logical, add HEARTBEAT with Director, allow cancel of
- jobs stuck in reservation, add last resourt any_drive.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-- Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.
-- Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-- With -S on bscan (show progress) do not divide by zero.
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.
-- Make wait_for_device() always return after 60 seconds of wait.
-- Use localhost if no network configured
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Update specs to include mysql4 define.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-- Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
- caused an error.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
- at the same time.
-- 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.
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-- Ensure that StorageId is stored in Media record when ever possible.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD. Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491.
-
-Changes to 1.38.2:
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1:
-- Corrected ACL for Solaris (David Duchscher and Attila Fulop).
-- Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-- Unmount command now unloads autochanger.
-- Fix hang in FD (Martin Simmons)
-- Fix Win98 stat() problem in FD (Thorsten Engel)
-- Fix update slots which did not clear missing tapes.
-- Fix autostart install for FreeBSD (user reported)
-- Fix several problems with PostgreSQL scripts (Eric Bollinger)
-- Critical: allow restore of the first file of non-portable Win32 backup.
-- Important: with muliple concurrent jobs the autochanger could get
- confused because of a missing mutex.
-- Fix accessing last slot in label and update slots.
-- Modify configure.in to add execute option to sqlite3 catalog
- scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
- autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
- by user. Fixes bug #456.
-- AMD64 users see compiler bug warning below!!!!!!!!!
-
-Major Changes in 1.38:
-- Fixed out of order Volumes in restore.
-- Improved algorithm for reserving drives in multiple drive
- autochangers. Autochange users MUST use the new Autochanger
- resource in the Storage daemon.
-- There is a new database format that is not compatible
- with previous databases. You must upgrade if converting
- from 1.36.x. No changes from version 1.37.30.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- Support for ANSI/IBM labels.
-- Faster database inserts due to combining the MD5/SHA1 into
- the attributes record, eliminating one INSERT/file backed up.
-- Python Event support has been added. See below for
- configuration and details. The implementation is somewhat minimal,
- so the functionality is not complete. The Python interface
- has not been extensively tested, so please consider it BETA.
-- DVD writing support, using parts, and some new directives in
- the Device resource of the Storage configuration file thanks
- to Nicolas Boichat. Please note that this code is still
- BETA and should be carefully tested before using in
- production.
-- Seven new options keywords in a FileSet resource:
- ignorecase, fstype, hfsplussupport, wilddir, wildfile, regexdir,
- and regexfile thanks to Pruben Guldberg). See below for details.
-- Restore of all files for a Job or set of jobs even if the file
- records have been removed from the catalog.
-- Restore of a directory (non-recursive, i.e. only one level).
-- Support for TLS (ssl) between all the daemon connections thanks
- to Landon Fuller.
-- Any Volume in the Pool named Scratch may be reassigned to any
- other Pool when a new Volume is needed.
-- You may clone a Job and thus write (almost) the same data
- to multiple Volumes simultaneously (see below). Actually,
- any Job may start any other Job with this mechanism, so it
- also be used to group jobs.
-- Unicode filename support for Win32 (thanks to Thorsten Engel)
-- Volume Shadow Copy support for Win32 thus the capability to
- backup exclusively opened files (thanks to Thorsten Engel).
- A VSS enabled Win32 FD is available. You must explicitly
- turn on VSS with 'Enable VSS = yes' in your FileSet resource.
-- New manual format with an index (thanks to Karl Cunningham).
-- New Web site format (thanks to Michael Scherer).
-- SQLite3 support.
-- Web-bacula, previously a separate project by Juan Luis Frances,
- is now included in the Bacula GUI release. This is a management
- level tool for reporting the state of Bacula jobs.
-- The code is now Internationalized so that it can be localized
- in native languages. Thanks to Nicolas Boichat.
-
-New Directives:
-- New Job directive 'Prefer Mounted Volumes = yes|no' causes the
- SD to select either an Autochanger or a drive with a valid
- Volume already mounted in preference. If none is available,
- it will select the first available drive.
-- New Run directive in Job resource of DIR. It permits
- cloning of jobs. To clone a copy of the current job, use
- Run = 'job-name level=%l since=\'%s\''
- Note, job-name is normally the same name as the job that
- is running but there is no restriction on what you put. If you
- want to start the job by hand and use job overrides such as
- storage=xxx, realize that the job will be started with the
- default storage values not the overrides. The level=%l guarantees
- that the chosen level of the job is the same, and the since=...
- ensures that the job uses *exactly* the same time/date for incremental
- and differential jobs. The since=... is ignored when level=Full.
- A cloned job will not start additional clones, so it is not possible
- to recurse.
-- New Options keywords in a FileSet directive (backported to 1.36.3):
- - WildDir xxx
- Will do a wild card match against directories (files will not
- be matched).
- - WildFile xxx
- Will do a wild card match against files (directories will not
- be matched).
- - RegexDir xxx
- Will do a regular expression match against directories (files
- will not be matched).
- - RegexFile xxx
- Will do a regular expression match against files( directories
- will not be matched).
- - IgnoreCase = yes | no
- Will ignore case in wild card and regular expression matches.
- This is handy for Windows where filename case is not significant.
- - FsType = string
- where string is a filesystem type: ext2, jfs, ntfs, proc,
- reiserfs, xfs, usbdevfs, sysfs, smbfs, iso9660. For ext3
- systems, use ext2. You may have multiple fstype directives
- and thus permit multiple filesystem types. If the type
- specified on the fstype directive does not match the
- filesystem for a particular directive, that directory will
- not be backed up. This directive can be used to prevent
- backing up non-local filesystems.
- - HFS Plus Support = yes | no
- If set, Mac OS X resource forks will be saved and restored.
-- Label Type = ANSI | IBM | Bacula
- Implemented in Director Pool resource and in SD Device resource.
- If it is specified in the SD Device resource, it will take
- precedence over the value passed from the Director to the SD.
-- Check Labels = yes | no
- Implemented in the SD Device resource. If you intend to read
- ANSI or IBM labels, this *must* be set. Even if the volume
- is not ANSI labeled, you can set this to yes, and Bacula will
- check the label type.
-- Scripts Directory = <directory> name. Defines the directory from
- which Bacula scripts will be called for events. In fact, Bacula
- appends this name to the standard Python list of search directories,
- so the script could also be in any of the Python system directories.
-- In FileSet, you can exclude backing up of hardlinks (if you have
- a lot, it can be very expensive), by using:
- HardLinks = no
- in the Options section. Patch supplied by David R Bosso. Thanks.
-- MaximumPartSize = bytes (SD, Device resource)
- Defines the maximum part size.
-- Requires Mount = Yes/No (SD, Device resource)
- Defines if the device require to be mounted to be read, and if it
- must be written in a special way. If it set, the following directives
- must be defined in the same Device resource:
- + Mount Point = directory
- Directory where the device must be mounted.
- + Mount Command = name-string
- Command that must be executed to mount the device. Before the command
- is executed, %a is replaced with the Archive Device, and %m with the
- Mount Point.
- + Unmount Command = name-string
- Command that must be executed to unmount the device. Before the
- command is executed, %a is replaced with the Archive Device, and
- %m with the Mount Point.
- + Write Part Command = name-string
- Command that must be executed to write a part to the device. Before
- the command is executed, %a is replaced with the Archive Device, %m
- with the Mount Point, %n with the current part number (0-based),
- and %v with the current part filename.
- + Free Space Command = name-string
- Command that must be executed to check how much free space is left
- on the device. Before the command is executed, %a is replaced with
- the Archive Device, %m with the Mount Point, %n with the current part
- number (0-based), and %v with the current part filename.
-- Write Part After Job = Yes/No (DIR, Job Resource, and Schedule Resource)
- If this directive is set to yes (default no), a new part file will be
- created after the job is finished.
-- A pile of new Directives to support TLS. Please see the TLS chapter
- of the manual.
-
-New Commands:
-- 'python restart' restarts the Python interpreter. Rather brutal, make
- sure no Python scripts are running. This permits you to change
- a Python script and get Bacula to use the new script.
-
-New configure options:
-- --with-libintl-prefix for defining alternate locations for
- the NLS internationalization libraries. Not normally required.
-- --datadir for defining where the language files will be installed
- required only if you do not want the default /usr/share.
-
-Items to note!!!
-- The Storage daemon now keeps track of what tapes it is using
- (was not the case in 1.36.x). This means that you must be much
- more careful when removing tapes and putting up a new one. In
- general, you should always do a 'unmount' prior to removing a
- tape, and a 'mount' after putting a new one into the drive.
-- If you use an Autochanger, you MUST update your SD conf file
- to use the new Autochanger resource. Otherwise, certain commands
- such as 'update slots' may not work.
-- You must add --with-python=[DIR] to the configure command line
- if you want Python support. Python 2.2, 2.3 and 2.4 should be
- automatically detected if in the standard place.
-- When linking with --with-python, there are a few warnings that
- can be ignored.
-- You must either create a new catalog database or upgrade your
- old database. After installation, run from your scripts
- directory:
-
- ./upgrade_bacula_tables
-
- You can also find this script in the <bacula-source>/src/cats
- directory.
-- The Director, Storage daemon, and File daemons are
- Deamons are not compatible with prior versions.
- All FDs must be upgraded at the same time.
-- You must add --with-openssl to the configure command line if
- you want TLS communications encryption support.
-- Disk seeking during restores does not yet work correctly in
- all cases, so it is turned off.
-- Note, with gcc (GCC) 4.0.1 20050727 (Red Hat 4.0.1-5) on an
- AMD64 CPU running 64 bit CentOS4, there is a compiler bug that
- generates bad code that causes Bacula to segment fault.
- Typically you will see this in the Storage daemon first. The
- solution is to compile Bacula ensuring that no optimization is
- turned on (normally it is -O2).
- This same compiler bug has been reported and confirmed with
- gcc (GCC) 4.0.2 20050901 (prerelease) (SUSE Linux) running on
- an AMD64 CPU. This for the moment, I would recommend that all
- users of GCC 4.0.1 or greater turn off all optimization when
- compiling.
-
-
-Other Items Fixed:
-- Security fixes for temp files created in mtx-changer, during
- ./configure, and during making of Rescue disk.
-- A new script, dvd-handler, in the scripts directory,
- which is designed to be used as parameters to Write Part Command and
- Free Space Command. They need the dvd+rw-tools to be installed
- (http://fy.chalmers.se/~appro/linux/DVD+RW/) AND, the growisofs
- program must be patched using the
- <bacula-source>/patches/dvd+rw-tools-5.21.4.10.8.bacula.patch
- You must have Python installed to run the scripts.
-- Part files support: File volumes can now be split into multiple
- files, called 'parts'.
-- For the details of the Python scripting support, please see the new
- Python Scripting chapter in the manual.
-- The default user/group for the Director and Storage daemon installed
- by rpms is bacula/bacula, thus you may need to add additional permissions
- to your database, or modify the permissions of the tape drive. If
- all else fails, change to using user=root. However, it is more secure
- to use user=bacula.
+++ /dev/null
- Technical notes on version 1.38
- Kern Sibbald
-
-General:
-Release 1.38.11 (28Jun06) released 28JunO6
-28Jun06
-- Add test for IRIX64 as OS
-- Fix scheduler hang during clock shift (due to missing unlock())
-- Minor tweaks to bregex.c
-- Fix to block.c to correctly check for DVD number of parts.
-- Fix to dev.c to permit DVD seeking in spool file. Corrects
- label rewriting problems.
-- Clarify license for techlogs (GPL). I consider them "part" of
- the source code of Bacula.
-- Use FDL license for developer's manual, French translation, German
- translation, bimagemgr manuals (same as the main manual), and
- the web site.
-
-Release 1.38.10 (08Jun06) released 12JunO6
-08Jun06
-- Modify setting ACLs to suppress error message if the file is a
- symbolic link since the file linked to may not yet be created,
- and symbolic links really should not have attributes ...
-- Remove old regex code from baconfig.h
-06Jun06
-- Complete implementation of acl.c error message during restore.
- During backups, errors getting acls are silently ignored, as was
- previously the case.
-04Jun06
-- Modify configure.in to check for typeof().
-- Better detection of postgresql installation if pg_conf works.
-- Fix RescheduleTimes = 0 bug (should not reschedule).
-- Down port from 1.39: fixes for reload, autochanger error messages,
- scheduler fixes for reload and day light savings change,
-01Jun06
-- Implement partial error messages for src/filed/acl.c
-- Fix return code to fail when doing update barcodes and
- Pool resource is not found. This previously caused Volumes
- to be labeled as cleaning tapes.
-- Small updates to projects file.
-26May06
-- Prevent DVD code from rewriting label if the device cannot be
- opened read/write.
-- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-- Update projects file.
-24May06
-- Applied patch posted by Jaime Ventura to bug #570 to correct failure
- of restarted jobs to complete (due to a destroyed pthreads conditional
- variable used by the message thread).
-- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
- set to zero.
-- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-- Apply patch from Rudolf Cejka bug #614 to removed trailing
- colons in query.sql file.
-- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
- not to create orphans.
-- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
- in restore long listing.
-- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
- of incorrect MarkedId.
-- Apply patch from adioso bug #616 to correct text in manual (replace
- Director with File daemon).
-21May06
-- Move DIR "run" command to SD before starting the message thread
- as suggested by Cristopher Hull to avoid a race deadlock from
- two threads using the bsock structure.
-- Modify LICENSE to correct some problems pointed out by Debian.
-05May06
-- Correct EOF with no \n lex.c problem.
-- Add additional INFO messages if autochanger cannot be used.
-- Add Eric Bollengier's lex error handler fix, which corrects most
- of the reload problems.
-
-Release 1.38.9 (02May06) released 02MayO6
-02May06
-- Added code to strip backslashes from Windows filenames during
- a restore.
-- Corrected Win32 License to use the correct LICENSE file.
-- Corrected the buffer count and bytes reported in the heap
- statistics.
-26Apr06
-- Implement an NT_() macro to indicate that text should NOT
- be translated.
-- Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-- Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-- Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-- Strip all backslashes in filenames to be restored on Win32
- machines -- the names should all be in Unix format, and if
- there are any backslashes it is most likely due to an improper
- FileSet definition, and the files will not otherwise be
- restorable.
-- Remove lib/regex.c (replaced by bregex.c).
-- Delete src/win32/License.txt
-- Modify installer to install LICENSE
-25Apr06
-- Add back ua_label barcode fix from Rufolf Cejka.
-23Apr06
-- Add 'Dir Status' button to the gnome console.
-- Display heap stats in Storage daemon without debug level.
-22Apr06
-- Integrate most of the MinGW changes -- more to do.
-21Apr06
-- Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-- Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-- Update job start time after the any run before job so that
- files created by the script are only backed up once. Fixes
- bug #599.
-- Strip trailing newline only from filenames entered in
- the restore command when reading a file. This permits
- the user to enter filenames with trailing spaces. Fixes
- bug #549. The user supplied a patch that I modified slightly.
-- Use the most recent time (st_mtime, st_ctime) in the dir
- command in restore. This gives the user a better idea of what
- the newest file really is. This fixes bug #574. The fix
- was suggested by the user.
-18Apr06
-- Remove the -f option from the chown in Makefile.in for more
- portability.
-- Change setting the group in Makefile.in to use chgrp for
- more portability.
-- Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-- Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-
-Release 1.38.8 (14Apr06) released 14Apr06
-15Apr06
-- Correct Makefile bug found by Dan Langille.
-14Apr06
-- Correct Makefile for Solaris /bin/sh
-- Correct mtx-changer.in for Solaris /bin/sh
-- Abort if a conf resource does not have a Name =
-12Apr06
-- Change the name of the regex program to bregex.
-- Add the bwild program to the tools directory. It is similar
- to the bregex program.
-- Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-- Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-- Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-- Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-- Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-- Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-- Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-- Remove the code added to 1.38.6 and 1.38.7 that pulls a
- scratch volume in an Autochanger early in the 'recycling'
- algorithm.
-08Apr06
-- Tweak license to include Microsoft restrictions.
-- Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-- Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-- Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-
-Release 1.38.7 (06Apr06) released 07Apr06
-06Apr06
-- Remove timed wait for VSS on Win2K3 as it is not yet
- implemented.
-- Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-
-Release 1.38.6 (28Mar06) released 29Mar06
-28Mar06
-- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr()
- and new jcr chain locking.
-26Mar06
-- Fix a long standing bug in the bacula start/stop scripts.
-- Attempt to add the new bacula-ctl-* files to the rpm.
-- Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-- 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
-24Mar06
-- Create datestyle fix for PostgreSQL. Fixes bug #574.
-- Correct editing of JobId from int to int64 in fd_cmds.c
-- Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-- Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-- Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-- Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-- Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-- Add Thorsten's VSS timeout code to 1.38 branch.
-21Mar06
-- Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-20Mar06
-- Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-17Mar06
-- Implement regex test program in tools directory.
-- Attempt to fix time problem with bsmtp with foreign langs.
-- Add strip_trailing_newline() submitted by user.
-
-16Mar06
-- Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-- Disallow multiple storage specifications for a job. Should fix Arno's
- problem.
-- Add back a missing store of poolid in jr.poolid.
-- If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-- If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-- Fix bug #567 do_message() definition type conflict.
-
-
-14Mar06
-- Add more jcr methods and make mutex and use_count private.
-- Create lock/unlock methods for jcr.
-- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-- Integrate patch from bug #561 to correct conio.c signal definitions.
-- Fix Rescheduling failed Jobs. Ensure that SD message thread
- terminates correctly by doing pthread_kill(). Do not destroy
- SD cond wait variable between executions of the job. Use local
- mutex for cond variable to avoid blocking jcr chain. Fix poor
- use of jcr use count in jobq.c for restarted jobs.
-- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -- prevents locking the jcr chaing.
-- Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-- Fix bug #562 where restore bootstrap file is not unique.
-- Use new routine lock_reservations() to lock the reservations
- system, and call it while looking for a volume in askdir.c.
- This could possibly fix bug #543.
-- Stop SD command loop if job is canceled.
-
-09Mar06
-- Use John Kodis' edit_with_suffix code to edit VolBytes.
-- Backport some fixes for acquire.c. Most importantly, to explicitly
- have a reserved_device flag for acquire_for_read(). Hopefully
- this will correct the remaining issues with failed restores holding
- a drive.
-- Add a job_canceled() check in SD command loop.
-
-Release 1.38.6 beta3 4Mar06
-04Mar06
-- The po files should now be current.
-- Fix new sql_use_result() code to properly release the
- buffers in all cases.
-- Convert to using new Python class definitons with (object).
-- 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 listing by any of the above.
-- Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes from John Kodis <kodis at comcast.net>.
-- Add Priority and JobLevel as Python settable items.
-- Use TEMPORARY table creation where the table is created by
- Bacula.
-- Add new code submitted by Eric for waiting on specific jobid.
-- Add ACL checking for the dot commands.
-- Fix restore of writable FIFOs.
-- Fix a bug in bpipe where the string was freed too early.
-
-26Feb06
-- Fix bug reported by Arno listing blocks with bls
-- Update the po files at Eric's request.
-
-Release 1.38.6-beta2 25Feb06
-25Feb06
-- Add sql_use_result() define.
-
-Release 1.38.6 beta1 24Feb06
-24Feb06
-- Don't open default catalog if not in ACL.
-
-22Feb06
-- Add virtual disk autochanger code.
-- Add user supplied bug fix to make two autochangers work
- correctly using StorageId with InChanger checks.
-- Correct new/old_jcr confusion in copy_storage().
-- Remove & from Job during scan in msgchan.c -- probably
- trashed the stack.
-- When getting the next Volume if no Volume in Append mode
- exists and we are dealing with an Autochanger, search
- for a Scratch Volume.
-- Check for missing value in dot commands -- bug fix.
-- Fix bug in update barcodes command line scanning.
-- Make sure Pool Max Vols is respected.
-- Check that user supplied a value before referencing
- it in restore -- pointed out by Karl Hakimian.
-- Add Karl Hakimian's table insert code.
-- Don't ask user to select a specific Volume when
- updating all volumes in a Pool.
-- Remove reservation if set for read when removing dcr.
-- Lock code that requests next appendable volume so that
- two jobs to get the same Volume at the same time.
-- Add new Device Type = xxx code. Values are file, tape,
- dvd, and fifo.
-- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across
- a re-open to change read/write permission on a device.
-- Correct a misplaced double quote in certain autochanger
- scripts.
-- Make make_catalog_backup.in a bit more portable.
-- Implement Karl Hakimian's sql_use_result(), which speeds
- up restore tree building and reduces the memory load.
-- Correct a number of minor bugs in getting a Volume from
- the Scratch Pool.
-- Implement additional command line options for update Volume.
-- Don't require user to enter a Volume name when updating
- all Volumes in a pool.
-
-Release 1.38.5 released 19Jan06:
-19Jan06
-- Apply label barcodes fix supplied by Rudolf Cejka.
-18Jan06
-- Modify standard rpm installation to set SD group to disk
- so that SD will by default have access to tape drives.
-- Allow users to specify user/group and start options
- for each daemon in /etc/sysconf/bacula file.
-
-Release 1.38.4 released 17Jan06:
-16Jan06
-- 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, ...).
-15Jan06
-- Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-14Jan06
-- Correct bug counting sized (for display only) in smartall.c
-- Print FD mempool stats if debug > 0 rather than 5.
-12Jan06
-- Make db_lock() mutex error fail the job rather than abort
- Bacula. Canceling the job caused the mutex to fail.
-- Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-- Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-- Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
-11Jan06
-- 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.
-- During 'update slots' clear all InChanger flags where the
- StorageId is zero (old Media records).
-
-Beta release 1.38.4:
-09Jan06
-- Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-- Back port a bit of 1.39 crypto code to reduce diffs.
-- Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-07Jan06
-- Add PoolId to Job record when updating it at job start time.
-06Jan06
-- Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-- Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-Release 1.38.3 05Jan06:
-04Jan06
-- Move the suitable_drive flag to a better place to prevent
- premature termination of the reservation if all drives
- are busy -- should fix Arno's diff/inc pool failures.
-26Dec05
-- Add mutex to single thread VSS code in Win32.
-
-Beta release 23Dec05:
-22Dec05
-- Add OPENSSL_INC to console dependencies, lib dependencies, and
- wx-console dependencies in Makefile.in
-- Add OPENSSL INC/LIB to gnome2_console Makefile.in.
-- Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait
- code.
-- Modify the wait code to permit multiple returns.
-- Return a zero when 'autochanger drives' is called and
- it is not an autochanger.
-- Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-- Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-- Return error if reserve cannot find at least one suitable device.
-- Make wait_for_sysop() return correct state information.
-- Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-21Dec05
-- Modify gui on command to set only GUI mode and not batch.
-- Modify .messages command to always print messages regardless
- of the mode.
-- If GUI mode is on, suppress automatic printing of
- You have messages.
-- Delete old bnet packet code.
-- Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
- wx-console.
-- Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-Beta release 20Dec05:
-20Dec05
-- Fix seg fault in exit of acquire when canceling a job --
- reported by Wolfgang Denk
-19Dec05
-- Implement load balancing code.
-- Pull a few files from 1.39 where we can maintain compatibility.
-- Rewrite reservation algorithm again. Rename variables to be
- more logical, add HEARTBEAT with Director, allow cancel of
- jobs stuck in reservation, add last resourt any_drive.
-17Dec05
-- Remove quotes from Version table name -- it breaks things.
-- Fix seg fault if user labels a drive directly bug #513
-- Remove quotes around Version as it breaks things.
-16Dec05
-- Merge in Aleksandar Milivojevic's mods to the spec file.
-- Apply sparse code fix for raw drives and fifos. Bug 506
-- Thorsten fixed Unicode cd problem with wx-console bug 505.
-Beta release 14Dec05:
-14Dec05
-- Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-- Add quotes around table Version because of
- error in MySQL 4.1.15 -- bug report submitted.
-- Correct some minor problems with btape in the fill
- command.
-- Updates to ssh-tunnel from Joshua Kugler.
-- Added a report.pl program from Jonas Bjorklund.
-- Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-- Do not wait for open() if EIO returned (shouldn't happen).
-- Eliminate 3 argument to tape open().
-- Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-- With -S on bscan (show progress) do not divide by zero.
- Bug #510
-13Dec05
-- Make cancel pthread_cond_signal() pthread_cond_broadcast().
-- When dcr is freed, also broadcast dev->wait_next_vol signal.
-- Remove unused code in wait_for_device.
-- Make wait_for_device() always return after 60 seconds of wait.
-12Dec05
-- Use localhost if no network configured
-11Dec05
-- Eliminated duplicate MaxVolBytes in cat update -- bug 509.
-- Remove debug print.
-- Add bail_out in error during state file reading.
-Beta release 10Dec05:
-09Dec05
-- Merge updates into 1.38 branch
-- Update specs to include mysql4 define.
-- Stop read_record() if status not ok in second loop.
-- Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-- Fix butil.c to correctly set dcr -- fixes seg fault in bls.
-08Dec05
-- Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-- Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-07Dec05
-- Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-- Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-06Dec05
-- Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-- Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-- Add sanity check in append.c to ensure that dcr is not NULL.
- This can happen if multiple drive autochanger SCSI control
- channel and drive indicies do not correspond.
-05Dec05
-- Get next volume from Scratch pool before creating a volume.
-- Set new Pool defaults in Vol when moved from Scratch Pool.
-- Remove argument from create_bacula_database for SQLite as it
- caused an error.
-- Add back next_vol index code so that two drive autochangers can get
- a second tape.
-- Change a bunch of debug levels to aid debugging autochangers.
-- Fix reservation so that mutexes are properly applied.
-- Rework reservation algorithm so that two drives can be used
- at the same time.
-04Dec05
-- 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.
-03Dec05
-- Fix font code in gnome2 console user patch. Fixes bug #501.
-- Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-- Applied user patch to improve README.vc8 in src/win32.
-29Nov05
-- Correct some more editing of JobId's (for 64 bit compatibility).
-- Ensure that StorageId is stored in Media record when ever possible.
-- Add Migration Job to Job.
-- Change Start Storage daemon job to require read and write storage
- pointers.
-- Pass read storage data to SD as well as write storage data.
-- Remove old code from winservice.cpp
-- Break on error in scan.
-- Fix typo in signal.c
-- Separate read/write DCR in SD. Add jcr->read_dcr.
-- Cleanup how find_device() works.
-- Add read output to Status in SD.
-21Nov05
-- Remove abs() in bfile.c so that it compiles on Solaris.
- Bug #491.
-
-Changes to 1.38.2: 22 November 2005
-20Nov05
-- Fix crash in tray-monitor when daemon disconnects. Bug #479.
-- Fix bnet-server bug found on OpenBSD. Bug #486 (bug originator
- says this does not fix *his* bug).
-- Fix cancel failure bug. Bug #481
-- Fix failure when Pool name has spaces. Bug #487
-- Fix SD crash in autochanger code. Mutex failure. Bug #488
-- Fix a couple of free()s in src/filed/acl.c
-- Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-- Add Pool name to SD status output.
-- Add Python install dir for Solaris to configure. Bug #492
-
-Changes to 1.38.1: 15 November 2005
-14Nov05
-- Apply SunOS patch for ACLs submitted by David Duchscher.
-- Make sure to set storage before trying to set drive.
-- Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-- Make sure when we do a mount to unblock the device even
- if the drive could not be opened.
-13Nov05
-- Merge Scott's new spec files.
-- Add doc on setting up Win32 environment variable supplied
- by Kees van den Broek.
-- Turn off API debug output unless debug set to avoid confusing
- the user.
-- Add Solaris ACL detection in configure.in as supplied by
- Attila Fulop.
-12Nov05
-- Implement 'autochanger drives' protocol so that Dir knows
- how many drives an autochanger has.
-- Do not request drive number in label, ... if only one drive.
-- Turn off debug code.
-- Fix update slots to clear slot number of every slot before
- setting it. This fixes (I believe) bug #471
-- Make unmount unload the autochanger slot.
-- Modify open() on mount to be read-only and non-blocking,
- otherwise the mount can block for a long time.
-- Make a few error message numbers unique.
-- Make a few error messages more correct.
-- Apply patch from Thorsten to fix Win98 stat() command.
-10Nov05
-- Remove delete of CVS from all makefiles.
-- Fix seg fault when clicking on Add button in wx-console
- restore panel. Bug #470.
-- Fix copyright date and URL typo -- bug #468.
-- Change autostart install for FreeBSD to look for rc.conf
- rather than rc.local as suggested fix for bug #466.
-- Apply patch supplied by Eric Bollinger to fix PostgreSQL
- grant on status. Bug #465
-- Apply patch supplied by Eric Bollinger to fix PostgreSQL
- update script. Bug #464
-- Fix off by one for last Slot of autochanger for label.
-- Update release date.
-- Tweak an authentication error message in dir.
-- Fix autoloader so that mutex is set and released around
- each run_program(). There was a missing set.
-- Remove an unnecessary drive release in autochanger.
-- Modify configure.in to add execute option to sqlite3 catalog
- scripts.
-- Create update_xxx_table_8_to_9 scripts for updatedb
-- Fix wrong variable in bpipe.c debug output reported by user.
-- Fix improper placement of encode_and_send_attributes() in
- FD backup.c causing first file of non-portable Win32 backup
- to have wrong stream. Reported by Thorsten.
-- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in
- autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457.
-- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested
- by user. Fixes bug #456.
-
-Released 1.38.0 (28Oct05): 31 October 2005