-2002-mm-dd Version 1.28 (not yet released)
+ Technical notes on version 2.5.x
General:
-- Now using only a single technotes file kes-1.28 and will add to
- it as the development goes on.
-- Wrote a general purpose bi-directional pipe command. This replaces
- previous use of pipes as well as the run_program previously used.
-- Make BSRs stop if no more matches are possible.
-- Allow unliminted number of devices in Storage daemon.
-- Allow connections to Storage daemon before all devices are initialized.
-- Better documentation (and btape test command) on using fixed block
- tape drivers.
-Changes submitted this submission:
-29Dec02
-- Added --enable-client-only to ./configure
-- Modified --enable-static-sd to work better and documented it.
-28Dec02
-- Added more rescue documentation.
-- Did a spell check of the Bacula doc.
-- Modified bscan to use the working directory as specified in the
- configuration file as the default.
-25Dec02
-- Fixed an important bug reported by George Motter that caused only
- the last option on an Include record to be used (all previous options
- were lost).
-24Dec02
-- Chase down some inconsistencies in creating Media records from
- the Pool defaults, and in updating/creating the Pool from the
- resource. Also fixed the cats DB routines to include all
- fileds (VolUseDuration was missing for example).
-21Dec02
-- Added building static versions of daemon static-bacula-dir, ...
-- Fine tuned the rescue (bare metal) code including support for grub.
-- Added skeleton freebsd rescue
-- Corrected SQL syntax error in autoprune code (JobType => Type).
-- Added error messages for SQL errors in autopruning.
-19Dec02
-- Documented Bare Metal Recovery
-- Create new "rescue" directory containg the Bare Metal Recovery code.
-- Fiddle with SQL a bit for pruning as apparently the last InitCatalog
- was pruned after the expiration date eventhough it was the ONLY copy!
- I'm not sure this is fixed yet.
-18Dec02
-- Allow Director to pass a NUL where string to FD (fix in FD).
-- Fix installation mv of query.sql.
-- Make sure btraceback.gdb is not wiped on "make distclean"
-- Corrected a bug in mod of replace options pointed out by Dave Anderson.
-16Dec02
-- Started adding FileOptions ...
-- Fixed and incorrect print out of the number of files restored (Jarif).
-- Finally fixed EndBlock (and file address for Files) in catalog!
-- Added hostname to tape header as always planned.
-- Removed Level code (will not implement unless strong demand exists).
-- Tweaked bscan to print number of errors ignored before first SOS.
-- Enhanced btape "fill" to permit using one tape and to dump last
- block before writing and upon read back.
-- Make fsf_dev() return 0 on fail and 1 on success.
-- Use new db_get_job_volume_parameters() to enhance Write Bootstrap to
- contain more info (start/end file/block, file indexes).
-- Added --enable-static-fd, sd, and dir to configuration to enable making
- static versions of the daemons.
-13Dec02
-- The btape test program was indicating errors on Adrian's machine
- using the ATAPI (ide-scsi) tape drive. It turns out that this
- is a fixed block driver as a consequence, Bacula must be setup
- to write fixed blocks. btape was not always using the fixed
- blocks defined in the Bacula config, so that has been updated.
- It now works fine. A lot of tips added to the Bacula test command
- to help guide the user.
-- Documentation of the above significantly improved in the manual.
-12Dec02
-- Added code in watchdog to permit setting and clearing child timers. If
- the timer expires, the child process is killed.
-- Modified restore to handle differential jobs.
-- Added a new test to the btape "test" command
-09Dec02
-- More documentation of new features (week position in scheduler, bsr).
-- Re-read last block written on full tape to verify it.
-- Fix segmentation fault with btape fill command due to missing FileSet MD5.
-07Dec02
-- Created better SQL input editing routines str_to_int64 and str_to_uint64()
-- Pull Client from database in Console restore command.
-- Create a Unique list of Volumes to be mounted (previously had repeats).
-- Made many of the SQL searches better by using the ClientId rather than the name
- in the restore Console command.
-- Modified reading of a tape to include the VolFile info. Once the
- tape is past the specified file, reading stops. The BSR now includes
- both the VolFile and VolBlock. Currently VolBlock is not used.
-- Handle multiple volumes better by creating a real volume list with all
- parameters in it.
-- Display "At prompt waiting for input" in gnome console when at subcommand
- prompt.
-- Broke ascii to internal and internal to string editing routines out into
- new lib/edit.c file.
-02Dec02
-- Added a readme and an afs-bacula script to the examples directory
- that permits Bacula to backup an AFS filesystem. Thanks to
- Lucas Mingarro for the submission.
-- Added A Sun-desktop autoloader script and Device definition to the
- examples/devices subdirectory. Thanks to Lucas Mingarro for the
- submission.
-- If the WriteBootStrap fails, the job will now be marked in error.
-- Added a week position to the scheduler syntax that allows you to
- specify 1st, 2nd, 3rd, 4th, or 4th, or first, ... fifth as a week
- position specification in front of a day. So if you say
-
- 1st sun ...
-
- the scheduler will start only on the first sunday of the month. The
- day specification can also be a day range e.g. sun-fri.
- This code is untested.
-- Implemented bpipe.h and bpipe.c in src/lib, which defines a bi-directional
- pipe. This allows executing other programs and sending them information
- as well as getting info from them.
-- Replaced the previous pipe usage with bpipes in RunBeforeJob and
- RunAfterJob.
-- The mail program now uses bpipes rather than pipes, which means that any
- error output will appear in the job output (truly bi-directional).
-- Modified BSR to handle counts and to stop when no more matches are possible.
- This is untested.
-- Improved error messages in smtp.
-
-=============================================================================
-2002-12-12 Version 1.27d
-- This is a minor update that fixes a segmentation fault in btape
- as well as reduces non-important error messages in bscan.
-
-2002-11-29 Version 1.27c
-- Yet another silly error duplicating a column name in the SQLite
- make tables. No code change, just a make file.
-
-2002-11-29 Version 1.27b
-- Set DB version to 5 in DB make files.
-
-2002-11-28 Version 1.27a
-- Use g++ instead of gcc for testfind in tools
-
-2002-11-27 Version 1.27 (26Nov02) released 28 November 2002
-
-General: from kes25Nov02
-- Mostly Cygwin changes
-
-Changes submitted this submission:
-- Updated bdb_find.c to have new calling sequence for db_find_job_start_time
-- dird/catreq.c edit in Volume name in error messages to SD
-- attribs.c switch to using the cygwin API to convert from POSIX paths
- to Win32 paths. This now permits Win32 path specifications in Include
- statements (all combinations not yet tested). It also avoids the large
- number of errors seen by Lutz if a Win32 path is specified in the Dir.
-- Update testfind help and remove set_attribsEx debug code.
-- Build testfind as default.
-- Turn off debug message in stored/askdir.c
-
-General: from kes21Nov02
-- Another change in the database. You MUST either re-initialize
- your database or use the appropriate ./alter_xxx_tables in
- the src/cats directory.
-
-Changes submitted this submission:
-- Additional documentation.
-- Added MaxVolFiles to the database (not yet implemented in code).
-- Increased the database version from 3 to 4.
-- Change VolMaxBytes to MaxVolBytes, which is much more descriptive.
-- Compressed unnecessary spaces out of a lot of SQL statements.
-- Changed many %d to %u where unsigned integers are used.
-- Added the Bacula version and build date to each backup output.
- This will help knowing what version of Bacula was used.
-- Implemented VolUseDuration MaxVolBytes, MaxVolFiles, and MaxVolJobs
- based on maximums set in the Volume (Media) record rather than in the
- resource. This means the values can be individually set on a Volume basis.
-- Allow commas separating Include options (this was a subtle bug).
-- Added maximum string length argments to a number of subroutines to
- prevent buffer overflows. Most notably was do_prompt().
-- Replaced MANY occurrences of strcpy() with bstrncpy(), which guarantees
- both that the length is not exceeded and that the string is properly terminated.
- This has a risk of a certain destabilization -- as does the changes to
- the SQL noted above.
-- In cram-md5 routine use my_name if gethostname() returns an error.
-- Increase timeout from 2 minutes to 3 minutes in authorization code.
-- Check the full string including \n in authorization.
-- Throw away any response longer than MAXSTRING.
-- Added a number of additional error checks on subroutine return statuses.
-- Replaced as many lld's with edit_uint64 as I could find.
-22Nov02:
-- Added MaxVolBytes to Pool record - had forgotten it. Updated DB version.
-23Nov02
-- Update manual to document new Pool/Volume attributes
-- Correct make_sqlite_tables (typo, plus missing value in Pool)
-- Fix bizarre behavior in gnome-console and console when auth fails.
-- Add Pool attribute query
-- Add a few more error messages in askdir.c
-- More strcpy() conversions to bstrncpy().
-
-General: from kes18Nov02
-- Did a number of cleanups of string copying to limit the length
- and prevent buffer overflows.
-
-Changes submitted this submission:
-- Added a mutex arount the gethostbyname() so that multiple simultaneous
- jobs get the correct address.
-- Added the MaxVolJobs to the Media alter tables script for MySQL (forgot it).
-- Changed arg to db_find_job_start_time to be POOLMEM for returning the string.
-- Add the new VolUseDuration and MaxVolJobs to all the db_ routines.
-- Use bstrncpy() in most places in the db_ routines to prevent a bad
- database from crashing Bacula (self protection).
-
-General: from kes13Nov02
-- You MUST either re-initialize your databases or use the
- ./alter_mysql_tables
- or
- ./alter_sqlite_tables
- in the <bacula-src>/src/cats directory to modify your database tables.
-- Major improvements to dbcheck including an interactive mode.
-
-Changes submitted this submission:
-- Implemented VolumeUseDuration and MaximumVolumeJobs which control
- when a tape can be marked Used.
-- New tape status "Used" means it was used and cannot be used any more.
-- Defined utime_t which is 64 bit epoch time in seconds. btime_t is
- 64 bit epoch time in microseconds.
-- Created alter_xxx_tables to add new columns (VolUseDuration, MaxVolJobs) to
- database. Incremented db version.
-- Changed a few subroutine names concerning dates to be more descriptive.
-- Fixed several places where the last filename was not stored in JCR in
- FD verify_vol.c and restore.c
-- Major update to dbcheck. Unfortunately I used subselects, which work
- perfectly fine in SQLite, but not at all in MySQL. I must now rework
- it for MySQL. What a pain!
-- Removed "Database found" from configure output. It was no longer used or valid.
-- Corrected doc --working-dir => --with-working-dir Thanks to Tuck for
- reporting this.
-- Added the database name to the error message for mismatched DB version.
-- Commented out GMP and CWEB from configure as they are not currently used.
-
-General: from kes09Nov02
-- Converted the manual over to a new format written in wml. This
- gives navigation buttons on the top and bottom of each page
- as well as a standard page size.
-- Updated the main Web site, providing a menu bar to the left
- and much better organization and presentation of the information.
-- Added code to recognize a Volume written with a larger block
- size than specified. The code automatically adjusts.
-
-Changes submitted this submission:
-- Created a new scripts directory and moved most of the scripts
- previously in the main directory there. This cleans things up
- quite a bit.
-- Moved the randpass stuff into autoconf.
-- ensure that the generic make_bacula_tables and drop_bacula_tables
- are installed.
-- Added code to filed to allow it to be run from inetd. Just add the
- -i option. I have not tested it.
-
-General: from kes30Oct02
-- Alex found a problem with GZIP compression -- fixed.
-- bacula stript fixes.
-- Segment fault in Director fixed.
-- Added openbsd to platforms
-
-Changes submitted this submission:
-- GZIP compression was broken for large files due to a variable that
- is changed during the compression. This was relatively easy to fix.
- However, there were a number of fixes required to make GZIP and SPARSE
- files work together. Found one more place in bextract where SPARSE_GZIP
- testing was missing.
-- During testing of the above, I ran into the restore problem of multiple
- FileSet records. Fixed by including the FileSetId and the MD5 on the
- selection string, then always using the FileSetId. It is a bit
- confusing for the user, but ...
-- Francis found a problem with bacula.in (fixed - thanks)
-- I found another problem with bacula.in, so now it REALLY should work
- on most systems.
-- Added the Replace options code for restores. Not tested.
-- Fixed an ugly stack overrun bug in reading the config file
- that has been in for a long time. I found this in testing on FreeBSD
- where the Director seg faulted.
-
-General: from kes29Oct02
-- Major change to the bnet communications routines.
-
-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: 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.
-
-
-=============================================================================
-2002-10-12 Version 1.26 (10Oct02)
-General: from kes10Oct02
-- Changed Job name conventions to avoid : which is an illegal
- character on Windows.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-General: From kes25Sep02
-- Added means to bind servers to specific address.
-- Documentation
-
-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.
-
-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
-
-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
-
-=============================================================================
-2002-09-05 Version 1.25a (05Sep02) Released
-- Fix unitialized stack variable in bextract so it
- will always read the currently mounted tape.
-
-=============================================================================
-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.
-
- 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.
-
-
- 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.
-
- 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.
-
- 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.
-
-=============================================================================
-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.
-
- 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.
-
- 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().
-
- 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.
-
- 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.
-
- 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.
-
-===========================================================================
-2002-07-26 Release 1.23a
-- Fix segmentation fault is FD status.
-- Turn off TRANSACTIONs for SQLite.
-
-===========================================================================
-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.
-
- 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().
-
- 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
-
- 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.
-
- 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.
-
- 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.
-
-===========================================================================
-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.
-
- 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
-
- 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.
-
- 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
+Beta Release 2.5.42-b2
+16Mar09
+kes Increase timeout for unmounting DVD as suggested by reporter
+ of bug #1250.
+15Mar09
+jh Fix by James Harper to print error code when attempting to
+ restore two databases (only one is permitted). This responds
+ to bug #1234.
+kes Apply the nodump patch supplied by Frank Kardel that fixes
+ the NODUMP flag problem. This fixes bug #1221
+kes Add more output if a user attempts to clone a job but does not
+ uniquely specify the Job name. This responds to bug #1248 which
+ was not a bug, but improves user feedback.
+14Mar09
+kes Fix problems with bug #1247 and 64 bit time_t OSes by not
+ editing (printf) time_t values.
+12Mar09
+kes Install bacula (start/stop script) in sbindir in addition to
+ scripts dir.
+ebl Tweak configure to remove bash specific code
+ebl Remove TCABD reference
+11Mar09
+ebl Free lock manager in when btape exits
+09Mar09
+kes Apply patch from bug #1224, which fixes waiting on max Storage
+ jobs during migration. Submitted by Alexandre Simon.
+kes On 03Mar08 (a year ago) applied patch from bug #1059 (kardel)
+ to implement the NODUMP flag on FreeBSD.
+07Mar09
+kes When deleting a Volume by MediaId require the Id to be
+ prefixed by a * to avoid confusing with an integer volume
+ name.
+kes Prevent bls from printing binary data when a plugin stream
+ encountered. This fixes bug #1238
+kes Prepare to add JS_Warnings termination status.
+kes Attempt to resolve bwx-console Win32 crash. Not likely to
+ work.
+06Mar09
+kes Move src/win32/dll to src/win32/lib, which is much more logical.
+kes Fix the Win32 build.
+kes Fix broken casting in src/compat/print.cpp.
+kes Eliminate jcr Errors and always use jcr JobErrors. This should
+ ensure that SD and FD errors are correctly reported. Also add
+ JobErrors to SD returned values. This should fix bug #1242.
+28Feb09
+mvw Implemented xattr support for Solaris 9 and above and extensible
+ attributes for OpenSolaris.
+mvw Added some limits to the xattr code so that we don't blow up the
+ filed on big xattrs.
+mvw Fixed some comments which changed due to xattrs being implemented.
+mvw Changed xattr support checking in configure to test first for
+ generic solutions and when not found for specific OS functions.
+25Feb09
+mvw Don't try to copy empty jobs (e.g. with jobbytes == 0)
+ which gives Unable to get Job Volume Parameters errors.
+ Which leads to copying the same job over and over again.
+21Feb09
+kes Ensure that src/qt-console/.libs is cleaned properly
+20Feb09
+mvw Use acl_data_len instead of seperate var for length
+ of acl stream.
+ebl Add database update scripts to updatedb dir
+19Feb09
+ebl Fix #1226 about bconsole segfault when using readline()
+18Feb09
+kes Apply Eric's next-beta.patch that enables 64 bit FileIds and
+ adds new columns to the catalog.
+kes Ensure that libtool directory always cleaned + reduce
+ unnecessary output during make clean.
+15Feb09
+ebl Check postgresql database encoding that should be SQL_ASCII
+ and print a warning if it's something else.
+08Feb09
+kes Free name item in guid_to_name.c when already in list.
+kes Add more info to error message in ua_tree.c
+05Feb09
+kes Make re-read last block fatal if block numbers differ by
+ more than one.
+30Jan09
+ebl Try to disable _FORTIFY_SOURCE by default
+29Jan09
+ebl Tweak compat.h for new mingw
+28Jan09
+ebl Add new ScratchPool directive to Pool. Thanks to Graham
+ebl Turn on db_get_file_list() single SQL because the failure
+ was due to a full FS. And the accurate test fails with the
+ other code.
+27Jan09
+ebl Fix a bug that doesn't update RecyclePool all the time
+ during the first startup.
+25Jan09
+kes Turn off db_get_file_list() giant SQL because if fails on
+ my production machine.
+kes Fix bat.pro.in so that bat is properly installed rather
+ than just copied.
+24Jan09
+kes Modify search for .conf file so that if one is given on
+ the command line, it will be used, otherwise it will use
+ the SYSCONF directory. It will no longer look in the current
+ directory unless explicitly requested on the command line.
+ This fixes bug #1189.
+kes Fail a job that references a plugin if no Plugin Directory is
+ defined.
+22Jan09
+kes Fix bug #1211 crash during reload with bad dird.conf file.
+21Jan09
+ebl Add detection of intptr_t and uintptr_t to configure process
+20Jan09
+ebl Change some cast to use intptr_t instead of long
+18Jan09
+kes Apply acl_solaris_update.patch submitted by Marco (thanks).
+kes Remove configure check for resolv.h -- it is apparently not needed
+ and causes build warnings on FreeBSD.
+kes Ensure that the installer and newinstaller Makefiles are called
+ during a make clean.
+12Jan09
+kes Apply Eric's fix for suppressing extended attributes error messages
+ when dealing with deleted files.
+11Jan09
+kes Add src/win32/newinstaller -- single file installer
+kes Attempt to explicitly call gmake when needed, or if not found
+ skip the calls. This should fix the FreeBSD regression/build.
+10Jan09
+kes Fix bat.pro.in so that bat will install.
+09Jan09
+kes Add more debug output to VSS init.
+kes Attempt to correct win32 debug in berrno.
+09Jan09
+kes Fix bug reported by Dan where make fails in clean of src/win32.
+07Jan09
+kes Fix bug #1212, SD is unable to recycle purged volumes. fstat()
+ was broken.
+06Jan09
+ebl Despool attributes directly from the director if attribute
+ spool file is present
+Beta Release 2.5.28-b1
+05Jan09
+kes Fix bat install broken by $DESTDIR change.
+02Jan09
+kes Fix annoying compiler warnings in console/conio.c
+kes Fix win32 build (depended whether or not ./configure was run).
+28Dec08
+kes Apply fix suggested by Bruno Friedmann to configure.in to
+ find python2.5
+26Dec08
+kes Turn on Eric's match_bsr tape block checking code.
+kes Correct values used for tape block numbers in record.c.
+23Dec08
+ebl Fix a problem with PoolUncopiedJobs option which was broken
+ by the new JT_JOB_COPY type.
+kes Fix bug #1206 -- Error: sql_update.c:194, which was probably
+ caused by the user modifying the Bacula DB schema.
+kes Remove rogue line of C code.
+kes Fix bug #1208
+
+Beta Release 2.5.28-b1
+02Jan09
+kes Fix annoying compiler warnings in console/conio.c
+kes Fix win32 build (depended whether or not ./configure was run).
+28Dec08
+kes Apply fix suggested by Bruno Friedmann to configure.in to
+ find python2.5
+26Dec08
+kes Turn on Eric's match_bsr tape block checking code.
+kes Correct values used for tape block numbers in record.c.
+23Dec08
+ebl Fix a problem with PoolUncopiedJobs option which was broken
+ by the new JT_JOB_COPY type.
+kes Fix bug #1206 -- Error: sql_update.c:194, which was probably
+ caused by the user modifying the Bacula DB schema.
+kes Remove rogue line of C code.
+kes Fix bug #1208
+
+Beta Release Version 2.5.26
+20Dec08
+kes Correct typo in Win32 Makefile editing
+kes Correct typos in debug output.
+kes Improved error detection in creating bsrs.
+kes Add debug code to Win32 restore
+19Dec08
+kes Fix Win32 build.
+ebl Cleanup director VolParam struct
+18Dec08
+ebl Replace File:Block in BSR by Address to fix #1190
+16Dec08
+kes Correct missing return in Darwin code.
+15Dec08
+ebl Copy joblog after a Copy job
+14Dec08
+kes Tweak block.c read to more closely simulate write for computing
+ block addresses and turn on disk block testing.
+kes Implement a crude 'list joblog' mostly for debugging.
+13Dec08
+kes Fix Migration bug #1206 sql error with NULL FileSetId when no jobs
+ to migrate.
+kes Fix Migration JobLog bug #1171. Get the JobIds correct.
+12Dec08
+ebl Fix segfault in bscan when using debug mode
+11Dec08
+kes Fix configure to do minimum Win32 configure so that make clean
+ works.
+kes Tweak modify FD header to use %ld instead of %d.
+kes Remove hand scanning of FD header in SD and use Bacula's
+ sscanf, which is now OS independent.
+kes Define new object (file/dir) begin and end Volume label records
+ in SD.
+kes Use new method of defining XATTR #defines to avoid need for having
+ them in config.h.in
+10Dec08
+ebl Rename all STREAM_ACL_..._T into STREAM_ACL_..
+09Dec08
+ebl Add a new lock manager that can detect deadlock situation
+ This new option is activated with a --enable-lockmgr configure
+ option.
+ebl Add new Director->MaxConsoleConnections directive
+03Dec08
+ebl Fix bacula-sd hanging after tape gets full + unload
+02Dec08
+ebl Remove extra db_lock() in get_prune_list_for_volume()
+ebl Apply 2.4.3-prune-deadlock.patch that fixes a problem when
+ using Catalog as message backend.
+01Dec08
+kes Apply Marco's Darwin xattr patches.
+28Nov08
+kes Fix Win32 build.
+26Nov08
+kes Apply Marco's Extended attribute support patch.
+kes Update projects file
+25Nov08
+kes More changes to ensure that during thread switches the jcr
+ is removed from the TSD.
+kes Ensure that consoles attach jcr to thread, and that only the
+ thread attached is removed from the TSD.
+24Nov08
+kes Move definition of FileId_t to bc_types and define it once in the jcr.
+22Nov08
+kes Remove all time_t from arguments in favor of utime_t, which is
+ machine independent.
+kes Add more debug to match_bsr.c and use %u for unsigned debug editing.
+20Nov08
+ebl Apply patch for bug #1182 about Recycle flag
+ that is not updated after a pool change.
+kes Since the user has been warned, allow console purge command
+ to purge volumes that are in use.
+kes Fix Win32 build to add new sd_plugins.c
+ebl Apply patch from bug #1175 that reset the Slot and the Inchanger
+ flag in db_make_inchanger_unique().
+ebl Remove a Emsg() after recieving a Fatal signal that can lock
+ the catalog.
+19Nov08
+kes Apply patch from bug #1187. It prints an error message if the
+ Maximum Block Size in the SD is too big.
+kes Increase Maximum Block Size to 2,000,000 bytes.
+kes Use doubly linked bsr list so that consumed bsrs may be
+ removed. Removing not yet implemented.
+18Nov08
+kes Implement a fix that very likely fixes the undesired volume
+ purge reported by Graham Keeling.
+kes Implement bsr block level checking for disk files. However,
+ it does not work correctly in accurate tests, and all the
+ migration and copy tests, so it is turned off.
+ebl Make SD plugins work.
+14Nov08
+ebl Apply Riccardo's patch to compile bacula+mysql on mandriva
+13Nov08
+ebl Add more variables accessible through the director plugin
+ interface.
+12Nov08
+ebl Do work on plugins
+ - fix compilation of the director plugins
+ - add plugin list to status dir output
+ - add director plugin dump after a fatal signal
+ebl Apply Riccardo's patch that fix some win32 compilation errors
+ and a bug with bat version browser.
+11Nov08
+ebl Add Plugin debug after a fatal signal.
+ebl Add db and rwlock debug after a fatal signal.
+10Nov08
+ebl Fix maxwaittime to fit documentation, this time is now counted
+ from the job start and group all wait periods.
+ebl Add tips for postgresql to improve performance when having
+ multiple batch insert at the same time.
+09Nov08
+ebl Remove extra debug for db lock.
+07Nov08
+kes Apply Riccardo's second patch that cleans up the #include
+ file order + a few Win32 particularities to make bat work
+ on Win32.
+ebl Add allow_transactions flag to mysql db backend.
+kes Apply win32-fixes patch from Riccardo that makes the Win32
+ bat more stable and faster (but still slow).
+06Nov08
+kes Fix bug with job name duplication if more than 60 jobs created
+ during a minute.
+kes Correct some bugs of cleanup in SD if the FD connection fails.
+ebl Add code to get more information after a fatal signal.
+05Nov08
+ebl Apply Bastian's patch that add spooldata=yes|no option
+ to run command.
+04Nov08
+ebl Fix bash shell to sh shell in database creation script
+02Nov08
+kes Fix orphaned jobs (possible deadlock) while pruning.
+kes Use jcr stored in bsock rather than searching in getmsg.c.
+ This results in about a 5% speed improvement with four
+ concurrent jobs.
+kes Implement win32_chmod that uses wide characters, if possible,
+ to get and set the file attributes.
+29Oct08
+kes Apply pane freezing during updates patch from Riccardo Ghetta.
+kes Rework next_vol and autoprune a bit due to failure in
+ recycle-test. prune_volumes() now returns no status,
+ but should prune at least one Volume, if possible.
+kes Modify check_if_volume_valid_or_recyclable to reject a
+ volume with Recycle set off.
+kes Modify prune_volumes() to continue if volume Recycle is off
+ or if the volume has expired. Add more debug.
+28Oct08
+kes Fix bug #1046 VolumeToCatalog incorrectly reports mounted
+ filesystems as missing on the Volume.
+kes Rewrite the set_jcr_job_status() code to include job status
+ priorities so that more important status changes occur but
+ lower priority status changes will not overwrite something
+ more serious. This could possibly cause reporting incorrect status
+ reporting in some cases. More testing is needed to ensure
+ I have the right priorities. This vastly simplifies the previous
+ contorted logic.
+ Verify Diff status should now be correctly reported, whereas it
+ was previously lost.
+kes Reduce some debug output.
+kes Apply Joao's patch to SQLite tables to make chars work.
+27Oct08
+ebl Fix #1175 About update slots that don't reset InChanger flag when
+ slot is empty.
+ebl Fix #1173 where prune_volume() returns a volume from the scratch.
+25Oct08
+kes Remove jobq.c constraint that read and write SD must be
+ different. This may lead to more deadlocks in the SD,
+ but they should be resolved there.
+kes Ensure that job report is always printed even if job is failed
+ in the director.
+kes Don't print job report twice for failed VBackup jobs.
+24Oct08
+kes Fix editing of retention time difference to use 64 bit
+ int instead of 64 bit unsigned. This should permit very
+ long retention periods.
+kes Implement code to prohibit a write job from appending to a
+ Volume that will be used for a read operation. This is
+ new code and could possibly cause some conflicts.
+23Oct08
+kes Integrate James Harper's Exchange Win32 plugin patch.
+kes Apply patch from Marco van Wieringen that implements the new
+ Solaris libsec interface for ACLs so that Bacula can save and
+ restore both the new ACLs and old ACLs.
+kes Marco's patch also corrects the file dependency generation code
+ so that it works properly both with shared libraries and static
+ libraries.
+kes Marco's patch also includes a small cleanup of the cats Makefile
+ to remove some references to non-existent files.
+22Oct08
+kes Modify win32 Makefiles to use full paths in most cases.
+ In particular add MAINDIR environment variable that points
+ to the main Bacula source directory.
+21Oct08
+kes Add read volume list code to SD -- not yet used.
+kes Add James' binutils patch
+kes Split volume management code out of src/stored/reserve.c into
+ a new file vol_mgr.c
+kes Modify configure to do an automatic make clean. This ensures
+ that any changes to ./configure options are handled correctly.
+
+Beta Release Version 2.5.16
+19Oct08
+kes Add Makefile dependency when using LIBTOOL_LINK so that any
+ change in ./configure options will be accounted for.
+18Oct08
+kes Fix typo in the ACL patch that I overlooked.
+kes Apply Marco's libtool include patch.
+17Oct08
+kes Apply Bastian Friedrich's ACL patch to eliminate ACL
+ errors during restore.
+kes Minor cleanup of create_restore_volume_list() code.
+kes Fix typo in console Makefile.in
+16Oct08
+ebl Fix #1110 about RunScript that can't execute a script with
+ Unicode caracters in the path.
+15Oct08
+kes Apply tray-monitor patch from Bastian Friedrich to make it
+ work with the new FD.
+14Oct08
+kes Apply cleanup patch from Marco
+kes Apply patch from Marco van Wieringen <mvw@planets.elm.net>
+ that implements libtool to create shared objects out of
+ the Bacula libraries.
+kes Fix tray-monitor so it will speak to new FD.
+ebl Fix bug with ansi label when volume name length < 6
+ebl Fix segfault in debug level > 50 with btape.
+ebl Remove warning message in btape when command is empty.
+kes Fix Win32 build to pull in new BACULA define.
+13Oct08
+kes Change IncludeDir to Exclude Dir Containing.
+kes Implement code to prohibit ExcludeDirContaining in an
+ Exclude section (same for Plugin and Options). A bit
+ of a kludge with RES_ITEM2 ...
+ebl Add field to command list to restrict Runscript console
+ command.
+ebl Use a separate JCR when running Console command with Runscript.
+ebl Permit to mark version as Beta in some ouputs
+11Oct08
+kes Add plugin types in jcr.h to reduce need to cast.
+kes Do better checking of plugin return values.
+kes Free plugin context after calling pluginFree() as
+ requested by James.
+kes Allow plugin to call JobMessage with NULL context.
+kes Do not add plugin to global list if loadPlugin returns error.
+kes Rework plugin.h a bit to reduce dependence on Bacula.
+10Oct08
+kes Move generation of bsr file for Virtual Backup to run section
+ so that it is generated just before actually running.
+ Suggested by Graham Keeling.
+09Oct08
+kes Add malloc and free Bacula entry points for plugins. Increment
+ FD plugin interface version. Create a bacula plugin context
+ structure to keep track of whether or not the plugin is disabled.
+kes Apply FileIndex fix for plugin name stream suggested by James.
+kes List plugins in FD status report when debug > 0.
+08Oct08
+ebl Add a new VerId variable that is printed in version command.
+kes Fix migration SQL not to migrate a job that has not terminated.
+ This is a partial fix to bug #1164.
+kes Sort JobIds returned from db_accurate_get_jobids() to fix Virtual
+ backup start time bug reported by Graham Keeling.
+08Oct08
+ebl Fix possible bug in cancel_job() with job that are not
+ yet created.
+07Oct08
+kes Fix bat build for Win32.
+06Oct08
+kes Copy plugin link field into ffpkt.
+05Oct08
+kes Integrate patch from Kjetil Torgrim Homme <kjetilho@linpro.no>
+ It provides FileRegex in bsr files and code to collect regex
+ from the user during restore, an Allow Mixed Priorities feature,
+ and documentation for the above.
+ebl Remove db berkeley from configure process
+kes Do dirty check on hostname (Linux only) and if not resolvable
+ use localhost as default.
+kes Increase vtape max block to 20GB.
+04Oct08
+kes Refactor restore code to create a close_previous_stream(). This
+ This may destabilize the source.
+kes Implement planned startRestoreFile() plugin call.
+ebl Remove missing Loaded information from status slots storage command.
+ebl Fix Console command problem that cancels the job
+kes Add more plugin restore debug code.
+03Oct08
+kes Fix plugin_bwrite - plugin-blseek mixup pointed out by James.
+kes Rewrite plugin restore interface a bit to correspond to how Bacula
+ creates and writes to the restored file.
+kes Add some DebugMessage() calls to the bpipe-fd.c program.
+30Sep08
+kes Apply Marco van Wieringen's set of patches, cleans up Migration/Copy
+ Implement 'Pool Uncopied Jobs', allow Solaris Compiler to build
+ Bat; allow add and delete in place of mark and unmark.
+kes Another attempt to fix the endRestoreFile plugin bug noted below.
+29Sep08
+kes Apply dbi driver patch from Joao.
+kes Correct a bug in passing the context to the endRestoreFile() plugin command.
+ Bastien Friedrich reported the bug.
+kes Create plugin instance only when FD job starts.
+kes Add new FD plugin event: bEventCancelCommand when
+ a cancel command is issued to the FD.
+28Sep08
+kes Add cmd_plugin flag to jcr so we can globally know if a
+ command plugin is running.
+kes If command plugin running, do not attempt (for the moment)
+ to get Win32 extended attributes.
+kes Ensure that proper Win32 flags are set in bfile packet
+ if plugin_bopen() works on Win32.
+kes Remove generated src/plugins/fd/Makefile
+27Sep08
+kes Implement build and install of bpipe-fd.so plugin.
+kes Rework the interface that passes packets to the plugin
+ so that the packet is started and ended by the packet size.
+ This allows the driver to do a sanity check.
+26Sep08
+kes Rework the pluginIO Bacula internal code to enable
+ proper handling of Win32 error codes from GetLastError.
+kes Apply Joao's patch to regress startover_libdbi.
+25Sep08
+ebl Add -B option to dbcheck to get catalog information
+kes Fix Win32 build to include new library function.
+kes Remove some old reader/writer code.
+kes Implement ./configure --with-plugindir=xxx
+ebl Fix the mysql bug in the new accurate code
+kes Improve plugin debug. Create plugin test.
+kes Set main thread specific data to INVALID because it
+ has no jcr. This allows debug output to work correctly.
+kes Add src/plugins/fd/Makefile to ./configure process.
+kes Make first cut attempt to correct SQL that computes the current
+ Pool usage. This is to fix bug #1159.
+kes Do a bunch of plugin cleanups for Win32 and more careful checking
+ of PluginDirectory and whether or not a plugin was found.
+24Sep08
+kes This code should fix the race condition that leads to a Director
+ crash at job end time when the job list is updated. This was reported
+ in bug #1162.
+kes Add more plugin documentation and fix include of config.h for
+ Win32 build (I hope).
+22Sep08
+ebl Revert to htable instead of rblist
+ebl Cleanup accurate code (remove tcdbm parts) and use red/black
+ tree instead of htable.
+ebl Use a dedicate DB link to compute and send the accurate list
+ file to the client.
+21Sep08
+kes Fix compile errors in filed/fd_plugin.c.
+20Sep08
+kes Remove all double quotes from SQLite creating script and
+ replace by single quotes as suggested by John Huttley.
+18Sep08
+kes Apply dbcheck patch from Yuri Timofeev <tim4dev@gmail.com>.
+ It significantly improves the performance of dbcheck for
+ MySQL.
+kes Fix bad debug code call in src/filed/accurate.c
+17Sep08
+kes Change two Jmsgs in accurate to Dmsg to reduce unnecessary
+ output. Perhaps we really need to implement M_SAVED.
+16Sep08
+kes Fix bug #1156 FD crash during processing of Accurate data.
+kes Tweaks to htable code to improved debugging and make names
+ a bit more meaningful.
+15Sep08
+ebl Remove time_t from update_stats()
+14Sep08
+kes Modify the license of the example plugin program to allow
+ it to be used by anyone for making a Bacula plugin.
+kes Make apply_rp_codes() in bpipe-fd.c be static.
+13Sep08
+kes Remove Encryption and Accurate lines in vbackup output -- not used.
+kes Fix subtle bug in vbackup by not changing DEV_RECORD packet.
+kes Add host name to items printed during dump.
+kes Make Check File Changes default on.
+11Sep08
+kes Set the default FD timeout to 3 minutes (previously 30).
+kes Apply Bastian Friedrich's weird spelling correction patch.
+10Sep08
+kes Always print Verify hash differences. Rename variable to make the
+ code slightly more readable.
+09Sep08
+kes Correct tests for MaxFullInterval as reported by
+ Ulrich Leodolter <ulrich.leodolter@obvsg.at>..
+kes Fix MaxDiffInterval code as well.
+kes Enable Win32 plugin load code in lib.
+kes Make Verify code that computes disk checksums use the same
+ algorithm as backup when dealing with sparse files.
+kes Attempt to run VSS on any systems newer than Vista -- should
+ make it work on Windows Server 2008.
+ebl Change the new statistic implementation. Remove the UseStatistic
+ directive and add a 'update stats [days=...]' command. You can
+ now decide when copy job records from Job table to JobStat.
+ Statistics are much more accurate with this.
+08Sep08
+kes Fix SQL case problem that may cause the failure of DiskToCatalog
+ in bug #1149.
+kes First cut adding SD plugins.
+03Sep08
+kes Add Slot if it is non-zero to writing bsr file after a
+ backup.
+kes Change a number of bnet_fsend() into class method calls.
+kes Begin audit of diff of 2.4 branch to trunk code.
+01Sep08
+ebl Fix the mysql creation script that double-created an
+ index of the same field on the Media table.
+ Add an index to on VolumeName to the Media table for mysql.
+30Aug08
+kes Another try at fixing Vbackup. It looks much better this time.
+ Disable file index sanity check in FD with value stored in
+ attributes record because with Vbackup the File Index gets
+ changed, but not the attributes record.
+ Enhance some debug code.
+ Fix handling of re-indexing records that are copied in Vbackup.
+29Aug08
+kes Made level_to_str() know about Virtual backup.
+kes Set correct Virtual backup write pool.
+kes Fix compile warning in new dbcheck port code.
+kes Fix migration code broken by previous virtual backup fix.
+28Aug08
+kes Fix problem of Virtual backup not writing a sequential FileIndex.
+kes Reset Virtual backup time/date to the value from the last backup.
+kes Ensure that storage name is passed to SD on read.
+kes Correct a problem with Level and Virtual backup, rework how
+ bsrs are printed in debug to use standard routine.
+kes Apply patch from Chris in bug #1133 that provides alternate db port
+ support for dbcheck.
+ebl Remove catalog dependency from bcopy tool.
+ebl Modify catalog scripts to have an easier packaging integration,
+ using default variables.
+ Make difference between SQLite3 and SQLite in db_get_type()
+27Aug08
+kes Apply most of changes in a patch from:
+ Michael Stapelberg <michael+bacula@stapelberg.de>
+ that allow the Bacula FD to compile on IRIX 6.5.
+26Aug08
+kes Apply patch from Bastian Friedrich that accepts a yes on a
+ delete volume command line.
+kes Attempt to fix bug #1128 InChanger flag cleared during Migration
+ job when reading from one autochanger and writing to another.
+kes Minor tweaks (copyright dates convert to use method instead of bnet).
+21Aug08
+kes Fix NULL Volume error when reading (or Migration or VBackup) must switch
+ drives when no tape is mounted.
+18Aug08
+kes Add additional info to some SD messages.
+kes Add fix supplied by Martin Simmons for turning off EOL character
+ in new console multi-command code.
+14Aug08
+kes Fix a Verify InitCatalog problem where in certain cases
+ a garbage filename may be entered in the verification database. This
+ fixes bug #1143.
+13Aug08
+kes Add VSS 64 bit dll entry point in src/win32/filed/vss_generic.cpp
+ sent in by Riyas Yoosuf.
+12Aug08
+kes Fix seg fault in Dir during estimate command with no level value
+ given. This fixes bug #1140.
+08Aug08
+kes Add message to migration job when the target job is already migrated.
+ This closes bug #1129.
+30Jul08
+kes Fix Win32 build.
+kes Raise some restore debug levels.
+kes Replace off_t by boffset_t where ever I found it.
+28Jul08
+kes Define a machine dependent ioctl request type for use with
+ vtape_ioctl().
+26Jul08
+kes When a migration job actually runs, re-check the Job record
+ and skip if the job is already migrated. This should
+ significantly reduce the problems with bug #1129.
+24Jul08
+kes Set MALLOC_CHECK_=0 in environment before starting Bacula to
+ turn off glibc checks that prevent getting good dumps.
+kes Implement console 'wait mount' command. Doesn't yet work.
+kes Implement timeout=nn on console 'wait mount timeout=nn' command.
+kes Break the do_swapping into do_unload, do_swapping, and
+ do_load. It is much more logical that way.
+kes Implement a set_dcr_from_vol subroutine in acquire.c for
+ reading volumes. This allows the dcr to be refreshed after being
+ zapped when the wrong volume is mounted.
+ This should fix bug #1126 -- During multiple tape restore, bacula
+ does not ask for physical tape change, but rereads same tape
+23Jul08
+kes Apply patch submitted for bug #1107 with a small modification.
+ This fixes a bug where bcopy copied too many records.
+kes Make some tweaks to bsmtp based on patch submitted in bug #1124.
+ This fixes bug #1124.
+kes Make the default bat restore Pool be Any. This fixes bug #1118.
+22Jul08
+kes Remove debug statement that crashes the SD at the end of
+ a tape during restore. Fixes bug #1125.
+21Jul08
+kes Implement Win32 bat changes made to Branch-2.4
+20Jul08
+kes Tweak separator command in console to start disabled and
+ allow defining no separator character. Also make code a
+ bit more fault tolerant.
+kes Make btraceback write the traceback to the working directory
+ before attempting to mail it.
+kes Add a RFC to Projects.
+18Jul08
+kes Attempt to implement a kludge to make Qt work with bat
+ on Win32.
+kes Setup rstorage correctly. Virtual backups are working.
+17Jul08
+kes Move setting JobLevel and JobType into a method, which should
+ allow completing Virtual Backups.
+kes Fix verify jobs to work again.
+16Jul08
+kes Virtual Backup tweaks -- it is close to working.
+15Jul08
+kes Ensure that SD tried to mount a volume not in an autochanger
+ at least once before asking for operator intervention.
+kes Make SD aware of Virtual Backup jobs.
+kes Add VirtualFull for bat.
+kes Changes to get read storage correct for Virtual Backup.
+14Jul08
+kes Remove old code from label.c
+kes Split display_display_info() out of write_bsr_file()
+kes do_vbackup_init() working -- i.e. bootstrap file built.
+kes Change Bacula trademark owner from John Walker to Kern Sibbald
+kes First non-working cut of vbackup
+kes Correct FD heartbeat code to use volatile variable accessed by
+ two threads.
+kes Zero thread id with memset if on Win32 in case it is a struct.
+kes If cannot create JobMedia record, continue to try to write eof
+ and clean up in block.c
+12Jul08
+kes Add code to interface OpenSSL to new Win32 pthreads code which
+ used a structure for thread_t.
+09Jul08
+ebl tweak bat for win32 compilation
+08Jul08
+ebl Remove tokyo cabinet from the source
+ebl Update configure/autoconf to support berkeley DB
+ebl Add a sort to db_get_file_list() to improve bsr construction time.
+07Jul08
+kes Add a mtx-changer.conf file that is not overwritten during
+ an upgrade. It fully configures the mtx-changer script.
+kes Clear in-use bit on vol when unused while swapping.
+06Jul08
+kes Remove sleep at end of ./bacula
+kes Clear hash packet for hardlinked files correctly. This corrects
+ a long standing bug where hardlinked files selected individually
+ would occasionally not be restored.
+05Jul08
+kes Apply Eric's patch to ensure that autoprune does not return
+ a Volume not in the autochanger unless requested to do so.
+kes Correct bat restore display of multiple drives. This fixes
+ bug #1117.
+kes Do find_a_volume() each time an unload is done. This
+ fixes the failure of maxvol2-test.
+04Jul08
+kes Add some SD debug code.
+kes Do find_a_volume() each time an unload is done.
+kes Apply Joao's DBI patch that adds easier configuration of DBI drivers,
+ and adds --with-db-port to ./configure.
+kes Use Qmsg() in job.c watchdog callback.
+03Jul08
+kes Release main control rwlock if ABORTing.
+kes Make watchdog connect timeout queue messages rather than sending
+ directly to avoid lock conflicts with the real thread.
+kes Add const char in dbd.c to avoid compiler warnings.
+kes Fix python compiler string warning. Note, IMO the GNU C++
+ compiler guys have made a *very* bad change to their compiler.
+ They now force all strings to be 'const' unless you explicitly
+ cast them, which is extremely ugly and ruins nice code as well
+ as creates a lot of useless work.
+02Jul08
+kes Fix mtx-changer to detect both versions of Ubuntu (Debian)
+ mt. This fixes bug #1116.
+kes Add const in python files to reduce compiler warnings.
+ This may have to be backed out because of later compiler
+ strict checking.
+kes Fix failure of 2drive-concurrent-test. Always read label;
+ clear_unload() only after drive is defined in acquire_for_read().
+27Jun08
+kes Generally clean up the manual tape loading code. The main
+ conceptual change is that when a volume is marked to be unloaded,
+ its volume name is retained, and it is only marked as unloaded
+ when either the autoloader says it is unloaded or another tape
+ is read on that drive.
+25Jun08
+kes Add debug code and refactor subroutine in stored/mount.c
+kes Fix format problem in bscan output reported in bug #1105.
+ebl Fix get_next_volume_for_append logic with autochanger
+ - use pruned volumes if found
+ - don't reset the inchanger flag after getting a recycled volume
+ or a scratch one
+ Fix recycle_oldest_purged_volume to take InChanger flag in account
+23Jun08
+ebl Add mmap/unmmap implementation for tokyodbm under win32
+22Jun08
+kes Make first step toward eliminating globals from config
+ scanning. Also should be a workaround for FORTIFY_SOURCE
+ GNU C bug -- fixes bug #1042.
+21Jun08
+kes Apply duplicate job tests to restarted jobs.
+kes Copy more data when restarting a job so that run
+ overrides are kept. This should fix bug #1094.
+20Jun08
+kes More word alignment cleanup.
+kes Fix bug where SD did not ask operator if the device could not
+ be opened. Reported by Eric.
+19Jun08
+kes Add dbuser to DIR conf file (replaces user).
+kes Add --with-db-password to ./configure
+kes Fix regress to handle db_password.
+ebl Add new 'status storage slots' that list autochanger
+ content.
+ebl Update vtape driver to compile only under Linux.
+ebl Fix a bug when restoring with a wrong mediatype.
+18Jun08
+kes Eliminate ints from conf files and structures to avoid
+ word alignment problems
+17Jun08
+kes Fix bug reported by Scott Barninger where the bacula script
+ refers to scripts in the wrong directory. Needed to meet the
+ requirements of recent FHS location changes.
+ebl Disable vtape for FreeBSD.
+15Jun08
+ebl Modify disk-changer to check if slot contains something before
+ loading it.
+14Jun08
+ebl Fix vtape on win32 and debian.
+ebl Fix autoselect patch (cause segfault).
+13Jun08
+ebl Fix autoselect option broken for a while. Fix #1089. Need some
+ work with StorageId to be able to use a particular drive in a
+ autochanger.
+09Jun08
+ebl Rename vtape to vtape.
+ebl Update vtape driver.
+08Jun08
+ebl Modify vtape driver to avoid sparse file.
+kes Add make clean of qt-source directory during ./configure
+kes Store last block number written to tape in DEVICE and
+ use it for testing for correct last block on EOT.
+
+Release Version 2.4.0:
+04Jun08
+kes Fix Win32 build.
+03Jun08
+kes Make sure to clear JS_WaitMedia when operator mounts a Volume.
+ This fixes bug #1095.
+31May08
+kes Add create_postgresql_database.sql to Win32 installer. Should
+ fix problem reported by Juilio Monteiro.
+kes Get correct slot when auto unloading a device. This fixes bug
+ #1086.
+30May08
+kes Fix multiple media restore.
+kes Make DEVICE Slot private and access it via a method.
+ Allows better control over when it is set and cleared.
+kes Fix possible seg fault if SQL error.
+28May08
+kes Add Martin's fixes to argument scanning for the estimate
+ command. This fixes bug #1093.
+kes Add debug code to SD.
+kes Fix renaming a Volume, which used the wrong Volume name.
+26May08
+kes If operator has rewind tape, print warning, release tape and
+ try once more. If tape is positioned somewhere, something went
+ wrong, so mark the tape in error and try once more. Previously
+ this error was fatal, now it produces an error message.
+kes Ensure correct volume name displayed during restore
+kes Ensure that Volume is mounted for restore.
+25May08
+kes Fix a few more Coverity reported problems.
+24May08
+kes Apply Allan Black's status dir job count patch.
+ebl Add information about IMPORT/EXPORT slots in mtx-script.
+kes Enhance a couple of SD debug messages.
+kes Tweak unload flag setting and ensure it is set during swap.
+23May08
+ebl Fix #1091 about bad output in estimate command.
+21May08
+kes Modify autochanger locking to attempt to avoid race
+ conditions.
+kes Make sure device not busy before doing label command.
+kes Display open() errors except when polling. Previously too
+ many were suppressed. This should fix bug #1070.
+kes Fix Win32 reparse points. Bacula will not recurse into any
+ reparse point directory, including mount points, unless the
+ directory is explicitly mentioned at the top level (same as
+ with Unix). A file that is linked to another file will be
+ backed up -- much as Unix does for hardlinked files.
+ This fixes bug #1041.
+20May08
+kes Remove double quotes from ChangeLog and ReleaseNotes
+kes Remove StorageId test when pruning and recycling (Eric's changes).
+kes Remove old form of locking when getting volumes -- causes deadlock.
+kes Change bat dirstat layoutWidget to dirstatlayoutWidget to make
+ the name unique and to eliminate compile time error.
+kes Add accurate.o to Win32 FD Makefile
+19May08
+kes Fix cats dll build on Win32 after db_update_job_end_record
+ calling sequence change.
+ebl Switch to tokyo dbm instead of htable in accurate code
+ebl Include tokyo dbm to bacula source tree
+17May08
+kes Fix buffer overruns detected by Coverity.
+13May08
+kes Tweak joblog display.
+12May08
+kes Implement --without-qwt
+kes Fix layout of restore tree dialog
+kes Add configure bat QWT libraries, so that bat can be built
+ with or without the QWT libaries.
+11May08
+ebl Add dummy tape driver for regression tests.
+kes Make sure we unload the right slot when swapping.
+10May08
+kes Add debug times, reduce size of two-pool-changer test
+08May08
+ebl Tweak autoconf scripts for vtape
+07May08
+kes Improve SD reserve debug code.
+kes Testing an improvement to free up volumes no longer in use.
+03May08
+kes Rework SD acquire for read to handle autochanger Volume
+ swapping.
+kes Implement regression that explicitly tests swapping a Volume
+ from one drive to another.
+kes Enhance disk-changer to detect most error conditions.
+kes Fix SD code so that it properly swaps a Volume between drives.
+ This fixes bug #1083.
+02May08
+kes Apply libdbi patch from Joao Freitas for regress and for
+ Bacula trunk. Regress now works with libdbi. Nice.
+kes Apply .nobackup patch from bug #1077 submitted by
+ Edwin Groothuis.
+kes Apply Bastian Friedrich's patch that adds %p to edit the pool
+ name into jobs cloned via the run directive.
+01May08
+kes Prevent a Volume that is being swapped from being freed from
+ the volume list. This will most likely fix, at least partially,
+ bug #1083.
+kes Fix strippath so that it does not get a buffer overrun and crash FD.
+ This fixes bug #1078.
+kes Remove 50 millisec wait in SD that broke debugger.
+ebl Add MaxRunSchedTime option that specifies the maximum allowed time
+ that a job may run, counted from when the job was scheduled.
+ebl Fix MaxWaitTime option that specifies the maximum allowed time that
+ a job may block waiting for a resource, counted from when the job starts
+ebl Rename (add) Max(Incr|Diff|Full)WaitTime to Max(Incr|Diff|Full)RunTime
+kes Apply patch from bug #1076 by Tullio Andreatta <t.andreatta@troppoavanti.it>
+ that implements multiple commands per line in the console when using
+ readline. Modify the default to use a semicolon as the command separator.
+28Apr08
+ebl Fix SQL query in migration code.
+ebl Make accurate mode with hash disk pass regression tests
+27Apr08
+ebl Implement first cut of accurate backup with hash disk.
+19Apr08
+kes Force unload of volume when wrong volume mounted in SD.
+17Apr08
+kes Fix bat seg fault at termination.
+kes Add Bacula generated version to bat about box.
+
+16Apr08
+kes Experiment with allowing multiple read jobs.
+kes Move final volume swapping code to DCR method and
+ call it from acquire_for_read().
+kes When wrong volume is mounted during read, unload_autochanger.
+15Apr08
+kes Integrate the libdbi changes from Joao Henrique Freitas
+14Apr08
+kes Stop searching for Volumes in SD askdir if DIR returns the
+ same volume name twice in a row.
+kes Close bat console windows first to eliminate error message
+ from the notifier.
+13Apr08
+kes Tweak the swap Volume from one drive to another code so that
+ it now seems to work.
+kes Resolve several problems with recycling that broke the new
+ code (these problems are in 2.2.9 as well).
+kes Remove the volume lock when calling the sysop code.
+kes Don't mark a reserved volume with no writers as unused otherwise
+ jobs fail.
+12Apr08
+kes Rework class structures for VOLRES, DCR, and DEVICE to make
+ the method names a bit more logical, and for more logically
+ handling the responsibilities.
+11Apr08
+kes Remove redundant code in terminating the scheduler that just
+ causes a seg fault in many cases.
+kes Cleanup releasing a volume and make it a DCR method.
+kes Improve algorithm for detecting pre-reserved volume and
+ swapping volumes.
+10Apr08
+kes Tweak volume swapping code so it works.
+kes Correct name overloading in mount.c
+kes Replace released flag in VOLRES with reserved and add access
+ methods for the VOLRES class.
+kes Prevent volume from being released while being swapped.
+kes Apply Bastian Friedrich's edit codes patch for the bpipe-fd
+ plugin that add %w (where) and %r (replace flag) editing to
+ the plugin line.
+kes Apply Bastial Friedrich's edit pool=%p patch for run clone
+ jobs.
+kes Refactor parts of stored/mount.c
+09Apr08
+ebl Add sanity checks for VolWriteTime and VolReadTime
+ebl Take care of bad clock changes while computing VolWriteTime
+ and VolReadTime. This should fix or limit #1066
+kes Correct error string numbers in dird/catreq.c
+kes Restructure reserving, acquiring, and mounting volumes. Calls to
+ autochanger are deferred for mount.c -- simplifes the code.
+08Apr08
+kes Do not prune any running job. It just fails the job.
+kes Lock the volumes when changing dev->reserved_device and marking
+ the volume unused otherwise the device can get reserved by
+ another job before the volume is released, thus blocking it.
+06Apr08
+kes Correctly detect Ubuntu systems, and add ubuntu platform directory.
+kes Fix bug #1063, reuse of freed ptr in list nextvol.
+kes Release regex compile buffer in filed/job.c
+kes Add proper type of const char in sql_create.c
+kes Turn off debug in daemon termination routines
+kes Move free_volume_list() before devices are freed in stored.c
+kes Fix reference to uninitalized stack variables in bregex.c.
+ This should correct bug #1067.
+04Apr08
+kes Fix possible seg fault in SD when freeing a volume entry.
+03Apr08
+kes Implement unload_dev() before swap device.
+ebl Add statistics prunning with option and menu
+kes Separate unload_dev() from unload_other_device() in autochanger.c
+02Apr08
+kes Apply patch from bug #1069 that corrects spurious error messages
+ when ACLs enabled on SGI but no ACL exists.
+ebl Fix small segfault in bacula-sd when debug level is 500
+kes Modify run_program() and run_program_full_output() to use
+ call by reference for the results string. This corrects a long
+ standing problem where the address of the string may be changed
+ in the subroutine but not in the calling program.
+01Apr08
+kes Re-enable code to remember last volume mounted on a non-tape
+ Autochanger.
+kes Add patch supplied in bug #1068 that fixes a SD crash when using
+ a Virtual autochanger.
+kes Generate correct JobMedia records during spooling/despooling when
+ running concurrent jobs. Thanks to Tom Ivar Helbekkmo
+ <tih@hamartun.priv.no> for excellent analysis and testing.
+31Mar08
+kes Tweak hash algorithm for htable using Martin Simmons idea
+ for doing a circular shift.
+kes Remember what volume is in VTLs (previously turned off for
+ testing).
+kes Analysis of JobMedia records by Tom Ivar Helbekkmo <tih@hamartun.priv.no>
+ pointed out some problems in creating JobMedia records during
+ spooling with concurrent jobs. Fix the problem by updating the
+ start file position before despooling and generate a jobmedia
+ record at the end of despooling.
+28Mar08
+kes Fix handling of JobMedia records during spooling and when a
+ Volume is changed without actually writing data to the Volume.
+27Mar08
+kes Rework certain SD locking based on gdb tracebacks of deadlocks
+ sent by Eric. This code now uses only the volume_lock() rather
+ than the reservations lock when at EOM and acquiring a new
+ volume.
+kes Ensure only one exit point in several subroutines.
+26Mar08
+kes Implement bsock code to permit locking. Use the new code in Verify
+ in the FD to prevent the heartbeat thread from disrupting the Verify
+ data sent to the Dir.
+kes Modify SD locking to eliminate locking the reservations system from
+ outside the system. Use the volume lock when getting media data
+ and reserving a new volume at end of media.
+kes Add Eric's volume_unused() fix to stored.c so that Volumes found
+ when SD starts are not locked into place.
+24Mar08
+kes Fix error compiling runscript code on 64 bit machines.
+kes Tweak Win32 mount point code.
+kes Fix a couple of bugs in the accurate code (bad sscanf, buffer not
+ cleared giving bad file estimate).
+kes Implement BIG_MALLOC in htable code. Runs 2.5 times faster for
+ 5 Million entries.
+22Mar08
+kes Keep Schedule run lists in order as suggested by
+ Bastian Friedrich.
+21Mar08
+kes Implement autostart scripts for Debian.
+ebl Implement upgrade catalog scripts.
+20Mar08
+ebl Apply jobstat patch for long term statistics. Have to implement
+ purge stats command and upgrade scripts.
+kes Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes Fix large number of JobMedia records reported by Eric Bollengier.
+18Mar08
+kes Apply doc fix from bug #1062.
+kes Resolve crash and improper restore wx-console Win32 restore
+ GUI. Fixes bug #1065.
+kes Update Win32 wxWidgets to latest version.
+kes Attempt to do correct handling of Win32 mount points. Should
+ fix bug #1046.
+kes Fix Win32 FD backup/restore memory leak due to improper termination
+ of BackupRead/Write. This fixes bug# 1038.
+16Mar08
+ebl Reduce memory usage for accurate backup, working only with ctime
+ and mtime. (not all Lstat field)
+ About 40MB for my Linux system (400.000 files)
+14Mar08
+kes Add dcr->reserved_volume flag that allows us to release a volume
+ even if it is not vol->released. This allows maxvol2 to work when
+ Volumes expire and we are already writing to the device (i.e. a
+ volume is pulled out from under us by another job terminating after
+ we reserve the drive).
+13Mar08
+ebl Permit multiple command/console per runscript definition.
+ RunScript { command = /bin/true ; command = /bin/false ... }
+ebl Add RunsWhen = AfterVSS to runscript. You can execute a command
+ (restart an application) just after the VSS snapshot on windows.
+kes Don't zap dcr values during release_volume() as they might
+ have the next Volume to be mounted.
+kes Fix AIX prototype.
+12Mar08
+kes Second cut of drive switching during backup.
+11Mar08
+kes Fix Win32 build.
+kes Update Win32 version of wxWidgets to most recent version.
+kes Tweak Copy job details.
+kes Rework dir_find_next_appendable_volume to make a bit more effort
+ to find a suitable volume before giving up.
+10Mar08
+kes Make ask_sysop_to_create... to return if waken from wait.
+ This helps get out of blocked conditions.
+kes Experimental implementation of switch_device in reservations.
+kes Implement FD version to allow easier protocol changes.
+kes Add Plugin Options string -- not yet passed to FD.
+kes Implement PluginOptions ACL.
+09Mar08
+kes Attempt to correct problems with restores with autochangers and
+ use counts going negative
+kes Rework SD status command and implement API for bat. Implements
+ header, runing waitreservation, devices, volumes, spooling,
+ and terminated status keywords.
+ .status storage=xxx <keyword>
+kes Clarify TLS error message by adding double quotes around name.
+kes Simplify SD/FD status code by putting api flag in STATUS_PKT
+kes Pass jcr to tls routines so debug messages can be handled better.
+kes Rework jobq resource allocation code, and possibly fix a bug
+ that caused reference counts to get out of sync.
+08Mar08
+kes Rename fd/dir plugin to use Bacula standard underscore.
+kes Plugin work -- bring dir up to fd level.
+kes Start implementation of VTL code
+kes Fix Win32 build after adding new cats subroutine.
+06Mar08
+kes First cut at Duplicate Job implementation.
+05Mar08
+kes Fix bugs in MaxFullInterval and Implement MaxDiffInterval.
+kes Start PluginOptions string, and refactor a bit of ua_run.c
+ebl Apply Allan patch that permit to reset recyclepool.
+04Mar08
+kes Test patch -- possible fix or improvement for bug #1053
+kes Refactor FD and SD status commands to permit new API code in
+ SD, and to fix Win32 build.
+kes Win32 build is now working.
+03Mar08
+kes Implement 'MaxFullInterval' and start 'MaxDiffInterval' based on
+ some ideas in patch from Scott Bailey.
+kes Begin implementation of duplicate Job control.
+kes Fix some of Win32 build after recent additions.
+kes Apply patch from Frank Kardel that implements 'honor no dump flag',
+ which causes the FD to detect whether or not the OS has the
+ honor no dump bit (*BSD systems), and if so, to skip backing up
+ any file with this bit set. The feature is enabled by setting
+ 'honor no dump flag = yes' in the Options section of a FileSet.
+28Feb08
+kes Correct po warning message with datarootdir
+kes Implement more code in dird.c to put configuration parsing in
+ a class rather than use globals.
+kes Restructure SD status command for implementation of bat API
+ interface.
+27Feb08
+kes Suppress incorrect 'Will not descend from x into y' messages.
+kes Eliminate FORTIFY_CODE=2 bug, and make first cut at removing
+ daemon globals used by parser.
+kes Apply Joao's patch to separate DB_TYPE and DB_PROG in configure.
+26Feb08
+kes Fix free of plugin_list when none exists.
+25Feb08
+ebl Apply accurate project patch.
+24Feb08
+ebl Fix a segfault when using strip_path option. (Use of pm_strcpy
+ on non-mempool object)
+kes First cut of converting FD .status to work with bat API.
+ New form is:
+ .status client=XXX header
+ .status client=XXX running
+ .status client=XXX terminated
+kes Implement first cut of Copy Job.
+kes Implement Catalog in Pool resource. It overrides catalog specified
+ in the Client resource.
+22Feb08
+kes Apply patch (with some difficulties) from Joao Henrique Freitas
+ <joaohf@gmail.com>, which adds support for libdbi as a Bacula
+ database driver.
+kes Add patch from Martin Schmid scm@apsag.com that checks to see if
+ ftruncate() actually works. In the case of some (cheap) NAS devices,
+ it does not, and so recycling NAS Volumes does not work. The code
+ simply unlink()s the file, then recreates it. This fixes bug #1011.
+21Feb08
+kes First incomplete cut of big malloc blocks for htable.
+kes Tweak plugin code.
+17Feb08
+kes Plugin debug code + tweak a couple bat dialog layouts
+14Feb08
+kes Fix creating first JobMedia record during Migration to include
+ proper index. This caused slow restores of migrated jobs.
+kes Temp fix to plugin name file_index.
+kes Bacula backed up and restored a MySQL database.
+13Feb08
+kes Implement plugin restore.
+kes Implement parsing of db_driver to give db_type index.
+10Feb08
+kes First cut of plugin restore code.
+kes Fix bug #1047, which had a heap overrun when stripping certain paths,
+ and do not strip paths on symbolic links.
+kes Set catalog backup database and user name from values specified on
+ the ./configure line.
+ebl Fix #1031 about wrong pool source information in job report.
+09Feb08
+kes Fix Win32 build.
+kes Remove a redundant jcr argument to find_files, match_files, and
+ find_one_file.
+kes Implement '.status dir header|scheduled|running|terminated' that
+ prints the requested status section. With the exception of the
+ header, the other reports have fields separated by tabs (\t).
+08Feb08
+kes Apply patch from Peter Much <pmc@citylink.dinoex.sub.org> that fixes
+ a resource embedded run command to find a since time if no explicit
+ since time was supplied on the command line.
+kes Apply state-file.patch sent by Allan Black <Allan.Black@btconnect.com>
+ that updates the state file at job termination time in addition to
+ when the daemon terminates.
+05Feb08
+kes First version where a plugin did a backup.
+ bpipe-fd.so created a backup file, wrote a test
+ string to it, and Bacua could restore this fabricated file.
+02Feb08
+kes Implement DB Driver = string for the DBI driver.
+kes Remove all old bdb_xxx.c code. Add dummy routines to bdb.c
+kes First cut of code for loading Win32 plugin dlls. Implement
+ dlopen, dlsym, dlclose, and dlerror in src/win32/compat/compat.cpp
+ and implement a dlfcn.h file based on opengroup's definitions of
+ the functions.
+01Feb08
+kes First cut plugin directives.
+30Jan08
+kes Apply patch from bug #1049 to prevent stripping the path on a
+ symlink.
+kes Attempt to fix bug #1047 where stripping a path corrupts the
+ heap. Waiting for feedback.
+kes Correct the Mount message not to suggest labeling a new tape
+ when doing a restore. Submitted by email by John Stoffel.
+kes Attempt to work around gcc FORTIFY_SOURCE bug that crashes the
+ FD by using casting. Reported in bug #1042.
+28Jan08
+kes A bit of crypto cleanup. More later.
+
+Release Version 2.2.8
+25Jan08
+kes Apply patch from Martin to correct bug #1040, bscan sets existing
+ ClientId to zero.
+kes Fixed important spelling error in doc -- bug #1045.
+23Jan08
+ebl Fix bextract to be able to extract non-portable Win32 data to
+ Unix/Linux clients
+kes Move initialization of read/write res lock earlier in the code.
+ This fixes the crash with a null conf file. This fixes bug
+ #1030.
+kes Redefine CURES in lib/parse_conf to be URES and move it all
+ into lib/parse_conf.c -- this responds to bug #1042, but does
+ not fix it. The fix is not to compile with FORTIFY_SOURCE.
+kes Backport to 2.2.8 fix de-referencing a NULL pointer in the scanner from
+ the trunk SVN. I don't think this was reported as a bug.
+17Jan08
+ebl Fix a bug during tape initialization with MTSETDRVBUFFER.
+12Jan08
+kes Fix Win32 build with new .def files and DLL_IMP_EXP ...
+10Jan08
+kes Add DataDespooling and DataCommitting status (committing is
+ the last despooling).
+kes Finish implementation of new reservations code noted below.
+08Jan08
+kes Fix bsnprintf for float point numbers. I broke recently when
+ parameterizing some variables. This fixes bug #1036.
+kes Undo recent reservations changes ... will apply them later
+ when they work better.
+06Jan08
+ebl Fixes #1034 which cause mysql to hang the connection after 8h
+ebl Change default statistics target of filename.name and path.path
+ fields for PostgreSQL. This speeds lookup by indexes. Thanks
+ to Marc Cousin.
+kes A few more tweaks to new reservation code. Make sure to clear
+ vol released flag when retaking volume. When reading label and
+ label is bad mark volume unused. When recycling, mark volume
+ unused so it can be renamed.
+05Jan08
+kes Fix reserve_volume() so it doesn't release a volume in use
+ (i.e. a volume entry not marked released). This should be
+ the last part needed to fix bug #1018.
+03Jan08
+kes Move Heartbeat documentation from Job to Director resource.
+ This fixes bug #1033.
+02Jan08
+kes Fix existing switch drive SD code to call autochanger to release
+ any old volume. This must be done to keep the autochanger from
+ releasing subsequently newly reserved volumes in doing a close().
+ This should fix bug #1018.
+kes Fail if attempting to get console input in batch mode. This
+ should help fail RunScript console commands that are incomplete.
+kes First cut implementing switch_drive() in SD (not actually called).
+31Dec07
+kes Implement first cut running console commands in a RunScript.
+29Dec07
+ebl Fixes bug #1028 where 'Selection Type' option was not usable
+ with JobDefs.
+ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript
+ output in error.
+
+Release Version 2.2.7
+24Dec07
+kes Add new free_tls() entry point so that Win32 builds.
+kes Fix compile warning in src/lib/util.c
+kes Fix entry point for edit_job_codes() so that Win32 builds.
+kes Fix seg fault Frank Sweetser reports in regression testing
+ on his systems. The problem was that the original author of
+ bsnprintf.c did not take into account the side effects of
+ using ++x in the argument to a #define.
+kes Make SD protocol backward compatible with version 2.2.x.
+19Dec07
+ebl Fixes bug #1015 where bacula failed to restore acl to a socket
+ because Bacula no longer restores sockets.
+ebl Always use ignorecase fileset option on win32 FD.
+14Dec07
+kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
+ that implements double quoting include names in conf files,
+ and also allows piping input by having the first character
+ be a vertical bar (|).
+kes Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
+ that implement %f in RunScripts to pass the FileSet name.
+kes Skip leading | when lex input comes from a pipe as suggested
+ by Michael Stapelberg <michael@stapelberg.de>.
+13Dec07
+kes Apply patch for bsmtp Win32 daylight savings time fix supplied by
+ Nerijus Baliunas <nerijus@users.sourceforge.net>
+12Dec07
+kes Implement Plugin Directory and plugin events.
+11Dec07
+kes Implement a security enhancement: TLS authentication but no
+ encryption. Enabled by setting 'TLS Authentication = yes'.
+ Note when this is on, TLS encryption is turned OFF!
+10Dec07
+kes This patch corrects a problem where the maximum concurrent storage
+ jobs counter gets out of sync during restore jobs causing jobs to
+ 'wait on max Storage jobs'. This patch fixes bug #1009.
+03Dec07
+kes This patch fixes bcopy so that it produces correct Volumes.
+ It fixes bug #1022.
+kes This patch eliminates spurious output to the console during a VerifyVolume
+ job that contains encrypted data. It fixes bug #1024.
+02Dec07
+kes This patch prevents the 'status dir' command from trying to use a scratch
+ volume and possibly moving it from one pool to another. This patch fixes
+ bug #1019.
+01Dec07
+kes Add new include to postgresql.c suggested by Marc Cousins so
+ that it compiles correctly with pgre version 8.3.
+30Nov07
+kes Fix --archivedir addition to configure. Replace it with
+ --with-archivedir in configure.in This fixes the regression
+ test builds.
+kes This patch fixes bug #1012 where the job is canceled because
+ of Max Run Time exceeded when the job has not yet started.
+29Nov07
+ebl Apply Richard Mortimer patch that fixes #1016 when there are more than
+ one 'part' to write. Instead of each part being stored on disk,
+ written to DVD, then deleted from disk, all parts are written to disk,
+ and only the last is written and deleted from disk.
+kes This patch fixes the status command to include the formating string for
+ JS_AttrInsterting. It fixes bug #1021.
+kes This patch should fix the Mac OS X build problem on the latest
+ Darwin, where sys/types.h was not included correctly (apparently
+ due to a change in the Mac headers). The solution was to explicitly
+ ensure that it is defined for the ./configure.
+ This patch also has a rebuild of configure that includes the Debian
+ qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
+kes This patch should ensure that queued messages to the console are
+ displayed as soon as possible. It should fix bug 1007, but has been
+ reported not to work.
+14Nov07
+kes This patch fixes the infinite loop when trying to increase the
+ maximum number of volumes in a Pool during the add command.
+ This patch fixes bug #1008.
+
+Release Version 2.2.6
+09Nov07
+db Remove extra data on estimate command in joblist for bat.
+04Nov07
+kes Cleanup of code in SD that sets the LastWritten date. This doesn't
+ really change anything, but is the beginning of doing it *right*.
+ To do it completely right the LastWritten date must be passed to
+ the SD, but it is not yet done.
+kes Minor tweaks to some bat restore SQL.
+kes This patch fixes bug #1003 where putting the message output from
+ a Verify job into the catalog results in a recursive loop. The problem
+ seems to show up only with postgresql (to be verified).
+kes Correct %x to %p in postgresql debug statement.
+02Nov07
+kes Fix bug #942 where lots of emails where generated when the heartbeat
+ interval was low and Bacula wanted a different tape from the one in
+ the drive.
+25Oct07
+ebl Add new SD despooling attributes and Dir inserting attributes
+ job status codes in the catalog (Status table).
+24Oct07
+ebl Use qmake-qt4 instead of qmake when available (debian system).
+22Oct07
+kes Add a security warning to src/cats/make_catalog_backup.in indicating
+ that passing the password via the command line (arg 3) is insecure.
+ This responds to bug #990 (it doesn't fix it).
+19Oct07
+kes Set default debug_level to zero. This corrects bugs #991 and #993.
+kes Fix a crash in bat when it cannot connect to the Director for example
+ if the Director is not running.
+kes Remove redundant INDEX (JobId) from File table in the trunk.
+ This fixes bug #992.
+kes Make explicit exception to GPL in LICENSE to permit linking
+ the Win32 FD with Microsoft VSS code.
+kes Apply the Solaris package patch from
+ Masopust, Christian <christian.masopust@siemens.com>
+kes Apply the patch to optionally add a timestamp in the debug output
+ submitted by Mariusz Czulada <manieq@wp.eu>.
+18Oct07
+ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql
+ backend (sql_strerror). Fixes bug #989
+16Oct07
+kes Apply Michael Short's <mdshort@gmail.com> Win32 regress patch.
+ It applied with no problems.
+kes Add PATH command to SunOS part of mtx-changer.in so that sed and
+ awk are on the path.
+kes Redirect stderror to stdin on mt status command in mtx-changer.in
+ since the status is returned on stderr on Solaris.
+kes Activate Close button on tray-monitor window. This fixes
+ bug #986.
+kes Check for NULL item in parse_conf.c before calling it. In the
+ case of Device, there is no item and this caused a seg fault when
+ Device appears in the conf file.
+kes Add a #define __CONFIG_H when including config.h in bacula.h. This
+ avoids pulling in config.h multiple times in some new code.
+12Oct07
+kes Fix spurious warning message printed when creating a volume with
+ a LabelFormat. This fixes bug #976.
+
+Release Version 2.2.5
+09Oct07
+kes Add JobId in place of Job name in all the Jmsg() output.
+kes Correct the APP_DESC for the Win32 storage service (remove an e).
+07Oct07
+kes Make maxvol-test and new more strict maxvol2-test work.
+kes Print JobId in all Jmsg() job output.
+06Oct07
+kes Add new SD despooling attributes and Dir inserting attributes
+ job status codes. This fixes bug 961.
+kes Fix Win32 drive display in bat version browser. Fixes bug #962.
+05Oct07
+kes Fix doc issue. This fixes bug #963.
+kes Fix listing performance problems in bat. Pointed out by
+ Chris Howells.
+kes Remove old debug code.
+kes Fix bat code that tests for Win32. This should fix bug #968
+kes Query 5 list wrong Vol after migration. This fixes bug #960
+04Oct07
+ebl Fix #969 where user can't change Replace option in restore menu.
+5ASep07
+kes Save jcr in thread specific data (tsd) for each thread.
+kes Make Dmsg() print JobId as -%u.
+kes Make Jmsg, Emsg, and others automatically pickup the jobid
+ for the thread if it exists.
+kes Remove old reservation debug jid code.
+kes Remove get_jcr_from_tid() from OpenSSL and tls code.
+ebl Add an option that permit to specify spool size in job
+ definition. (Applying patches/testing/spoolsize_per_job.patch).
+ You must upgrade SD and DIR at the same time.
+dvl Add new configuration item --archivedir
+dvl Adjust regression tests to use tmp not /tmp. This will allow
+ multiple concurrent runs of the regression tests.
+28Sep07
+kes Fix race condition that drops final block written to volume.
+ This happens in rare cases with multiple simultaneous jobs
+ when the Volume fills. This fixes bug #964. May be related
+ to bug #935 and possibly #903.
+kes Eliminate more strerror() and replace with bstrerror().
+kes Remove BSD getopt and replace with unrestricted IBM version.
+kes Fix Win32 build for changed calling sequences.
+kes More tweaks to the mount volume routines to get everything
+ right. Changed variable name from find to have_vol, which is
+ much easier to understand.
+kes Enhance btimer debug code.
+27Sep07
+kes Fix FD->SD authorization failure, which was due to spurious
+ wakeups from a pthread_cond_timedwait(). Simply check the
+ predicate before continuing. This fixes bug #953.
+kes Add const char where needed (more to do). Remove temp debug code.
+26Sep07
+kes Setup SQLite busy handler before doing queries. Fixes bug #967.
+kes Don't overwrite error message in check_tables_version.
+ Fixes bug #966.
+kes Unlock batch insert tables with same calls used elsewhere.
+kes Allow starting 59 jobs a second.
+kes Make SD session key more random.
+kes Add retry for SQLite opening db if it fails. Probably helps
+ for bug #967.
+kes Suppress extra error messages during batch insert failure.
+ Fixes bug #966.
+kes Add jcr to timer packets so if killed message can be sent to job.
+kes Add JobId to all Dmsg() output.
+kes Put some FD auth code on dbglvl rather than fixed.
+kes Return insert attributes error message in db msg buffer to avoid
+ false error messages. Helps fix bug #966.
+kes Separate batch init error messages. Probably helps fix bug #966.
+kes Make SD code that contructs attribute insert check string lengths
+ more carefully.
+kes If Dir gets an error during inserting attributes, cancel SD.
+ This reduces unnecessary error messages.
+24Sep07
+kes Correct search boolean for getting Volume info
+ebl Cleanup batch insert code. Probably fixes bug #965.
+kes Back out one small change to the reservation system (reserving a volume).
+kes Rework how a Volume is mounted. It is now much more intelligent and
+ will always attempt to use any mounted volume if possible and reduces
+ calls to the Director asking about volumes.
+23Sep07
+kes Turn off some code when batch insert not enabled.
+kes Edit FD name in connect error messages.
+kes Rework the reservation system to take into account that the Director
+ might give us a Volume that is different from the current one being
+ used, and to ensure that we don't exceed Maximum Volume Jobs.
+ This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces
+ fatal error with multiple jobs running'
+kes Add more debug code in reservation system.
+kes Implement maxvol-test to check bug #947.
+22Sep07
+kes Add code to handle tray monitor separated from Win32 FD.
+kes Fix display of Win32 tray monitor after reboot. Fixes bug #952.
+20Sep07
+kes Add missed return in fixing verify bug -- trunk only.
+ebl Fix a command parser issue causing a director segfault.
+kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes.
+ This fixes bug #954.
+kes Increase the max block size to 4MB fixes bug #957.
+kes ERABT if user sets min block size > max block size. Fixes bug #956.
+kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
+ is not properly mounted (recognized) during a poll.
+kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
+ Job that has differences reports Verify OK.
+ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation.
+17Sep07
+ebl Add an option to operate on all pools with update vol parameters.
+ This complete the project 20. Patch from Nigel Stepp.
+ebl Add history support to bconsole when using readline.
+ Using Ctrl-D to exit doesn't update .bconsole_history
+kes Modify new volume algorithm to use max MediaId for generating next
+ volume number rather than the count of Volumes. This should essentially
+ eliminate the failure rate if some volumes were deleted. Bug #921.
+kes Begin implemention of Optimize Job Scheduling.
+kes Implement restore callback that Dirk and I agreed on for bat
+ restore. This fixes bug #928. Restore of backup of zero files fails.
+kes Fix SQL Catalog logging which broke with new db_escape_string
+ calling sequence.
+
+Release Version 2.2.4
+14Sep07
+kes Fix bacula_cats.def for new db_escape_string().
+kes Increase size of name string when FD making connection to SD.
+ May fix bug #953. FD->SD connection failure.
+13Sep07
+kes Add code to help Dan debug 2drive-incremental-2disk test.
+kes Add code to try to fix bug #908.
+kes Add waits to multiple exit detection code to try to force pid
+ file to always be deleted.
+kes Restore good dev.tar.gz to rescue set appropriate binary property.
+ This fixes bug #950.
+kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
+ trying to switch drives by checking for blocking before unblocking.
+ Fixes bug #906.
+kes Cancel storage daemon in all cases where FD reports error. This
+ should fix virtually all cases of bug #920.
+kes Fix db_escape_string() for MySQL which did not compile.
+12Sep07
+kes Fix error message that was clobbered when Dir tells SD it does not
+ have write permission on Volume. This should fix a minor point
+ in bug #942, but not the main problem.
+kes Add code to cancel job in SD if FD connection fails. This should
+ fix bug #920.
+kes Add code in FD exit to prevent loops and a crash on FreeBSD.
+dvl Pass jcr and db into db_escape_string() to enable better escaping
+ of strings
+kes Fix migration code to get correct Volume name with multiple volumes
+ by skipping |. Fixes bug #936.
+kes Implement patch supplied by Landon to fix bug #944 where using
+ TLS with bconsole uses 99+% of the CPU.
+kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+ program.
+kes Move patches into patches directory.
+11Sep07
+ebl Fix bug #946 about 'bacula-dir -t' which doesn't works
+ as expected.
+09Sep07
+ebl Using 'm' in bconsole will show messages like before,
+ and not memory usage.
+kes Fix bug #935, and probably also bug #903 where files were not
+ restored. MediaId was not properly set in JobMedia record after
+ a Volume change.
+08Sep07
+kes Suppress chown and chmod error messages if the FD is not running
+ as root.
+07Sep07
+kes Apply Martin Simmons' patch that should turn off the new API usage
+ when batch insert is turned off allowing building on older
+ PostgreSQLs.
+kes Add ./configure search in qwt-qt4 for qwt package
+05Sep07
+kes Bacula is now free of 3rd party GPL copyrighted code!
+kes Remove idcache.c
+kes Add guid_to_name.c/h which replace idcache.
+kes Remove enh_fnmatch.c. Make code that references it use fnmatch.c
+04Sep07
+ebl Detect if new PosgreSQL batch insert API is present.
+kes Correct incorrect mempool call causing Director crash. Occurs on
+ systems without va_copy().
+sb Update spec files for 2.2.1 release
+03Sep07
+kes Fix memory pool call in ua_output.c. bug #934.
+kes Replace fnmatch.c and fnmatch.h by modified BSD versions.
+ Add test program to fnmatch.c
+02Sep07
+kes Integrate patch to README.vc8 from
+ Hederer Jean-Sébastien <hedererjs@asperience.fr, had to manually
+ edit it to get it into Unix patch format.
+kes Implement mkpath.c to replace old FSF makepath.c
+01Sep07
+kes Implement savecwd.h and savecwd.c. Remove FSF versions.
+
+Release Version 2.2.1
+30Aug07
+kes Update POTFILES.in
+kes Cleanup a few underquoted AC_DEFUNs in configure
+kes Apply patch from Martin Simmons that adds a test for va_copy to
+ ./configure
+29Aug07
+kes Fix bug #921 by increasing the number of tries to create a new volume
+ from 11 to 100.
+kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
+ can be called multiple times. Implement a version for machines
+ without va_copy() that gets a big buffer.
+25Aug07
+kes Integrate more portable zone offset code into bsmtp.c
+ Submitted by Attila Fülöp.
+24Aug07
+kes Fix bad SD->FD return status reported by
+ (James Harper) <james.harper@bendigoit.com.au>
+ebl Fix a bug in read_close_session which return random status
+ thanks to James Harper
+23Aug07
+kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
+ and directory names during restore of single file/directories.
+kes Add sanity checks to .sql command when string is empty. Hopefully
+ that will resolve Dirks Director crash.
+22Aug07
+kes Apply patch submitted by Martin Simmons that corrects a seg fault
+ in the bsmtp chat subroutine when debug is >= 10.
+21Aug07
+kes Fix Director crash when running bat SQL queries.
+kes Add David's notes on Item 8: Copy pools.
+18Aug07
+kes Rework projects file to be current and ready for a vote.
+kes Enhance lex scanner error message.
+17Aug07
+kes Tweak LICENSE file to mention BSD code.
+kes Fix bat.pro.in so that it includes the OpenSSL libraries only
+ if specified on the ./configure.
+kes Add first (not yet tested) cut of bcomm to the qt-console directory.
+ This class is intended to allow us to open a second bsock to the
+ Director while in the restore subdialog.
+16Aug07
+kes Fix configure to create bat Makefile before creating dependencies.
+kes Eliminate the egg files from the tray-monitor. Use gtk calls.
+kes Add a tooltip to the tray monitor.
+dvl Set the Director's PID file before dropping privs. This fixes
+ bug #923.
+15Aug07
+kes Update AUTHORs file
+kes Increase the default max concurrent jobs to 20 in FD and SD to
+ correspond with the default .conf files.
+kes Rewrite the Win32 service routines. This eliminates the 3 copies
+ some different, of the same file created by RN when porting the
+ Win32 SD and Dir.
+kes Rearrange some of the Win32 directories and the placement of the files
+ in them.
+kes Set DEVELOPER flag in version.h
+
+========================================================================
+Release Version 2.2.0
+09Aug07
+kes Apply a second doc patch from Marc.
+kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
+ improves the tips section that discusses how to setup multiple
+ simultaneous jobs.
+08Aug07
+kes Update bat README file.
+kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
+ corrects a typo in the Recycle status check in db_find_next_volume().
+ This will probably fix a number of annoying problems with multiple
+ Recycled volumes.
+kes Modify most of dird/msgchan.c to use bsock class calls rather than
+ bnet calls -- no functionality change.
+07Aug07
+kes Modify the Verify output to specify if files are missing on
+ the Volume(s) or disk. Fixes confusion in bug #916.
+kes When more than one Volume is read in a migration job, the last
+ Volume bytes reported are from the last read volume rather than
+ the last written volume. Fixed. This fixes bug #910.
+kes Fix display of Recycle flag after update volume=foo recycle=yes.
+ It previously printed New Recyle flag is: no. This fixes bug
+ #917.
+06Aug07
+kes Correct seg fault when switching tape drives during restore.
+kes Commit uid_gid_name.c (replacement for idcache.c), but will not
+ be used until after 2.2.0 release.
+04Aug07
+kes Remove fnmatch() in SD that permitted wild card specifications.
+ This fixes bug #914.
+31Jul07
+kes Fix %g in filename returned by SQL for browse tree reported by
+ Dirk.
+kes Fix configure so that it puts config.out in the cwd rather than
+ in src/qt-console
+kes Attempt to fix the locking problem reported by Eric in bug #906.
+kes Make berrno class to leave errno unchanged after constructor call.
+kes Make bnet_server use the heap rather than the stack to allocate
+ its socket fd pointers to avoid a crash at termination. Problem
+ reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
+30Jul07
+kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
+ and putting it in depkgs-qt along with Qt4.3.
+29Jul07
+kes Rework code in acquire.c that switches drives for reading when
+ the Media Type does not match. This should fix bug #906
+28Jul07
+ebl Fix a director segfault during job setup #907
+kes Correct seg fault in postgresql when first operation returns no
+ rows. Fixes Dirks File browser problem seg fault with bat.
+25Jul07
+kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
+ building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
+ 2.6 as well).
+24Jul07
+kes Implement PopUp YES/NO dialog for bat.
+23Jul07
+ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
+22Jul07
+kes Correct RunScript to terminate job in FD on failure.
+kes Change abort_on_error and AbortJobOnError to fail_on_error
+ and FailJobOnError in RunScripts.
+kes Minor tweaks of code formating in RunScripts, principally to
+ avoid depassing 80 columns.
+21Jul07
+kes Eliminate one #ifdef Win32 in bsmtp
+kes Implement grow tool to grow a file for testing very large databases.
+kes Add big-vol-test to test Bacula seeking with > 5GB.
+Release 2.1.28 beta
+19Jul07
+kes Modify find_next_volume() to return all values in Media record.
+kes Ensure that we keep Recycle Pool when moving Scratch volumes.
+
+Release 2.1.28 beta
+18Jul07
+kes Update Release notes
+17Jul07
+ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
+ Warning, in previous beta version, all media get from scratch keep their
+ old retention.
+16Jul07
+kes Tweaked Win32 installer to remove temp conf files at uninstall time.
+ This should fix bug #842. Made a note to look at removing the temp
+ files at the end of the install.
+kes Add ability to mount and unmount a file device providing it is
+ marked as being removable and has the appropriate mount and unmount
+ commands defined in the Device resource. This fixes bug #830.
+kes When applying a storage override, release all previous storage
+ definitions rather than just prepending the new storage.
+ This should prevent a good deal of confusion.
+14Jul07
+kes Implement ./configure search for qwt libraries.
+13Jul07
+kes Disable posting the WM_CLOSE message in KillRunningCopy of the
+ Win32 FD. This should fix bug #893.
+kes Remove an unnecessary beep in Win32 init code.
+kes Update copyright dates in Win32 executable about boxes.
+kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
+ code with a BSD getopt.c and getopt.h.
+kes Remove sched.h from the Win32 compat directory -- not used.
+kes Remove the Exit menu item from the Win32 tray monitor. If you really
+ need to shut it down, do it through the services panel or the command
+ line.
+kes Remove some inappropriate Bacula FSFE copyrights.
+ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
+kes Fix regress config non-portable test as pointed out by
+ Florian Heigl <florian.heigl@gmail.com>
+kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
+ as pointed out by Florian Heigl <florian.heigl@gmail.com>
+12Jul07
+kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
+ Reported by Frank Sweetser.
+
+Release 2.1.26 beta
+12Jul07
+kes Fix client-only build.
+kes Integrate client-only fixes for bsys (initgroups) and conio from
+ Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
+kes Make arguments to get_scratch_volume() in same order as other
+ such calls.
+kes Rework the prune_volumes() subroutine so that after purging and
+ no volume found in desired pool, it will check for a scratch
+ volume. This prevents recycling the whole scratch pool.
+kes Add code to status storage to print boffset_t (largefile support).
+11Jul07
+kes Move qwt (Graphics libarary for Qt4) to depkgs.
+kes You now need a --with-qwt=<dir> to be able to build bat.
+kes Update src/win32/cats/bacula_cats.def to include the new
+ db_get_query_dbids() call on Win32.
+07Jul07
+kes Correct a problem when selecting a scratch volume and moving
+ it to another pool that lost some columns.
+kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
+kes Enhance Autochanger error messages to include Volume and device name.
+kes Rework prune_volumes() code to take account of InChanger flag,
+ and to handle recycling volumes going to the Scratch pool and
+ current pool because the RecyclePool directive.
+kes Implement a better and more efficient db_get_query_dbids() to
+ handle creating and passing back a list of DBIds.
+
+Release 2.1.24 beta
+03Jul07
+kes Start work on new more efficient DBId subroutine. First use
+ will be for recycling volume to Scratch inchanger.
+kes Increase number of JobIds in pruning from 1000 to 10000.
+ This to be replaced by above routine.
+kes Begin implementation of building Qt4 on Win32.
+kes Correct typo in fix I added for bad TLS shutdown.
+kes Pull 2.0.3 patches into patches directory.
+kes Update Release notes. Include qt-console in line count.
+kes Update Projects file.
+30Jun07
+kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
+ bug in migration code where a job that spanned two volumes
+ was migrated twice.
+29Jun07
+kes Implement new BST_DESPOOLING blocked state. Change from locking
+ during despooling in SD to blocking. This means that other threads
+ can work with the device structure, in particular the reservations
+ system while despooling.
+28Jun07
+kes Fix return in reservation message queue that missed clearing
+ the jcr lock (implemented 26Jun07 below).
+kes Rename a number of dev methods to make locking function names
+ a bit clearer.
+kes Document locking in lock.c. Move lock structures to new file
+ lock.h.
+26Jun07
+kes Move reservations message lock to lock jcr only this
+ fixes bug #861.
+kes Move main SD locking code into lock.c (new file).
+kes Update Win32 build to include lock.c
+
+Release 2.1.22 beta
+26Jun07
+kes Dirk committed the qwt library code for drawing graphs in bat.
+kes Tweak install of qwt so that it is integrated with ./configure.
+25Jun07
+kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
+ out by Eric (my typo).
+ebl Fix configure.in to get batch mode enable
+kes Return correct string from authenticate.cpp in bat when connecting
+ to Dir.
+kes Apply patch suggested by Frank Sweetser to fix bug #888 --
+ spurious line drops when using TLS.
+kes Do not file reparse points when restoring a file that already
+ exists -- Win32.
+24Jun07
+kes Implement Windows reparse points -- similar to directories, but
+ we do not descend into it. This is a first cut. They seem to
+ be backed up, but restore is not yet tested.
+kes Remove restore_blocking in tls code when shutting a socket to leave
+ it in blocking mode. Hopefully this will fix the encryption bug
+ reported by Frank Sweetser.
+kes When opening a file for backup, tell the OS that we are going to
+ read it sequentially -- optimization.
+kes Change variable names in authenticate_director() to not conflict
+ with member names in bat. Caused great confusion with compiler,
+ but no warnings.
+23Jun07
+kes Queue openssl error messages in case of comm problem.
+kes Do shutdown() call if socket terminated.
+kes Remove some duplicated code in tls.c
+kes Move more of the bsock member variables into private and access
+ them with methods.
+kes Add Frank Sweetser's tls-test to the regression suite.
+22Jun07
+kes Add Swedish sv.po file
+21Jun07
+kes Don't print clock skew message in FD if less than 3 seconds diff.
+kes Add a bit of VSS info to status client.
+kes Implement a first cut of Vista VSS, using Win2003 code.
+
+Release: 2.1.20 beta
+20Jun07
+kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
+ loaded tape but uses first drive).
+kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
+ This was indeed a Win32 issue.
+19Jun07
+kes Simplify search of autochanger for in-use Volume.
+kes Fix exit condition of check for in-use volume. kes Remove
+ inappropriate my_postgresql_free_result() in db_close()
+ routine.
+kes Fix bad return in FD when encryption signature not found.
+ Probably caused a crash.
+kes Inhibit missing encryption signature error messages for
+ file types where no signature computed.
+kes Correct inverted check on autochanger in reservation system.
+kes Tweak debug code in autochanger reservation.
+18Jun07
+kes Add some additional locking in the cats directory in subroutines
+ that modify packet variables called from batch insert.
+kes Rework how dcrs are allocated. new_dcr() can now be called
+ with an existing pointer, and it will simply clean it up.
+ This allows the reservation system to test various different
+ devices, and will permit easy device changes.
+kes A bunch of changes all over to handle new new_dcr() calling
+ sequence.
+kes Work more on the Volume management in the SD. Remember Volumes
+ for tape drives and for autochangers (even virtual disk changers).
+kes When looking at the Volume list to reserve a drive, handle
+ autochanger names correctly by interating through the changer
+ devices. Also call the Director to see if a Volume is suitable
+ for the current job.
+kes Fix some bugs in bscan. Make sure all media records are written.
+ Make sure that valid JobMedia records are written for disk files.
+ Previously they were completely wrong.
+kes Move source tar files for depkgs-mingw32 to www.bacula.org so
+ that the URLs don't change and so that the developers will all
+ work off the same copy. Rebuild from scrach.
+kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
+
+Release: 2.1.18 beta
+16Jun07
+kes Fix seg fault in FD from incorrect digest size.
+kes Fix argument to non-OpenSSL crypto.c subroutine.
+
+Release: 2.1.16 beta
+16Jun07
+kes Remove a few malloc()s from the encryption code.
+kes Use the class calls to bsock in filed/backup.c and restore.c in
+ place of the old bnet_xxx code.
+kes Implement code that does an on the fly calculation of the
+ signing digest during restore of encrypted files. It makes
+ a best guess at the algorithm, and if it is not correct, will
+ then revert to the old code which reads the file after it is
+ restored.
+kes Implement at least one missing crypto stream in stream_to_ascii()
+kes Apply patch from William <chowmeined@gmail.com> that fixes bug
+ #877 where a reload with bad syntax causes Dir to exit.
+
+Cut: 2.1.14 beta (not released)
+14Jun07
+kes Do not free a volume on a tape drive until another volume is
+ mounted and read, or the autochanger unloads the volume.
+ This should help the SD re-use volumes that are already mounted,
+ and should fix bug #886.
+kes Apply patch from user brettedgar that allows gnome2-console include
+ the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
+kes Apply patch from Lucien Weller that fixes day of week calculation
+ because of DST flag problem. Fixes bug #887.
+10Jun07
+kes Move find_next_appendable_volume() to after acquiring a valid device
+ in reserve.c. This fixes bug #864 -- confirmed by reporter.
+09Jun07
+kes Unable to reproduce bug 872. However added additional testing for
+ integer.
+kes Bug #874 resolved by documenting SQLite limitations.
+kes Bug #882 resolved by documenting mtx-changer script for new drive code.
+kes Bug #881 resolved by removing typo in mtx-changer script.
+kes Made Frank Sweetser's wiki the official Bacula wiki with his
+ approval. Added a link to the wiki on the web page, and implemented
+ a backup from http://paramount.ind.wpi.edu
+08Jun07
+kes Fix update allfrompool to pass pool name.
+07Jun07
+kes Convert to pure GPL v2 license.
+kes Fix sscanf problems reported by Peter Buschman that caused
+ a bus error on Solaris.
+kes Rework (simplify) the select prompt in bat.
+kes Move get_jobid_from_tid() into lib and create a
+ get_jcr_from_tid().
+kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
+ should definitely fix the problem of lost error messages in the
+ encryption code.
+kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
+kes Eliminate tcpd.h from the project. Enclose the #include from the
+ library with extern C ...
+kes Add print of signal name when a signal is trapped.
+
+Release: 2.1.12 beta
+04Jun07
+kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
+03Jun07
+kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
+ query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
+ makes SQLit3 run 30 times faster, though a bit less safe.
+kes Implement --with-batch-insert in configure and detection of thread
+ safe libraries. It is on by default, but turned off if no thread
+ safe library (e.g. SQLite 2) is available.
+02Jun07
+kes Fix Bacula PostgreSQL buffer overruns.
+kes Do better checking for NULL results returned from PostgreSQL;
+ implement retry for failed queries; clear results buffer after
+ failed query. Hopefully this will correct the PostgreSQL failures.
+01Jun07
+kes Implement algorithm to handle only one appendable volume with
+ Prefer Mounted Volumes = no.
+kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
+ returned from a query.
+kes Make volume lock recursive.
+kes Implement an additional volume reservation algorithm that
+ starts by considering all reserved volumes then uses the
+ old brute force algorithm of searching the resources to
+ find a suitable device.
+kes Add new reservations debug code and refine the old code.
+kes Update the win32/dll/bacula.defs file.
+29May07
+kes Tweak reservations algorithm to permit a few more cases, i.e.
+ volume reserved, but on different drive, ...
+kes Enhance SD status to include Pool and Media Type for drive in a
+ more readable format (a bit longer).
+kes Fix PostgreSQL double free.
+28May07
+kes Minor refactoring of restore decryption code.
+kes Add code to smartall.c to detect double free of a buffer.
+27May07
+kes Add < > around %r in from field on mail command of bacula-dir.conf.in
+ so that bsmtp will create a correct email address (mailbox only).
+kes Modify 'memory' command so that the buffers are listed as 'In use'
+ to avoid confusion with Orphaned buffers.
+kes I reworked the OpenSSL include/lib flags to be handled in
+ the standard Bacula way, which should fix bug #863 concerning
+ non-standard OpenSSL libraries.
+26May07
+kes Implement Help Browser window for bat.
+kes Fix reload bug that reset StorageId to zero.
+25May07
+kes Fix TLS #ifdefing when TLS turned off.
+kes Ensure that when labelling a tape with Slot=0 that InChanger
+ is not set.
+kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
+ the same.
+kes Add StartTime to final uar_sel_jobid_temp query so that we can
+ add DISTINCT (required by PostgreSQL).
+kes Implement BSOCK authenticate_director() method. Eventually will
+ authenicate all daemons.
+kes Move several more functions into the BSOCK class.
+24May07
+kes Add code to tell the OS that we no longer need a cached
+ file that we were reading. In findlib/bfile.c. Also,
+ only cache files that we are reading. Thanks to
+ Tobias Oetiker <tobi@oetiker.ch> for the idea.
+kes Tweak to bsmtp to eliminate compiler warnings on Win32.
+kes Implement script to automatically generate cats and dll .def
+ files for Win32 dll.
+kes Update README.mingw32 to include new .def file generation.
+kes Correct typo in UTF-8 error message as reported by:
+ jhernandez <julianhernandez@gmail.com>
+kes Add additional sm_check() code on debug level 1.
+kes Set default debug level to 1.
+kes Trap SIGABRT in attempt to get traceback.
+23May07
+kes Reduce bat connect timeout from 30 to 15 seconds.
+kes More restructuring and implementing BSOCK class in place of
+ old bnet.c code.
+kes Remove a few unnecessary malloc() tests in crypto code.
+kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
+ not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
+kes Remove duplicate HAVE_CRYPTO definition in config.h.in
+22May07
+kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
+ Make buffer bigger.
+kes Fix Verify InitCatalog. The attributes were not pointing to the
+ correct saved location.
+kes Implement message callback so that GUI is sure to get all
+ daemon messages. Currently displayed in a dialog in bat.
+kes Ignore SIGUSR2 (Bacula timer) in bat.
+kes Apply regress patch from bug #859 to allow regress to work
+ with Solaris compiler.
+21May07
+kes Begin adding TLS support to bat.
+kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
+ clean up lex.c and make it more readable.
+20May07
+kes Move more bnet functions into the BSOCK class.
+kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
+kes Complete change of berrno strerror() method to bstrerror()
+
+Release: 2.1.10 beta
+18May07
+kes Cleanup incorrect email addresses in bsmtp.
+kes Make bat display initial messages rather than discard them.
+16May07
+kes First cut of adding .mod to the run command.
+kes Implement auto display of messages in bat.
+kes Enhanced preferences to allow all Bacula output to be
+ displayed in bat.
+15May07
+kes Try to make bsmtp date routines more generic.
+kes Fixed bug #856 autochanger documentation.
+kes Rework bsmtp date editing for Win32. This fixes bug #854.
+kes Add new cats entry point so Win32 builds.
+14May07
+kes Attempt to fix bsmtp date editing on OSes without %z editing.
+ Fixes bug #854.
+kes Do better checking for the MySQL 64 bit libraries looking for both
+ .a and .so libraries.
+kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
+ /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
+kes Require the thread safe version of MySQL during configure. Thanks
+ to Andre Noll for pointing this out.
+kes Ensure that calls to find_jobids_from_mediaid_list() check count before
+ continuing in migration code.
+kes Apply implementation of tray-monitor font derived from gnome-console
+ submitted by Andreas Piesk <a.piesk@gmx.net>
+13May07
+kes Eliminate important memory loss in SQLite
+kes Fixed the batch insert MySQL thread specific data that was not
+ being freed. See cats/mysql.c:db_thread_cleanup().
+kes Fix restore before command.
+kes Convert old hdr.name to name() in a few places.
+kes Implement update jobid command.
+kes Return all time_t dates in db_get_job_record()
+kes Stop watchdog in SD earlier.
+kes Put Pool just after Storage in please mount message.
+kes Fix pointer usage bugs in Verify InitCatalog pointed out by
+ Eric.
+12May07
+kes Update the po files.
+kes Fix Verify InitCatalog by making it cache attributes.
+11May07
+kes Change name bacula-bat to bat for man 1 page to correspond to
+ Makefile.
+kes Check for client and store NULL pointers in status command. This
+ fixes bug #845.
+kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
+kes Fix sign extended editing of %p.
+kes Clean out a little old #ifdefing in cats/mysql.c
+10May07
+kes If time diff between DIR and FD is more than 600 seconds convert
+ INFO message to WARNING.
+kes Implement heap size display in status for all daemons.
+kes Attempt to fix MySQL db open memory loss (not successfull).
+kes Don't set SIGKILL and SIGSTOP neither can be trapped.
+kes Eliminate memory loss in MySQL (possibly other SQLs) during
+ Query. This looks like a MySQL but but by doing extra releases,
+ the memory goes away. This should fix bug #847.
+09May07
+kes When backup fails, cancel SD before waiting for sd termination.
+kes If SD is waiting for FD to connect during cancel, wake up the
+ thread.
+kes Fix fsf code so that errno is correctly reported.
+kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
+08May07
+kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
+ so that Bacula doesn't later stumble into a seg fault.
+kes Use the term Restore Client in the restore Job report.
+kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
+ the original job's FileSetId.
+kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
+ spooling in migration jobs. Not yet tested.
+kes Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
+ reading conf file from a pipe. However, do it with open_bpipe()
+ rather than popen. Not yet tested.
+07May07
+kes Fix an ugly bug where the VolCatBytes were getting updated
+ during a restore.
+kes Implement bconsole memory command that prints current memory
+ usage, plus smartalloc dump.
+kes Clarify some error messages in backup, admin, and migrate.
+kes Shrink label dialog to smaller size.
+kes Invert Cancel OK buttons on restore to be OK Cancel.
+kes More strerror() to bstrerror() conversions.
+06May07
+kes Start implementing bstrerror() in place of strerror().
+kes Stripping path -- seems to work.
+04May07
+kes Prevent door and port files from being restored (mostly
+ Solaris stuff).
+kes Free an unreleased buffer in compat code.
+kes Change console Job name from *Console* to -Console- to eliminate
+ Win32 filename problems. Put Win32 path separator when creating
+ Console file. This fixes bug #846.
+kes Change berrno::strerror() to berrno::bstrerror(). Not yet full
+ implemented.
+kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
+ structure.
+kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in
+ to force Win32 error message.
+03May07
+kes First cut strip path. The data should be passed to the FD,
+ but nothing is done with it yet.
+kes Enhance the digest and signature routines in the crypto
+ library to accept a JCR and to use it to print error messages
+ so that they will go in the Job report rather than the daemon's
+ messages.
+kes Simplify some of the verify signature code.
+kes Simplify a few of the alternative returns in the signature
+ code.
+02May07
+ebl Use only POSIX regex instead of GNU regex in breg.c for
+ File relocation. It fix broken freebsd compilation.
+kes Convert all other Dir files to use new ua class message
+ routines for bat.
+kes Tentative fix for missing digest signature in bug 807.
+kes Correct handle problem in new win32_ftruncate routine.
+kes Convert ua_purge.c and ua_update.c to use new ua class
+ message routines for bat.
+29Apr07
+kes Correct incorrect installation of LICENSE in Win32 installer.
+kes Display LICENSE at the beginning of the Win32 install.
+kes Attempt to correct the need for the png files to be installed
+ for bat.
+kes Reapply my bat.conf install script in qt-console. I think I
+ editted bat.pro instead of bat.pro.in and it was lost.
+kes Apply CentOS patches someone sent me. Checks for /var/run/subsys,
+ the /var/lock/subsys for subsysdir. Also corrects typos in the
+ doc.
+28Apr07
+kes First cut update job.
+kes Correct configure to include qmake of src/qt-console directory.
+26Apr07
+kes Make restore job yes/mod/no print in one command so GUI works.
+kes First cut implementing backup and restore client.
+kes Correct editing in Verify output that caused a seg fault.
+25Apr07
+kes Insure that bat.conf is not overwritten during installation.
+kes Fix important bug in db_sql_query() in mysql.c. It was introduced
+ while I was implementing migration in March 2006 !
+24Apr07
+ebl Cleanup file relocation, using char *RegexWhere instead of
+ char *where + bool where_use_regexp
+kes Update some manpages and add bat manpage.
+kes Make a first cut at converting bacula.spec.in for bwx-console
+ and bgnome-console.
+kes Apply patch from John Goerzen to add hostname as fourth argument
+ to make_catalog_backup script.
+kes Fix typos I introduced into bsmtp.c
+kes Make pm_strxxx() routines handle input of NULL pointer. This
+ is to protect from NULL pointers returned from SQL databases.
+kes Correct typo in bacula-sd manpage as pointed out by John Goerzen.
+kes Add more debug to FIFO code -- fix fifo regression test.
+23Apr07
+kes Implement posix_fadvise in FD, and for reading spool files in SD.
+kes Add thread timer to bnet_connect() to break from OS if wait time
+ expires.
+22Apr07
+kes Update Win32 build to include new files, new symbols, and
+ renamed files.
+kes Implement socket level heartbeat (tcp_keepidle)
+ebl Commit File relocation patch
+kes Make bat have 'make install' target.
+kes Warn during install if old gnome-console binary found.
+kes Warn during install if old wx-console binary found.
+kes Add -8 option to bsmtp command line to add content type utf-8.
+ Fixes bug #809. (Character coding problem in bsmtp).
+kes If < is found in target (from, to, cc) then do not enclose the
+ target in < > in bsmtp. Fixes bug #772 (malformed address).
+kes When printing certain items in dbcheck, stop after 300000.
+ Fixes bug #822. (dbcheck loops).
+kes Incorrect status in Dir after waiting for mount with poll set.
+ Fixes bug #825.
+21Apr07
+kes Extend idea of Prefer Mounted Volumes to mean a volume about
+ to be mounted.
+kes Print waiting to reserve a device every 5 mins.
+20Apr07
+kes Don't call close_part in label.c if tape and relabel.
+kes Don't free volume if busy in close() -- should help with
+ bug 801.
+ebl Fix #824 RunScript bug (After script could be execute twice)
+ Now, Before Script can use RunsOnSuccess and RunsOnFailure options
+ By default (like before) RunsOnSuccess=true and RunsOnFailure=false
+ Add a regression script to test RunScript
+19Apr07
+kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors
+ on Solaris.
+18Apr07
+kes The bgnome-console (gnome-console) and bwx-console (wx-console) are
+ deprecated. No additional bugs will be fixed, and they will be dropped
+ in a future release (probably 2.4.0).
+kes Change name of wx-console to bwx-console to make it more Bacula
+ unique.
+kes Change the name of gnome-console to bgnome-console to make it
+ more Bacula unique.
+14Apr07
+kes Some time in March, a Feature Request with patch from Jorj Bauer
+ <jorj@seas.upenn.edu> was committed by Landon (with my approval).
+ It implements:
+ The ability for the director to validate a Client (FD) CN against
+ an arbitrary set of patterns rather than the hostname, with
+ A new 'TLS Allowed CN' set of directives which are implemented
+ in the Client resource. Then pattern matching is used in place
+ of hostname matching against the Certificate's CN. As an example, we
+ have certificates which (a) use a local CA, and (b) have a CN of the
+ form client_123.
+kes Add new/changed entry points to Win32 build
+kes Create unaccepted-projects for projects that are not accepted.
+kes Simplify locking in the reservations system.
+kes Add more debug code in reservations.
+kes Make sure error condition on reserving a volume is handled correctly.
+kes Correct handling of volume_in_use.
+kes Correct handling of initializing a device.
+kes Move handling of broadcasting releasing a device into release_device().
+kes Correct attaching dcr to dev so that it is only done if device
+ is properly initiated.
+12Apr07
+kes Locking debug level tweaks in SD.
+kes Tweak new Volume code.
+11Apr07
+kes Add exec external-command [wait-seconds] to bconsole. This
+ executes the external-command. Note! normally external-command
+ should be enclosed in double quotes.
+kes Turn the .die command on only if DEVELOPER is defined -- i.e.
+ it should normally be off in a production system.
+10Apr07
+kes Implement die command for SD so that we can force it to dump.
+kes Implement SD lock debug code.
+kes Implement new algorithm for keeping Volume list in SD. It
+ is now owned by the device.
+04Apr07
+kes Implement new code for freeing in use volumes that should
+ resolve if not all, some of the problems of multiple drive
+ tape conflicts described in bug 801.
+03Apr07
+kes Fix gui/bacula-web/images files in svn.
+kes Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+02Apr07
+ebl Fix a bug in batch mode (in string escape)
+kes Correct migration prune SQL typo that crept in in a
+ recent 2.1.x change.
+01Apr07
+kes Move bnet_despool() into class in bsock.c
+kes Modify job report to include director name and Build OS.
+kes Move drop root privilege and check_catalog() before fork.
+kes Add update database scripts (version 9 to 10) to updatedb directory.
+31Mar07
+ebl Check size and age of each file after its backup to see if
+ it has changed during backup, if 'checkfilechanges' is set.
+ The FD will do an extra check (stat(2)) after
+ each file backup. mtime, ctime and size are compared with
+ 'before backup' information. If time or size mismatch, an
+ error message will be generated. You must upgrade FD to use it.
+30Mar07
+kes Make database name and user configurable
+ --with-db-name=xxx --with-db-user=xxx
+kes Add back database type to message.c for debugging.
+29Mar07
+kes Implement dir_sql() which issues an SQL query.
+kes Modify bat medialist to use dir_sql() and do some minor C++
+ formatting as well as eliminating a number of pointers, simplifing
+ the code.
+28Mar07
+kes Fix some of the mtx-changer grep commands for tape label readers.
+kes Convert a number of bsendmsg into the appropriate send/warning/error
+ message class calls.
+kes Suppress the using database message in the .sql command.
+kes Correct an incorrect bnet_tls_client prototype -- patch from Martin.
+27Mar07
+kes Add context menu for floating a window.
+kes Some minor cleanup and name changes in qt-console
+kes Add doing mt setblk 0 in Win32 mtx-changer.
+kes Apply Martin's bug fix to move definition of ENODATA for
+ FreeBSD to bsock.c
+ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with
+ sqlite2 and sqlite3.
+26Mar07
+kes More pruning cleanup.
+kes Turn on wait_for_drive by default in mtx-changer.
+kes Turn on Batch insert code by default as it now passes regression.
+kes Add ./configure --enable-bat to enable building of Bat.
+ No install yet though.
+25Mar07
+kes Implement a new .sql command for bat.
+kes Implement code to turn off pruning in obtaining the next volume.
+ Pruning is turned off for the status dir command, but turned on
+ for SD requests and for the list nextvolume command.
+24Mar07
+kes Correct Qmsg() that was not updated correctly when committing a
+ previous change (probably the recent TLS patch).
+23Mar07
+kes Write new subroutine is_volume_purged() that explicitly checks
+ if the Volume is purged, and if so marks it as such. This should
+ resolve problems reported about needing to mount twice to recycle
+ volumes.
+kes Rewrite pruning algorithm to do more work in the SQL engine, and
+ to pass a list of JobIds to be deleted to SQL. Also, minimize the
+ amount of duplicated code.
+kes Do volume pruning only for the Media Type desired (reduces pruning time
+ if multiple Media Types are in the same pool).
+kes Implement more detailed info in the Job report for the Bacula version
+ and architecture.
+kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
+ ua_purge.c.
+ebl Add bbatch tool to bench database and insert mode.
+ Fix sql quote stuff in batch mode
+ Fix sql stuff for mysql
+22Mar07
+kes Correct problems with am/pm scheduling. Fixes bug #808.
+kes Implement new prunning code that prunes up to 1000 jobs at
+ the same time. The same technique can be applied to a number
+ of other prune/purge subroutines.
+kes Add an insanity check when starting a new tape job to ensure
+ that the tape position has not been changed. If so fail the
+ job.
+kes Fix Win32 build for dlls to add the folllowing:
+ src/lib/bsock.c -- new file with new entry points
+ src/lib/dlist.c -- new entry points
+ src/cats/sql_create.c -- new entry point
+ src/cats/sql_cmds.c -- new DATA item exported
+21Mar07
+ebl batch mode cleanup bscan-test is ok now.
+kes Implement SD code to check length of disk volume before appending.
+18Mar07
+kes Correct return status on db_batch... routines.
+kes Add call to db_write_batch_file_records() to migration code.
+ebl Fix AfterJob timing
+kes Move the checking of the database in initializion of the Director
+ to after we drop privileges. This avoids the need for both root
+ and bacula access to the DB.
+kes Correct a misplaced variable definition in src/filed/backup.c
+kes Correct how the new batch insert db_create_attributes_record()
+ uses the arguments. Caused a seg fault in bscan.
+kes Implement lock() and unlock() methods in DEVICE class.
+ Implement block() and set_block(xx) methods in DEVICE class.
+kes Modify bnet_connect() so that it uses time() to check for the
+ wait time expiring (on some OSes, some system calls may not
+ return immediately).
+kes Modify Verify to obtain the previous JobId when it is actually
+ running rather than at schedule time (as it was in 1.38.x).
+kes Fix src/job.c to handle MaxWaitTime correctly. This should
+ fix bug #802.
+kes When checking pid in pid file, continue running if the pid is
+ the same as ours. This occurs on IRIX after a system crash.
+ Fixes bug #797.
+10Mar07
+kes Extend new GUI API.
+kes Make the ua structure a class, and implement send_msg(),
+ error_msg(), warning_msg(), and info_msg().
+08Mar07
+kes Apply fix from for building wx-console on the Mac from
+ bug #798.
+kes Implement new select mechanism for GUI programs.
+kes Reorganize initialization of stackedWidgets in bat.
+07Mar07
+kes Add updated nagios plugin supplied by Christian Masopust.
+05Mar07
+kes More bat implementation.
+kes File migrate bug with Pool Occupancy using mediaid instead
+ of jobids. Fixes bug #795.
+kes Fix orphaned buffers in filed backup and verify due to
+ crypto buffers not freed during errors. Fixes bug #789.
+kes Extend new GUI api code to tree commands.
+kes Ensure that tree and dot commands check console ACLs.
+kes Permit marking directory with trailing slash.
+kes Allow 20 console connections (instead of only 10).
+04Mar07
+kes Add smartctl call to bacula-sd.conf as an example of getting
+ tape alert info.
+02Mar07
+kes Modify jobq.c to let simultaneous restore jobs run. This may
+ cause them to fail if they cannot get a drive.
+kes Add Client Connect Wait to Storage daemon to permit users to
+ modify the time the SD waits for a FD connection.
+29Feb07
+kes Correct virtual changer check which was backwards. This caused
+ volumes to be unloaded into slots already occupied.
+28Feb07
+kes Apply Command ACL filter to JobId list in restore command.
+kes Correct typeo in var.c patch.
+27Feb07
+kes Don't let Bacula prune File or Job records for the current Job.
+kes Fix variable substitution pad + inc bug reported (with patch)
+ in bug #791.
+26Feb07
+kes Correct SQLite log table index as reported by Luca Berra.
+24Feb07
+ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
+22Feb07
+kes Begin implementing new comm signals for API.
+kes Fix a few places in lib/message.c where the open fd may
+ not be zeroed.
+kes Continue implementing lib/bsock.c (real class). Make jcr,
+ who, host, and port private. There are new methods to access
+ them for non-class use. This required touching a number of files.
+21Feb07
+kes Add LANG=C to autoconf/randpass so it works with languages other
+ than English. Fixes bug #788.
+20Feb07
+ebl Revert ClientRunBeforeJob to old position as in 1.38.X.
+ This fixes bug #780
+ You will not be able to generate Include/Exclude list any more.
+ It will be fixed soon.
+ If you want to use this, you can apply
+ trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
+19Feb07
+kes Restore of sockets created false error messages because Bacula
+ no longer restores sockets, but the code was still trying to
+ set the attributes on a non-existent file. Reported by a user.
+ebl finish RecyclePool feature
+ Media will takes Pool.RecyclePool
+ when moving from Scratch to a Pool or when user will do
+ update volume=xxx frompool
+ To use it, add RecyclePool = aPool to your Pool resource
+ Pool {
+ Name = Default
+ RecyclePool = Scratch
+ ...
+ }
+ TODO: update manual
+kes Expand new BSOCK class adding signal() and new BNET signals.
+kes Begin enhancing the dot commands adding a new API function
+ that returns more information and will make it easier
+ to interface to the Director from a program.
+18Feb07
+kes Make DEVICE fd private. Its new name is m_fd, and can be
+ obtained with dev->fd() outside the class. This is the
+ first of many DEVICE members to be made private.
+kes Implement Michael Renner's idea on having a virtual disk
+ changer. I made some minor modifications (e.g. I did not
+ implement the Virtual Changer directive, but simply set
+ the Changer Command to an empty string.
+17Feb07
+kes Implement a BSOCK send() method that writes the whole record
+ in a single write() request rather than in two.
+ebl add update volume=xxx recyclepool=yyyy
+ volume takes recyclepool from pool when using update volume=xxx from pool
+16Feb07
+kes Fix encryption deblocking bug, which caused some restored files
+ to be truncated. This fixes bug #763.
+kes Add FD event sequence order prepared by Eric -- for RunScripts.
+kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
+13Feb07
+kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
+ebl Use btime_t instead of uint64_t in media patch.
+11Feb07
+kes Optimize the use of the database a bit in the Status dir command.
+ Only open it when needed, ensure that if any previous database
+ was opened, it is closed.
+10Feb07
+kes Correct VolCatBytes bug from media patch.
+kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning
+ in the case of orphaned records.
+kes Modify dbcheck to handle orphaned JobMedia, Path, Filename,
+ and File records in 300K chunks to be more efficient. This
+ idea came from Juan Luis Frances (if I remember right).
+kes Apply Eric's scratch patch that moves a purged Volume to
+ the RecyclePool. Question: how is RecyclePool set? what
+ happens to the ScratchPool?
+kes Apply Eric's media patch that collects read/write media
+ times as well as byte counts. This patch requires a
+ simultaneous upgrade of the DIR and SD. Note, there
+ should be some way to turn off timing. I'm not sure
+ times are in Bacula units.
+kes Apply Eric's batch-insert patch.
+09Feb07
+kes Update projects list.
+08Feb07
+kes Implement Include/Exclude file lists in FD as dlists using
+ the new dlistString class. This permits efficiently having
+ large include/exclude lists and completes project Item 25.
+kes Fix dird/ua_cmds.c so that a cancel command checks if the
+ console is authorized to cancel the job. This fixes bug
+ #767.
+kes Modify SD so that the VolCatJobs medium record is updated
+ at the beginning of a Job rather than the end. This
+ fixes bug #775 where exceeding MaxVolJobs caused jobs
+ to fail.
+kes Added a mutex around getting and setting Volume information
+ so that multiple simultaneous jobs will single thread.
+07Feb07
+ Switch to using Subversion
+kes Remove src/pygtk-console/ from configure
+06Feb07
+kes Delete src/lib/btree.c from win32 build, then add rblist.c
+ plus the entrypoints.
+kes Apply patch supplied that corrects debug print
+ in canceling jobs for max run time. Supplied as
+ part of bug #621, which was previously fixed.
+05Feb07
+kes Test on job_canceled() and sd_msg_thread_done inside
+ loop starting the message thread to avoid a race condition.
+ Fixes bug #771.
+kes Remove rl_catch_signal from console.c as it conflicted
+ with the header definition. Fixes bug #765.
+ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive)
+04Feb07
+kes Clarify some stored/acquire messages to indicate if the
+ problem is with read or append.
+02Feb07
+kes Fix memory leak with storage ids in cats/sql_get.c
+kes Terminate watchdog earlier to avoid reference to released
+ memory -- reported by Jason Austin.
+kes Move closing the database from jobq.c to the director daemon
+ termination routine. This fixes memory leaks for shadow jobs
+ (i.e. migration jobs).
+kes Free up the unique jobid chain items in migrate.c. This fixes
+ a memory leak problem.
+kes Convert some ugly looking for statements to use foreach_alist
+ in findlib/find.c. This will facilitate converting the structures
+ to use dlist (for large include/exclude lists).
+kes Fix a bug in the btree.c and btree.h routines, then rename them
+ rblist and add them to be built in src/lib. Include some new
+ methods written by Rudolf Cejka that make the code more readable
+ (hides some of the ugly casting).
+kes Add set_next() and set_prev() methods which make the code much more
+ readable. Also add a new dlistString class that facilitates storing
+ strings in dlists. To be used in the large include/exclude lists.
+kes Make some trivial modifications to lib/tree.h that use rblist
+ rather than dlist for storing the tree links. This was suggested
+ by Rudolf Cejka. The result of this is that the restore tree now
+ uses red-black binary trees rather than simple linked lists. This
+ should give rather dramatic speed improvements for directories
+ contining large numbers of directories/files (more than 10000).
+28Jan07
+kes Fix maxruntime bug #621.
+26Jan07
+ebl Implement the include JobID in spool file name project.
+kes Reorder projects file in order determined by Jan 2007 vote.
+kes Implement item #12 on project list -- quick release of FD by
+ the SD.
+kes Fix open of SQLite3 db where user does not have write permission
+ so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes Add back missing @ in Win32 Makefile.
+kes Change 'Device not configured to autolabel' from INFO
+ to WARNING.
+kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
+ which should restart an indefinite # of times.
+kes Fix configure --help to print --with-mysql[=DIR]. Same for
+ other DIR specifications.
+23Jan07
+rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
+ Fix path quoting in SQLite scripts.
+ Fix problems with SHGetFolderPath.
+19Jan07
+kes Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes Fix Job restart on error bug that promotes an Inc to a Full
+ backup. This should fix bug #755.
+kes Add qt-console and first cut of code.
+
+Version 2.0.1
+12Jan07
+kes Fix Bacula->Documentation link on Win32 to point to index.html
+ instead of bacula.html. Fixed bug #750.
+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.
+
+Version 2.0.0 released: 4 January 2007