+ Technical notes on version 2.1
-2002-mm-dd Version 1.27 (22Oct02) not yet released
-General: from kes29Oct02
-- Major change to the bnet communications routines.
+General:
+ Technical notes on version 2.0
-Changes submitted this submission:
-- Modified the bacula script to use pid files, so this script should
- now work on more platforms. Updated devel_bacula as well.
-- Added the full GNU hostname on the configuration print output.
-- Added gettimeofday() to configure, and tweaked a few variables for
- OpenBSD.
-- Added a chapter to the manual on Porting Bacula to other platforms.
-- Documented in Tips how to use the WriteBootstrap record.
-- Modified bc_types.h to error if 64 bit types are not found.
-- Pass replace option for restore to the FD (no code to use it yet).
-- Modify the FD to pass back the GNU OS string as well as the DISTNAME
- and DISTVER. This needs to be put in the Client record in the catalog.
-- Major reworking of the bnet routines to eliminate the zero length which
- previously indicated a signal. This risks to create some subtle communications
- bugs. The changes now permit blank lines to be sent from the user to the
- Director.
-- Found and corrected a few more places where the Win32 attributes were not
- being recognized.
-- Permit spaces in the Where string (restore) by bashing/unbashing them.
-- Handle quotes correctly in the Console program (actually Dir ua code).
- Previously they were not handled in the middle of a string.
-- Corrected two error message (error reading file), which previously stated
- it was a network error.
-- Reworked the files in the binary Windows release. Removed unused programs
- and added a README with the copyright as suggested by John. Also added
- console.exe to the release.
-- Found and corrected an autoloader mount problem where the wrong tape
- was specified. Previously it looped, then gave up. Now it correctly
- detects the volume is not correct and zaps the Slot in the catalog.
+General:
+12Jan07
+kes Return JobId in db_get_job_record() when JobId==0. This should
+ fix bug #741.
+kes Do not release source pointers when restarting a failed job.
+11Jan07
+kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+ This *should* fix bug #747.
+kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+ bug #742.
+09Jan07
+kes Modify USTORE constructor to set an empty store_source string,
+ and don't copy the store_source string in a cancel. Hopefully
+ this will fix Arno's seg fault, bug #744.
+kes Add back code to disable conio in configure. Fixes bug #743.
+kes Correct the Options scanner in the FD to correctly handle
+ SHA1 option, which was eating the next option. Reported by
+ Sebastien Guilbaud.
+kes Add code to indicate when the SD is spooling, spool wait, and
+ despooling as requested by Alan Brown.
-General: from kes23Oct02
-- I have mainly worked on getting all the details of a Restore
- to work correctly (new tape format, support for Win32
- attributes, ...)
-- Trademarked name Bacula.
-- Implement Bacula tape format 11 (1.0 Immortal). This format
- will be maintained forever.
-- Accept Any Volume is yes by default. This modifies Bacula's behavior
- when writing tapes.
-Changes submitted this submission:
-- Corrected a bug on FreeBSD where CFLAGS would get a "yes". I was
- unable to reproduce this, but a user confirmed the correction.
- It was a problem with detection of largefile support, which FreeBSD
- has by default.
-- Added a new "license" chapter in the manual. Re-licensed a number of
- library routines (bnet.c, hmac.c md5.c, cram-md5, ...) with LGPL so that they
- can be used in proprietary software to access Bacula if so desired.
-- Move Director's AutoChanger doc to correct location (in Storage
- resource).
-- Document why trademark (to protect compatibility).
-- Implement and turned on Bacula tape format 11 (also BB02). This
- format moves the VolSessionId and VolSessionTime from each record
- header into the Block header. This is MUCH more efficient when reading
- records as now whole blocks can be skipped.
- Also added JobStatus in End Of Session record, and added MD5 for
- FileSet, which is necessary to insure uniqueness.
-- Implement a new Bacula time format for btime_t. It is Epoch time
- in microseconds (i.e. base 1 Jan 1970 in microseconds).
- This replaces previous floating point times.
-- Added Win32 extended attributes. In doing so, I moved all attribute
- handling from src/lib into src/findlib. Added new streams for
- Win32 attributes and for GZIP Win32 attributes.
-- Modified "Accept Any Volume" so that it really permits any volume
- in the pool to be mounted.
-- Removed "Mount Anonymous Volumes" from Storage daemon config.
-- Implemented sparse files. You must add "sparse=yes" on the include line
- for it to be enabled.
-- Print "None" in backup summary rather than 0.0% if there is no compression
- enabled.
-- Improved error checking in daemon connection/authentication code to prevent
- garbage data from harming a Bacula daemon.
-- All daemon tools MUST have a config file.
-- Completely strip drive specification on Win32 if a Where prefix is specified.
-- Corrected DB info for writing to files. Now the File Address is stored
- in File-Block variables in the catalog.
-- All Storage daemon tools now use common code for acquiring/reading
- Volumes.
-- If a device is unmounted, report it even if the device is not open. This
- will help inform users who have BLOCKED Bacula by unmounting a drive.
+Version 2.0.0 released: 4 January 2007
+03Jan07
+kes Apply Eric's fix for client name editing on RunScripts.
+kes Fix an incorrect dbcheck reference to Id.
-=============================================================================
-2002-10-12 Version 1.26 (10Oct02)
-General: from kes10Oct02
-- Changed Job name conventions to avoid : which is an illegal
- character on Windows.
+Version 1.39.34 Released:
+28Dec06
+kes Convert dbcheck to use 64 bit DB IDs.
+kes Update projects
+kes Make rescue work.
+kes Clarify Volume migration error message.
+kes Look for Job keyword when opening DB in console.
+23Dec06
+kes Add code in catreq.c to reject volumes not marked Enabled.
+kes Add a few more ACL access checks.
+kes Add \n in gnome2-console restore command so that output prints
+ nicer -- i.e. lines do not run together.
+kes Fix autolabeling so that it will not mark a volume in error
+ if the volume was not actually opened. This should fix bugs
+ #737 and 738.
+kes Require tape drive to be open before autolabeling.
+kes Require explicit mount command on non-tapes before autolabeling.
+kes Implement an open_client_db() that searches the keywords for
+ either a catolg or client, and opens the appropriate catalog.
+ This makes Bacula adjust better to multiple catalogs.
+kes Use more name() methods for resources rather than hdr.name.
+22Dec06
+kes Fix code to check for two resources of same name. It forgot
+ to check the last entry. Fixes bug #734.
+kes Apply scanvolume patch from Richard Mortimer that fixes bug
+ #738.
+kes Apply Eric's patch for recycling the Scratch pool.
+kes Note, for the tray-monitor (or almost any restricted console_
+ to work, in version 1.39.x you must add CatalogACL = catalog-name
+kes Add appropriate new #undefs to autoconf/acconfig.h so that
+ configure works correctly.
+kes Implement configure code to allow the user to disable IPv6 with
+ --disable-ipv6
+kes Apply Richard Mortimer's patch to prevent seg fault if mount point
+ not specified -- SD refuses to start.
+kes Add magic.bacula from bug #715 to the scripts directory along with
+ Arno's explanation of how to install it.
+kes Convert a bunch of hdr.name into name() method calls.
+kes Fix the code to remove .bsr files. Fixes bug #736 -- Martin.
-Changes submitted this submission:
-- Added check for inet_pton to configure.in. If it does not
- exist (e.g. Windows) use inet_aton
-- Documentation on GZIP.
-- Another restore doc example.
-- Documented btape fill command.
-- Set default restore directory from /tmp to /tmp/bacula-restores
-- Add additional no find error messages to sql_get.c
-- Creating a bootstrap file on Windows failed because the Job name
- contained colons which are illegal on Windows. Replaced the
- colons with periods. This corrects the Windows restore problem.
-- Print number of files to be restored in "restore" command.
-- On Windows systems, if there is a prefix, completely eliminate
- any drive: at the beginning of a path.
-- Minor corrections to the tree routines to handle Windows
- files such as c:/ better. Previously it insisted on /c:/, which
- would then not be found in the catalog for a "dir" command.
-- Modified cd command in restore to try /c: if c: fails.
-- Add a new S_ISWIN32 bit to the st_mode word so that low level
- routines that create files do not print error messages.
-- More work must be done to restore all Windows files correctly.
- Currently the following bits are not handled:
- Archive
- Hidden
- System
- Also, all the dates are not properly restored.
+Version 1.39.32 released:
+20Dec06
+kes Take first catalog if gui is set, or if using dotcmd.
+kes Fix a couple of compiler warnings in wx-console
+kes Apply the immutable patch for FreeBSD hardlinked files supplied
+ by Olivier Lehmann.
+kes Add Volume name to Forward spacing message.
+kes Update migration job start time (so it is not zero) to prevent
+ immediate recycling of the job. This *should* fix bug #733.
+19Dec06
+ebl Fix runscript configuration parsing bug.
+17Dec06
+kes Add ENABLE_NLS (as suggested by Eric) to correct NLS problems.
+ Remove NLS kludge from baconfig.h. This fixes bug #729.
+kes Allow seeking on DVD.
+kes Add additional messages when Job canceled automatically for
+ max run time or max start wait exceeded. This fixes bug #621.
+kes Update maxruntime-test in regression script to properly test
+ max run time -- from info given in bug #621.
+kes Simplify automatic cancel code.
+kes Add check for job_canceled() in FD when contacting SD so that if
+ job is canceled from max runtime, it terminates faster.
+16Dec06
+kes Save and restore volume name in stored/mount.c fixed bug #712
+ where wrong tape was requested in a mount.
+kes Implement cleaner orphan buffer dumping with buf address.
+kes Fix orphaned buffer when canceling job waiting on op intervention.
+kes Update projects file for next vote.
+kes Implement a fix (more could be done) for bug #728 where a double
+ EOF is writing on the Volume when spooling is enabled and the
+ connection with the FD fails (FD crash, comm error).
+kes Disable attempting to autolabel when polling and device is not
+ a tape. This fixes bug #730 where polling with a removable disk
+ not mounted caused lots of new Volumes to be created then marked
+ in error.
+15Dec06
+kes Enable VSS by default.
-General: from kes09Oct02
-- More documentation.
-- Implemented new fill command in btape that permits filling
- a tape and then reading it back to ensure that it works
- with Bacula.
+Version 1.39.30 released:
+14Dec06
+kes Complete hopefully the last of the copyright transfer changes.
+kes Separate NumVolumes in SD to NumReadVolumes and NumWrite volumes so
+ that migration writing to multiple volumes doesn't mess up reading
+ Volumes. This should fix bug #720 -- multivol migration fails.
+kes Make migration SQL look only for Type='B' jobs to migrate. This should
+ fix bug #724 jobs getting migrated twice.
+kes Convert remaining dev_cap(dev, ...) to use dev->has_cap().
+kes Implement dev->clear_cap() and dev->set_cap() methods.
+kes Turn off disk seeking on restore for DVDs since I am not 100%
+ sure it works.
+13Dec06
+kes Implement code that should properly set that a job was migrated,
+ if the migration was successful even if there were no file to
+ migrate.
+kes Apply Richard's patch to fix building or filed/restore.c without
+ OpenSSL support.
+kes Ensure that at least one block is written by the SD even if the
+ FD dies or fails -- should fix bug #728.
+kes Convert stored/record.c ASSERT into a soft fail if the length of
+ a record is too insanely long. This should fix bug #???
+12Dec06
+kes Fix automatic labeling of File volumes, which was broken by new
+ removable device code.
+10Dec06
+kes Remove typedef uLong for HP in baconfig.h. It broke things.
+lf Fix job byte reporting -- the digest code runs in verify.c and
+ increases this value. The better solution is to digest the
+ stream as we receive it, thus removing the need to re-read
+ from disk at all, but that requires more extensive and
+ potentially destabilizing changes.
+lf This commit fixes backup and restore of HFS+ resource forks.
+lf Add a long-missing 'break' statement in HFS+ attribute
+ handling that resulted in restore failures.
+09Dec06
+ebl Fix runscript to always execute command after all job type.
-Changes submitted this submission:
-- Added ReadBytes to JCR, which contains Job bytes read by
- FD, JobBytes contains compressed output of FD.
-- Modified FD to pass back JobStatus, ReadBytes, JobBytes, ...
- for backup jobs. This is upward compatible.
-- Modified backup termination status report to contain the
- compression ratio 100 * (1 - compressed-bytes/uncompressed-bytes)
- This will always be zero if no software compression was
- done, or if you are using a version 1.25 or older FD.
-- Pickup Job termination status of FD in backup, so now
- the termination status represents the state of all three
- daemons.
-- Implemented new fill command in btape that permits filling
- a tape and then reading it back to ensure that it works
- with Bacula.
+Version 1.39.30 released:
+08Dec06
+kes Mark build-depkgs-mingw3 executable in configure process.
+kes Update autoconf/config.h.in to include LOCALEDIR
+kes Undefine NLS settings for wxWidgets as there is a conflict with
+ their way of doing things.
+kes Implement a rpool and rpool_source in jcr.h for Migration jobs.
+kes Change a bunch of ->hdr.name to ->name()
+kes Straighten out handling of read and write pools for Migration, including
+ getting the code in the proper order.
+kes Improve migration error messages and debug output.
+kes Shorten code path in migration if nothing found to do.
+kes Implement read/write pool in migration job report.
+kes Move ua_run.c select_job_level code into a subroutine (readability).
+kes Move ua_run.c display_job_parameters into a subroutine.
+kes Do not bash dcr->VolumeName in get_volume_info() because it makes
+ restore dependent on a valid catalog containing the Volume name.
+06Dec06
+kes Put make_catalog_backup SQL_BINDIR in an environment variable to
+ make it easier for the user to change.
+kes Fail any backup job that tries to use encryption and sparse options.
+ Hopefully this is a temporary change.
+kes Correct the EndJob return string for non-backup jobs.
+kes Review the encryption restore code.
+kes Implement a new encryption regression test with compression.
+kes Modify migrate not to fail if nothing found to migrate.
+kes Add #undef HAVE_OPENSSL, HAVE_TLS, HAVE_CYRPTO to autoconf/config.h.in
+ because they were not always set correctly.
+05Dec06
+kes Update configure.in to include python 2.5 search.
+kes Back out unwanted migration change reported by Richard Mortimer.
+04Dec06
+kes Make migration with no files to migrate set normal termination.
+kes Change message when job manually started to say Job queued. ...
+kes Add job report indication of whether or not VSS and Encryption were
+ used by the FD.
+kes Modify sparseBlock variable name to make the code clearer.
+kes Add more sparse tests to regress using gigaslam sparse file
+ generator.
+kes Enable data encryption code.
+kes Add gigaslam.c to src/tools. It creates a 1GB file that contains
+ only two blocks -- i.e. it is a real sparse file.
+03Dec06
+kes Enable disk seeking on restore.
+kes Implement the SD 'Block Positioning = yes|no' directive. This
+ allows the user to turn off block level seeking, but restores
+ will be much slower.
+kes Change the word illegal to read invalid in a few places.
+kes Fix Win32 build, which broke when I added parse_args_only in
+ lib. I'm not sure I got the entry point right for msvc.
+kes Turn off data encryption. It can be enabled by defining
+ DATA_ENCRYPTION in src/version.h and recompiling.
+kes Implement flag to turn off data encryption feature.
+kes Move unserial code in restore.c to a subroutine. Add a bit of debug
+ code.
+kes Rework a bit of code in backup.c to handle sparse blocks correctly.
+ The main problem was that signatures were being generated on blocks
+ of zeros, which is unnecessary.
+02Dec06
+kes Fix scanner (next_arg) to handle leading double quote correctly.
+kes Modify cd command in restore tree to look at full argument without
+ keywords. This fixes bug #716.
+01Dec06
+kes Do not update Migrated Job type if migration does not terminate
+ normally. This fixes bug #719.
+kes Update ReleaseNotes
+kes Purge Job records from the catalog for Migration. This was
+ not properly done previously. This fixes bug #718.
+28Nov06
+kes Initialize msg_type to M_INFO in migration. Pointed out by
+ Robert Nelson.
+kes Add some fflush() statements for debug output. This should not
+ really be necessary and defeats buffering but users continue
+ to complain.
+27Nov06
+kes More copyright changes.
+kes Make sure we don't detach from the despool read device since it
+ is a temporary structure where the condition variables are not
+ initialized. Bug #711.
+26Nov06
+kes Add Bacula version+date to Client record. This is a very minor
+ security problem in that passing the version facilitates a hacker's
+ life, but it will make support easier.
+kes Implement fixes to make disk seeking work. Currently turned
+ off in version.h pending reserch on what problems it will cause
+ because of the previous bsnprinf() sign extension bug.
+25Nov06
+kes Add Landon's refactor of restore Feature request to the
+ projects file.
+kes Tweak debug levels and messages for examining the disk
+ seek problem.
+22Nov06
+kes Cleanup some of the error termination code in migration.
+kes Separate read/write source strings to keep track of where
+ storage devices are used in a job.
+kes Implement a new method of keeping track of which storage
+ device is used in a Job. USTORE keeps both a pointer to the
+ resource and to the source string.
+kes Modify all code to use new storage set subroutines in job.c
+kes Modify migrate.c so that the definitive selection of the storage
+ resource is done in the do_migration_init() routine prior to
+ the job going into the job queue. This permits accurate
+ deadlock detection (same read and write storage resource).
+kes Remove bfill from btape (I think it was a left over stub).
+22Nov06
+kes Make sure that the storage for a job is pulled first from
+ the Pool and if not from the Job.
+kes Ensure that either the Pool or the Job specifies a Storage
+ resource.
+21Nov06
+kes Start applying new FSFE copyright.
+20Nov06
+kes Add additional error messages in acquiring a drive for read.
+kes Make WritePartAfterJob the default so that the last DVD part
+ always gets written to the DVD by default.
+kes Add additional error messages in migration.
+kes Suppress redundant error messages in migration (possibly more to do).
+kes Apply Martin's fix (updated to 1.39) that takes into account
+ run storage overrides in the Director status display.
+kes Implement, but turn off the submitted code that sets the EOT
+ model on FreeBSD machines. Turning on this code is too risky at
+ this point in the development.
+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.
-General: From kes06Oct02
-- Implemented first major cut of bscan -- program to scan a tape
- and recreate a Bacula catalog.
-- Fixed lseek() relative negative seek that prevented writing multiple
- jobs to a File volume.
-- Implemented BB02 tape format -- currently turned off for writing.
+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.
-Changes submitted this submission:
-- Updated README
-- Implemented new BB02 tape format, which moves the VolSessionId and
- VolSessionTime from the record headers into the Block header. It
- is currently turned off.
-- Implemented new btime time/date format on the tape. This is currently
- turned off.
-- Added JobStatus to EOS tape label. This is currently turned off.
-- Changed start_block, ... to StartBlock in JCR for uniformity.
-- Print a message telling which tables were dropped/made with
- ./drop_bacula_tables.
-- Return JobType and JobLevel in db_get_job_record().
-- Implemented get_current_btime(), which returns btime_t.
-- Bump debug message max size to 2000 bytes.
-- Add btime_t serial/unserial routines.
-- Rework all tape label routines to integrate btime and other
- label format changes (currently turned off -- for writing).
-- Fix lseek() to always be positive -- block.c
-- Consolidate record, block, and label major #defines in block.h.
-- Major implementation of bscan. Some more minor tweaking will be
- necessary. E.g. add multiple records for multiple simultaneous
- Jobs.
-- Cleanup lseek() to always use off_t as second argument.
-- Add new "created" tape label (EOT_LABEL). This generates a callback
- to the read_records() routine when the final end of all tapes is
- reached allowing proper termination and updating of the media records.
+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.
-General: From kes25Sep02
-- Added means to bind servers to specific address.
-- Documentation
+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.
-Changes submitted this submission:
-- Added DirAddress, FDAddress, and SDAddress records to the corresponding
- resources that allow the server to bind to a specific address
- rather than any address. This security improvement was suggested by
- a user -- thank you.
-- Eliminated deprecated "Address" record from all sample Storage resources.
-- Made quite a lot of improvements to the bscan program. Much more
- to do. Aside from details, it is able to recreate a database
- from which you can do a restore.
-- The s option is not accepted on all versions of ar, so replaced it
- by an explicit ranlib call.
-- Fixed a bug that caused the Director to crash if you rudely bring
- down the console program in the middle of an SQL command.
-- Fixed a bug (missing break) that caused scheduled Admin jobs to
- be listed as "Unknown type".
-- Removed old code from Storage daemon that used a separate FD port.
+Version 1.39.24 beta released:
+02Oct06
+rbn Fix restore problem with c:\ prefix bug #676.
+rbn Verify that drive letter is valid on restore.
+rbn Fix re-open() options for tape.
+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.
+kes Fix FirstWritten time on Volume to be obtained from SD so that
+ it is the actual time the volume was first written.
+kes Minor Makefile changes.
+kes Handle EBUSY during read(). Improve how EBUSY is handled in write().
+ebl Add yes keyword to prune/purge command
+16Sep06
+kes Correct a test in block.c that prevented restore of a DVD from
+ looking at the last part in the spool directory.
+kes Make some error messages clearer mostly by using the word DVD
+ in the message. Improve infor message in read_record for DVDs.
+kes Remove DVD kludges in dircmd.c label/relabel.
+kes Move the dvd relabel code from dircmd.c into
+ write_new_volume_label_to_dvd() adding a relabel argument.
+kes Rewrite the truncate_dvd() code to be much simpler and
+ more logical. First blow away any spool part, then create a
+ new empty part and write to the DVD.
+kes Rewrite the can_write_on_non_blank_dvd() code making it
+ only ensure that no valid data is on the DVD -- i.e. it
+ can be overwritten.
+15Sep06
+kes Minor Makefile fixes.
+kes Put attach_dcr_to_dev in a subroutine.
+kes Make attaching/detaching to/from a device use a flag and
+ only detach if actually attached.
+kes Add dvd-simulator.in to scripts directory and add to configure.
+kes Fix code in acquire.c that checks fd != 0 to use dev->is_open().
+ This could be a cause of a number of drive reservation problems.
+ Note, this code is now in attach_dcr_to_dev().
+kes Suppress doing Volume updates if it is a system job. This should
+ prevent the DVD label blocking.
+kes Clear the freespace ok flag in a couple of strategic places.
+14Sep06
+kes Put removing zero sized spool part file in subroutine and
+ call from release_device().
+kes Add Richard's patch for relabel to dircmd.c, but save and restore
+ dev Volume name.
+kes Rework a lot of subroutines in dev.c to take dcr as an
+ argument. This is done to eliminate the usage of attached_dcrs
+ in lseek().
+kes Change truncated_dvd to blank_dvd, which seems more suitable.
+kes Apply most of Richard Mortimer's truncate patch.
+kes Create lseek() method for DEVICE that takes dcr as an
+ argument. This is to eliminate the use of attached_dcrs in
+ lseek(). The calls to lseek_dev() must still be changed.
+13Sep06
+kes Apply Richard Mortimer's patches for printing an error
+ message in btape when a DVD is used, and to initialize traceback.
+kes Added error message to btape when trying to access a file.
+kes Move prototype of update_slots() to protos.h.
+12Sep06
+kes Add JobErrors, JobFiles, SDJobFiles, SDJobErrors, SDJobStatus,
+ and FDJobStatus to the Director Python variables.
+kes Make sure valid argument passed to str_to_utime() where Arno
+ had a seg fault.
+kes Apply Richard Mortimer's patch for bcopy, bextract, and bscan.
+ I.e. part of two different patches.
+11Sep06
+kes Modify disk changer to simulate some of the error conditions
+ of mtx-changer.
+kes Make sure the close() call in the SD tools is just before the
+ getchar() call.
+kes Implement dir_get_volume_info() in bls using the patch from
+ Richard Mortimer but call find_num_dvd_parts().
+kes Implement find_num_dvd_parts() that mounts and scans a DVD
+ and counts the parts.
+kes Move the omode code in open_dvd() up so that the cannot
+ write on blank disk can check can be bypassed for read mode.
+ Not yet implemented.
+10Sep06
+kes Disable normal data spooling for DVD writing which uses
+ 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 components for Win32 read-only since
+ deselection doesn't do anything.
-General: From kes14Sep02
-- Better key generation on non OpenSSL systems.
-- 64 bit file address support if available.
-- Implement autochanger for reading
-- Lots of cleanup of tape reading code.
-- Automatically create all Pool resources when Bacula starts.
-- Implement bscan.c
-- Implement autochanger use via the Console commands "add" and "label"
-- Begin implementation of a regression script
-- Write bootstrap after ever job
+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
+ 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 Apply DVD part_spooled patch from Richard Mortimer
+ richm@oldelvet.org.uk
+kes Put installer/Readme.txt into Win32 EOL format for Notebook.
+rbn Fixed problems migrating settings from previous releases in
+ Win32 installer. Add Readme.txt with an option to show it on
+ the installer Finish page.
+07Sep06
+kes Use get_catalog_resource() to open catalog database
+ to ensure that ACLs are respected and that user is
+ correctly prompted for database.
+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''
+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
+ this will fix bug #627 where Bacula eventually gets
+ confused about what Volume it wants.
+kes Add a new close_part() class in the SD to save the device
+ state around open/close_part/open for DVD writing. This
+ should fix the num_dvd_parts getting zeroed as reported by
+ Richard Mortimer.
+kes Apply patch from Richard Mortimer that correct edit code
+ for debug output of st_size.
+ebl Add support of encrypted data stream to bscan.
+ display data_len instead of data content (may be binary)
+06Sep06
+kes Add dev->close() in dir_ask_sysop_to_mount_volume() in
+ bcopy. Fixes bug #669 reported by Eric.
+kes Fix incorrect number of arguments in SQL statement in
+ sql_get.c as reported by Eric.
+kes Manual updates.
+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.
+02Sep06
+kes When doing a label, pass the VolBytes back to the Director,
+ which puts it in the catalog.
+kes Print an error message if the user attempts to prune an
+ archived Volume.
+kes Need to start using %ld when sscanfing 32 bit values.
+kes Update the free
+kes Correct the counting of VolCatBytes for DVDs.
+kes Add code to mount.c to require that VolCatBytes corresponds to
+ what is actually found when doing an append.
+kes Update freespace only after writing on the DVD.
+kes Remove code that blows away the current part in the spool file.
+01Sep06
+kes Apply new dvd-handler patch from Richard Mortimer.
+kes Tweak so that debug level 20 shows only DVD commands.
+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
+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 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
+ when part > num_dvd_parts.
+27Aug06
+kes Rework many features of DVD writing and reading. Added many error
+ messages. Most importantly changed part to represent the current
+ part number base zero. This makes current DVD writing incompatible
+ with previous version.
+26Aug06
+kes Add host:port to connect failure messages to FD and SD from Dir.
+kes Add WhereACL to console ACL list. If nothing is specified, only
+ the default is permitted for restore. Otherwise, *all* allows any
+ path, or you can specify permitted paths. This should allow control
+ over where users can restore files. This is untested.
+kes Modified message to add a ? (as in loaded?) when querying the autochanger
+ for what Slot is loaded.
+kes Fixed the use of Slot, so that is more correctly maintained, thus
+ eliminating unneeded duplicate calls to determine what Slot is loaded.
+25Aug06
+kes Install man pages with 'make install'
+kes wx-console crashes because of differences between Bacula and wxWidgets
+ malloc()/free(). Tweak wx-console to use bmalloc()/bfree() for Bacula
+ calls.
+kes correct improper indenting in wx-console/console_conf.c
+kes update wx-console header copyrights
+kes Fix bug #658 where wx-console mangles file/directory names containing
+ commas.
+24Aug06
+kes Add Media.Enabled flag to client backups for dotcmds.c
+kes Enforce Media.Enabled=1 for a current restore to work.
+kes Require restore case 3 to have sqlquery permission to work.
+kes Remove obsolete del_MAC sql command.
+kes Ensure that bscan creates Volumes with Enabled=1.
-Changes submitted this submission:
-- After noticing that the non OpenSSL random key generator was
- not good on Solaris, John wrote a very nice randpass generator.
-- Integrated John's makeSessionKey for generating the FD->SD
- authorization.
-- Statically link tools (doesn't work on Solaris).
-- Document how to debug Bacula (new chapter in the manual)
-- Remove unneeded printing of error message in sql_get.c
-- Free SD description config record (previous oversight)
-- Bash spaces when sending Director names, and unbash them when
- received.
-- Ensure no divide by zero in rate computation in backup.c
-- Implement WriteBootstrap in backup.c
-- Allow tape reading to request volume information for any
- volume.
-- Create all Pool resources at startup.
-- Show only Backup jobs in Restore listing of last 20 Jobs.
-- Handle 64 bit stat packets in restore.
-- Don't do shell expansion on store_dir in config if string
- starts with |. This is used for piping the program for the
- WriteBootstrap.
-- Ignore SIGHUP -- Déjà Gnu was triggering this.
-- Implement autochanger for reading, many changes to
- acquire_device_for_read()
-- Implement callback for reading Volume. Implement in bextract,
- bls, and bscan.
-- Implement bscan
-- Add count to bsr.
-- Fix Volume in bsr.
-- Move autochanger code to new subroutine in mount.c
+Version 1.39.20 beta released:
+22Aug06
+kes Correct missing Client table reference in SQL pointed out by
+ Marc.
+21Aug06
+kes Fix Win32 build (new entrypoint, start baculafd).
+20Aug06
+kes Add -n option to bconsole to turn off conio.
+kes Print JobIds to be migrated in Job Report.
+kes Add additional user supplied notes to the messages part of
+ bacula-dir.conf concerning multiple email addresses.
+kes Fix an incorrect comment pointed out by a user in dvd_handler.in
+kes Add more recent Feature requests to Projects file.
+19Aug06
+kes Apply Maritn's fix to src/win32/Makefile.
+kes Apply Martin's fix to configure.in for pthreads on FreeBSD 4.x
+kes Implement pruning for Migration and migrated jobs.
+kes Implement PoolOccupancy migration.
+kes Implement PoolTime migration.
+16Aug06
+kes If doing a mount, look for a slot, and if specified pass it to
+ the SD so that it can load the autochanger.
+kes Return DVD=1 flag if a label command is done to a DVD. This
+ permits setting VolParts to 1.
+kes Apply DVD patch from Richard Mortimer <richm@oldelvet.org.uk>, but
+ rework ua_label code based on DVD media type to use DVD flag returned.
+15Aug06
+kes Eliminate some compile warnings in dird_conf.c
+kes Format the bytes field in the terminated jobs part of the status
+ command for the three daemons with suffixes to reduce print size
+ of backup bytes. Suggested by a user.
+kes When not descending into a directory, print the File= name that
+ triggered it -- makes why not descending a bit clearer.
+kes Do not unload autochanger when doing a list command -- basic code
+ from Eric Bollengier.
+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
+ do a rewind on Solaris when no tape is in the drive (Solaris does not
+ have the detailed errno found on Linux). Added Solaris specific code.
+ Note, this may apply to other OSes as well.
+06Aug06
+kes Defined BUILDING_CATS in src/cats/cats.h so that *nix builds.
+dsb Updated rpm spec for 1.39 - updatedb 9 to 10, add new man pages,
+ fix bug 648 - update sqlite script patches, lock out gnome2console
+ builds for platforms with gtk+ < 2.4.
+ Updated build_rpm.sh - add remote source directory, add switch for
+ signing, refine file names.
+ Updated spec file again for Mandriva build as they have this curious
+ custom of silently converting all manpages to bzip2 format just before
+ the final packaging step.
+05Aug06
+rbn Fixed the Windows Makefiles so that they won't accidentally try and
+ pickup binaries for the Unix build. This allows both the Unix
+ build and the Windows build to be built in the same tree without
+ interfering with each other.
+rbn Fixed error handling and cleaned up mtx-changer.cmd.
+rbn Added the rest of the database scripts. These are installed but are
+ not yet edited for variable replacement.
+rbn Broke out the cats functionality from bacula.dll and put into new
+ separate dlls for each database type. At installation time the
+ correct one is copied to bacula_cats.dll.
+rbn Eliminate the need to install the mysql.dll on client only builds.
+rbn Moved dird/sql_cmds.c into the cats directory so all the database
+ specific #ifdefs were in the cats directory.
+rbn Added a new sql_cmds.h with all the declarations for the variables
+ exported from sql_cmds.c.
+rbn Moved catalog_db[] from lib/message.c to a new routine db_get_type()
+ which is implemented in bdb.c, mysql.c, postgresql.c and sqlite.c in
+ src/cats.
+kes Correct improperly formatted list command output reported by Dan.
+04Aug06
+kes Correct despool time calculation.
+03Aug06
+kes Remove previous changes to compat.cpp as they create problems.
+kes Use old style MD5 for FileSets to avoid Full saves on every Job.
+kes Attempt to fix problems with the msg_queue crashing on Solaris
+ when Bacula is terminating, but problems remain.
+kes Add WIN32_VSS to HAVES in src/Makefile.inc.in to correct VSS
+ name editing problems with too many \\?\es.
+kes Fix some Bacula source code style problems in compat.cpp.
+kes Add debug code to compat.cpp and convert non-Bacula debug code
+ to Bacula style.
+02Aug06
+kes Change the name of the technical notes file from kes-1.39 to
+ technotes-1.39. Prefix my messages with 'kes '.
+kes Allow dequeue_messages() to be called twice. Should fix bug
+ # 649.
+kes Add Job type to bscan Job information output.
+01Aug06
+kes Update copyright date in program files, and for the most part
+ put it on a #define.
+kes Implement %q in bsnprintf.c apparently I forgot it.
+31Jul06
+kes Make disk-changer sed command compatible with FreeBSD.
+kes Make a first cut at a ReleaseNotes and ChangeLog for a
+ beta release.
+kes Make make clean descend into the src/win32 directory.
+kes Fix some #ifdefing so that Solaris and FreeBSD compile
+ sys/stat.h was turned off.
+kes Use suffix editing for new transfer rate messages.
+kes Attempt to come up with a workaround which seems to be an OS
+ bug where write() returns EBUSY. IMO this should not happen.
+ It triggered in truncatebug test. The workaround retries using
+ a 100 ms wait.
+kes Eliminate a strerror() call in a class method that failed with
+ older C++ compilers.
+kes Use rm -rf rather than rmdir to delete the src/win32/release
+ directory during make clean.
+30Jul06
+kes Make bscan ignore ACL streams.
+kes Update projects files with new Feature Requests.
+kes Generate current English and French manuals and upload
+ them to the site.
+kes Update the home page to include the new British/French flags to
+ switch between translations. Work done by Alexandre Baron.
+kes Make disk-changer script print an error message if the changer
+ directory is not defined.
+kes Create a generic DB routine for getting an int (32/64 bit) from
+ the DB.
+kes Add more migration code.
+kes Add a few more files to .cvsignore here and there.
+kes Minor fixes for SD write rate and despooling rate.
+kes Turn off new test code in src/console.c
-=============================================================================
-2002-09-05 Version 1.25a (05Sep02) Released
-- Fix unitialized stack variable in bextract so it
- will always read the currently mounted tape.
+Version 1.39.18
+29Jul06
+kes Incremented the version number to signify that all of Robert's code
+ for Win32 that was in the branch is now integrated into the HEAD,
+ and that Eric has submitted code that we hope will provide limited
+ backward compatibility with 1.38 file daemons (more testing to be
+ done).
+kes I rationalized a few of the names of the variables (mainly jcr names)
+ that are used during migration as keeping three different jcrs at the
+ same time clear in ones head is not easy.
-=============================================================================
-2002-09-04 Version 1.25 (01Sep02) Released
- General:
-- Added .cvsignore files in each directory to cut down on the
- CVS output when scanning directories and finding Makefiles
- and such which are not part of the CVS tree.
+Version 1.39.17
+28Jul06
+eb Tweak new runscript feature to work with 1.38.x FDs.
+eb Correct crypto.c to fix segfault when restoring an encrypted stream
+ on fd which don't use rsa keys.
+eb Add yes/no English keywords on localized yes/no questions.
+27Jul06
+kes Several important commits from Robert Nelson for code cleanup and
+ Win32 build.
+kes Modify console.c so that when conio is enabled, it converts \n to
+ \n\r before outputting to the console. Hopefully this will fix
+ the problems with expect in Perl that Eric saw.
+24Jul06
+kes Change cats/sql.c to eliminate %-*s format, which I think is turned
+ off in bsnprintf.
+kes Add Comment field to llist of a volume.
+kes Allow true/false in some yes/no questions.
+kes Implement update volume enable=(on|off|true|false|archived|0|1|2)
+kes Remove a few /n's when scanning commands from another daemon. This
+ permits adding additional fields later.
+kes Modify dbcheck to handle ctl-d and to delete Log table entries.
+kes Update README.mingw
+22Jul06
+kes Tweak authentication to work with 1.38.x FDs.
+kes Tweak catalog make scripts.
+kes Fix catalog upgrade scripts so that they work.
+kes Correct despooling debug code to eliminate race condition.
+19Jul06
+kes Add additional fields as specified by Arno to LocationLog.
+kes Add comment field to the Media record.
+kes Add Time field to the Log record.
+kes Correct migration SQL (thanks to Bill Moran) so that it
+ runs with PostgreSQL also.
+kes Add spooling/despooling info in status output of SD.
+17Jul06
+kes Spend a lot of time integrating mkcdrec with the rescue disk.
+kes Add VOLMGMT message class for volume management messages (none yet).
+kes Add CATALOG as a destination. It goes into the LOG table.
+kes Implement the Log table in the DB.
+kes Implement the Location Log table in the DB (for user use).
+kes At Eric's request add a run_scripts() just after blast_data in
+ src/filed/job.c
+10Jul06
+kes Add Enabled column to Location, correct some typos in DB schemas.
+kes Correct bug I introduced into RunScripts enum.
+kes Add log table to Catalog
+kes Purge original job migrated if the migration terminates normally.
+kes Cleanup purging of files/jobs so that it is done only in a
+ single subroutine.
+kes Add new VOLMGMT message class.
+kes Add Catalog message destination (user conf code remains to be written).
+09Jul06
+kes Modify read_record and friends to properly deal with migration
+ needs.
+kes Update debug code in read_record.
+08Jul06
+ ======================= Warning ==========================
+ Separate read and write storage in Jobs in the Director. This
+ is a major rewrite of some of the low level code and hence has
+ a high probability of introducing bugs.
+ ==========================================================
- Changes submitted this submission:
-- Cleaned up a lot of the error messages in Verify, including
- indenting.
-- Had to remove some of the "automatic" error message printing
- in the DB because they are in fact things that come up
- for Verify but not really errors.
+kes Move the job init code up to *before* the job is put into
+ the job queue (resource allocation queue). This permits the
+ job to establish whether it will read or write or do both.
+kes Add name() methods to all the resource classes.
+kes Implement separate read and write storage resource
+ allocation/deallocation in jobq.c
+ ======================= Warning ==========================
+ Implemented new method of getting the default Storage from the Media
+ record rather than from the MediaType for restore. As a fall
+ back, if no Storage is defined, use the MediaType. This
+ eliminates most all prompts if there are multiple MediaTypes
+ used. This is an important and fundamental change.
+ ==========================================================
- 2002-08-30 Version 1.25 (30Aug02) Beta
- From kes30Aug02
-- Fixed a bug where only the first file was restored if
- it is hard linked. The other links were lost.
-- In some cases of restoring to alternate directories, softlinks
- were not properly restored.
+kes Add more detail (Storage, Device) to list of volumes printed
+ for restore.
+kes More code in migrate. In particular start multiple jobs if
+ migrating a volume.
+kes Probably overkill, but ensure that the bsr is unique even within a
+ job in FD and SD.
+kes Rework bsys.c drop() so that it now should work as expected.
+kes Update a bunch of old copyrights -kes particularly in .h files.
+kes Remove src/lib/bshm.c/h
+05Jul06
+kes Migration fixes
+04Jul06
+ ======================= Warning ==========================
+ All hash codes in the database are now kept in world
+ compatible base64 format (no = filling). This means that
+ all FileSets will be updated and if you are running
+ verify jobs, you must do an InitCatalog.
+ Authentication uses the new algorithm, but should be
+ backward compatible with 1.38.x
+ ===========================================================
- From kes28Aug02
- General:
-- Bacula backups now run up to 12 times faster than version 1.24
-- Bacula can run multiple simultaneous Jobs.
-- Had to turn off TRANSACTIONS in SQLite because it doesn't work
- with multiple simultaneous jobs (I'm working on this).
-- Added a better Job printout for Restore Jobs.
-- Added a save/restore Rate to backup and restore jobs. This
- does not yet subtract out operator wait time so it will be
- underestimated it the Job waits on the tape (mount/label).
-- Fixed a major bug caused by free()ing a buffer twice in
- the Restore code. This made the SD more or less useless after
- any restore Job. Arrggg!
-- DIR - SD protocol changed, both must be updated at the same time.
-- DIR - FD protocol changed in upward compatible way. Upgrade of
- FD not required, but recommended.
+kes Modify the authentication routines so that the 1.39.15 Director
+ always runs with the compatible binary to base64 code (same as
+ the rest of the world). It will however detect if an SD or
+ FD is running the old code and if that is the case, will use
+ the old algorithm for authentication. However, all consoles must
+ use the compatible algorithm, and all data entered into the database
+ (all hash signatures, MD5, SHA1, ..., and all FileSet hashes) will
+ use the compatible algorithm.
+kes Rename the cram_md5 routine names to be slightly more appropriate
+ to what they are doing (challenge and respond).
+kes Robert committed his #ifdef and header cleanup.
+30Jun06
+kes Fix a compiler warning in files/backup.c
+kes Cleanup NOT NULL vs DEFAULT 0 in database creation.
+kes Tweak btape.
+kes Robert committed his low impact changes.
+kes I removed a size_t from the jcr.h definition.
+kes Update the tape regression scripts (still to be tested).
+kes Add gcc and gcc-c++ requires to srm as suggested by a user.
+kes Require done or quit to exit from in memory tree restore.
+26Jun06
+kes Write install/uninstall of new manpages. There are now a
+ pile of man pages. Some of which need a lot of work.
- Changes submitted this submission:
-- Added bell to "make" when errors are detected.
-- Changed default compile option from -g to -g -O2
-- Additional documentation as usual -- much based on questions or
- feedback from users. Thanks.
-- Fixed example config files to use new syntax and to have a
- Restore Job.
-- Define ETIME to ETIMEOUT for Irix
-- Added JCR filed to DB structure permitting direct printing error
- messages from within the Database subroutines.
- Some error messages may be printed twice as a consequence.
- When I see them or someone reports them, I will remove the double.
-- Added JCR to the bsock structure. This allows direct printing
- of network errors from within the network code.
-- Made most "trivial" debug messages have level 100 or greater. This
- allows for easier debugging of new code using the range below 100.
-- Began replacing all Emsg() with Jmsg() using a NULL as the JCR in
- Jmsg() is the same as Emsg().
-- Fixed several crashes in the Director because of malformed config files.
-- Added SpoolAttributes to Job resource.
-- Pass CatalogFiles to SD. If set to no, the attributes are dropped
- within the SD rather than being sent to the DIR.
-- Cleaned up a number of information/error messages in user interface.
- This includes eliminating the "pretty please" response in favor of
- "yes/no" to delete volumes and pools.
-- Cleaned up quite a number of uninitialized variables reported when going
- to -O2, most were harmless, but a couple could cause problems.
-- The cd command in restore was not working correctly (it didn't allow some
- legal cds).
-- Fixed a segmentation violation in the directory tree handling code in
- the restore command.
-- Handle a few error conditions in the restore command better.
-- Permit "Where" to be set to nul in modification of a run command.
-- Clarified the error message for Verify if an InitCatalog has not previously
- been done -- thanks Chuck.
-- Add MaximumConcurrentJobs to FD.
-- Added code to mem_pool to die if a buffer is released twice.
-- Lots of work done on SD for multiple simultaneous jobs. Split device.c
- into device.c, mount.c and acquire.c
-- Started writing new lock code for SD, but may back it out -- needs more
- thought. Current code works, but is too complicated. Maybe can simplify it.
-- Cleaned up the SD tools code quite a bit. Added bootstrap to all tools.
-- Ensure that tape session labels are not split across two blocks. This makes
- reading them back much easier.
-- Fixed another restore bug concerning tape labels on multi-volume saves.
+ ======================= Warning ==========================
+ The --mandir ./configure option now points to the top level
+ man directory. The man files will be installed under
+ mandir/man8 and mandir/man1 as appropriate.
+ ==========================================================
-=============================================================================
-2002-08-14 Version 1.24
- From kes12Aug02
-- Made a new tools directory.
-- Moved smtp into the tools directory.
-- Created a dbcheck program in the tools directory that
- checks for certain database errors and if requested fixes them.
-- Put the database link flags on DB_LIBS so that it now only is
- on binaries that actually need it.
-- Document dbcheck and testfind programs.
-- Move testfind to tools directory.
-- Check for FileSet after getting Client name in Restore command.
- Modify all necessary SQL commands to accept FileSetId.
-- Add a db_get_fileset_record in cats directory.
-- Correct list last 20 files concatenation to be MySQL
- dependent. They aren't SQL standard. Use SQL standard || for
- other SQL programs.
-- Modify dir command in file selection to produce a long form
- listing of the file/directory name.
-- Add platforms/irix/*.in files to CVS
-- Make Console command scanner accept quoted value fields.
-- If after selecting Client to restore, there are multiple
- FileSets, ask user to select one.
-- After obtaining JobIds for restore, ensure that there is only
- one MediaType, and select a Storage resource to be used.
+kes Add complete text of GPL to LICENSE.
+kes Implement job report that indicates where Storage and Pool
+ came from -kes with overrides and Pool storage and NextPool,
+ it is all very complicated.
+kes Create a few common subroutines for backup.c and migrate.c
+kes Eliminate warning messages from tray-monitor.c
+25Jun06
+kes Apply fix for scheduler for missing unlock_jobs().
+kes Clean out autoconf caches before rebuilding configure
+kes Fix the FreeBSD pthreads lib define updated by Dan.
+kes Add missing semicolon in src/console/console.c
+kes Add Robert's enhanced version of build-win32-cross-tools
+ as well as his patch file.
+kes Note, the new gcc options are likely to break building of
+ wx-console or the tray-monitor ...
+24Jun06
+kes Implement Robert's suggestion to suppress printing compile lines.
+kes Detect GCC correctly (I hope)
+kes If using GCC (actually g++) add the following compiler flags
+ -fno-strict-aliasing -fno-exceptions -fno-rtti
- From kes11Aug02
-- Made restore actually work.
-- Made console and gconsole be configured (requested by Chuck)
-- Updated kernstodo
-- changed fs in Job record to fileset for clarity
-- The console run command was not properly picking up the command
- line arguments. Fixed!
-- Changed add/remove/rm to mark/unmark
-- Volume keyword VolumeName was wrong, changed to Volume (in restore bsr).
-- Pass jcr to parse_bsr, and if non-NULL, it will output error messages
- to Job stream rather than Emsg.
-- Modified lexical scanner to include caller context so that jcr can
- be stored in lex context allowing error messages to be properly
- routed.
-- Renamed the Job message chain to be jcr_msgs. This eliminated the
- previous confusion with the default value, now named jcr->messages.
-- Implemented multi-volume bsr records.
-- Implemented pm_strcat() and pm_strcpy() to cat/add to memory pool
- buffers in same way as strcat/strcpy, but expanding buffer.
-- Modified db_get_volume_names to handle arbitrarily long Volume list.
+ ===================== Warning =============================
+ Turn on new bsnprintf() code. This could cause print output
+ to look different.
+ ===========================================================
- From kes07Aug02
-- If the Console program terminated during the printing of messages,
- the message file was left locked. This was corrected by using the
- new read-write lock code.
-- Implemented Pw() and Vw() for obtaining and releasing a write lock
- using the rwl_xxx routines.
-- Deleted some old pthread_mutex code from mysql.c
-- In making the Irix port, I previously corrected the base64 routine so
- they were not sensitive to the machine definition of char. This made
- them incompatible with previous versions invalidating MD5 signatures
- which are in base64 format. I have now corrected this, making the
- routines compatible with the previous version but also insensitive
- to the default definition of char.
-- Removed some unnecessary NPRT() usage in signal.c (pointed out by
- the Irix compiler).
-- Add back BNET_NONO for compatibility with older File daemons.
-- Implement runing a restore Job in the restore command.
-- Make installation of query.sql unconditional. To prevent you own file
- from being overwritten, give it a different name.
-- Made parse_command_args() in ua take command from ua->cmd, this
- simplifies it and allows usage in other places -- e.g. building
- arguments for created run command in restore.
-- Cleaned the naming of s_full_ctx to be s_jobids.
-- Write the bsr created in restore to "working-directory"/restore.bsr
-- Fix bugs in command line scanner in run command -- also some misplaced
- breaks!
-- Eliminate static cmd in ua_server.c
-- Eliminate segmentation fault when using the Run command in the
- Console -- forgot to init_msgs().
+kes Fix crypto when not using openssl. I previously overlooked this.
+kes Eliminate crypto type punning problems by eliminating void * and
+ using uint8_t * instead.
+kes Harden authentication failure in FD by single threading errors
+ and forcing a 6 second wait.
- From kes06Aug02
-- Did a good amount of documentation.
-- Added sql_cmds.c to CVS, forgot, pointed out by Chuck.
-- Added new platforms/irix directory to CVS
-- Turn off transaction debug code in sql.c
-- Reworked the scheduler so that it handles the same Job starting
- twice in the same hour. Previously it took one or the other.
-- Tightened up the "slop" in the timings that I programmed to ensure
- that the same job isn't run twice or that no job was missed.
-- Increase the sleep time.
-- Used job_type_to_str() in status so that Admin jobs are correctly reported.
-- Add internationalization message chars to a number of routines
- in util.c
-- Make the watchdog timer clear the mutex when it exits.
-- Some tweaks to the Restore command. It needs fixing when a Job spans
- two or more volumes.
+ ===================== Warning =============================
+ Removed 'Accept Any Volume' directive.
+ ===========================================================
- From kes05Aug02
-- Initial cut at adding Irix File daemon support.
-- Lots of work on the restore command.
-- Take a stab at eliminating the "broken pipe message"
- when the console program prematurely terminates.
-- Reimplemented transactions for SQLite by keeping
- them all in the same thread.
-- quit in the Console program now waits for Bacula to
- quit. To immediately quit, you must enter .quit
-- Eliminated BNET_EOF -- this COULD have some negative consequences
- on interdaemon communications.
-- Define Job termination status for Admin jobs.
-- Write new bstrncpy() function that guarantees that strcpy is
- properly terminated.
-- Fixed command input in ua_input.c to accept quoted items as a
- single field.
+kes Major cleanup and simplification of regress using shell functions
+ (more tests to be converted to new format)
+kes Add detection of 64 bit Irix as indicated by user.
+kes Increment catalog database id from 9 to 10.
+kes Add a few of the new database fields to the various C++
+ structures.
+kes Implement code to fill in the most important new fields (e.g.
+ Media Enable).
+kes Ensure that most of the new fields are in create/get/insert/update.
+ More work to be done.
+22Jun06
+kes Update some very old licenses in src/cats.
+kes Modify the database format for handling Migration jobs:
+ Add PriorJobId, RealEndTime to Job table
+ Delete MAC table
+ Remove Stripe from JobMedia record (not used, wasting space)
+ Add ScratchPoolId, RecyclePoolId, Enabled to Media record
+ Add Cost to Location table.
+kes Delete mac_record subroutines.
+kes Add new table values to create/update/get routines as appropriate.
+kes Update the update_tables and make_tables scripts.
+kes Make a first cut in using a union where multiple pointers (actually
+ pointers to pointers) are stored.
+kes Make some changes to base64.c suggested by Robert and others and add
+ a small amount of documentation.
+kes Add some changes suggested by Peter for Solaris (bregex...)
+kes Make runscript.h always built because it needs to be pulled into
+ more places. In particular its RES was left out of a union.
+kes Renumber the enum{} list in runscript.h to avoid starting from zero.
+ This makes it slightly easier to detect uninitialized variables.
+14Jun06
+kes Remove xpg4 lib from FreeBSD build as it is no longer needed and
+ sometimes creates install problems.
+kes Change a couple of %T in strftime to %H:%M:%S as seen in Robert
+ Nelson's code. More to do.
+kes Convert a few store_bit to store_bool in filed_conf.c.
+kes DVD tweak to block.c as supplied by Uwe Muessel.
+04Jun06
+kes Modify configure.in to check for typeof().
+kes In findlib/attribs.c use typeof instead of templates if possible.
+01Jun06
+kes Implement partial error messages for src/filed/acl.c
+kes 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.
+kes Small updates to projects.
+27May06
+kes Add Eric Bollengier patch for new RunScript directive. It breaks
+ compatibility between dird and fd.
+26May06
+kes Prevent DVD code from rewriting label if the device cannot be
+ opened read/write.
+kes Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to
+ fix Debian build bug.
+kes Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+kes Integrate manpages contributed by Jose Luis.
+kes Update projects file.
+kes Add manpages Makefile.in to configure.in
+kes Remove installation of bacula.8 in scripts directory.
+24May06
+kes Implement patch submitted by cesarb in bug #606 to implement O_NOATIME
+ support.
+ O_NOATIME is a open() flag which makes it possible to read a file without
+ updating the inode atime (and also without the inode ctime update which
+ happens if you try to set the atime back to its previous value). It also
+ prevents a race condition when two programs are reading the same file, but
+ only one does not want to change the atime. It's most useful for backup
+ programs and file integrity checkers (and bacula can fit on both
+ categories).
- From kes01Aug02
-- The changes that added indexes to the SQLite database were
- lost -- thanks to Chuck for pointing this out. Redone.
-- Fixed a problem quoting strings in SQLite. This showed up
- as database errors with files containing ' or " in the filename.
-- Implemente restore command -- still in progress.
-- Added indexes to all fields in SQLite that exist in MySQL.
-- Moved unused immortal files from src/lib to src/immortal.
- This will permit splitting depkgs.
-- Started work on adding embedded MySQL. Cannot get the tables
- to work for the moment. Please don't try to use this option.
-- Convert to using single quotes for enclosing all strings.
-- Implement correct quoting algorithm for SQLite strings.
- Is dequoting needed?
-- Started centralizing SQL statments in the Director in sql_cmds.c
-- Changed a number of M_ABORTs to M_ERROR_TERM so that program terminates
- but does not produce a dump.
-- Allow wild-card matches in bsr for Client name, and Job.
-- Change OflineOnUnmount=no as default.
-- Fixed improper printing of filenames containing a space in bls.c
- Thanks to Carlos for reporting this.
+ Recent versions of the Linux kernel and glibc have support for it (the
+ glibc support being mostly copying the O_NOATIME definition to
+ bits/fcntl.h). If there's no support for it on the kernel, trying to use
+ it does nothing (since the kernel ignores unknown flags).
-===========================================================================
-2002-07-26 Release 1.23a
-- Fix segmentation fault is FD status.
-- Turn off TRANSACTIONs for SQLite.
+ If the kernel has support for it, trying to use it either works, fails
+ silently (mostly in remote filesystems), or returns errno=EPERM (if you
+ are not either the owner of the file or root). A simple way to prevent the
+ failure is to open the file without the flag and set it later with
+ fcntl(F_SETFL), ignoring any EPERM errors.
+kes 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).
+kes Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+ set to zero.
+kes Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+kes Apply patch from Rudolf Cejka bug #614 to removed trailing
+ colons in query.sql file.
+kes Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+ not to create orphans.
+kes Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+ in restore long listing.
+kes Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+ of incorrect MarkedId.
+kes Apply patch from adioso bug #616 to correct text in manual (replace
+ Director with File daemon).
+kes Rework a few of the zlib changes so that they build properly.
-===========================================================================
-2002-07-23 Release 1.23
- From kes22Jul02
-- Updated Bacula to handle some minor differences in MySQL 4.0.2
- (still works with older MySQLs).
-- Updated MySQL documentation to correct some minor errors.
-- Added kernstodo to CVS
-- Fixed create_mysql_database, which I recently accidently broke.
-- Disallow zero length volume names in Console program.
-- Create alter_mysql_tables and alter_sqlite_tables for conversion
- from 1.22 table format to 1.23 table format.
+21May06
+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.
+05May06
+kes Correct EOF with no \n lex.c problem.
+kes Tweak compat.h compat.cpp and merge with apcupsd
+kes Add additional INFO messages if autochanger cannot be used.
- From kes20Jul02
-- Investigation of SQLite performace problems reported by Chuck.
-- Updated ChangeLog
-- Updated README
-- made root@localhost the default email address because many smtp
- servers reject root but accept root@localhost
-- Added an autochangers chapter to the manual.
-- Documented most of the new features in 1.23
-- Modified the SQLite interface code to start a transaction at the
- beginning of a job and commit it at the end of the job. It
- also commits it after 10000 changes. Hopefully this will
- improve performance.
-- Set the default cache pages from 2000 to 10000 for SQLite (i.e.
- about 15Megs of memory) hoping to improve performance.
-- Terminate last filename referenced in FD prior to copy to
- avoid race problem with multiple threads and no locking.
-- Enhanced the status output to include the JobType
-- Print an error message if the email program terminates in error.
-- If your machine has an MTUNLOCK, do it before doing an OFFLINE to
- ensure that the door is unlocked.
-- Added code to stored/append.c to spool attributes. This is in
- a testing stage and must be explicitly enabled.
-- Added a no_attributes variable to stored/append.c that prevents
- the attributes from being sent to the Director. As yet, no way
- to turn it on.
-- Modified SQLite code so that after 10000 updates any transaction
- is committed, then restarted. This keeps it from using too much
- memory.
-- Set the default cache size to 10000 pages (previously 2000).
-- Fixed a segmentation fault on Sun due to no default value for
- the JobStatus.
-- Added the same indexes to SQLite that I exist in MySQL. This
- VASTLY reduces CPU usage for lots of inserts.
-- Added spooling to bnet_send().
+02May06
+kes Simplify Win32 Makefile
+kes Correct count of buffers/bytes used by smartall.c
+kes Updated compat.h after porting apcupsd to MinGW.
+01May06
+kes Work on getting wx-console building on MinGW. wxWidgets now builds
+ started adding Makefile ...
+kes Moved MinGW library objects to src/win32/lib to reduce clutter.
+30Apr06
+kes Reloading a bad configuration file doesn't kill director any more.
+ Thanks to fix from Eric Bollengier.
+29Apr06
+kes Fix problem of accents with new Win32 code.
+kes Integrate Howard's VSS patch. Tweak it a bit. VSS now
+ works in the MinGW build with the exception that there
+ is a problem with accented characters -kes i.e. there is
+ some mapping problem with wide characters.
+kes The code no longer compiles with Microsoft VC++.
+28Apr06
+kes Start implementing Christopher's St.Bernard code.
+kes Add Christopher's mods for opening files.
+kes Strip \r \n from Win32 error messages (Christopher)
+kes Add more info about Win32 system if unknown (Christopher)
+kes Use bstrn(cpy, cat) routines to avoid overrun in compat.cpp
+kes Fix a number of incorrect strings marked for translation, when
+ they should not be (e.g. commands).
+kes Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+ Patches supplied by user in bugs #608 and #599.
+kes Use most recent of st_ctime and st_mtime in restore tree DIR
+ listing. This fixes some problems with Win32 printing incorrect
+ values.
+kes Correct the clock shift comm time calculation between the DIR
+ and the FD. It was added rather than subtracted.
+kes Strip all backslashes in filenames to be restored on Win32
+ machines -kes 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.
+kes Remove lib/regex.c (replaced by bregex.c).
+kes Delete src/win32/License.txt
+kes Modify installer to install LICENSE
+26Apr06
+kes Fix bug in build-win32-cross-tools script reported by Howard
+kes Implement cross compiled bconsole
+25Apr06
+kes Fix barcode test, eliminate BOOL (doesn't exist on Linux).
+kes Write first cut of README.mingw32
+kes Add back ua_label barcode fix from Rufolf Cejka.
+kes Integrate the majority of the Mingw cross-tools submission
+ made by Howard Thomson. Everything compiles, with zlib, openssl,
+ and VSS turned off. Linking needs a pthreads library ...
+23Apr06
+kes Add 'Dir Status' button to the gnome console.
+kes More work on migration.
+kes Restore non-compatible base64 coding to permit compatibility.
+kes Display heap stats in Storage daemon without debug level.
+22Apr06
+kes Integrate most of the MinGW changes -kes more to do.
+21Apr06
+kes Implement using pg_config for finding PostgreSQL files.
+ Fixes bug #600. Patch supplied by user.
+kes Remove -t option from mktemp in mtx_changer.in and use
+ working directory. Fixes bug #578.
+kes 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.
+kes 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.
+kes 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.
+kes Implement a compatible version of base64. This permits external
+ programs to duplicate Bacula's base64 algorithm using standard
+ routines. This fixes bugs #296, and 565. Patch submitted by
+ author of bug #565.
+ ================= Note ========================
+ Previous Signatures stored in the database are no longer
+ compatible with this. The main downside is for Verify jobs,
+ and doing an InitCatalog run will fix the problem. Also, the
+ authentication between the deamons is changed, so all daemons
+ must be simultaneously upgraded.
+ ==============================================
+ If you don't like this fix, set:
+ const bool compatible = true;
+ to
+ const bool compatible = false;
+ in src/lib/base64.c
+20Apr06
+kes Ensure that DB signature is never NULL.
+kes Ensure that DB table names are not translated.
+kes Fix scheduler to handle time skew (eg daylight savings).
+kes Fix scheduler to use lock_jobs() to avoid most problems
+ with reload. Window is now milliseconds.
+19Apr06
+kes Apply patch from Christopher Hull
+ kes Allow multiple connections to database with different
+ parameters.
+ kes Invalidate the scheduler when doing a reload. Fixes seg
+ fault, but still 60 second window.
+ kes Additional info in Reschedule message.
+ kes Use set_jcr_job_status() everywhere to prevent loss of
+ cancel, error.
+ kes Display peer IP in FD if error from connecting DIR.
+ kes Don't increment file count for DIRBEGIN.
+ kes Replace illegal characters in Win32 filename by _.
+ kes Add SE_CREATE_PERMANENT_NAME privilege in Win32.
+ kes Hash hard link filenames rather than linked list.
+ kes Fix for security failure in chdir on Win32.
+ kes Add CreateDirectoryA/W win32 API entry points.
+kes Add /silent option to Win32 FD for Install/Remove service.
+kes Always print Heap statistics in FD.
+18Apr06
+kes Remove the -f option from the chown in Makefile.in for more
+ portability.
+kes Change setting the group in Makefile.in to use chgrp for
+ more portability.
+kes Implement a write_store and read_store to replace
+ dirstore in reserve.c
+kes Implement a Bacula read/write lock for Python rather
+ than using the Python lock to avoid recursive problems.
+kes Correct the uninstall directory names in filed/Makefile.in
+ as reported by a user.
+17Apr06
+kes Correct some problems with database creation (new tables).
+kes Replace a bunch of old 0x%x by %p.
+kes Get first cut of Migration with Job selection working.
+16Apr06
+kes Change store_bit() to store_bool() for the Spooling in
+ dird_conf.c -kes bug reported by Robert Nelson.
+15Apr06
+kes Correct Makefile bug found by Dan Langille.
+14Apr06
+kes Correct Makefile for Solaris /bin/sh
+kes Correct mtx-changer.in for Solaris /bin/sh
+kes Abort if a conf resource does not have a Name =
+12Apr06
+kes Change the name of the regex program to bregex.
+kes Add the bwild program to the tools directory. It is similar
+ to the bregex program.
+kes Implement create bregex.h and bregex.c in src/lib from the
+ Python regexp program.
+kes Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+kes More work on migration.
+kes Implement wild program in tools directory for testing
+ wild-cards. Almost identical to the regex program.
+kes Up port VSS single thread locking code.
+kes Replace N_(..) by NT_(...) to inhibit translation of
+ commands.
+kes Modify Makefile to change the permissions on Working Directory
+ to 770 if the directory is created.
+kes Do not fail the Makefile if changing the permissions or
+ owner/group on WorkingDir fails.
+kes Remove early selection of Scratch Volumes in the recycling
+ algorithm.
+kes Correct the old recycling algorithm so that Scratch Volumes
+ are selected when looking for a Volume in the changer.
+kes Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+kes Remove automatic case folding on Windows FDs. You must
+ explictly use the 'Ignore Case = yes' option.
+kes 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.
+09Apr06
+kes Make weof() and clrerror() methods of class DEVICE.
+08Apr06
+kes Tweak license to include Microsoft restrictions.
+kes Move mysql.reconnect to after real_connect(). Thanks to
+ Frank Sweetser for the patch.
+kes Disallow a backslash in a File = directive (Windows junk)
+ unless the string is quoted.
+kes Apply Eric's patch to ua_label.c so that daemon protocol
+ is not translated.
+kes Add NT_ definition for strings that should not be translated.
+kes Apply NT_() to ua_label.c
+kes Remove timed wait for VSS on Win2K3 as it is not yet
+ implemented.
+kes Correct bacula.in script to reference bacula-ctl-xx in the
+ sysconfig directory rather than the bin directory.
+26Mar06
+kes Fix a long standing bug in the bacula start/stop scripts.
+kes Attempt to add the new bacula-ctl-* files to the rpm.
+kes Switch to using typeof() for list traversing to avoid
+ as many FC5 g++ compiler warnings as possible.
+25Mar06
+kes Split the bacula start/start script into four files:
+ bacula -kes starts and stops calling other scripts
+ bacula-ctl-dir -kes starts/stops the director
+ bacula-ctl-fd -kes starts/stops the File daemon
+ bacula-ctl-sd -kes starts/stops the Storage daemon
+24Mar06
+kes Create datestyle fix for PostgreSQL. Fixes bug #574.
+kes Correct editing of JobId from int to int64 in fd_cmds.c
+kes Eliminate FileSet name race with bash_spaces() and multiple
+ threads by bashing in a local.
+kes Fix error return from 'use storage' to print a correct error
+ message rather than nothing.
+kes Correct false re-read last block error message when two jobs
+ are simultaneously writing at the end of a tape.
+kes Simplify exit conditions in the reserve.c code to avoid
+ possible non-release of reservation_lock().
+kes Suffle lock order in reserve to avoid deadlock between
+ reservation lock and device mutex.
+21Mar06
+kes Initialize jcr mutex before first use. Thanks to Thorsten for
+ tracking this down for me !!!! as it broke the Win32 build.
+20Mar06
+kes Integrate addition of line count limitation to bsmtp -l from
+ Sebastian Stark <stark at tuebingen.mpg.de>
+17Mar06
+kes Implement regex test program in tools directory.
+kes Attempt to fix time problem with bsmtp with foreign langs.
+kes Add strip_trailing_newline() submitted by user.
+kes Implement regex matching in migrate.c
+16Mar06
+kes Fix bug #537 to allow arbitrary time to mount a volume for
+ restore, if polling is turned on.
+kes If dir_user or dir-group is specified in ./configure apply it to
+ the working-dir. Fixes bug #533.
+kes If rescheduling a job cancel the previous incarnation with the SD.
+ Fixes bugs #566 and 557.
+kes Fix bug #567 do_message() definition type conflict.
- From kes18Jul02
-- The following two changes were prompted by questions/suggestions
- from A Morgan.
-- If you have "AlwaysOpen = no" in your SD Device
- resource, Bacula will free() the drive when it
- is finished with the Job.
-- If you have "Offline On Unmount = yes", in your
- SD Device resource, Bacula will offline (or eject)
- the tape prior to freeing it.
-- Added Maximum Open Wait to allow open() to wait if drive is busy.
-- Added RunBeforeJob and RunAfterJob records to Job records.
- This permits running an external program with the following editing
- codes:
- %% = %
- %c = Client's name
- %d = Director's name
- %i = JobId
- %e = Job Exit
- %j = Job
- %l = Job Level
- %n = Job name
- %t = Job type
+14Mar06
+kes Add more jcr methods and make mutex and use_count private.
+kes Create lock/unlock methods for jcr.
+kes Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+ records to get to seek position.
+kes Integrate patch from bug #561 to correct conio.c signal definitions.
+kes 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.
+kes Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+ lib/jcr.c -kes prevents locking the jcr chaing.
+kes Apply patch from bug #564, which corrects listing volumes with
+ multiple autochangers. Apply same fix to next volume list.
+kes Fix bug #562 where restore bootstrap file is not unique.
+kes More details in implementing David's migration syntax proposal.
+kes Save and restore dcr when swapping drives so that if we have
+ a write dcr it is not lost.
+kes 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.
+kes Stop SD command loop if job is canceled.
- From kes17Jul02
-- Added autochanger support to devices.c
-- Allow user to change Slot in the Volume record.
-- Implemented code in lib to run an external program
- (tape changer)
-- Implemented a changer script for mtx.
-- Currently the changer commands used are:
- loaded -- returns number of slot loaded or 0
- load -- loads a specified slot
- unload -- unloads the device (returns casette to slot)
-- Other changer commands defined but not yet used:
- list -- returns list of slots containing a cassette
- slots -- returns total number of slots
-- Implemented ChangerCommand, specified in the SD Device
- resource, permits editing of:
- %% = %
- %a = archive device name
- %c = changer device name
- %f = Client's name
- %j = Job name
- %o = command
- %s = Slot base 0
- %S = Slot base 1
- %v = Volume name
-- Implemented MaximumChangerWait default 120 seconds. It is
- specified in the SD Device resource.
+08Mar06
+kes Remove old code from findlib/create_file.c
+kes Rename mac.c migrate.c
+kes Add user friendly display of VolBytes in job report.
+kes Rename target... to previous... to make it a bit easier to
+ understand.
+kes Add selection type and selection pattern to Migration (idea
+ given by David Boyes).
- From kes15Jul02
-- Moved techlogs from main directory to be subdirectory of doc
-- Added code for strerror_r, and detection of gethostbyname_r().
-- The protocol between the Director and the SD has changed.
-- Major rework of SD tape mounting to prepare for Changer commands.
-- Separated Update Media record and Create JobMedia record. These
- are done from the SD by calling the Director. Need separate Create
- JobMedia so that when a Job spans a volume, all other Jobs writing
- the same volume will also have JobMedia records created.
-- Added message to user indicating selection aborted if he enters .
- to a Console selection request.
-- Create a jobstatus_to_ascii() routine for use in status commands.
- This makes a single routine from three separate pieces of code.
- Updated the code to properly handle more (all) termination statuses.
-- Tried to fix the gnome-console to handle history a bit better. There
- are still some problems with focus not being properly set to the edit
- box after history replacement.
-- Removed the shutdown() from bnet_close() hoping to fix Console termination
- errors that are occassionally seen -- no luck.
-- Moved add_str() to lib/util and renamed it add_str_to_pool_mem() so that
- it can be used to edit Job termination codes and Changer command codes.
-- Reworked how the SD mounts tapes (in device.c) so that control passes through
- only a single routine. The logic is much simpler than previously, and now
- adding AutoChanger code is straight forward.
-- Made SD tape mounting much more fault tolerant -- more cases retry instead
- of terminating the Job.
-- Wrote code to edit_device_codes() for Changer commands. Not yet fully
- implemented.
-- Added a ChangerDevice directive to the Device resource. Still need to add
- ChangerCommand.
+04Mar06
+kes The po files should now be current.
+kes Fix new sql_use_result() code to properly release the
+ buffers in all cases.
+kes 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.
+kes Allow listing by any of the above.
+kes Add the user friendly job report code for reporting job elapsed time
+ and rates with suffexes from John Kodis <kodis at comcast.net>.
+kes Add Priority and JobLevel as Python settable items.
+kes Use TEMPORARY table creation where the table is created by
+ Bacula.
+kes Add new code submitted by Eric for waiting on specific jobid.
+kes Add ACL checking for the dot commands.
+kes Fix restore of writable FIFOs.
+kes Fix a bug in bpipe where the string was freed too early.
+27Feb06
+kes Modify the Python class examples to inherit object -kes new way
+ of defining classes. Patch from Felix Schwarz.
+kes Implement jobuid to replace old usage of job in keywords as
+ suggested by Eric Bollengier.
+kes Apply patch for enhancing wait from Eric Bollengier. On can now:
+ wait (wait for all jobs to stop)
+ wait jobid=nn
+ wait jobuid=unique id
+ wait job=job-name
+kes Implement write variables for Python to set Priority (anytime), and
+ Job Level, only during JobInit event.
+26Feb06
+kes Fix the block listing bug pointed out by Arno.
+kes Update the po files at Eric's request.
+24Feb06
+kes Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
+ accept time qualifiers.
+kes Make catalog respect ACL.
+kes Add recycle count to Media record.
- From kes07Jul02
-- This documents what I did while on vacation.
-- A fair amount of documentation.
-- Implemented Verify Volume to Catalog (needs renaming)
-- Modified the database to include new MarkId field as
- well as Counters. Database level is incremented from 1 to 2.
-- Added first cut of managing autochangers by implementing Slot in DB.
-- Fixed a good number of M_ERROR messages to be M_FATAL where appropriate.
- Also converted a number of Emsg() to Jmsg() permitting better Job error
- messages.
-- First cut at implementing a general packet passing mechanism for bsock
- to replace printf and sscanf for passing data.
-- Made make_xxx_tables and drop_xxx_tables and create_xxx_database
- for bdb as well as sqlite. With this each database has the
- same set of scripts (with the exception that MySQL has grant_privileges).
-- Modified Makefile to only install the database scripts for the
- database that you are using.
-- Updated the pdf script to include all the html files.
-- Did quite a lot of documentation.
-- Made Bacula compile correctly with DEBUG turned off.
-- Implemented Pmsg() macros that permit using the debug print
- routines even with DEBUG off.
-- Updated job_cancelled() macro to handle JS_FatalError.
-- Changed db_find_last_full_verify() to db_find_last_jobid(). This
- permits working with Verify Volume to Catalog.
-- Removed TRANSACTION code from incrementing NextId for SQLite.
-- Implemented quick and dirty (not fully functional code) so that
- console program does not die if ctl-Z is entered.
-- Cleaned up backup.c a bit adding a bail_out goto to ensure proper
- handling of errors with minimum code.
-- Added passing Slot back and forth to Storage daemon with Volume info.
-- Implemented Slot in Media record in DB.
-- Implemented first cut of Counter resource in dird_conf.c. A counter
- resource is part of the Pool resource.
-- Implemented necessary database record. However, the resource doesn't
- yet create a DB record.
-- Implemented onefs (One File System) and recurse options on Include
- resource.
-- Implemented autopruning of Verify and Restore Jobs.
-- Did a better job of calculating thread_concurrency() for Sun systems.
- This permits better multi-threading allowing all the threads to run
- at the same time.
-- Implemented a wait_for_storage_daemon_termination(), which is used by
- backup and verify volume.
-- Clarified a number of UA prompts, and add feedback where certain commands
- completed but printed nothing. (More work to be done here).
-- Added a pile of new code to implement Verify Volume to Catalog. It is sort
- of a hybrid of "restore" and "verify" in that it actually reads the tape,
- then compares it to the catalog. Need Verify Volume to Client.
-- Added a good number of checks for job_cancelled() this should permit
- quicker and more reliable cancelling of jobs.
-- Fixed one bug in restore where I used ofile instead of lname, which means
- that if the lname was too long, the memory was not properly reallocated.
-- Cleaned up find_one.c in findlib quite a bit.
-- Link smtp static so that it works even if the libraries are messed up.
-- If mail host is not found, retry with local host in smtp.
-- Added slot and stream to the bootstrap record processing.
-- Do offline on tape cartrige for unmount command. This can be turned off
- by the user in the config file. OffLineOnUnmount in Device resource.
-- Implemented AutoChanger = yes/no in Device resource.
+Changes to 1.39.6-beta1 24Feb04
+23Feb06
+kes Add Rudolf Cejka's new rc-chio-changer.
+kes Implement pulling Volume from Scratch Pool if the
+ Volume is in the autochanger.
+kes Implement additional command arguments for update Volume.
-===========================================================================
-2002-07-07 Release 1.22
-- All the basic Restore code to handle the boostrap file is
- now implemented with the exception of the Console Restore command.
-- Retained compatibility with previous Restore providing no
- bootstrap file is specified. However, the old code (JobId based)
- will go away in a future release.
-- Fixed a number of segmentation faults in the Console program due
- to printing of NULL pointers -- thanks to Chuck and his Sun for
- finding and reporting them -- mostly in ua_output.c.
+Changes to 1.39.5
+22Feb06
+kes Back port changes to 1.38.5
+kes Fix recycle SQL for StorageId.
+kes Fix misplaced quote in mtx-changer script.
+20Feb06
+kes Note. Your database must be updated, or you must create
+ a new database. I have not yet incremented the database level.
+kes Add Location table.
+kes Add LocationId, DeviceId, and MediaTypeId to Media record.
+18Feb06
+kes Implement create/get mac record in database for adding extended
+ Migration data to the job record.
+kes Add new MAC table to update/make database scripts.
+kes Return Storage name used when getting VolumeNames for a job.
+kes Change bsr file keyword Storage to Device, which is more accurate.
+kes Ensure that Mac records are pruned/purged.
+kes Tweak SD tools to deal with changing media type.
+kes Integrate more dev.c subroutines as methods (e.g. strerror, bsr, ...)
+kes Pass pointer to dcr pointer to acquire_device_for_read() so
+ that the subroutine can switch devices, and hence dcrs.
+kes Modify the multiple MediaType read code to re-use the same
+ dcr when switching devices. This makes the code much more
+ robust.
+kes Integrate patch from Karl Hakimian that reads JobIds, FileIndexes
+ from a table for restore.
+kes Add Storage name to VolParams, but it really should be Device.
+14Feb06
+kes Add disk-changer to scripts directory + configure/Makefile
+kes Eliminate PoolId from jcr -kes it is in jcr->jr.PoolId
+kes Implement store_bit scanner to replace store_yesno. Mostly done.
+kes Implement new store_bool that stores in a bool.
+kes Add true/false to yes/no conf directives.
+kes Make first cut at changing appropriate store_yesno to store_bool.
+kes Complete implementation of Pool storage devices.
+kes Move starting clones to job.c
+kes Move create_restore_bootstrap_file() to job.c
+kes Make copy_storage() more general to be able to handle
+ Pool storage.
+kes Cleanup a lot of migration code for manual running, including
+ using Pool storage.
+kes Move getting a scratch Volume into a subroutine.
+kes Make all places a Volume that is added to a pool to
+ respect max vols.
+kes Fix bug in autochanger recycle code (improper edit 64 bit).
+kes Fix segfault in restore command when no value specified.
+kes Start adding code to handle multiple MediaTypes in restore.
+kes Eliminate race condition in getting Volume name for
+ two drive autochanger.
+kes More debug code in autochanger.
+kes Add storage keyword to bootstrap file, add parsing.
+kes Move slot in bsr file into Volume record as there will be
+ a different slot for each Volume.
+kes Create reserve.h
+07Feb06
+kes Implement Pool storage overrides.
+06Feb06
+kes Implement first cut of Migration.
+kes Implement mysql_use_result() from patch by Karl Hakimian.
+ This reduces significantly the memory consumption during
+ the restore tree building, and hence runs faster too.
+kes Implement StorageId patch supplied by user (reggie) in bug
+ #536. This should permit Bacula to work correctly with two
+ autochangers.
+kes Implement Job listing variations suggested by a user.
+kes Move updating bootstrap code in backup.c to subroutine
+ update_bootstrap_file().
+kes Add new job status elapsed time and bytes written user
+ friendly job report output patch sent by John Kodis
+ <kodis at comcast.ne>.
+kes Implement a storage list in Pools.
+kes Separate out setup_job() code from run_job().
+kes Get migration working -kes lots of changes in mac.c in both
+ DIR and SD.
+kes Apply patch from user (Eric Bollengier I think) that fixes a
+ DIR crash when no arguments are supplied to a dot command.
+kes Fix typo (strcpy->strcmp) in ua_prune.c as reported by Martin.
+kes Fix command arg name->volume in label command of gnome-console.
+kes Fix SD acquire.c to release correct DCR by explicitly testing
+ on the dcr address rather than trying to devine if it is a read
+ or write dcr. This failed in error conditions when the device was
+ not fully setup.
+
+30Jan06
+kes Apply user supplied patch for more readable rate output
+ in job report.
+kes Continue implementing migration.
+kes Implement support for removable filesystems in SD.
+kes Ensure that btraceback scripts can be read by anyone.
+kes Replace dvd-freespace and dvd-writepart by dvd-handler.
+kes Correct bug where canceling restore before the FD contacts
+ the SD causes the drive to be left in read mode.
+kes Move ofline_or_rewind into DEVICE::close().
+kes Eliminate close_device.
+kes Convert several dev subroutines to methods (e.g. bsf,
+ eod, ...)
+kes Eliminate force_close_device().
+kes Implement Device Type directive in Device resource that
+ can have values File, Tape, Fifo, DVD, or Prog.
+kes Add has_cap() method to Device.
+Changes to 1.39.4
+17Jan06
+kes Add patch from bug #527 to allow RedHat user to specify
+ options/user/group for starting each daemon in
+ /etc/sysconf/bacula.
+16Jan06
+kes 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
+kes Add periodic (every 24 hours) garbage collection of memory
+ pool by releasing free buffers.
+14Jan06
+kes Correct bug counting sized (for display only) in smartall.c
+kes Print FD mempool stats if debug > 0 rather than 5.
+12Jan06
+kes Make db_lock() mutex error fail the job rather than abort
+ Bacula. Canceling the job caused the mutex to fail.
+kes Correct bug in alist.c that re-allocated the list if the
+ number of items goes to zero.
+kes Move the reservation system thread locking to the top level
+ so that one job at a time tries all possible drives before
+ waiting.
+kes 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
+kes 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.
+kes During 'update slots' clear all InChanger flags where the
+ StorageId is zero (old Media records).
- From kes25Jun02
-- Null pointers now are printed as *None* if NPRT() is used.
-- At the request of Phil, all resources are now chained in in the
- order they appear in the config file.
-- Implement Bootstrap record in the Director's config file, which
- allows you to specify a predefined bootstrap file for Restore Jobs.
-- Allow Bootstrap on the Restore record. This is deprecated.
-- Implemented code to pass the Bootstrap file, if defined, to the
- File daemon, then from the File daemon to the Storage daemon.
-- Added ability to set Bootstrap file in the Console when running a Restore.
-- Allow scan_error() routine to be passed to lex_open_file(). This permits
- using lex in the Storage daemon without worrying that it will ABORT on
- a syntax error. More work is needed to direct the error messages correctly.
-- Improved error messages a bit when config syntax errors are found.
-- Tested and corrected some errors in match_bsr.c
-- Removed askdir.c from bls and bextract by defining dummy entry points.
-- bextract now has bootstrap pretty well integrated.
-- Changed bextract ABORTs into FATAL and exit(1) or ERROR_TERMINATE.
- More user friendly.
-- Eliminated at least one lld and replaced it by edit_uint64()
-- Eliminated a few more _PROTO()s.
-- Corrected a problem with the SQL for in query.sql for
- Listing Volumes to Restore All Files
+Beta release 1.38.4:
+09Jan06
+kes Fix autochanger code to strip leading spaces from returned
+ slots number. Remove bc from chio-changer.
+kes Back port a bit of 1.39 crypto code to reduce diffs.
+kes Fix first call to autochanger that missed close()ing the
+ drive. Put close() just before each run_program(). Fixes
+ Arno's changer bug.
+07Jan06
+kes Add PoolId to Job record when updating it at job start time.
+06Jan06
+kes 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.
+kes 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.
- From kes22Jun02
-- Additional documentation.
-- Reduce the time the jcr mutex is locked in lib/jcr.c
-- More null pointer printing fixes in lib/parse_conf.c (debug output only).
-- Added daemon filename to Kaboom message so I know what daemon died.
-- Fix big bad bug introduced in watchdog.c last update that caused
- a segmentation violation (forgot to check for NULL pointer).
-- Add a bit more info to bad returns from Stored when starting
- a job fails.
- From kes21Jun02
-- Fixed scan_to_eol
-- Fixed backup scanning forgot one T_STRING -> T_UNQUOTED_STRING
-- changed all rwlock_t to brwlock_t to avoid conflicts with
- Solaris library.
-- Added NPRT() macro to allow printing of NULL pointers, which
- segment fault on Solaris.
-- Cast printing of pid_t to int for Solaris compiler.
+Changes to 1.39.3:
+04Jan06
+kes Start implementing Verify list output.
+kes Move the suitable_drive flag to a better place to prevent
+ premature termination of the reservation if all drives
+ are busy -kes should fix Arno's diff/inc pool failures.
+26Dec05
+kes Add mutex to single thread VSS code in Win32.
+22Dec05
+kes Simplify code in askdir.c that waits for creating an appendable
+ 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
+ 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
+ rewind fails as happens if the drive was loaded while the
+ file descriptor was open. This refreshes the file descriptor.
+kes 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.
+kes Return error if reserve cannot find at least one suitable device.
+kes Make wait_for_sysop() return correct state information.
+kes Fix Win32 state file problem. write was not using compat
+ code. This should fix bug #500.
+21Dec05
+kes Modify gui on command to set only GUI mode and not batch.
+kes Modify .messages command to always print messages regardless
+ of the mode.
+kes If GUI mode is on, suppress automatic printing of
+ You have messages.
+kes Delete old bnet packet code.
+kes Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
+ wx-console. -kes not implemented because bconsole must be updated.
+kes Modify restore command in wx-console to set gui on and to use
+ only .messages instead of messages. Hopefully this fixes bug
+ #514.
+kes Fix seg fault in exit of acquire when canceling a job --
+ reported by Wolfgang Denk
+kes Pull in latest reservation system changes from 1.38
+kes Make .messages command always print messages regardless
+ of the automessages flag.
+17Dec05
+kes Fix seg fault if user labels a drive directory bug #513
+kes Remove quotes around Version as it breaks things.
+16Dec05
+kes Merge in Aleksandar Milivojevic's mods to the spec file.
+kes Apply sparse code fix for raw drives and fifos. Bug 506
+kes Thorsten fixed Unicode cd problem with wx-console bug 505.
+14Dec05
+kes Correct reservation system to do a last ditch try
+ for any mounted volume, then anyone anywhere.
+kes Add quotes around table Version because of
+ error in MySQL 4.1.15 -kes bug report submitted.
+kes Correct some minor problems with btape in the fill
+ command.
+kes Updates to ssh-tunnel from Joshua Kugler.
+kes Added a report.pl program from Jonas Bjorklund.
+kes Simplify the O_NONBLOCK open() code for tape drives,
+ and always open nonblocking.
+kes Do not wait for open() if EIO returned (shouldn't happen).
+kes Eliminate 3 argument to tape open().
+kes Correct the slot # edited in the 3995 Bad autochanger unload
+ message.
+kes With -S on bscan (show progress) do not divide by zero.
+13Dec05
+kes Make cancel pthread_cond_signal() pthread_cond_broadcast().
+kes When dcr is freed, also broadcast dev->wait_next_vol signal.
+kes Remove unused code in wait_for_device.
+kes Make wait_for_device() always return after 60 seconds of wait.
- From kes20Jun02
-- Added expect argment to lex_get_token().
-- Added tree.c and tree.h to lib directory.
-
- From kes19Jun02
-- Improvements to the bootstrap compiler
-- Implemented first cut of bootstrap code in the Storage daemon
-- Modified the authentication code to be more explicit during
- failures.
-- Added a few more debug message numbers with more arguments (Dmsg10, ...)
-- Added more and more precise error messages when authentication fails.
-- Implemented new "expect" codes in the lexical scanner that allows
- the caller to specify what he wants.
-- Added integer, positive integer, 64 bit integer, and integer ranges,
- and name scanning to lex.
-- Implemented new lex code in parse_conf.c, this reduces significantly
- the code.
-- Hopefully fixed a watchdog race bug that caused the watchdog to time
- out a line after 1 hour rather than 6 days.
-
- From kes15Jun02
-- Implemented a Bootstrap file parser and matcher.
-- Implemented first cut of bootstrap code in bextract
-- Started clarifying different termination codes.
-- Added M_ERROR_TERM to immediately terminate the daemon -- no dump.
- Also changed a few termination codes as appropriate.
-- Fixed create_jobmedia_record() to include all the fields such as
- StartFile/EndFile, StartBlock/EndBlock.
-- Print user friendly message when query mode ends.
-- Fixed ls style print routines (bextract, bls, restore) to check
- buffer size, to print the link if any, and to used edit_uint64()
- instead of %lld.
-- Moved scan_to_eol() and s_err() to lex.c to avoid dragging in
- parse_conf.c for new bsr scanning code.
-- New files: bsr.h, parse_bsr.c and match_bsr.c. parse_bsr.c parses
- a Bootstrap file, and match_bsr.c matches a bsr against a tape.
-- use strcasecmp() in several places instead of lcase().
-- Add first cut of bootstrap to bextract.
-- Added File Size limit -- writes EOF after limit exeeded.
-
-===========================================================================
-2002-06-12 Release 1.21
-- Fixed several problems with filenames being truncated if
- they contain spaces. Thanks to the user that reported this.
-- N.B. To get the new queries, after the "make" and
- "make install" you must explicitly replace the
- existing query.sql by query.sql.new. query.sql is a
- user configuration file, so it is not overwritten.
-- Added GZIP compression of Included files.
-- Added additional fields to tape SOS record permitting better
- recovery with no database.
-- Be sure to remove any !terminate statements you may have
- in your config files.
-- MUST UPDATE ALL DAEMONS due to protocol change to handle new
- tape format.
-
- From kes11Jun02:
-- Updated examples directory with my most recent config files.
-- Modified the M_TERM meaning to mean that Bacula has
- terminated in error without producing a dump. Previously,
- it meant that Bacula terminate (with or without error).
- You should remove any !terminate from your messages
- resources.
-- Changed the order of the libraries in the link so that
- tcp wrappers link properly. Thanks Phil for reporting this.
-- A user reported that filenames containing spaces were truncated
- in bextract. This was indeed the case. They were also truncated
- in Restore as well as in Verify. They are, hopefully, all fixed
- now.
-- Made a few error conditions in Verify non-fatal.
-- Modified the Console "query" command to permit multiple SQL
- statements per command.
-- Implemented three new "query" options:
- List last 10 Full Backups for a Client
- List Volumes used by selected JobId
- List Volumes to Restore All Files
- To use them, simply type "query" to the Console program, and
- select the one you want.
-- Modified bextract to default to extracting all files (i.e. /).
-- Cleaned up the code in bextract a bit.
-
- From kes03Jun02:
-- Improve Verify command to include files examined.
-- Eliminate fcntl() locking of the console file and replaced
- it with a pthreads mutex.
-- Note Director - SD protocol is changed to handle new tape
- information (Fileset, JobType, JobLevel).
-- Create config.out that contains a summary of ./configure
- to see what you previously configured: "cat config.out"
-- Implemented GZIP compression. Added addition syntax to
- Include { } resource to permit setting of any GZIP compression
- level:
- compression=GZIP
- compression=GZIP1
- ...
- compression=GZIP9
-
- Level 1 is minimum compression and level 9 is maximum. Using just
- GZIP gives the default (level 6).
-- Enhanced the tape format to include the unique Job name, FileSetName,
- JobType, and JobLevel in the Start/End of Session records. The code
- detects that tape level difference and acts accordingly. You can
- add data in the new format to old tapes.
-- Fixed an incorrect display message in the prune command.
-- Began implementation of Verify Volume and Verify Data.
-- Cleaned up File daemon restore.c a bit ensuring that termination
- cleanup is done and all possible Emsgs are converted to Jmsgs.
-- Modify bls.c to use common setup routines. This reduced the big
- code duplication that creeped in when I added different listing
- options. Also, changing tapes is now handled uniformily in a subroutine.
-
-===========================================================================
-2002-05-27 Release 1.20
-- Started documenting Catalog Pruning and Recycling.
- Added catmaintenance.html and recycling.html
-- Fixed the query command bug.
-- Implemented PID files to prevent two copies of Bacula
- from running at the same time. Be sure you --with-pid-dir
- points to a working directory.
-- Modified ASSERT() to cause a segmentation violation. This
- permits a core dump.
-- Worked on gnome-console. It paints better, it tells you if it
- is ready to accept a command or processing one, and it is
- almost entirely GTK+ (rather than GNOME, I'm removing GNOME
- a bit at a time).
-- Limit to 100 the number of tape labeling errors in a single Job.
-- Add some additional ASSERT()s to the database routines. I don't
- like ASSERTs but they do catch bugs.
-- Tested and debugged recycling of Volumes. Needed to change
- the Director-SD protocol slightly.
-- Removed the experimental SIGHUP in the Director as it is a
- potential source of errors.
-- Added Level, Pool, Messages, and Storage keyword/value scanning
- to the Schedule Run record.
-- Improved printing of Schedule resources with "show schedules"
-- Do not autoprune Jobs/Files if the Job errs.
-- Updated newvol() to pass back the updated Media record.
-- Fixed the "update pool" command, which was broken during a much
- earlier code reorganization.
-- Improved a few of the pruning messages.
-- Removed readline inclusions from gnome-console (hang over from console).
-- Make Jmsg use daemon message handler if no message handler is defined.
- This is always the case in the SD and FD.
-- Started removing __PROTO(). With C++ prototypes are manditory, so why
- keep around legacy code.
-- Added a good deal of message internationalization -- more to be done.
-- Move cached Path into mdb structure and use POOLMEM.
-- Fix verify bug introduced last update causing incorrect diffs
- by turning off autopruning.
-- Started adding code to distinguish Errors from Fatal Errors.
-- Errors are now counted in message.c for a Job.
-- More POOLMEM cleanups.
-- Implemented Automatic pruning.
-- Implemented Automatic recycling of Volumes.
-- Added PruneJobs/Files/Volumes=yes or no to Job resource. If set,
- it forces the specified pruning.
-- Modified rwlock to accept multiple nested write lock
- requests.
-- Modified the cats directory to use the new rwlock mechanism
- in place of P() and V().
-- Defined db_lock(mdb) and db_unlock(mdb). They are in effect
- transaction locks.
-- Add CVS Id's to most files.
-- Made first cut at AutoPrune
-- Added new autoprune file that is called at the end of
- each Job. It then decides when and what to prune and
- calls the UA prune routines.
-- Modified Run (in Schedule resource) to permit overrides of
- Level, Pool, Storage, and Messages. (not tested).
-- Added more POOLMEM in place of char.
-- Implemented daemon pid files. This prevents multiple
- daemons from running simultaneously. You can run multiple
- daemons if they listen on different ports.
-- Documented the Schedule resource a bit better.
-- Began gently adding a POOLMEM type (perviously void).
- For the moment it is a #define to char, but long term
- it should be its own typedef.
-- Corrected a bit of spacing on the status bar of gnome-console
-- Added Admin and Archive Job types.
-- Implemented multiple Messages resources. Each daemon has
- its own message resource, which defaults if not defined.
- Jobs may now have different message handlers.
-- Cleaned up a bit of duplicate code in backup, verify, and
- restore by creating appropriate subroutines in job.c
-- Added Type, Client, FileSet, and Level resource record
- definitions to the Director. These can be used in place
- of the Backup = ..., Verify = ..., ... commands. This needs
- documenting.
-- Corrected an incorrect message in the prune code and added
- the number of Files pruned in the message.
-- Corrected several paint problems with gnome-console.
-- Added a bit of printout in signal handler during traceback.
-- Cleaned up most of sm_check() to be turned on/off by define
- in version.h
-
-===========================================================================
-2002-05-10 Release 1.19
-- Allow the user to select a new period for pruning.
-- Lots of additions to the manual -- prune and purge
- commands documented.
-- Applied Phil's configure.in fix for --prefix, ...
-- Fixed bug found by Phil (patch supplied) in updating
- MD5 signatures (revert to 32 bit FileId, move "static"
- variables into JCR) (catreq.c fd-cmds.c).
-- Reverted to using INTEGER for FileId in make_sql_tables
- due to a bug in MySQL.
-- Change editing code to %d for FileId.
-- Remove sqlite in make distclean in cats directory.
-- Remove console.conf in console during make distclean.
-- Remove gnome-console.conf during make distclean.
-- Remove bacula-dir.conf during make distclean.
-- Set default level when using Console if none specified.
- Bug reported by Phil.
-- A simple . command from Console is ignored.
-- Change program named from filed to bacual-fd in winmain.cpp
-- Change default config file for Win32 in winmain.cpp
-- Free namebuf on early return from find_one.c. Bug reported by Phil.
-- Modify testfind.c to dump orphaned buffers.
-- Removed terabytes from parse_conf.c because of problems with
- older gcc compilers.
-- Turn off gnome options in gnome-console by constructing empty argv.
-- Fixes to Verify when only MD5 differs.
-- Insert 0 for MD5 as default rather than space.
-- Allow .messages "transparent" command while reading input
- in UserAgent server.
-- In dird/verify.c ensure that correct filename is printed if only
- the MD5 differs. Minor reindenting caused large diff.
-- Delete unused code from backup.c
-- In filed/verify.c ensure that same algorithm as backup.c is used
- to pass back MD5 signatures -- especially for directories and files
- that cannot be read. Change dummy filename from X to *MD5-id*.
- This dummy value should never be printed.
-- Make gnome-console poll Director every 5 seconds for output.
- This means that queued up messages are displayed at reasonable
- intervals. Delete some unused code hanging around from the tty
- console program.
-- Begin implementation of prune commands.
-- Add command line history to gnome-console. Not yet saved across sessions.
-- Fixed some broken URLs in the manual.
-- Added JobId type.
-- Wrote first cut of "prune files" and "prune jobs".
-- Added command line history to gnome-console 2500 lines max.
-- Widened store_time() and associated variables to 64 bits using
- new btime_t definition.
-- Removed GNOME about box and replaced it with
- a somewhat crude Gtk+ about box in the gnome-console.
-- Widened StartDay in the Job DB record to be 64 bits.
-- Changed edit_uint_ to edit_uint64_ everywhere. Much more
- descriptive of what is done.
-- Removed most llds and replaced them with %s and edit_uint64.
- This makes the code a bit easier to read for beginners.
-- Added a btime_t typedef which is 64 bits wide.
-- Added most of the code needed to do Purge and Prune of
- database. Not yet tested. Please do not use.
-- Additional config options for Console.
-- Started adding code for Automatic Recycling of Volumes.
-- Allow arbitrary length filenames in Verify code.
-- Fix incorrect filename in Verify code.
-- Significant enhancement to number scanning in config parser.
-- Requires initializing MySQL tables, or applying cats/alter.sql
- to modify Media table.
-- Modified Makefile to printer a much more visible
- message if the make ends in error.
-- Added the Purge value to the VolStatus in the Media table.
- This value is set if the Volume is purged.
-- Enhanced the db_delete_media_record() routine to delete
- all associated records in the database.
-- Modified Console to always write to the variable "output"
- rather than stdout. This will permit directing output to a file.
-- Enhanced the Console configuration file to have a Console
- resource. This will allow us to add an rcfile and history file.
-- Modified Find_next_vol in catreq.c to search for "Recycle"
- volumes if there are none marked Append. Also made Get_Vol_info
- return the VolStatus to the Storage daemon.
-- Allow upper/lower case match on job level names.
-- Added another warning message to the Console "delete media" command.
-- Corrected a number of FileId types from uint64_t to FileId_t in
- ua_retention.c.
-- In ua server close database before freeing JCR (because pointer is
- kept in ua and jcr structures).
-- parse all numbers as doubles. Do lots of checking for valid number
- formats. Allow numbers in scientific form (e.g. 1.5e+10).
-- Remove terabyte modifier as it doesn't work in some compilers.
-- Fix bug in handling some modifiers.
-- Added all necessary code for Recycle to Storage daemon. A Volume
- marked Recycle will now be overwritten.
-- Filled out the prune command a bit and did some testing.
-- Make console accept redirected input.
-- Altered the Table definitions to include Recycle,
- FileRetention, JobRetention, and AutoPrune.
-- Widened StartDay to 64 bits.
-- Use JobId_t in more places.
-- Added the new table fields to the database record definitions.
-- Changed Recycle from string to a binary quantity.
-- Added a Version table with a VersionId to detect.
- future changes in the database. This should prevent
- a Bacula from working with a database that is not in sync.
-- Modify Console to accept input from a file. This will permit
- the .read command and allow reading a .rc file.
-- Added new retention and recycle variables to the Director's configuration.
-- The UA subroutines or commands can now be called from core
- code because the output routines detect the absence of a
- UA socket and direct output to the Job.
-- Added a verbose flage to the ua packet to permit reduction of
- output while running a UA command (prune) from a Job.
-- Did a fair amount of work on the prune command. Prune Volume now works.
-- Purge Volume now works.
-- Made last changes for integrating prune and purge commands.
-- Add -ltermcap to CONS_LIBS when readline is configured.
- More work to be done to search for termcap.
-- Added cats/drop_sqlite_tables.in, which will delete the SQLite database.
-- Got CWEB working so that we can compile filesys.w and immortal.w
-- Modified depkgs to include cweb.
-- Note, CWEB is not yet used by the core Bacula code.
-- Made cats/alter.sql, which alters an old database to bring it
- up to the new format. This only works with MySQL since SQLite does
- not have the ALTER SQL command.
-- Changed the old StartDay field in the db to be JobTDate, which is
- the latest time/date in widened Unix time format that the Job ran.
- This value is used when doing pruning.
-- Added code in cats/sql.c to verify that the database internal version
- corresponds to the db version compiled in Bacula. It is set to 1 currently.
-- Lots of changes to cats to bring the SQL up to date with the new
- retention period changes.
-- Added Console command code to permit changing a Volume's retention period.
-- Removed old code that used date_encode() and replaced it with widened
- Unix time().
-- Started modifying Message resource scanner so that we can have multiple
- message resources. Much more work to be done.
-- Moved scanning for time into new library routine string_to_btime().
-
-===========================================================================
-2002-04-22 Release 1.18
-- Applied Phil's configure.in fix for --prefix, ...
-- Fixed bug found by Phil (patch supplied) in updating
- MD5 signatures (revert to 32 bit FileId, move "static"
- variables into JCR) (catreq.c fd-cmds.c).
-- Reverted to using INTEGER for FileId in make_sql_tables
- due to a bug in MySQL.
-- Change editing code to %d for FileId.
-- Remove sqlite in make distclean in cats directory.
-- Remove console.conf in console during make distclean
-- Remove gnome-console.conf during make distclean
-- Remove bacula-dir.conf during make distclean
-- Set default level when using Console if none specified.
- Bug reported by Phil.
-- A simple . command from Console is ignored.
-- Change program named from filed to bacual-fd in winmain.cpp
-- Change default config file for Win32 in winmain.cpp
-- Free namebuf on early return from find_one.c. Bug reported by
- Phil.
-- Modify testfind.c to dump orphaned buffers.
-- Removed terabytes from parse_conf.c because of problems with
- older gcc compilers.
-- Turn off gnome options in gnome-console by constructing empty
- argv.
-
-===========================================================================
-2002-04-18 Release 1.17 Kern Sibbald
-- Ensure that platforms Makefiles are called for clean
- and distclean.
-- Hide a lot of Makefile messages with @
-- Applied Phil's configure.in patch. Thanks.
-- Doc updates, many to clarify points brought up by Phil.
-- Applied Phil's make_mysql_tables.in patch. Thanks.
-- Made authenticate.c in dird test bnet_send status.
-- Make label a bit more friendly with extra info message.
-- Add level 200 to debug info in run command.
-- Remove old code from findlib/testfind.c so that it compiles.
-- Add two minute max wait to cram-md5 authentication. Hopefully,
- this will catch non-responding WinNT daemons.
-- Allow time and size modifiers to be upper or lower case.
-- Turn off old CYGWIN patch for pthread_cond_timedwait() bug that
- now causes File daemon hangs on WinNT.
-- Fix mount messages for restore. Previous updates to save
- broke the restore code.
-- By default write fixed block sizes rather than variable block
- sizes. My Sony DAT simply does not work (reread failures) with
- variable block sizes.
-- Data split across tapes was not being correctly restored
- (at least on DAT tapes).
-- Implement MaximumBlockSize and MinumBlockSize statements in
- Storage daemon so user can specify variable block sizes if
- desired.
-- Return error if block checksum error on read (previously
- ignored).
-- Fixed some error messages in bls, and in some cases exit(1)
- rather than ABORT. There remain ABORTs to be examined.
-- Made a local copy of tcpd.h and corrected the function
- prototype problem for C++.
-
-===========================================================================
-2002-04-14 First public release 1.16 Kern Sibbald
- - Many intervening changes/updates.
-
-2001-09-29 Release 1.0 Kern Sibbald
- - Fixes to problems found at John's
- installation.
- - See techlogs/kes25Sep01 for details
-
-2001-09-25 Release 1.0 Kern Sibbald
- - Helped John install at his site.
- He is backing up one Linux machine and
- one Win2000 machine.
-
-2001-mm-dd Many releases
- - Released internally.
-
-2000-04-09 Release 0.4 Kern Sibbald
- - Added a lot of Director configuration code. In
- part (a small part), the Director now uses the
- bacula.conf file to know what to do. There still
- remains a lot to do.
- - The file search code is now integrated into the
- MySQL database routines, and Bacula is now hooked
- into the MySQL database (if so configured). Thus
- all the database records are being created, though
- there still remains some work in getting all the
- details into the records (such as the Storage
- coordinates).
- - I've defined how Volume pools work (see manual).
- - I've defined error message handling though no code
- is yet written.
- - The following resources and records are implemented
- in the Director configuration file (bacula.conf):
-
- Director
- Name (passed to Storage daemon)
- Client
- Name, Address, Port
- Password (not yet used)
- Storage
- Name, Address, Port, Password, MediaType
- Job
- Name
- Type (not yet used)
- Backup (only one permitted)
- Client, FileSet
- Storage
- Schedule, Messages, Pool (not used)
- FileSet
- Name
- Include (options ignored)
- Exclude (no options)
- Schedule (not used)
- Name
- Messages (not used)
- Name
- Debug, syslog, mail, append (not used)
- Catalog
- Name
- Address, Port, Password (not used)
- Pool (not used)
- Name
- PoolType, MediaType (not used)
-
- - Added Storage configuration routines.
- Director
- Name, password (verified against those sent by Director)
- Storage
- Name, Address, Port (address, port must correspond to Director's values)
- Password, MediaType
- Device
- Name, MediaType (must correspond to those sent by Director)
- Archive Device (defines device name)
-
-
-2000-03-10 Release 0.3 Kern Sibbald
- - Implemented new base64 encoding for attributes.
- This eliminates some of the error messages in the
- sprintfs on the Solaris due to different stat() sizes.
- - Implemented the first cut of the file search routines for
- the File daemon. The exclusion lists work including wild
- cards. There is a lot of work to be done, but the basic
- structure is now in place (wild cards do not yet work for
- the include).
- - Completed writing the memory pool code. Now I must
- implement it in the daemons.
- - Modified the bacula start/stop script so that it has a
- better chance of working on SGI and Solaris.
- - The catalog code has not been converted to the new file
- search code.
-
-2000-03-06 Release 0.2 Kern Sibbald
- - Integrated John's fixes.
- - Made Makefiles self configuring when Makefile.in is changed.
- - Added a runit script in the top level that runs bacula
- - Added a "bacula" script in the top level directory that
- starts and stops the File daemon and the Storage daemon.
-
-2000-03-03 Release 0.1 Kern Sibbald
- - Basic Director, File, and Storage daemons.
- Standalone Catalog services using MySQL
-
-2000-01-22 Kern Sibbald
- * Setup basic file structure with ./configure
+Changes to 1.39.2:
+13Dec05
+kes Add stubs for non-crypto build.
+12Dec05
+kes Use localhost if no network configured
+11Dec05
+kes Eliminated duplicate MaxVolBytes in cat update -kes bug 509.
+kes Remove debug print.
+kes Add bail_out in error during state file reading.
+10Dec05
+kes Merge changes made to 1.38.3 into HEAD
+kes Add stubs for pygtk-console code
+kes Create Makefile.in for pygtk-console code
+09Dec05
+kes Merge updates into 1.38 branch
+kes Update specs to include mysql4 define.
+kes Fix when attributes are sent, must be after binit().
+kes Stop read_record() if status not ok in second loop.
+kes Return rec->FileIndex in dcr->VolLastIndex for normal
+ and partial records in read_record(). This allows bscan
+ to get FileIndex at EOT correct.
+kes Fix butil.c to correctly set dcr -kes fixes seg fault in bls.
+08Dec05
+kes Fix Win32 built to work with new crypto code.
+kes Apply patch supplied by user (slightly modified) to fix
+ correct detection of holes in block devices and FIFOs.
+ Bug # 506.
+kes Apply patch supplied by user (slightly modified)
+ to fix SD hang with multiple pools and bad client
+ IP. Fixes bug # 508.
+07Dec05
+kes Add nagios plugin to the examples directory. Submitted by
+ Christian Masopust.
+kes Remove warning message about multiple saves of hardlinked files
+ 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'.
+06Dec05
+kes Reset timeout values before select() per patch from
+ Frank Sweetser for problems with non-blocking sockets.
+kes Unlink the state file if either reading or writing it gets
+ errors. Hopefully this will fix Win32 exit problems.
+kes 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
+kes Get next volume from Scratch pool before creating a volume.
+kes Set new Pool defaults in Vol when moved from Scratch Pool.
+kes Remove argument from create_bacula_database for SQLite as it
+ caused an error.
+kes Add back index code so that two drive autochangers can get
+ a second tape.
+kes Change a bunch of debug levels to aid debugging autochangers.
+kes Fix reservation so that mutexes are properly applied.
+kes Rework reservation algorithm so that two drives can be used
+ at the same time.
+04Dec05
+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'
+ 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.
+Changes to 1.39.1:
+03Dec05
+kes Fix font code in gnome2 console user patch. Fixes bug #501.
+kes Fix malformatted bnet error message that caused seg fault
+ fixes bug 502
+kes Applied user patch to improve README.vc8 in src/win32.
+29Nov05
+kes Add Migrate, Copy, Archive Job types (some where there)
+kes Correct some more editing of JobId's (for 64 bit compatibility).
+kes Ensure that StorageId is stored in Media record when ever possible.
+kes Add Migration Job to Job.
+kes Add Migration Time, Migration High Bytes, Migration Low Bytes
+ Next Pool to Pool resource.
+kes Add more code to mac.c (migration archive copy).
+kes Change Start Storage daemon job to require read and write storage
+ pointers.
+kes Pass read storage data to SD as well as write storage data.
+kes Remove old code from winservice.cpp
+kes Break on error in scan.
+kes Fix typo in signal.c
+kes Separate read/write DCR in SD. Add jcr->read_dcr.
+kes Cleanup how find_device() works.
+kes Add read output to Status in SD.
+Changes to 1.39.0:
+23Nov05
+kes Add red-black btree routines
+21Nov05
+kes Remove abs() in bfile.c so that it compiles on Solaris.
+ Bug #491.
+20Nov05
+kes Fix crash in tray-monitor when daemon disconnects. Bug #479.
+kes Fix bnet-server bug found on OpenBSD. Bug #486
+kes Fix cancel failure bug. Bug #481
+kes Fix failure when Pool name has spaces. Bug #487
+kes Fix SD crash in autochanger code. Mutex failure. Bug #488
+kes Fix a couple of free()s in src/filed/acl.c
+kes Fix memory overrun in bfile.c in building OS X resource
+ fork filename. Bug #489
+kes Add Pool name to SD status output.
+14Nov05
+kes Apply SunOS patch for ACLs submitted by David Duchscher.
+kes Make sure to set storage before trying to set drive.
+kes Add bacula_mail_summary.sh to examples directory. It makes
+ a single email summary of any number of jobs. Submitted
+ by Adrew J. Millar.
+kes Make sure when we do a mount to unblock the device even
+ if the drive could not be opened.
+13Nov05
+kes Remove the USE_WIN32STREAMEXTRACTION #defines (always on)
+ and correct a few minor problems to make it build on Linux.
+10Nov05
+kes Remove delete of CVS from all Makefiles
+kes Fix seg fault when clicking on Add button in wx-console
+ restore panel. Bug #470.
+kes Fix copyright date and URL typo -kes bug #468.
+kes Change autostart install for FreeBSD to look for rc.conf
+ rather than rc.local as suggested fix for bug #466.
+kes Apply patch supplied by Eric Bollengier to fix PostgreSQL
+ grant on status. Bug #465
+kes Apply patch supplied by Eric Bollengier to fix PostgreSQL
+ update script. Bug #464
+kes Tweak #ifdefing a bit in new Win32 stream code.
+kes Fix #ifdeffing for FD_NO_SEND_TEST.
+kes Add documentation of performance #defines