Technical notes on version 1.39
General:
+19Nov06
+kes Implement unique dbid routine for migration to prevent the same
+ JobId from being migrated twice. This should fix bug #709.
+18Nov06
+kes Apply Jaime Ventura's 'mail on success' patch.
+kes Add a SMALLOC_SANITY_CHECK for Arno, which aborts Bacula
+ if memory usage gets too big.
+kes Tweak migration to ensure that read/write devices are different.
+17Nov06
+kes Create an AUTHORS file to list Bacula contributors.
+kes Add Richard Stallman's four GPL freedoms to LICENSE
+kes Require the conf file to have a valid NextPool for writing the
+ migration output.
+16Nov06
+ebl Enable RecycleCount in catalog.
+ebl Fix "echo python | bconsole" segfault
+14Nov06
+kes Implement code to pass the MediaId to the SD. The SD then uses
+ this MediaId when creating JobMedia records. This fixes a bug
+ with Migration where the MediaId got set to the second Volume
+ read rather than the write Volume. Possibly (unlikely) fixes
+ bug #709.
+kes Remove NextPool from Job resource.
+kes Edit a few numbers in the restore dialog with commas.
+kes Note, the DIR<->SD protocol has changed.
+13Nov06
+kes Replace () by {} in configure.in for proper HP configuration.
+kes Shorten some lines over 80 characters in filed/backup.c
+kes Cast sizeof() in filed/backup.c to avoid compiler warning.
+
+Version 1.39.28 released:
+12Nov06
+kes Change error message 'illegal' to 'invalid' -- bug #707
+kes Add rather primitive device resource deadlock detection in
+ the job queue handler. It detects the same read and write device
+ for migration and cancels the job.
+kes Start adding a unique_dbid_hander() routine in migration to avoid
+ duplicate mediaids and duplicate jobids.
+kes Add patch from bug #708 to permit relative paths such as ../xxx
+ in the restore tree routine.
+kes Add Eric Bollengier's patch to reduce locking time in the SD after
+ despooling, and thus many jobs finish faster.
+kes Correct locking order of reservations lock and device mutex in
+ reserve.c -- this should correct Arno's deadlock that occurred
+ when doing mount/unmount at the same time a job is reserving a
+ drive.
+05Nov06
+rbn Fixed problems with encryption when combined with compression
+ or sparse files. Unfortunately this means that all previous
+ encrypted backups can't be restored.
+rbn Fixed problem in bfgets with Windows and Mac end of lines.
+rbn Fixed bug in Windows version of close_bpipe() that cause programs
+ like bsmtp() to hang waiting for the pipe to be closed. Fixed
+ binary file type problems in open_bpipe().
+rbn Fixed a number of bugs in the mysql DB scripts.
+03Nov06
+ebl Fix broken runscript on director. (RunBefore, RunAfter)
+ebl Use M_ERROR instead of M_FATAL in runscript.c
+31Oct06
+ebl Small fix src/dird/job.c to add JobErrors count to catalog.
+rbn Ignore UTF-8 marker at the start of .conf files.
+rbn Add stab2cv to 3rd party dependencies. This is a utility I
+ wrote that is licensed under the GPL and available on SourceForge.
+ It converts the stab debugging info generated by gcc into Codeview
+ format. Currently it just translates function names to global
+ symbols. This is sufficient to get reasonable stack traces from
+ Dr Watson and to look at minidumps.
+rbn Fix bug # 699 - winbacula client crashes whilerunning bat scripts.
+rbn Enable Windows XP look and feel for the tray icons and wx-console.
+rbn Add Windows specific FileSet example to bacula-dir.conf.
+rbn Reorganize Start menu so that documentation and configuration are
+ in subfolders.
+21Oct06
+rbn Change daemons and utilities so that if -c is omitted from the
+ command line AND there is no configuration file in the current
+ directory then the 'standard' configuration file (eg
+ /etc/bacula/bacula-*.conf) will be used. If the argument to -c
+ doesn't contain any path separators AND there is no configuration
+ file by that name in the current directory then the 'standard'
+ configuration file directory will be searched for a file by that
+ name.
+rbn Fixed restore on Windows so that backslashes as path separators works.
+rbn Add missing query.sql file to Windows installer.
+rbn Fixed Windows versions of catalog backup scripts.
+20Oct06
+kes Fix optional files in Makefile.in of src/filed that caused
+ a syntax error when using no optional files.
+15Oct06
+lf Fix a cosmetic bug in filed.c that caused spurious OpenSSL error
+ messages; there is no reason to attempt to load a private key.
+ from master key files.
+
+Version 1.39.26 released:
+12Oct06
+kes Apply the three patches from Richard Mortimer.
+ bacula-reposition.patch, bacula-tape-reopen.patch, and
+ bacula-eod.patch. This corrects tape positioning on older devices,
+ and also a problem with btape.
+kes Apply fix from bug report #696 where writing to a FIFO does not
+ work due to a dumb typo.
+kes Unlock the tape door before the file descriptor is released. This
+ should fix lots of somewhat subtle failures when using an autochanger.
+11Oct06
+kes Correct mtx-changer bug that I introduced in a recent commit, and
+ pointed out by Robert Nelson -- thanks.
+rbn Fix Windows' daemons so that messages print to stdout if not
+ running as a service.
+rbn Add daemon name to trace file name (eg bacula-dir.trace).
+rbn Fix environment variable expansion in directory names on Windows.
+rbn Fix autochanger support in fill command.
+rbn Update SQL scripts to match Unix versions.
+rbn Fix daemon usage displays.
+rbn Cleanup bacula-dir.conf template.
+rbn Install openssl.cnf so that the openssl.exe installed in the
+ Bacula\bin directory can be used to generate keys and
+ certificates for TLS and encryption.
+rbn Fix cleanup of spool files on Windows.
+rbn Remove /silent option from daemons on Windows. The new default
+ is the same as the old /silent. To enable the message boxes that
+ previously were suppressed by /silent you must add /debug instead.
+ NOTE: As a result of this change, the first time you upgrade from
+ a previous version of 1.39.x you will receive the message
+ boxes when the remove of the old services succeeds. This
+ is the same behaviour as when migrating from a version prior
+ to 1.39.0.
+ However, going forward, these message boxes will not appear on
+ upgrades or new installs.
+rbn Add new /debug option. This option enables the message boxes that
+ previously were suppressed by the /silent option. In addition the
+ daemons running as services will open a console window if this
+ option is used.
+rbn Fix bug with service not being removed on migrated installs. This
+ should correct those cases where the file daemon install was failing
+ when upgrading from versions prior to 1.39.x.
+08Oct06
+kes Turn on heap reporting in Dir with zero debug level.
+kes Send a message to the sys log when Bacula forces a SEG FAULT, and
+ send the same message to stdout.
+07Oct06
+kes Begin work on new GUI 'console'.
+kes Make configure look in non-standard MySQL library directory
+ for Solaris.
+kes Make mtx-changer automatically configure the autochanger wait
+ procedure for Solaris, FreeBSD, and Linux. Previously, only Linux
+ was implemented.
+kes Correct drop_sqlite_tables.in script to not delete the database.
+kes When writing to a log file, close and reopen the file descriptor
+ if there is an error writing the file.
+kes Modify the autochanger loaded?, load, and unload commands to print
+ the full text of any mtx output if there is an error. Helps to
+ ease diagnosis of autochanger problems.
+kes Correct a few Win32 errno returns in the VSS code so that hopefully
+ a resonable Win32 error message will be printed.
+kes Convert a few strcat()... to bstrncat() in the Win32 code.
+06Oct06
+rbn Added Windows version of bsmtp.
+rbn Fixed path search for Windows so that Bacula\bin is automatically
+ searched for programs and scripts.
+rbn Fixed bugs in mtx-changer.cmd and made template bacula-sd.conf
+ Windows specific.
+
+Version 1.39.24 released:
+02Oct06
+kes Apply dvd find volume patch from Richard Mortimer.
+kes Eliminate the dvd specific mount routines using only the
+ dev->mount/unmount.
+kes Make update_free_space a method of DEVICE and rename
+ update_freespace.
+01Oct06
+kes Require a messages command acl to be able to receive messages
+ in a console.
+kes Add console, system, and scan job types in util.c.
+28Sep06
+kes Print the Volume purged message only for real jobs to keep
+ from cluttering up the daemon messages.
+kes Lock the tape drive door while Bacula is using the device.
+kes Add back the 'No Jobs running' message to FD and SD status because
+ my regression script depends on it, and I'm too lazy to change the
+ scripts.
+kes Start using structure assignments (not too happy about it ...).
+kes Fix a bug in the tools Makefile that broke on Solaris.
+kes Unload any autochanger drive during a 'release' command.
+26Sep06
+kes Enhance error message when restoring without bootstrap file.
+kes Check restored size only for regular files.
+kes Store Python job level in job record in Dir.
+kes Add back code to open tape device nonblocking, but if rewind fails
+ release file descriptor.
+kes Modify acquire.c to first try autoloading the device. Also, ask operator
+ to mount tape if drive cannot be opened.
+rbn Made Windows service tray status windows resizable.
+rbn Fixed horizontal scrolling of text in status window.
+rbn Preserve horizontal and vertical scroll position while
+ updating. This prevents the display being reset to the
+ top line every 5 seconds.
+rbn Fix Windows cross-compile compatibilty problems with
+ *nix variants such as OS X without the zic command.
+rbn Eliminate dependency on man2html.
+25Sep06
+kes Update src/win32/dll/bacula.def for change in BPIPE definition for
+ Win32 build.
+kes Fix a compiler warning in compat.cpp
+kes Change strcpy to bstrncpy in compat.cpp
+kes Remove some broken code in bdb_list.c
+kes Fix, hopefully the last, ACL problem in the restore command.
+kes Update the README.mingw32
+kes Add new version of upgrade-win32-client.txt to examples directory.
+ Submitted by Michel Meyers.
+kes Print an INFO message in the job report when a Volume is marked Purged.
+rbn Fixed handling of external program and script execution
+ so that the format of the command line is more flexible.
+ Now executable path names containing spaces are translated
+ to the equivalent short name automatically. The result is
+ passed to cmd.exe with the quotes removed.
+24Sep06
+kes Apply the recycle patch from Richard Mortimer.
+kes Convert a few if statements in dev.c to switch statements.
+kes Start using print_errmsg instead of bstrerror().
+kes Print a job message in SD when a job is marked to be canceled.
+23Sep06
+kes All code added back. Fixed block.c read/write to loop only 3
+ times. This apparently keeps the OS from crashing (at least
+ most of the time).
+kes The kernel bug still persists. Backup something then immediately
+ do a bscan on the same tape, and the kernel will crash.
+kes Simplifed tape open(). It no longer uses nonblocking mode, which
+ means that opening with no tape loaded will probably take at least
+ 6 minutes before an error is reported.
+kes Do not use MTSETDRVBUFFER if not running as root. Do a MTRESET
+ when doing set_os_device_parameters.
+kes Report open error in mount.c
+kes Remove all .exe files from the installer directory on make clean.
+20Sep06
+kes Start adding back removed code.
+kes Back out a number of changes because backups to tape crash my
+ system.
+kes Remove the inetd code from the File daemon.
18Sep06
kes Add -c option to pg_dump so that it initializes tables when
restored.
a different spooling mechanism.
kes Apply patch from Richard Mortimer to ensure that the number
of DVD parts is correctly updated.
+rbn Save installer details log in the Bacula directory as
+ install.log.
+rbn Add installer generation of client and storage templates
+ suitable for @inclusion on the director.
+rbn Mark previously installed Win32 components read-only since
+ deselection doesn't do anything.
Version 1.39.22 beta released:
08Sep06
kes Fix logic error in handling error return from mtx-changer
script.
kes Make status from SD aware of -1 (unknown) Slot status.
-kes At Eric's suggestion make both the "slots" and "drive" commands
+kes At Eric's suggestion make both the 'slots' and 'drive' commands
to the Storage daemon work even if the drive is busy.
kes Make two separate Win32 menu links for starting bconsole and
wx-console in winbacula.nsi
kes Integrate multiple console/director patch from
Carsten Paeth calle@calle.in-berlin.de
ebl Add character substitution in Job/JobDefs WriteBootStrap.
- You can use now 'WriteBootStrap = "/path/%c_%n.bsr"'
+ You can use now 'WriteBootStrap = '/path/%c_%n.bsr''
kes Apply patch supplied in bug #656 to pass priority field
in the run dialog to the Director in gnome console
kes Restore DCR after VOL_NAME_ERROR in mount.c. Hopefully
kes Update examples directory.
kes Remove unused variable in winservice.cpp
kes Make Win32 make command build installer.
+rbn Add new Install Type page, used to select between Automatic
+ and Custom installs. Automatic installs only prompt for
+ configuration items that can't be reasonably defaulted.
+rbn Added Bacula logo to page headers.
+rbn Added Upgrade support
+ - Configuration and component selection are migrated from
+ pre-1.39 installs.
+ - Configuration of upgraded components is preserved and
+ not prompted for
+ - Configuration of new components is handled according to
+ the Automatic / Custom selection.
+ - Component selection is defaulted to previously selected
+ components.
+rbn Installation of Server components is disabled on
+ Windows 95, 98 and ME.
+rbn Added URLs for support, info and upgrades to Bacula entry
+ in Add/Remove Programs.
+rbn Added Version info to Bacula entry in Add/Remove Programs.
04Sep06
kes Correct dvd code that breaks tape labeling.
kes Implement Enabled on update slots.
kes Correct spooled_part flag in dev.c close() so that it is cleared
when the spool file is deleted or does not exist.
kes Print part number in read_records when eof hit (restore).
+rbn Installer default changed to start services on new install.
31Aug06
--es Make find with no args in tree restore return error rather than
+kes Make find with no args in tree restore return error rather than
stopping the selection. Fixes bug #665
kes Rework DVD writing to ensure that the last part is written
on open_next_part when dealing with a spool file.
kes Correct the lseek_dev() routine to handle end point correctly
(bug introduced by me).
kes Allow part number to exceed num_dvd_parts in lseek_dev().
+rbn Change make_session_key on Windows to use WIN32 APIs to produce
+ a better seed.
+rbn Add new tool scsilist.exe which displays the changer, tape and
+ CD/DVD (1394, SCSI, SATA, ATAPI) devices and the information required
+ to add them to bacula-sd.conf.
30Aug06
-kes Apply dvd-handler patch from Richard Mortimer.
+kes Apply dvd-handler patch from Richard Mortimer.
kes Apply dvd error check patch from Richard Mortimer.
kes Apply bpipe race patch from Richard Mortimer.
kes Rework how DVD labels are handled and set append only
triggered it -- makes why not descending a bit clearer.
kes Do not unload autochanger when doing a list command -- basic code
from Eric Bollengier.
-07Aug06
+12Aug06
+rbn Reworked the MinGW32 build-dependencies script, it has been renamed
+ to build-depkgs-mingw32. It now handles two options -h to display
+ help and -C to reextract the source and apply the patches. The -C
+ option is useful for updating the source after new patches are
+ released.
+rbn Moved the 3rd party package URLs to a separate file External-mingw32.
+ This allows updating to new versions without having to modify the
+ script and makes it easier to figure out which packages and which
+ versions are used.
+rbn Added a new script build-depkgs-msvc.cmd which does the same thing
+ as build-depkgs-mingw32 except they are built using Microsoft Visual C
+ and placed in the depkgs-msvc directory. There is also an
+ External-msvc file to describe the packages.
+08Aug06
+rbn Fix Windows cross-compile compatibilty problems with FreeBSD.
+07Aug06
kes Fix bug #462 incorrect error message printed when client script called
from File= was not found.
kes Fix bug #558 (waiting for feedback) where Bacula needs too much time to
and forcing a 6 second wait.
===================== Warning =============================
- Removed "Accept Any Volume" directive.
+ Removed 'Accept Any Volume' directive.
===========================================================
kes Major cleanup and simplification of regress using shell functions
kes Rework a few of the zlib changes so that they build properly.
21May06
-kes Move DIR "run" command to SD before starting the message thread
+kes 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.
kes Modify LICENSE to correct some problems pointed out by Debian.
volume so that it can handle multiple returns from the wait
code.
kes Modify the wait code to permit multiple returns.
-kes Return a zero when "autochanger drives" is called and
+kes Return a zero when 'autochanger drives' is called and
it is not an autochanger.
kes Make rewind_dev() a method taking a DCR as an argument.
This permits closing and reopening the drive if the
from find_one.c as it can generate too many warning messages.
kes Modify most restore error messages to be queued so that they
appear at the end of the job rather than mixted with the restore
- listing where they could be "lost".
+ listing where they could be 'lost'.
06Dec05
kes Reset timeout values before select() per patch from
Frank Sweetser for problems with non-blocking sockets.
kes Landon merged his data encription changes into the HEAD
kes 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"
+ 'list nextvol days=xx'
or
- "status dir days=xx"
+ '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.