+ Changelog on version 4.0.4
-2003-07-xx Version 1.31 Beta xxJul03
-- Lock database while recycling.
-- Fix a bug in editing since where I forgot to update to the new size.
-- Implement all the command line update arguments.
-- Modify label to use volume=xxx for the new volume and oldvolume=yyy
- if doing a relable.
-- Added yes to run command line arguments.
-- Clear errno in editing a string to utime.
-- In restore print only volumes that will actually be used.
-- Fix bextract -- add appropriate breaks in new case code.
-- Add a new test -- bsr-opt-test for testing bsr optimization. As usual,
- it pointed out a bug where the directory tree handling code destroyed
- the restore arg list.
-- Many updates to the manual.
-- Pass prefix links flag to FD.
-- Sort list of commands for Console
-- Set default FD and SD concurrent jobs to 10.
-- Rework the find next volume code in catreq.c to correct some minor
- but subtle logic errors and to eliminate a goto.
-- Did spell check on manual.
-- Removed bindtextdomain() as it conflicted with RH8.0 headers
-- Fixed parse_args to pass address of POOLMEM struct.
-- Constrain FileIndexes written to BSR to be within range of Volume.
-- Suppress writing volumes to BSR if they are not actually referenced.
-- Make FOPTS use alist for match and base entries.
-- Pass prefix_links to SD.
-- Add command line interface to most items in "update volume=xxx"
-- Add command line interface to restore "jobid", "current", "before", "all".
-- Add command line "yes" to run command to supress prompt.
-- In new alist code, free only if allocated.
-- Overload [] with get() code for alist.
-- Fixed the code that wrote FirstIndex and LastIndex to the database. It
- was not correct at the end of a volume (basically included indexes in
- the second volume).
-- Fixed bscan to work with the new code and to properly build JobMedia
- records.
-- Added code to the read end of block.c to properly track Volume bytes,
- blocks, and files. I thought this was not necessary, but it is critical
- for bscan to work correctly.
-- Modified read_record to properly track First/LastIndex -- needed by
- bscan.
-- Eliminated some old Volume write code.
-- Changed RecycleOldestVolume to PurgeOldestVolume
-- Added what I hope are the "final" touches for Win32 stuff. There
- are still a lot of annoying little problems.
-- Added the "portable=yes/no" option to Include. If set, it disables
- use of BackupRead/Write for Win32, so in principle, the data should
- be portable.
-- Pulled in more recent config.sub and config.guess from /usr/share/libtool
-- Replaced the system fgets() by a Bacula version that ignores
- interrupts (i.e. signals). This truncated output from child processes.
-- Make file_index int32_t everywhere.
-- Moved LinkFI into ATTR structure. Also integrated data_stream there too.
-- Moved code that sets the stream for writing into create_file.
-- Removed a signal(SIG_IGN, SIGCHLD) from dird.c that prevented getting
- the status of child processes. This allowed removing the FreeBSD
- kludge to bpipe.c -- the status is now obtained correctly.
-- Hand scan the stream header that arrives in append.c to avoid machine
- dependencies of sscanf().
-- Implemented code to put Data stream in Attributes record.
-- Check if data stream is supported, if not, ignore.
-- Fix crash when multiple Includes are given (missing parens).
-- Clear WroteVol in askdir.c when JobMedia record is created.
-- Implement simple array list class for use in Bacula. New files
- are lib/list.c lib/list.h. Probably will not use until version 1.32.
-
-2003-06-24 Version 1.31 Beta 22Jun03
-- Change Purging Oldest Volume message to Recycling Oldest Volume.
-- Limit results from find_oldest_volume to one.
-- Fix possible buffer overrun in the restore tree handling routines.
-- Fixed a crash in VerifyToVolume because I moved the close_db()
- down into the free_ua_context() and should not have done so.
-- At a "var" command in the Console that does variable expansion and
- prints it.
-- Implement first cut of estimate command.
-- Change find_next_volume() for oldest to use LastWritten instead of
- FirstWritten -- also add Append to volumes slected.
-- Do normal recycling before checking for RecycleOldestVolume.
-- Implemented block rejection on read. This should make restores run
- much faster. Next release will have block positioning -- even faster.
-- Very preliminary support for Gnome-2.0. Text does not yet work.
-- Correct buffer corruption in find_one.c with long directory names (Win32).
-- Make setting owner on directories M_ERROR rather than M_WARNING.
-- Fix printing of JobId in run listing for restore job.
-- Reduce heartbeat read check interval to every 10 seconds on Cygwin because
- there is no working pthread_kill().
-- I finally designed a test for multiple simultaneous jobs,
- and sure enough it broke when the jobs are split over multiple
- volumes. Now fixed and working!
-- Eliminated a few "duplicate" error messages by testing for canceled.
-- Add ASSERT for device use count going negative.
-- Fix BlockNumber checking in stored/read.c (got first one wrong).
-- If socket is timed out, do a shutdown(fd,2) instead of close().
-- Fixed return status from SD to FD by setting JobStatus in append_end()
-- Add arrays to Environment variables. Elements separated by |.
-- Implement Reschedule On Error, Reschedule Interval, Reschedule Times.
-- Add a new pool PM_NAME -- gets a name length buffer.
-- Implement fast cancel of FD blocked on writing to SD by using
- pthread_cancel(). Turned off on Cygwin due to bug.
-- Add code to handle EAGAIN in writing (probably not necessary). Use
- select().
-- Eliminate size_t from pool control buffers.
-- Complete Counter resource.
-- Complete LabelFormat (except for WrapCounter) plus counter
- inrementation.
-- This needs a database change to eliminate PoolId from counters.
-- Made a more compact format for the document index.
-- Add Phil's checkhost to examples directory (thanks Phil).
-- Implement generalized LabelFormat (documentation to come).
-- Implement Counter resource.
-- Cleanup examples/kernsconfig
-- Implement restore to a specific date.
-- Fixed a but in automatic labeling (and use durations expiring) analysed
- and reported by Rob Proffitt (thanks!).
-- Cleaned up a few Cygwin compile problems.
-- Made a 10Jun03 release (it is in production here)
-- Finally took the big plunge and fixed restoration of links and other
- files that have been changed between the backup and restore. Basically
- if the file exists, it is deleted, then re-created.
-- Purge only Volumes marked Append, Full, Used, or Error.
-- Allow pruning of volumes marked Append, in addition to Full and Used.
-
-
-2003-06-10 Version 1.31 Beta 10Jun03
-- Eliminated all plain email addresses and replaced them with " at " in
- place of @ to reduce havesting by spammers. Doc + Web Site.
-- Started working on making POOLMEM a struct rather than a char. Lots of
- work to do.
-- Fixed bscan to handle -V option.
-- Fixed bscan to handle two File volumes.
-- Corrected a misplaced comma it get_fileset() in cats pointed out by bscan.
-- Added two Volume bscan test to regression scripts -- write two volumes,
- purge and delete everything, bscan the tapes, and do a restore. It works!
-- Reorganized the backup/restore code to move the attribute information into
- an ATTR packet, which is passed in place of tons of arguments. Moved some
- code into lib/attr.c and lib/attr.h. Then eliminated all the duplicate
- attribute code.
-- Moved FT_ types into baconfig.h.
-- Defined FT_ types to use only 16 bits. The upper half of the word is
- reserved for adding optional fields in the attributes packet.
-- Moved jcr->where into common part of jcr and have it deleted in lib/jcr.c
-- Put all attribute reading code on switch() with cases instead of a big
- if (restore.c, bls.c, bextract.c, bscan.c, ...)
-- set_attributes() now takes ATTR packet, and thus has much fewer args.
-- moved print_ls_output() into lib/attr.c
-- implemented is_stream_supported().
-- create_file() now takes ATTR packet so has many fewer args.
-- add mtime_only code.
-- Rewrote bnet.c read and write routines to quit if bsock->terminated is
- set. This will allow setting non-blocking writes and then receiving
- a termination message and terminating the Job immediately rather than
- waiting 2 hours for the line to timeout.
-- Put catalog db name in some error messages.
-- Code for restore is now much cleaner, with much of it in lib/attr.c,
- and it is now common for all readers.
-- Add first cut of proper support for Win32 Backup code.
-- Fix bug in restore Win95/98/Me.
-- Pass mtime_only flag to FD. Needs config record.
-
-2003-06-04 Version 1.31 Beta 04Jun03
-- Fix block.c to check errno only in case of return status -1 as
- suggested by Justin Gibbs (FreeBSD).
-- Implemented qfill command in btape for quick testing write/read of a tape.
-- Discovered that FreeBSD pthreads re-use the same thread id, which causes
- the SD to fail when a user leaves a device unmounted (old pid is reused
- and lock_device() thinks the same thread is calling again leading to
- inconsistent state). Set id to zero after blocking the device during
- unmount.
-- A lot of clean up, moving subroutines around for TermCode.
-- Free ua->prompt when Job terminates.
-- Add AutoPrune and Recycle to values copied from Pool resource
- into Pool record on create/updated.
-- Implemented bsr for Verify VolumeToCatalog.
-- Improved the Verify Job report using SD and FD term codes.
-- Split tree handling routines from ua_restore.c to ua_tree.c
-- Split bsr routines from ua_restore.c to bsr.c and bsr.h
-- Fixed clash between FD and SD returned job values. Report now contains
- values from FD. Maybe I should change? or give both.
-- Attempt to fix negative use_count for dev packet in SD by adding
- a couple of open_dev(). This may be cause of Dan's crash.
-- Clear no_wait_id when device is unblocked. This may be cause of Dan's crash.
-- Eliminate old "new lock code".
-- Add configure of mtx-changer for mtx path.
-- Always rewind tape before releasing it (for FreeBSD).
-- StartBlock was one too large for second volume.
-- Fixed restore to display status from both SD and FD.
-- Unified return status message for backup and restore.
-- Corrected segmentation fault reported by Dan when doing "label barcodes"
- on a File.
-- Corrected a segmentation fault when attempting to send a JobMedia record
- to the Console -- reported by Dan.
-- Added MySQL documentation for using the threaded libraries.
-- Added new columns and tables to Catalog database.
-- Wrote alter scripts and tested them (thanks to Dan for the help) on
- MySQL and SQLite.
-- Started using enums where ever possible when passing flags to
- subroutines. This helps make the source much more readable.
-- Corrected a bug where a vertical database listing was being used in
- the query command.
-- Added new argument to parse_args() to prevent command arg overflow.
-- Renamed ua_db_query.c ua_query.c.
-- Split scan.c out of lib/util.c
-- Perhaps I have *finally* fixed the command line history in gnome-console.
-- Added support for smartalloc for any global new or delete command
- by overloading the global operators.
-- Made the default time with no qualifier day rather than seconds.
-- Fixed a bug in the store_size() routine that improperly converted from
- double to uint32_t.
-- Started using "bool" where possible.
-- Zap SD session key once it is used.
-- Added *lots* more checking for strcpy -- bstrncpy(), ...
-- Added CreateTime field to FileSet record and print it to distinguish
- FileSets.
-- Print an information message when a new FileSet is created.
-- Include the FileSet date/time in the Job report.
-- Indicate if a Job is upgraded in the Job report and from what previous level.
-- Incremented the database version.
-- Ensure that any DB error message is printed if the start_time of a previous
- save is not found.
-- Free orphaned buffer in ua_restore.c in case of database error.
-- Implement enum for response DISPLAY_ERROR and NO_DISPLAY
-- Implement enum for create_pool (POOL_OP_CREATE, POOL_OP_UPDATE).
-- Make sure FileSets printed in restore are in order.
-- Add a number of bstrncat, and other protected string operations.
-- Clean up old structs in dird_conf.h
-- Remove all Slot invalidation code.
-- Add Automatic choice message to all do_prompt() calls.
-- Eliminate JobId from restore if not used.
-- Clean up a few error messages.
-- Make fill/unfill commands work correctly in btape.
-- Enhance btape fill and unfill commands.
-- Implement real Pmsg() code so that negative levels work in Dmsg()
-- Implement block number check -- had to turn it off because it doesn't
- work. Need to verify that it is the correct block and that block
- numbers are properly written.
-- Moved readline from depkgs1 to depkgs.
-- Reworked the configure code to handle readline correctly. This was broken
- mostly due to the fact that the readline routines are nested down one
- directory. Also, I missed one header file that was needed (possibly added
- in a later version).
-- Put correct include on the dependencies make for Console readline.
-- Remove JobMediaId from VOL_PARAMS (no longer needed).
-- Sort VOL_PARAMS by JobMediaId using SQL in cats.
-- Add jcr as argument to block.c read_block... routines so that error
- messages are immediately displayed.
-- Make bsr_dev() edit an error message if it is turned off and return 0.
-- Add checking for the BlockNumber in the read routines -- lots of
- false matches are found -- much check writing end.
-- Now sort bsr volumes by JobMediaId -- produces better results.
-- It turns out that under certain circumstances, when doing a restore, the
- Volumes will not be written to the BSR in the correct order. I don't
- know exactly why, but many thanks to Dan Langille for reporting this.
- The solution is to sort the Vol_Params within each bsr (done), and to
- sort the bsr chain (not yet implemented). Note, the bsr chain should
- always be in order unless the user explicitly specifies the JobIds in
- a different order.
-- Began implementing C++ structs rather than typedef structs as in C.
-- Added volatile to a lot of variables that are used in two threads at
- the same time. This should prevent improper optimization.
-- Fixed a missing space in the "run job=xxx where=" the where was
- glued to the end of the previous stuff (bootstrap filename).
-- I *finally* found the cause of the mysterious failure of shell expansion.
- It was due to the read() getting interrupted! That's what opening up
- SIGCHLD will do!
-- Remove unused default tape drive names.
-- Create a new status.c file in stored and split the status code out of dircmd.c
-
-2003-05-22 Version 1.31 Beta 22May03
-- I discovered that C++ permits "prototyping" structures e.g. struct A; is
- a valid statement. This permitted me to eliminate all the void *jcr, in
- favor of JCR *jcr, which pointed out a number of bugs in block.c.
-- Change lib/bmisc.c to bsys.c (system routines).
-- Add set_working_directory() to lib/util.c
-- Remove some unneeded setjcr_job_status() since Jmsg(jcr, M_FATAL,...)
- already sets it.
-- Do not increment jcr->Errors for Fatal errors -- they represent non-fatal
- errors.
-- Fix a few more places in FD where Errors was not incremented.
-- Print unexpected (or incorrect) termination message returned from FD.
-- Use switch() instead of giant if statement in verify_vol.c
-- Protect overrun from do_shell_expansion() by passing max length.
-
-2003-05-20 Version 1.31 Beta 20May03
-- Add mandrake to platforms
-- Suppress error messages if no bytes written to tape.
-- Suck up bootstrap file even on error so that Dir sees our error message.
-- Pretty much finish off the Win32 backup code.
-- Add DESTDIR code to autostart for creating non-root rpms
-- Echo input read from a script in Console.
-- Clarify error message for VerifyToCatalog
-- Add error counts in restore for M_NOTSAVED.
-- Adapt bfile.c to handle both Win95 files as well as WinXP files.
-- Add MTIOCERRSTAT for FreeBSD (clear error status).
-- Correct double jobmedia record when cancel at EOM reported by Phil.
-- Correct possible write at beginning of tape during cancel at EOM
- as reported by Phil.
-- Document in detail how Incremental and Differential jobs work.
-- Add non-fatal error count on backup and restore Job reports.
-- Remove a couple uses of lld -- now prefer to edit and use %s.
-- Fix directory could not be accessed on Win32.
-- Improve message indicating that last Full backup not found.
-- Fix free() too early in directory traversal code.
-- Prune Jobs with no JobFiles or that have JobStatus!='T'
-- Add a few more command line scans for prune/purge.
-- Restrict valid characters in a Volume name, and document it.
-- Make new Win32 save/restore work. Still a bit more to do.
-- Use reentrant version of mysqlclient library.
-- Use more machine independent way of finding gcc version.
-- Fix race condition in sql_list where messages edited before locking.
-- Lots of testing saving/restoring 6GB files.
-- Add where to restore where=/tmp
-- Complete implementation of Win32 streams in FD. Must test. Also,
- must implement new streams in SD.
-- Make termination of daemons more "error" tolerant.
-- Make default "duration" days rather than seconds if there is no modifier.
-- Install bcopy.
-- Add detection of available Win API's so that a single binary will
- work on all Windows systems. Reference those APIs through a pointer.
-- Remove use_win_backup_api and enable it in bfile.c if system supports it.
-- Modify dev.c so that it works if MTEOM is not defined (BSDI).
-- Change MT_xxx to BMT_xxx to prevent conflicts with BSDI.
-- Detect strtoll() in configure.
-- Implement replacement for strtoll() for BSDI.
-- Add platform files for BSDI.
-- Use Jmsg() instead of Jmsg1() in acquire because File:line prefixed in dev.c
-- Use Jmsg() in write_block_to_dev() so that no messages are lost.
-- Rework autochanger code in restore to handle case of cassette not in magazine.
-- Implement Windows BackupRead/Write(). I now have permissions right!!!!
-- Additions to the manual (Purging, Autopruning).
-- Add doc to code in autoprune.
-- Begin adding Level = Base.
-- Make Jmsg recognize console and direct messages directly back to it.
-- Hopefully fix mess in mount.c when a tape expires.
-- Fix restore bug recently introduced due to Unix backwards status convention.
-- New bacula.spec from Scott
-- Add globals for database name and version and print them in traceback.
-- Eliminate SubSysDirectory in each daemon conf file.
-- Implement get_yesno() and get_pint() in UA.
-- Make Jmsg aware of console. Messages now sent directly to Console.
-- Created a single bacula.spec.in for by the MySQL and SQLite builds.
-- Added proper configuration to console.in and gconsole.in
-- Start adding textdomain() code for translating.
-- A number of minor code cleanups.
-- Rework shell expansion just a bit.
-- Add rewind() when releasing a tape before acquiring the next one.
-- Implement addition of Description in Service entry for Win32.
-- Update manual to eliminate unclear autochanger points as mentioned
- by Dan Langille.
-- Implement DESTDIR everywhere.
-- Rework spec files for 1.31 and combine the main spec and the client
- only spec making a client package. At the same time, rename the packages
- so it is a bit clearer to the user. Also fix the build to work
- as non-root (scriptdir was not prefixed with $RPM_BUILD_ROOT).
-- Correct Auto Changers and all other forms to Autochangers in the
- manual.
-- John reported needing to do two "mount" requests, and indeed that
- was the case. It turns out that pthread_cond_timedwait() does not
- always return zero when awaken by a pthread_cond_signal().
-- Include RunBeforeJob and RunAfterJob output in job output report.
-- Implement a "real" Admin job that prints a mini-job report.
-- Clean up a few error messages in findlib and filed.
-- Recent changes to gnome-console caused initial output to be
- lost -- now fixed.
-- The Win32 version crashed after each job. After hours, it turns out
- that when running with LocalSystem privilege (and not as a user), when
- Cygwin does pthread_kill(id, SIGUSR2), it gets a memory fault.
-- Moved stored/fdmsg.c to lib/bget_msg.c, and moved SD messages to
- stored.c. So now bget_msg() can be used by both the SD and FD.
-- Changed Director's bget_msg() to be called bget_dirmsg() to avoid
- any possible confusion.
-- Implemented bget_msg() in general everywhere in the FD except for
- job.c where the Dir and FD are communicating.
-- Implemented a Director only heartbeat in the FD for the cases where
- there is either no connection to the SD or the FD is already reading
- from the SD. start_dir_heartbeat() ...
-- Add heartbeat to restore and verify volume.
-- Add "Heartbeat Interval" to Storage resource, which sets interval the
- SD sends heartbeats to the FD and DIR, 0 disables heartbeats.
-- Add "Heartbeat Interval" to FileDaemon resource, which sets the interval
- the FD sends heartbeats to the DIR, 0 disables heartbeats.
-- Added heartbeat from FD to Dir every HB_TIME rather than forwarding
- SD heartbeats.
-- First cut label dialog.
-- Turn on new semaphore code for simultaneous Jobs.
-- Fix cancel trying to release semaphore's not acquired.
-- Implement get_pint() and get_yesno() for UA.
-- Implement find_arg_with_value() for UA.
-- All command line "slot" to be specified for label command.
-- Rework heartbeat code in FD to correctly terminate.
-- Fix btraceback to use smtp and to eliminate double //
-- Fix "storage" command to include ssl for verify and restores.
-- Add Heartbeat code when SD is waiting on a tape -- heartbeat every 20 mins
- to keep stateful firewalls from timing out the connections.
-- Fix src/stored/Makefile.in typo causing problems in statically linking
- btape. Thanks to Lutz for reporting this.
-- Create an is_client_alive script for checking if a client is alive.
- Using this script prevents generating error messages.
-- Added corrections and updates to manual provided by Phil -- thanks.
-- Added RequireSSL to each program/daemon configuration.
-- Added EnableSSL to each correspondent for each program.
-- Added the Console resource to the Director (need to
- implement individual Console authorization).
-
-2003-04-28 Version 1.30 released
-- Fix command history for gnome-console (must malloc).
-- Add two cancel points in acquire_resources(). The job will not
- be immediately terminated in all cases.
-- The new AutoMount code broke File archives -- fixed.
-- Correct watchdog mutex race introduced yesterday.
-- Add JobLevel to Admin run started by UA.
-- Add -v to daemon startup scripts
-- Implement bmicrosleep(sec, msec);
-- Implement When for "run" command.
-- Remove unsigned from socklen_t definition in hopes it will work better
- with older systems.
-- Remove code that attempts to set PID dir and SUBSYS dir if they
- do not exist because it set them to sbindir!
-- Modify mount to initially attempt to read the volume if Bacula
- wants a tape, none is mounted, and "Automatic Mount = yes" is set.
-- Prohibit setting --sbindir and --with-subsys-dir the same.
-- Fix missing argument that cause Kaboom in update slots.
-- Fix orphaned bsock when UA gets error contacting FD or SD
-- Nearly full implementation of Win Backup API, but it does not
- work due to lack of permission! Arggg!
-- Implemented restoring directory permissions as they should be.
-- Implemented reasonable regression script. It found a number of
- restore errors.
-- Implemented the following @ commands in the console that work directly
- in the console rather than in the Director.
- input - read input from a file
- output - write output to file
- tee - tee output to file and terminal
- time - print current time
- version - print current version
- exit - quit
- quit - quit
-- Implemented new bfile io routines that will permit implementation of
- Windows native APIs for reading/writing files.
-- By default always update hard links with the prefix, but do
- not update soft links. It seems inconsistent, but it is what
- cp does.
-- Implement wait command in Console that waits until no jobs are running.
-- Fixed the < code in Include/Excludes, which forgot to skip over the <.
-- Do NOT attempt to chmod() a soft link as it will change the file behind
- the link!
-- OOPS! Lutz ran into a problem. In attempting to prevent string overflows,
- I used bstrncpy() on a variable that was malloc'ed thus truncating
- Volume names! Arrrggggg!
-- Lots of documentation of new features.
-- Rework Volume name scanning in console, made much more logical
- and corrected a bug (confusion in calling sequence).
-- Cleaned up a few error messages in cats adding more info.
-- Add the IP address to error messages due to bad connects to servers.
-- Implement default File output in config files so user can start
- saving right away without a tape drive.
-- Protect inet_ntoa() with mutex in case it is not thread safe.
-- Eliminate termcap from use in gnome console.
-- Remove unused SD maximum volume files and maximum volume jobs. They
- are implemented in the Director.
-- Make the default for Incremental and Differential saves to compare
- against both st_mtime and st_ctime rather than just st_mtime.
- This includes files moved or copied.
- Thanks to Matthias Wamser for bringing this fix to our attention.
-- On Win32 clients, make a pass through the include/exclude patterns
- and change any back slashes to foward slashes. Prevents creating
- unusable directory names containing both conventions.
-- Move ls -l output on restored files to M_RESTORED class.
-- Make gnome-console compile correctly on RH8.0
-- label barcodes now works.
-- Implemented "update slots".
-- Tweak btape "test" to always print suggestion for re-read last block.
-- Implemented "Cleaning Prefix"
-- Update alter_mysql_tables.in
-- More work on barcodes.
-- Zap VolHdr in SD when attempting to label a tape that is not
- there. Prevents false tape names the next label command.
-- First cut of bar code reading is implemented. It doesn't do
- anything but return the list to the Director.
-- Implemented relabel command that relabels "Purged" Volumes.
-- Check exit code in RunBeforeJob and err the job if it is non-zero.
-- Remove old testsuite -- too complicated
-- Print length when Authorization fails because of bad length.
-- Fix problem of NumVols in Pool getting reset on startup.
-- Implement full listing of DB records by listing them vertically
- instead of horizontally.
-- Make changes to mysql scripts as suggested by Lutz Kittler
-- Fixed code to write Uname to Client record.
-- Fixed a problem (in btape) where Pmsg() was not printing.
-- Moved re-read last block test to last in "test" command of btape.
-- Lots of new documentation.
-- Fixed newvol.c to handle retrying 10 times if the volume name already exists.
-- Removed int_least16_t from sha1.h because it does not exist on some systems.
-- Release job in SD if canceled and waiting on a mount (better cancellation).
-- Prompt for Client in restore if not specified.
-- Print "Selection is empty!" if no selection list found.
-- Add new spec files and bacula.desktop from Scott.
-- Update client every time a job is run.
-- Add verbose option to daemons for printing more user error info.
-- Test if console works with readline 4.3 (yes, it is OK).
-- Release new depkgs
-- Release new winbacula.
-- Add Uname info to Client DB record.
-- Improve error messages and make them more consistent when a non-existent
- Device is requested.
-- Separated the -mwindows option so that only Windows programs
- are built with it (bacula-fd, ...) the tty tools such as console
- dbcheck, smtp, testfind, ... are now able to be run in a standard
- Windows DOS box.
-- Add | and < options to Exclude the same as in Include.
-- Add typed in input to the text window in the gnome-console.
-- Change function that gets the entry text (previously had orphaned buffer).
-- Fix multiple Director problem in gnome-console (thanks to Lutz Kittler).
-- Thanks to Renato, I was able to test Bacula on a FreeBSD tape drive.
- There are a number of significant differences: 1. reading less than
- the number of bytes in a record returns an I/O error. 2. ioctl(MTEOM)
- looses the file position. 3. Reading two two EOF marks (or ioctl(MTEOM))
- leave you positioned after the second EOF, so you must backspace file
- to be able to append.
-- Added BSF at EOM = yes/no to Device resource to allow proper positioning
- at the end of a FreeBSD tape.
-- Made btape "test" do much better testing of error conditions (i.e.
- it now ensures that the append went well). It will automatically
- detect problems and apply fixes and then retry the test, if it
- finally succeeds, it clearly says what directives need changing.
-- Add Scott Barninger's rpm changes to the build environment
-- Add changes to mtx-changer so users can add eject and sleep for
- certain autochangers.
-- Implemented FreeBSD chflags (user defined flags).
-- Turn restore errors during setting of owner and modes into
- warning messages -- for restoring files as non-root.
-- Fix how prefixes are handled in restoring soft links.
-- Modified btape "test" command to do only those things that
- Bacula actually does. There is much more explanation, ...
-- Update manual.
-- Finally had to back up to gcc version 2 from version 3 to avoid version
- 3 nightmares.
-- Final cygwin tweaks.
-- Move start time to *after* the resource locks are acquired.
-- Unable to duplicate Phil's disabling of Bacula with nmap, but
- did make the authentication code a bit more conservative for
- dealing with bad input.
-- Added code to the query command to escape all strings input
- before substitution and sending to the SQL engine.
-- Escape user entered filenames for restore command.
-- Cleaned up the waiting code a bit -- using broadcast instead
- of signal and counting the waiters.
-- Implement new pthreads semaphore code.
-- #define new semaphore code rather than workq on USE_SEMAPHORE.
-- Lots of improvements to the document to address recent support requests.
-- Implement cycle through a set of tapes suggested by Eugeny
- Fisher with the "RecycleOldestVolume=yes" record in the
- Pool resource. Basically this record causes Bacula to purge
- to oldest tape when no more tapes are found.
-- Correct a number of small incorrect interactions between limit
- variables during recycling.
-- Corrected a bug in db_create_media_record() where VolMaxFiles and
- VolMaxJobs was not written to the database.
-- When the Director starts, the Pool record is updated in the
- database with the current contents of the Pool resource.
-- Corrected bnet_connect() to immediately stop (rather than looping
- for the timeout period) if there is a fatal error (socket, or
- hostname to ip).
-- Reworked "purge" code to make purging Volumes easier.
-- Made "list volumes" list the volumes in all pools -- also
- "list volumes pool=Default" does not produce and error message.
-- List Pool record after doing "update pool".
-- Remove pid file code from Win32 -- not really necessary.
-- Make bnet handle null jcr during cancel rather than crash.
-- Add CygwinInstall.bat and CygwinUnInstall.bat
-- Add db_lock() around newvol.c code to prevent race condition if multiple
- callers want a new Volume name.
-- Lots of cleanup to Win32 code, with additional error messages.
-- Make Bacula work on Win95 (test for GetAttributesEx).
-- Add better error messages when end of media is reached or volume
- capacity execed.
-- Turned off signal catching in readline(), necessary to keep console
- from crashing on ctl-Z with RedHat 8.0. Thanks to David Craigon for
- testing this.
-- Make the 3rd and hopefully final change to the Finclude structures.
- This new version permits multiple sets of options (more code to be
- written) to be applied against the same set of files. Thus one can
- have options that with match of *.gz and a different set of options
- for *.c, ...
-- Integrated GNOME Console font resource code supplied by Phil Stracchino.
-- Check for job_cancelled() in bnet_connect() code to stop wait loop if
- client not available.
-- Fix early end of file scanning conf file in lex.c, which previously
- caused ABORT -- now reports error. This could happen with an unterminated
- string for example.
-- Move Maximum File Size code before write and detect error on writing EOF.
-- Additional fix for Solaris 2.6 and a bdb.c fix submitted by Armin Buehler.
-- Added detection for Solaris 2.6, which uses older setsockopt() calls.
-- Defined sockopt_val_t for setsockopt() calls.
-- Added fixes sent by Bevan Anderson that fix multiple connects to FD
- (I zap keys for security, so must put back dummy key). Also a fix
- to the Internal database that wrote garbage after the filename in
- the database.
-- Back out the __SVR4 changes.
-- Add automatic configuration of socklen_t
-- Attempt to fix problems reported by Lutz with multiple simultaneous
- open file Volumes (experimental code). Serialized acquire. This may
- fix the problem, but more thought and testing is necessary.
-- Add table of "supported" autochanger models.
-- Add Solaris 2.6 (__SRV4) changes sent by Peter Schmitz.
-- Correct tape selection code in SD (|| => &&). Thanks to Chuck Hemker
- for the patch.
-- Eliminate FileOptions. Implement new Finclude and Fexclude that
- have file options contained in it. New structure must be transmitted
- to FD.
-- Split Include/Exclude into new inc_conf.c file.
-- Cleanup new Include/Exclude and FileOptions. Structures in Director
- now correct. Must transmit FileOptions to FD.
-- WARNING: With the adddress and port code in the Catalog you MUST
- remove old address= and dport= records!!!!!
-- Added code to remove cancelled jobs from the workq -- needs testing.
-- Added first cut AIX from output James MacLean sent me.
-- Second cut of FileOptions.
-- First cut of parsing FileOptions and Counters.
-- Added address:port for MySQL as well as socket for local access.
-- Fixed job.c in filed to properly handle excluded files. Apparently
- I changed the daemon protocol but forgot to update the code.
-- Enhance testfind to handle include and exclude files
-- Fix getdomainname() prototype for Darwin
-- Added new -u and -g options for specifying userid and groupid to
- use when running, so that Bacula can reduce its privileges.
-- When Bacula was hanging due to an NFS volume being down, I
- fixed a few places in the File daemon where is should have immediately
- terminated the connection instead of waiting for the Director to do so.
-- Added first cut support for Darwin.
-- Temporarily comment out the O_NOFOLLOW to avoid possible subtle problems.
-- Implemented O_NOFOLLOW in creating files in create_file.c to prevent
- creating a file at the end of a symbolic link.
-- Use chown() if lchown() does not exist (e.g. Darwin).
-- Always close stdin on startup to avoid having /dev/console attached.
-- Change all DATE occurrences to BDATE because it is used by Cygwin headers.
-- Add printing of Volume names in SD status output.
-- Display all open devices in device chain in SD status output.
-- All changing Pool in console run command.
-- Thanks to Eric Bollengier for pointing out that the run_program()
- return status was not correctly generated. Now fixed (I hope).
-- Corrected crash in Internal Database getting Volumes.
-- Flush all daemon messages at the end of every job.
-- Fix Install.bat script so that Bacula restarts after reboot on WinNT/2K systems.
-- Minor changes in the gnome-console directory.
-- Integrated in my old Tcl/Tk code into src/tconsole and moved it up
- from C to C++. Pretty crude, but it is a beginning.
-- Close syslog() %n exploit in message.c
-- Edit space before each line in gconsole.
-- Added INCEXE structure so we can have FileOptions.
-- Added support for multiple simultaneous open file volumes.
-- Fix hard linked files so that the one saved is always restored.
-- Add * to restore "dir" listing to indicate marked files.
-- Add ability to make md5sum and sha1sum in lib directory.
-- Work a bit more on the new daemon protocol.
-- Use unmask of 022 or more restive
-- Create File volumes with 0640 permissions
-- Added support for SHA1 signature. Need to modify DB to have type.
-- Document SHA1.
-- Work a bit on getting proper child status from bpipe calls.
-- Added Ludwig's mtx-changer to the examples/devices directory.
-- Added a Warning not to use the Internal Database when it is initialized.
-- Compiled and tested SHA1, and added it to the library.
-- Added code to print the "load slot" status after autoloading.
-
-=============================================================================
-2003-01-24 Version 1.29 released
-23Jan03
-- Tightened up permissions on all .conf files to be 640 so they are not
- world readable.
-22Jan03
-- Added prefixlinks=yes/no Job record to specify applying the Where
- prefix to absolute soft links. Code is not yet passed to FD, because
- FD would then be incompatible with version 1.28.
-- Added skeleton of installation for Gentoo release for Patrick Naubert.
-- Add timer on open() for reading or writing a FIFO file.
-- Put btraceback and btraceback.gdb in sysbin dir (a bit of polution,
- but at least dumps will work).
-20Jan03
-- Added "append" all messages to a log to default bacula-dir.conf
-- Added WriteBootstrap to default bacula-dir.conf
-- Made smartall.c print "Out of memory" if malloc() fails.
-- Added pthread btimer routines.
-- Added timer to FIFO open statement
-- George was still having problems with VolUseDuration failing.
- On looking into it, one line of code subtracting 1900 was
- mysteriously missing from the source -- bizarre.
-18Jan03
-- Yesterday's version corrects all the problems I was
- previously having, and my production jobs are now completing
- properly.
-- Added a #define dev_cap() to test the capabilities bits. I just
- makes the code a bit shorter and a bit simpler.
-- Added phase 1 support for an output fifo device. The big
- difference here is that it is a STREAM device, which means that
- Bacula will only write to it and not read. Thus, Bacula assumes
- that the correct "Volume" is mounted and will construct a valid
- label (without needing the Volume to be prelabeled), and write
- to the device.
-- Added phase 1 support for input from fifo device (suppress re-read,
- add empty buffer flag).
-17Jan03
-- Improve printout of dbcheck with # files/path fixing.
-- Zap SD authorization code after use.
-- Added <> back to smtp (think about this some)
-- Doc
-16Jan03
-- Massive change to add jcr as the first argument to nearly
- every db_ call. This is because I was storing the jcr in the
- db structure, which will not work because everyone shares
- exactly the same structure.
-- More cleanups of error termination status in filed.
-- Found another bug in message.c where %s was missing in JmsgN. A lot
- of cleanup in message.c
-- Found places where filename listing was made (restore, verify
- vol) where the buffer could possibly overrun.
-- Chain include files on the end of the list so that the
- order will be correct.
-- Rewrote mtx-changer to output one slot per line terminated by
- a colon followed by an optional Volume Tag for the "list" command.
- Preparation for handling Volume Tags.
-- My production crash remains elusive. Adding debug code or running
- under the debugger eliminates the problem. I found a case in
- message.c where I was extending the message string by two
- characters to send it to the console. VERY BAD. Rewritten.
-- Started implementing fifo and program handlers (i.e. streams)
- in the Storage daemon. Lots to do.
-- Added a trace capability where trace statements are written
- to a file. Tmsg(). Hopefully this won't be used much.
-- Running lots of "production" saved by scheduling a few minutes
- after the current time -- slow process ...
-15Jan03
-- Removed <> on From and To in smtp.c as suggested by James MacLean.
-- Added code to suppress spurious error messages during cancel,
- but I was unable to eliminate all errors -- to be worked
- on later.
-- Up size of print buffer from 2000 to 5000.
-- My production run failed again. I'm beginnig to suspect
- hardware problems because running by hand or under the
- debugger always works -- we will see.
-- Added Update Volume VolFiles to reset correct tape files
- a bit dangerous.
-- Use the mysql_escape_string() rather than internal version.
-14Jan03
-- Cleanup handling of JobStatus by creating a subroutine.
-- Fix a number of minor things with JobStatus.
-- Print FD and SD JobStatus on backup report.
-- Add JCR to findlib -- so now FD stops normally when cancelled.
-- My production Director segment faulted during the second Job.
- I haven't been able to track it down. After rebuilding, all
- jobs finished correctly.
-- In investigating the duplicated Paths, I found that there
- were 10,552 of them -- only Path records. After checking the
- code, I do not see the reason, but I've enhanced the code to
- print the full path name.
-- I made a few improvements to tools/dbcheck. Mostly it provides
- a bit more feedback with verbose mode on when eliminating
- duplicate filenames or paths.
-13Jan03
-- During four simultaneous backups, the File daemon started
- detecting buffer corruptions. It turns out to be due to the
- fact that the smartall.c routines were not thread safe. They
- are now.
-- Based on input from James MacLean and team, I eliminated a number
- of places where printf could be recursively called by using "%s".
-- It turns out that because of an error of my understanding of
- mysql_escape_string(), the last argument was taken as the length
- of the string to be escaped rather than the maximum length. I've
- now corrected all my code -- Thanks James.
-12Jan03
-- George Motter reported problems with UseDurations, and it seems
- that there were a number of inconsistencies and problems with
- FirstWritten and LastWritten. Hopefully for the most part they
- are now corrected. Also fixed LabelDate if done through Console.
-- Try to chase down reasons why there would be buffer overruns.
- Added P & V around referencing last_fname for status.
- Rewrote find_one.c with MEMPOOL, but not yet tested enough
- to commit.
-10Jan03
-- Give extra margin to converting filenames from Unix to Windows
- in attribs.c of findlib -- dumb cygwin API doesn't provide for
- a length.
-- Added file:line traceback to size_of_pool_memory, check... and
- realloc in an attept to get closer to the memory overrun reported
- by James MacLean.
-09Jan03
-- Made yet another fix to quoted string -- paths! Thanks to
- Scott Medlock for reporting this.
-- Made | and < work.
-- Implemented FIFO reading/writing. To do so, simply explicitly mention
- the fifo file (named pipe) in the Include AND add the new option
- readfifo=yes
-08Jan03
-- Started implementing | and < on Include names.
-- Changed source to . in cats directory as requested by Andrew Kokarev.
-
-=============================================================================
-2003-01-05 Version 1.28b released
-- Corrected a typo of working_directory in bacula-dir.conf
- reported by James MacLean.
-- Fixed the fact that path and filenames in some cases were not
- being quoted before going into the database. Many thanks to
- James MacLean for reporting this.
-
-=============================================================================
-2003-01-05 Version 1.28a released
-- Corrected a missing quote in bacula-dir.conf reported by James MacLean
-
-=============================================================================
-2003-01-05 Version 1.28 released
-General:
-- Implemented Bare Metal Recovery for Linux and manual procedures for Solaris
-- 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:
-04Jan03
-- Add cygreadline5.dll to Win32 release -- needed for console
-03Jan03
-- Add scripts make_catalog_backup and delete_catalog_backup that makes and
- deletes an ASCII copy of the catalog for backup. An example of how
- to use it is in the <bacula-src/src/dird/bacula-dir.conf file.
-- Made a nicer column oriented listing of scheduled jobs for "status dir".
-02Jan03
-- Added backup/restore of raw partitions.
-- Corrected restoration of files in root directory (problem with
- splitting path from file).
-01Jan03
-- Finally decided to cleanup handling of splitting path and filenames
- in the cats directory. Now the code is in one place sql.c and it
- is done using Pool memory, so there are no length restrictions.
-31Dec02
-- Add start of Solaris bare metal recovery
-- Add Site Visit usage statistics to Web page
-- Got Bacula listed on www.backupcentral.com
-30Dec02
-- Retest bare metal recovery on Linux 2 times with verify
-- Cleanup printout of verify differences using proper casting to
- handle shorts and long longs.
-29Dec02
-- Added --enable-client-only to ./configure
-- Modified --enable-static-sd to work better and documented it.
-- Fixed Restore options (never,ifnewer, ...). They now work.
-- Moved the stored.c Resource lock into the allocation thread so
- that the same thread sets/clears it. This created a problem on
- FreeBSD.
-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
+
+Release version 5.0.3
+
+03Aug10
+- Fix Windows build
+- Remove patches directory
+- Fix compilation problem with zlib
+
+02Aug10
+- Remove comments field from tls-duplicate-job-test -- add back next database
+ upgrade
+
+01Aug10
+- Make Win32 no filesystem change more explicit
+
+31Jul10
+- Update askdir.c to Branch-5.1
+- Revert block.c to fix recycling
+- More backport from Branch-5.1 to Branch-5.0
+- Backport Branch-4.0 release to Branch-5.0
+- Massive backport from Branch-5.1 to Branch-5.0 -- a bit more to do
+
+29Jul10
+- Remove some old files
+
+28Jul10
+- Fix #1606 about OpenSSLv1 detection using non-standard location
+- Backport some 5.1 changes to 5.0
+
+27Jul10
+- Update the license template files
+
+26Jul10
+- Fix postgresql catalog creation when version is not on the first line
+
+25Jul10
+- More changes from GPLv2 to AGPLv3
+- Fix some missed copyright changes
+- Change license from GPLv2 to AGPLv3
+- Define restore object stream
+
+21Jul10
+- Fix bug #1610 handle empty xattr values on Linux and xBSD.
+- Really free free pool memory before sm_dump
+- Garbage collect memory pool at end of job and before sm_dump
+- Ignore STREAM_RESTORE_OBJECTS returned by SD to FD
+
+19Jul10
+- Add xattr seg fault protection suggested by Marco for bug #1610
+
+17Jul10
+- Add archlinux to os.m4
+
+14Jul10
+- More fixes for 32/64 bit problems in smartall
+- Fix 32/64 bit problem in smartalloc dump routine
+
+11Jul10
+- Fix bad copy/paste in commit c88dccb88 prably a seg fault
+- Fix .dump, .die, .exit when DEVELOPER turned off
+
+10Jul10
+- Add .dump and .exit commands for daemons
+
+10May10
+- Add .dump command
+
+10Jul10
+- Make SD automatically fix the Volume size in the Catalog when out of sync
+- Add bigger print buffer for sm_dump
+
+09Jul10
+- Use Pmsg in smartall.c rather than printf for tracing Windows
+
+11Jul10
+- Update to master's bsnprintf.c
+
+07Jul10
+- Up maximum block size to 20M
+
+04Jul10
+- Add new tls-duplicate-job test
+
+07Jul10
+- Fix for TLS bugs #1568 and #1599
+
+02Jul10
+- Improve comm line error handling for TLS, may fix bug #1568 and #1599
+
+03Jul10
+- Remove Linux dependency (seq) in regress script
+
+06May10
+- Fix problem when sending Cancel event to plugin
+
+01Jun10
+- Update makefiles for new libtool revision
+- Simplify libtool revision and use VERSION as default
+- Simplify libtool revision
+
+28May10
+- Convert all Jmsg on the watchdog thread to Qmsg
+
+20May10
+- Do not use mtime with basejobs
+
+02Jul10
+- Fix SD crash due to mismatched lock/unlock in error condition
+
+26Jun10
+- Fix bug #1587 if you have clients with different catalogs configured, both
+ catalogs contains all clients after a reload or restart of the dir
+- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open()
+ by moving and commenting out the ASSERT()
+
+23Jun10
+- Skip HB kill in FD if HB thread terminated
+
+21Jun10
+- update windows defs
+
+20Jun10
+- Fix crash from unequal volume_lock/unlock calls
+- Fix pruning for migration jobs and do some optimization
+- Print TestName at beginning of dump
+
+19Jun10
+- Remove prototypes of removed prune queries.
+
+18Jun10
+- Adapt new prune code with old db_accurate_get_jobids()
+
+17Jun10
+- Remove bdb from configure
+- update prune code
+
+16Jun10
+- Make new prune algo to work with backup
+
+19Jun10
+- Save any dumps during regression to dumps directory
+- Update LICENSE
+- Fix crash from rw_lock/unlock miss match
+
+18Jun10
+- Attempt to fix duplicate job kill seg fault
+- Replace pthread_kill by my_thread_send_signal() in jcr.c
+- fix #1595 about batch mode detection problem for postgresql with non standard
+ install dir
+- Fix accurate code
+- Add TestName to gdb traceback
+
+17Jun10
+- Fix db_get_base_jobid()
+
+14Jun10
+- Fix #1594 about prune copy jobs
+
+07Jun10
+- Apply literal string fix in printf submitted by Luca Berra
+
+03Jun10
+- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
+
+01Jun10
+- Fix segfault on "cancel jobid=" command
+- Change libtool version
+
+30May10
+- Fix bug #1554 Windows installer doesn't honor /S flag
+
+23Apr10
+- Remove pool zap code that breaks 2drive-concurrent-test
+
+28May10
+- Fix #1571 and install libraries with 755 perms
+
+27May10
+- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
+
+20May10
+- Fix problem with BaseJob and Accurate FileSet options on client side
+
+24May10
+- Add more debug code for bactrace
+
+23May10
+- Fix for bug #1569 deadlock/crash in Dir
+
+03May10
+- Fix segfault when loading Plugins
+
+04May10
+- Fix #1567 about display of long volume names truncated during restore
+
+02May10
+- Added new bacula-libs package.
+
+01May10
+- Fix bug #1538 Start Scripts return incorrect value
+- Fix bug #1564 init scripts not LSB compliant
+
+28Apr10
+- Fix File and Job Retention in show pool command
+
+Release Version 5.0.2
+
+27Apr10
+- Add lmgr_is_locked() function to test if a thread own a mutex
+- Probable fix for SD crash bug #1553
+
+24Apr10
+- Fix #1559 problem when restoring pruned jobs with a regexp
+- Fix for bug #1560 bcopy cannot find Volume
+
+23Apr10
+- Remove comment field added in last patch
+- Fix cancel crash bug #1551
+
+21Apr10
+- Check if sql backend is thread-safe
+
+20Apr10
+- Correct Pool display in SD status. Fixes bug #1541
+
+19Apr10
+- Fix cancel crash reported by Stephen Thompson
+
+18Apr10
+- Rewind on close to fix #1549
+
+16Apr10
+- Remove closelog() in bpipe fixes bug #1536
+- Fix #1517 about missing Base level in .level command
+
+08Apr10
+- fix grant_postgresql_privileges doesn t grant permissions on jobhisto_jobid_seq
+
+07Apr10
+- Add lock position info to volume manager
+- Permits to use lock manager with file/line from outside
+
+03Apr10
+- Replace ASSERT in block.c with fail Job
+- Use uint32_t for max_concurrent_jobs
+
+29Mar10
+- Use file and line for rwlock and lmgr in db_lock()
+- Add File and Line info to rw_lock for lmgr
+
+27Mar10
+- Fix database locking calling db_lock and returning from function without
+ calling db_unlock.
+
+26Mar10
+- Add missing db_unlock to bvfs_update_cache.
+
+22Mar10
+- Fix #1532 about permission on binaries
+
+14Mar10
+- Allow users to build bat without static QT if desired.
+- Fix for qt mkspecs location on Fedora 12.
+
+12Mar10
+- Fix #1527 about deadlock during migration
+
+10Mar10
+- Another fix for OpenSSLv1
+- Add -lrt to Solaris links
+
+09Mar10
+- Fix tls.c for OpenSSLv1
+
+08Mar10
+- Fix #1511 when trying to insert more than 50.000 directories in bvfs
+- Fix plugin load not to stop if one plugin bad -- pointed out by James
+
+07Mar10
+- Remove --without-qwt from configure statement.
+- Fix bug in bvfs_update function, should work much better now
+
+06Mar10
+- Second correct fix to bug #1524 verify fails after adding or removing files
+- Fix bug #1524 verify fails after adding or removing files
+- Fix bug 1523.
+- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
+- Lets not generate the ingres code automatically when the .sc or .sh files
+ changes as it seems these files get outdated on some systems and then this
+ rule kicks in on systems that don't have the esqlcc ingres compiler installed.
+- Fix CentOS detection in regression get-os script
+
+05Mar10
+- Create subroutines to add exclusion for plugins
+- This adds sql debugging to these classes that Eric wrote.
+- This is a 1/2 fix of the issue. It allows for the sorting of the two non
+ graphic columns, but still does not allow for sorting the graphic columns.
+ The issue is with last. By setting the sort value, you are setting the value
+ on the last. To experiment with what I mean, use the set background that I
+ have commented out in this commit.
+
+03Mar10
+- Fix OpenSSL 1.x problem in crypto.c on Fedora 12
+- Display AllowCompress warning message only if compression used in FileSet
+
+01Mar10
+- Added comment on dbi backend needing a recent version of libdbi from CVS as
+ the version currently released 0.8.3 wont work for compiling the code.
+- Add Warning check to SQL
+- Fix readline to use TERM_LIB found for conio
+
+27Feb10
+- Move bacula shared objects in separate bacula-libs package.
+- Fix for termcap lib on suse.
+
+26Feb10
+- Fix for shared objects name convention change.
+- Remove mandrive and suse bacula.spec from configure
+
+25Feb10
+- Fix compile link flags for gigaslam
+- Add missing defines for gccver.
+
+Release Version 4.0.4
+
+03Sep10
+- Send back updated jobs status from FD
+- Allow plugin to skip restore if problem
+- Add comments to win32-systemstate-test
+- Attempt to eliminate waiting on Storage message during restore
+- Add quotes around resource name in status output
+- Change FD protocol version to avoid error message when sending RestoreObjects
+- Fix so .messages does not stop restore in bat (I think)
+
+
+Release Version 4.0.3
+
+31Aug10
+- Fix bug #1633 Windows service is not removed if still running
+
+30Aug10
+- Make RestoreObject compatible with older FDs
+- Apply #1624 properly
+- Use VERSION for libtool library version
+- Change branding to Bacula Enterprise
+- Fix #1624 about segfault in dvd driver when calling rewind(NULL)
+- Add registered trademark
+
+17Aug10
+- Correct rpm .spec for putting hostname and password in bat.conf
+
+
+Release Version 4.0.2
+
+12Aug10
+- Fix batch insert detection on SLES 11
+
+10Aug10
+- Update Enterprise specs to work with 4.0
+
+08Aug10
+- Fix bug #1504 -- Error when creating tables in MySQL 5.5
+
+02Aug10
+- Allow sorting of MeditView table columns
+
+01Aug10
+- Make Win32 no filesystem change message more explicit
+
+27Jul10
+- Update the license template files
+
+28Jul10
+- Fix #1606 about OpenSSLv1 detection using non-standard location
+
+Bug fixes
+1504 1606
+
+
+Release Version 4.0.1
+
+26Jul10
+- Fix pending_buf size calculation + malloc in big chunks
+- Optimize mallocs in vssapi_registry.c
+- Apply James' restore patch
+
+25Jul10
+- More changes from GPLv2 to AGPLv3
+- Fix some missed copyright changes
+- Bring plugin license up to new version
+
+24Jul10
+- Apply James' restore patch
+- Call plugin bEventEndxxxJob even if Job canceled
+- Check some plugin error conditions on restore to prevent seg fault
+- Switch to AGPLv3
+
+22Jul10
+- Clear class buffer in operator new + add safe_free and correct some calls to
+ use it
+- Really free free pool memory before sm_dump
+- Garbage collect memory pool at end of job and before sm_dump
+- Ignore STREAM_RESTORE_OBJECTS returned by SD to FD
+- Implement %f %b to get JobFiles, JobBytes in a RunScript
+- Fix some windows plugin crashes
+
+20Jul10
+- Add exclude code + fix a few orphaned buffers
+
+19Jul10
+- Fix malloc of wrong size causing buffer overrun on restore with Windows
+ plugins
+- Fix free of unallocated buffer in win plugin code
+- Add debug info to smartall.c for buffer overrun
+- Add xattr seg fault protection suggested by Marco for bug #1610
+
+18Jul10
+- Add archlinux to os.m4
+- Apply James' job_canceled fix
+
+17Jul10
+- Add some of James' comments
+- Merge with previous KES changes
+- Apply James' leaks patch
+- Make VSS snapshot failures fatal
+- Fix Win FD crash at termination
+- Orphaned buffer fixes
+- Fix 64 bit p_CreateVssExamineWriterMetadata entrypoint
+- Apply James' backup orphaned buffer patch
+- Modify win32 config to handle James new vss plugin
+- Fix min compile problem + package vss-fd.dll instead of systemstate
+- First cut merging James
+
+14Jul10
+- More fixes for 32/64 bit problems in smartall
+- Fix 32/64 bit problem in smartalloc dump routine
+
+13Jul10
+- Make plugins ignore new event item
+- Put all Windows plugin code on non-zero debug level
+- Add bEventVssBeforeCloseRestore per James
+
+11Jul10
+- Fix .dump, .die, .exit when DEVELOPER turned off
+- First cut systems state plugin cancel + release some of orphaned buffers
+- Add bigger print buffer for sm_dump
+- Add .dump and .exit commands for daemons
+- Use Pmsg in smartall.c rather than printf for tracing Windows
+
+09Jul10
+- Add .dump command
+- Permit using sm_dump in Windows plugins
+
+08Jul10
+- Add a make for winbmr directory
+
+Bug fixes
+1610
+
+Release Version 4.0.0
+
+07Jul10
+- Fix for TLS bugs #1568 and #1599
+- Add new tls-duplicate-job test
+- Improve comm line error handling for TLS, may fix bug #1568 and #1599
+
+06Jul10
+- Make Windows binaries follow similar naming convention to source release
+- Correct some of the Win64 compiler warnings
+- Fix Win32 systemstate crash (hopefully)
+
+03Jul10
+- Remove Linux dependency (seq) in regress script
+
+02Jul10
+- Do not use mtime with basejobs
+- Fix SD crash due to mismatched lock/unlock in error condition
+
+29Jun10
+- Use send_restore_object() when using plugin
+
+26Jun10
+- Fix bug #1587 if you have clients with different catalogs configured, both
+ catalogs contains all clients after a reload or restart of the dir
+- Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open()
+ by moving and commenting out the ASSERT()
+
+Release Version 4.0.0-RC3
+
+19Jun10
+- Move some AC_MSG_RESULT macros around so the configure output looks somewhat
+ cleaner.
+- Save any dumps during regression to dumps directory
+- Fix crash from rw_lock/unlock miss match
+- Attempt to fix duplicate job kill seg fault
+- Replace pthread_kill by my_thread_send_signal() in jcr.c
+- Add systemstate plugin in windows installer
+
+18Jun10
+- Fix postgresql error in grant script
+- fix #1595 about batch mode detection problem for postgresql with non standard
+ install dir
+- Fix accurate code
+
+17Jun10
+- Fix db_get_base_jobid()
+
+16Jun10
+- Fix Solaris zlib link bug reported by Robert Garza
+- Improve the "update stats" sql command
+- Improve performance for MySQL with update stats command
+
+14Jun10
+- Fix #1594 about prune copy jobs
+- Fix restore object compression flag -- James
+
+11Jun10
+- Add BDB_VERSION for scripts + prepare update 11 to 12 + automate BDB_VERSION
+ checking
+
+07Jun10
+- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
+- Fix #1567 about display of long volume names truncated during restore
+- Fix for bug #1569 deadlock/crash in Dir
+- Apply literal string fix in printf submitted by Luca Berra
+
+03Jun10
+- Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
+
+01Jun10
+- Fix segfault on "cancel jobid=" command
+
+30May10
+- Fix bug #1554 Windows installer doesn't honor /S flag
+
+28May10
+- Fix #1571 and install libraries with 755 perms
+
+27May10
+- Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
+- Fix segfault in action on purge test
+- Fix problem with BaseJob and Accurate FileSet options on client side
+
+12May10
+- Adjusted path handling to make 'where' work. 'where' is basically ignored. a
+ 'regexwhere' that affects plugin paths will probably still break things
+
+11May10
+- Don't activate plugin on restore if no RestoreObjects have been seen
+- Move "Including VSS Writer ..." so it only appears once
+
+10May10
+- memory leak fixes
+- make tocharstring() report line and file correctly for sm_alloc
+- use free instead of delete to free memory allocated with wcsdup remove DOS
+ EOLs
+- Free some memory allocated in find_filespec
+- plugin: Use smartalloc in find_filespec
+- update find_filespec to allocate it's own memory and not retain any pointers
+ from the caller
+
+08May10
+- remove GUID from the writer 'directory' name. Rely on the name of the instance_{GUID}
+ dummy file instead
+- add some deletes back in now that find_filespec does the expected
+- Clean some stale code and superfluous debugging output
+- forgot to mark file as seen when it is seen but not newer
+- mark instance_{GUID} files as seen for incremental backups
+- plugin: replace new/delete/malloc/free by smartalloc
+
+07May10
+- Remove bdb from cat makefile
+
+06May10
+- Fix problem when sending Cancel event to plugin
+- Update plugin from James
+- Implement bEventPluginCommand event for systemstate plugin
+- MySQL compilation fix
+
+05May10
+- plugin: use smartalloc
+- fix compilation for 64bit version
+
+Release Version 4.0.0-RC1
+
+04May10
+- Fix xml_name in plugin
+
+03May10
+- Fix case order in vss_writer to resolve crash at the end of the writer
+ backup
+- Fix segfault when loading Plugins
+
+01May10
+- Fix insertion of RestoreObject
+- Fix RestoreObject schema on PostgreSQL
+- Use lwps cmd in dbx and no threads as it seems to give some strange side
+ effects e.g. doesn't work and lwps seems to always work. So lwps it is
+ then.
+- Do some work on the btraceback on Solaris, we test to see what debugger is
+ available and we prefer the debuggers in this order: dbx, gdb, mdb. Also
+ enchanced the dbx bactrace somewhat that it always dumps all available
+ threads (e.g. we also changed from lwp to threads for dbx). We also print
+ some variables that the gdb script also dumps on a bactrace. Hopefully we get
+ some better dumps using this. The mdb is used as a last resort as it should
+ be always installed on a Solaris box (dbx and gdb may not) but at the moment
+ I'm still trying to find out how to get some more understandable dumps from
+ mdb as its rather rudimentary and more a crash debugger then a source code
+ debugger.
+- Remove RestoreObjects when pruning Jobs
+- Fix File and Job Retention in show pool command
+- Add Polish translation. This translation project is sponsored by Inteos Sp. z
+ o.o. based in Warsaw, PL.
+- Fix bug #1538 Start Scripts return incorrect value
+- Fix bug #1564 init scripts not LSB compliant
+
+28Apr10
+- Patch from Martin to avoid error when single tape used
+
+27Apr10
+- Add lmgr_is_locked() function to test if a thread own a mutex
+- Add new file I missed from James' plugin patch
+- Probable fix for SD crash bug #1553
+
+26Apr10
+- Fix #1558 about bscan that doesn't update PurgedFiles on Job records
+- Fix #1559 problem when restoring pruned jobs with a regexp
+
+24Apr10
+- Fix for bug #1560 bcopy cannot find Volume
+- Add BEEF in version.h
+
+23Apr10
+- Add compress/decompress of Object Record data
+- Remove pool zap code that breaks 2drive-concurrent-test
+- Fix cancel crash bug #1551
+
+21Apr10
+- Fix job_metadata name problem
+- Backport regress from Branch-5.0 and master
+- Check if sql backend is thread-safe
+- Update DartConfiguration
+- Add lock position info to volume manager
+- Backport lockmgr.h
+- Backport bbatch.c changes
+- Add install of mdb script
+- add mdb traceback + remove cats/bdb
+- Pull master changes
+
+20Apr10
+- Big backport from master
+- Correct Pool display in SD status. Fixes bug #1541
+
+05Apr10
+- Fix compiler warning
+
+03Apr10
+- Replace ASSERT in block.c with fail Job
+- Use uint32_t for max_concurrent_jobs
+
+29Mar10
+- Use file and line for rwlock and lmgr in db_lock()
+- Add File and Line info to rw_lock for lmgr
+
+27Mar10
+- Fix database locking calling db_lock and returning from function without
+ calling db_unlock.
+
+26Mar10
+- Add missing db_unlock to bvfs_update_cache.
+- Fix array dimensions due to adding Ingres to certain sql arrays.
+
+22Mar10
+- Update configure
+- Fix #1532 about permission on binaries
+
+14Mar10
+- Allow users to build bat without static QT if desired.
+- Fix for qt mkspecs location on Fedora 12.
+
+12Mar10
+- Run ingres template code through esqlcc.
+- another small fix
+- syntax fix, test improved, empty results fixed
+- Fix #1527 about deadlock during migration
+
+10Mar10
+- Another fix for OpenSSLv1
+- Add -lrt to Solaris links
+
+09Mar10
+- Fix tls.c for OpenSSLv1
+
+08Mar10
+- Fix #1511 when trying to insert more than 50.000 directories in bvfs
+- Fix plugin load not to stop if one plugin bad -- pointed out by James
+
+07Mar10
+- Remove --without-qwt from configure statement.
+- Fix bug in bvfs_update function, should work much better now
+
+06Mar10
+- Second correct fix to bug #1524 verify fails after adding or removing files
+- Fix bug #1524 verify fails after adding or removing files
+- Fix bug 1523.
+- Apply fix suggested by Andreas in bug #1502 for mediaview column sort problem
+- Lets not generate the ingres code automatically when the .sc or .sh files
+ changes as it seems these files get outdated on some systems and then this
+ rule kicks in on systems that don't have the esqlcc ingres compiler installed.
+- Fix CentOS detection in regression get-os script
+
+05Mar10
+- Create subroutines to add exclusion for plugins
+- This adds sql debugging to these classes that Eric wrote.
+- This is a 1/2 fix of the issue. It allows for the sorting of the two non
+ graphic columns, but still does not allow for sorting the graphic columns.
+ The issue is with last. By setting the sort value, you are setting the value
+ on the last. To experiment with what I mean, use the set background that I
+ have commented out in this commit.
+
+03Mar10
+- Fix configure.in
+- Lets generate ingres code by calling esqlcc and not esqlc as we want c++
+ code. Replaced some strncpy by bstrncpy calls. Add dependency in Makefile of
+ generated code on it source file.
+- Fix OpenSSL 1.x problem in crypto.c on Fedora 12
+- Display AllowCompress warning message only if compression used in FileSet
+
+01Mar10
+- Added comment on dbi backend needing a recent version of libdbi from CVS as
+ the version currently released 0.8.3 wont work for compiling the code.
+- Add Warning check to SQL
+- Fix readline to use TERM_LIB found for conio
+
+27Feb10
+- Move bacula shared objects in separate bacula-libs package.
+- Fix for termcap lib on suse.
+
+26Feb10
+- Fix for shared objects name convention change.
+- Remove mandrive and suse bacula.spec from configure
+
+25Feb10
+- Fix compile link flags for gigaslam
+- Add missing defines for gccver.
+
+24Feb10
+- Final po changes for Release-5.0.1
+- Remove qt-console from POFILES
+
+23Feb10
+- Undelete bat help files
+- Fix problem with MySQL with big Base jobs (temporary fix for 5.0.1)
+- Fix compiler warnings in tools directory
+- Ensure SD asks for help when looping even if poll set. Fixes bug #1513
+
+21Feb10
+- Fix three-pool regress bug
+- Replace MIN by code as recommended by Marco to avoid compiler warning
+- Make script more portable
+- Add Fedora 11 and 12 build tags.
+- Lets close the Ingres cursor otherwise the code complains the cursor is still
+ open when we try to reuse it.
+- Fix segv when indicator field is null. Also added some extra checks around
+ free calls so we don't try to free null pointers.
+- Changed strcpy to bstrncpy and sprintf to bsnprintf and changed the bsnprintf
+ format.
+- Small indent changes
+
+20Feb10
+- Sync between master and this branch as some ingres changes did go into master
+ but not into this branch.
+- Remove include file that makes the compile complain and doesn't seem to be
+ used as removing makes the code compile ok.
+- Some small indent changes.
+- Reindented myingres.sc to Bacula "style" and regenerated myingres.c
+- Merged in rejects from previous patch and regenerated new myingres.c from
+ myingres.sc using esqlc. Changed sprintf into snprintf.
+- Added patch from Stefan Reddig -- fixed date types, errmsg
+- Added patch from Stefan Reddig -- improved ingres db test
+- Added patch from Stefan Reddig -- added some checks, db test prog
+- Forgot one exit.
+- Fixes for client only build.
+- Fix seg fault in dup jobs regression test
+- Possible fix for FreeBSD three-pool regress failure
+- Remove duplicate.
+- Remove mysql version variable.
+- Enable readline support.
+- bug report 1505
+- This version fixes an issue where the console window would start out not
+ docked. It is fixed by initiating the variables in the Pages class with a
+ constructor.
+
+19Feb10
+- fix bvfs that displays NULL from time to time
+
+23Feb10
+- Ensure SD asks for help when looping even if poll set. Fixes bug #1513
+
+21Feb10
+- Fix three-pool regress bug
+- Replace MIN by code as recommended by Marco to avoid compiler warning
+- Make script more portable
+- Add Fedora 11 and 12 build tags.
+- Lets close the Ingres cursor otherwise the code complains the cursor is still
+ open when we try to reuse it.
+- Fix segv when indicator field is null. Also added some extra checks around
+ free calls so we don't try to free null pointers.
+- Changed strcpy to bstrncpy and sprintf to bsnprintf and changed the bsnprintf
+ format.
+- Small indent changes
+
+20Feb10
+- Sync between master and this branch as some ingres changes did go into master
+ but not into this branch.
+- Remove include file that makes the compile complain and doesn't seem to be
+ used as removing makes the code compile ok.
+- Some small indent changes.
+- Reindented myingres.sc to Bacula "style" and regenerated myingres.c
+- Merged in rejects from previous patch and regenerated new myingres.c from
+ myingres.sc using esqlc. Changed sprintf into snprintf.
+- Added patch from Stefan Reddig -- fixed date types, errmsg
+- Added patch from Stefan Reddig -- improved ingres db test
+- Added patch from Stefan Reddig -- added some checks, db test prog
+- Forgot one exit.
+- Fixes for client only build.
+- Fix seg fault in dup jobs regression test
+- Possible fix for FreeBSD three-pool regress failure
+- Remove duplicate.
+- Remove mysql version variable.
+- Enable readline support.
+- bug report 1505
+- This version fixes an issue where the console window would start out not
+ docked. It is fixed by initiating the variables in the Pages class with a
+ constructor.
+
+19Feb10
+ - Fix make_catalog_backup.pl fails when catalog db is on other host
+
+17Feb10
+- Apply MacOSX installer patch from bug #1509
+- Add debug code for FreeBSD regress failures
+- Reduce debug output
+
+16Feb10
+- Regress test Branch-4.0 prior to release
+- Add more debug for three-pool regress failure
+- Backport duplicate-job-test
+- Make dup jobs regress test work
+- Eliminate error message in regress setup if get not present
+- Avoid error message if git not installed
+
+15Feb10
+- Apply fix to previous fix of Copy problem. Fix proposed by reporter o
+ #1476
+- Set default Allow Duplicate Jobs = yes
+- Fix Allow Duplicates bug
+
+14Feb10
+- Fix duplicate job bug
+- Update date
+- Fix infinite wait on error when restore started
+- Make undocking work
+- update configure
+- Add check for sqlite3_threadsafe() in configure
+- Add debug to testls
+
+13Feb10
+- Updates for 5.0.1.
+- Clean up termcap requirements.
+- Add dependency information.
+- Changes to run bat as nonroot user.
+- Refix version.
+- Fix client only build.
+- Add code to check and prevent setting StorageId to zero
+
+12Feb10
+- Lets call the Ingres version of the tables also version 12 as it alre
+ all the new tables introduced in version 12 on the other backends.
+- Fix library versions from 5.1.0 to 4.0.1 so things are inline with th
+ numbering scheme
+- First cut at fixing AllowDuplicateJobs bugs
+- Fix bug #1501 -t does not print errors
+- Add more doc in sample-query.sql
+
+12Feb10
+- Lets call the Ingres version of the tables also version 12 as it alre
+ all the new tables introduced in version 12 on the other backends.
+- Fix library versions from 5.1.0 to 5.0.1 so things are inline with th
+ numbering scheme
+- First cut at fixing AllowDuplicateJobs bugs
+- Fix bug #1501 -t does not print errors
+- Add more doc in sample-query.sql
+
+11Feb10
+- Apply SQLite3 update fix from bug #1497
+- Apply bashism fix for diskchanger.in script from bug #1499
+- Apply Philipp Storz fix on bconsole history file
+- Apply rpm fix for Sci Linux from bug #1494
+- Update po files
+- Take most recent Ukranian po from bug #1448
+- Fix pages not in focus
+
+10Feb10
+- Work around SQLite3 bug in bat submitted by Andreas Piesk a.piesk@gmx
+- Move shared object numbers into version.h + use -release for libtool
+ than -version-info
+- Make mtx-changer errors clearer
+- Check for existence of mtx-changer.conf in mtx-changer script
+
+09Feb10
+- Probable fix for Copy/Migration bug #1476
+- Fix SQL that fails on SQLite3 in bat reported by Andreas Piesk a.pies
+- Make master run with DEVELOPER set
+
+08Feb10
+- Make bsnprintf test program compile
+- Rename directory
+- Reorganize spec files
+- Fix bat bug that consumes connections + add braces on ifs + rename su
+- Fix compiling gigaslam.c whith $(CFLAGS) for OpenSuse Build service
+- Fix Mysql database upgrade.
+
+07Feb10
+- Fix bug #1488 -- create delivery_error() subroutine to avoid recursio
+ race conditions in messages.c
+- Upgrade cats library also to 5.0.0
+
+06Feb10
+- Fix missing console page in bat
+- Move msg trace into subroutine
+- Move bat help files into help subdirectory
+- Add bat help files to Win64 installer
+- Win -- add help files to installer + stop any running bacula-fd befor
+ install
+- Fix bug #1481 -- bat consumes all console file descriptors
+- Update date on win32 rc file
+
+04Feb10
+- Backport truncate on purge from 5.1.x
+- Fix bug #1486 -- bat doesn't show any errors on command-line
+- Update the bsock error url
+
+03Feb10
+- Correct .my.cnf umask in make_catalog_backup.pl
+
+02Feb10
+- Apply Philipp's fix for dbcheck use by make_catalog_backup.pl
+
+01Feb10
+- Backout patch that should not be in Branch-5.0
+- Backup patch that should not be in Branch-5.0
+- Free db_list when not used
+- Fix seg fault in bscan from new comment field
+- Remove qmake-qt4 code so tht alternate qt4 build works. Fixes build p
+ in bug #1468
+- Patch from checks multple CNs when using TLS
+
+31Jan10
+- Commit spec+rpm build files from Scott
+
+30Jan10
+- Fix seg fault in SQlite driver
+
+28Jan10
+- Make versions of shared libs inline with the software version.
+- Remove file_index sequential check -- reported by Graham
+
+27Jan10
+- Disabled ActionOnPurge waiting for a fix
+- Check pool memory size for truncate op
+
+26Jan10
+- Fix #1467 about ActionOnPurge with Devices having space
+- Fix #1466 about Bogus pruning message
+
+25Jan10
+- update configure
+- Fix make_catalog_backup.pl warning
+
+
+
+
+
+Release Version 5.0.0
+
+21Jan10
+- Remove double secs in pruning output
+
+20Jan10
+- Fix priority mgnt in lock manager
+- Fix FD crash when plugin running and cancel given
+- Stop backup sooner after cancel
+- Make a missing plugin during backup fatal
+- Update sample-query.sql
+- Use make_catalog_backup.pl by default
+
+19Jan10
+- Update makeall and add README to release directory
+- Remove debug code
+- Add more authors
+- Fix possible memory leak
+- Fix bscan bug introduced with serialization change
+- Add a few status client commands
+- Make Ukraine po to compile
+- Update po files
+- More spec improvements from bug #1455
+- Enhance FD status to have level
+
+18Jan10
+- Fix logwatch install in bacula.spec. Patch from bug #1454
+- Remove /etc/logwatch directories from spec file. Patch supplied by bug
+ #1456
+- Don't remove spec files -- fixes bug #1458
+- Remove FI sanity check code that does not apply after a VirtualFull
+- Make Attr/record FI non-fatal if different -- possibly temp + add new session
+ record types
+- Keep serial from overruning with bad data
+
+17Jan10
+- Add info message on how to stop the file relocation test
+
+15Jan10
+- Add new Path tables to grant and drop scripts
+- Fix #1450 about FirstWritten not updated with bscan
+- Fix error message in grant_postgresql_privileges
+
+12Jan10
+- Fix SQLite table creation script
+
+11Jan10
+- Add Job.Reviewed field
+- Enable priority checks in lockmanager
+- Change DB version from 11 to 12
+- Fix Win64 build
+- Fix Win32 build
+
+10Jan10
+- Fix the subject to something easy to delete
+- Turn off messages test -- it creates tons of emails
+
+09Jan10
+- Optimize strtok usage in ua_cmds
+
+08Jan10
+- Remove old code requiring different storages for migration
+- More checking for OpenSSL in configure
+
+06Jan10
+- Add make_catalog_backup.pl script that uses env variables and disk file to
+ pass database password for backup
+- Modify the sql query to get alphabetical order of clients when selecting the
+ most recent backup for a client
+
+05Jan10
+- Remove warning about make_catalog_backup.pl
+
+04Jan10
+- Add Ingres configuration
+- Fix Ingres ID definition that caused seg fault
+- Add commit from Stefan Reddig
+
+03Jan10
+- Simplify initgroups definition for AIX
+- initgroups definition is ok on aix >= 5
+
+31Dec09
+- Ignore scripts/bacula_config
+- Remove QWT from configure -- not used
+
+28Dec09
+- Revert to configure with C due to old prototypes on some systems
+- Make ioctl_req_t test less g++ dependent
+- Make ioctl test more exact
+- Try to force configure compiles to be more exact
+- Rebuild configure to handle Marco's changes
+- Clean old configure
+
+27Dec09
+- Let --enable-libtool and --disable-libtool determine if we build plugins and
+ drop the extra configure option
+
+26Dec09
+- Lets use a xattr specific constant and not the stdio BUFSIZ which is kind of
+ platform dependend.
+- Attempt to autoconfigure ioctl_req_t
+- Lets not mix initialized stack variable with uninitialized ones in the same
+ definition.
+- Added some handling of EPERM and EOPNOTSUPP which seem to be returned when
+ you try to retrieve the system extended attributes a non root user.
+- Lets not orphan the buffer returned by extattr_namespace_to_string as it
+ seems by looking at the code it strdups the string it returns so no need to
+ bstrdup it ourself.
+
+25Dec09
+- Show that plugins are enabled or not in configure output.
+
+24Dec09
+- Plugins are dependable on libtool now so cleaned the Makefiles and the fd
+ plugins are only build when --enable-plugins is set and libtool is used.
+- Clarify catalog grant permissions message
+
+23Dec09
+- Fix depend for changes to SRC variables.
+- Drop the usage of macros within macros as it seems some platforms native
+ makes don't support that. While converting the Makefiles also made things
+ somewhat more uniform in naming the lib objects.
+
+22Dec09
+- Add scripts/bacula_config script that displays configure options and results
+- Continue to support Batch Mode with PostgreSQL < 8.2
+
+21Dec09
+- M_ABORT Bacula If batch insert is turned on when we try to open a connection
+ and thread safe is not enabled
+- Try to fix problem on FreeBSD with unsupported extended attributes which
+ gives lots of orphaned buffers as seen in regression testing.
+
+20Dec09
+- Fix thread safe detection in ./configure
+
+19Dec09
+- Update bweb deb
+- Fix breload make_catalog_backup.pl rights
+
+17Dec09
+- LSBize Debian init scripts
+
+15Dec09
+- Fix #undef of lock manager
+
+13Dec09
+- Remove checkout master
+- Add more debug for Solaris regression timeouts
+- Make SUN C++ compiler stop complaining about enum definition.
+- Use %c and %n in bootstrap in default bacula-dir.conf
+
+11Dec09
+- remove a ref to sqlite
+- Remove ua_prune.c debug code
+- Print any traceback or bactrace
+- Fix old stuff in Makefile
+- Allow deadlock manager on FreeBSD, MacOSX and SunOs
+- Add allowcompress-test
+- Add test for AllowCompress option
+
+10Dec09
+- Eliminate compiler warning
+- Rework Mac OS 10.6 mtio.h fix
+- Attempt to fix mtio.h problem on Mac 10.6
+- Allow mount to wake job waiting for op
+- Make wait longer for better recycling
+- Fix another volume_lock dlock order problem
+- Fix and add ASSERT debug
+- Fix compilation problem with lockmgr
+
+09Dec09
+- Fix misnamed variable
+- Reorder lock_volumes and dlock in SD to avoid race conditions
+- - five more updates to manpages options I had forgotten in a corner, - a
+ reformated and edited page for bsmtp - a brand new one for btraceback, based
+ on the Problem Resolution Guide and discussions (to be continued?) on this
+ list.
+- Fix compilation pb
+- Add mutex some priority info for SD
+- Add info in dump about lock priority
+- Fix CentOS/RHEL detection
+- Fix #defines when lock manager turned off
+- Add USE_LOCKMGR_PRIORITY switch to enable new priority management
+- Add Macro BTHREAD_MUTEX_PRIORITY(p) and lib/mutex_list.h to manage locks
+- Make pthread_mutex_init/destroy compatible with bthread_mutex_t
+- Fix SD Vol+dev lock race bug
+
+08Dec09
+- Add init/destroy function for both p/bthread_mutex_t object
+- Add new bthread_mutex_t object that check mutex priority order
+- Add test for reload command
+- More bstrncat doc
+- Add bstrncat comments
+- Fix bug #1431 about bad reload command. Still an object to free in this
+ case.
+- Fix bug in bstrncat
+- Temp fix for prune crash
+
+07Dec09
+- Update win32 testing
+- Add new test for win32
+- Add cleandir option
+- Add tool to edit configuration file remotely
+- Add more sm_check debug
+- Add memory corruption checks
+
+06Dec09
+- Fix CentOS/RedHat test in regress
+- Add win32 regress helper
+- Attempt to fix SQLite seg fault when listing fields
+- Allow Dir to come up before use
+- Fix python plugin to use the new get functions instead of the get_ functions.
+- Fix seg fault in new AllowCompression code
+- Use restore count from write_bsr
+- Add some doc of Win32 stuff
+- Update prototype.conf to have latest stuff
+- Update techdoc + notes
+- Add AllowCompression feature
+
+05Dec09
+- Remove debug
+- Fix #1403 about windows directory attributes not well restored
+- Change old get_Jobxxx to getJobxxx
+- Fix Win32 build after adding Base Job code
+- Fix backup-bacula-test
+- Add new idea to kernstodo
+- Improved database warning message
+
+04Dec09
+- Init lmgr in btape
+
+03Dec09
+- Disable SQLite2 code in cats.h
+- Remove SQLite from configure
+- Remove SQLite2 scripts
+- Fix configure.in
+
+02Dec09
+- Remove JobMedia.Copy references
+- bvfs: update bvfs_test
+- update
+- Remove brestore_ from bvfs table, use Job::HasCache instead of knownjobid
+ table
+- Update po files
+- Finally... the 100% of bacula spanish !!! ;-)
+- Apply Postgres 8.4 SQL_ASCII fix
+- Ignore bweb.conf in gui/bweb
+- Apply manpage patches
+
+01Dec09
+- Fix backup-bacula regression
+- Remove support for SQLite 2
+- Fix rpm spec files bug #1428 + #1420
+- Fix include MySQL libs to use shared object. Fixes bug #1427
+- Fix search to include 64 bit libs for --with-dbi option
+- Change all log.d to logwatch in RedHat specs
+
+30Nov09
+- Add config doc in INSTALL
+
+23Nov09
+- Add another project to the projects file
+- don't follow packagemaker permission recommendations
+- OSX Installer: update README
+- OSX installer: fix for a bug in 10.5 packagemaker, --id argument required
+- OSX installer: switch to new pmdoc packagemaker format
+- Add another project to the projects file
+- Add new project
+
+22Nov09
+- Add error count to Fatal job errors
+
+21Nov09
+- Attempt to keep tls_shutdown from hanging
+
+16Nov09
+- Add completion for unmark
+
+15Nov09
+- Add Job and File Retention to Pool
+- Remove version id
+- Change some console.c socket calls into class calls
+- Revert "Reduce diff output in weird-files-test"
+- Reduce diff output in weird-files-test
+
+14Nov09
+- Fix bug #1367 by creating an empty query.sql file
+
+13Nov09
+- update
+- Display only backups when running a new job
+- Add list_backup, list_restore functions
+- update
+- Add optional type= argument to .jobs command. You can list only Backup,
+ Restore,... jobs.
+
+12Nov09
+- autocomplete restore mode
+
+11Nov09
+- update
+- Fix segfault on basejob code
+- Replace POOL_MEM by POOLMEM to avoid segfaults
+- Fix base-job-test with Mysql
+- Remove extra _ of _dbg_print_db func
+- Update BDATE
+- fix segfault on redhat4
+
+10Nov09
+- Add base-job-test to regress
+- update
+
+09Nov09
+- Optimize SQL to determine file selection with directories. It is enabled for
+ ascii path.
+
+07Nov09
+- Drop svn Id
+
+06Nov09
+- Add Solaris regress comments
+
+05Nov09
+- More debug when test fails
+- Add SITE_NAME and EMAIL to cdash report
+- Display a message if catalog max_connections setting is too low
+
+04Nov09
+- Apply James' conio patches
+- Update po
+- A small changes on bacula-es translate. Now, we go on ~90% !!!
+- Fix double send of attributes introduced in 84aabba7cee82f0c1f6dae8882a2ee0bb26306ca
+- Check pthread_mutex_lock return code in lockmgr
+
+03Nov09
+- Remove debug code in concurrent-jobs-test
+- Remove debug code in encrypt-bug-test
+- Remove annoying debug messages in four-jobs-test
+
+02Nov09
+- Increase width of ls size. Fixes bug #1409
+- Fix buffer clobber when editing SQL error
+- Fix false zombie errors in FD during regression
+- Merge branches 'master' and 'kaboom'
+- Add -m option to DIR,FD,SD to dump kaboom output
+- avoid orphan memory in testls
+
+01Nov09
+- tab-completion ok
+- When using .help item=, we display only usage part
+- Add bat to Win32 build and install
+- Add more debug for zombie jobs
+- Get regress bacula stop messages when debug on
+- Fix SD DCR race condition that causes seg faults
+- Stop regression tests after 30 minutes
+- Commit configure
+- Add more debug on failed source-addr regression
+- Set use_libtool expicitly to yes so our other checks work for static tools.
+
+30Oct09
+- Rework bat so that Win32 version works better
+
+29Oct09
+- Make bat win32 build use /home/kern/bacula
+- Make non-win32 build stop on failure
+- Make win32/64 build stop on failure
+- Remove definition of unused subroutine in ua_dotcmds.c
+- Revert James' patch to simplify the Win32/64 build process
+
+28Oct09
+- disable debug in win32 revision
+- update bat on win32 project file
+
+27Oct09
+- Small fix to Eric great patch for readline commandcompletion so it also
+ compiles on non gcc compilers.
+- Add readline completion for commands and argument
+
+26Oct09
+- Fix another messages error problem pointed out by Eric
+
+25Oct09
+- Disable messages-test in automatic
+- Show an other deadlock in messages.c
+- Change W/G to Wanted/Granted in lock dump
+- fix multi-console problem for bat on win32
+- change Jmsg to Qmsg in low level routine
+- Set tries to 1 for a non-timeout mount or unmount operation.
+- Fix comment
+- bat: change info order in Job view
+- Use Qmsg instead of Jmsg when fides_mutex is locked in close_msg()
+- simplify the link process for win32/win64
+
+24Oct09
+- initialize lmgr in bat
+- add messages-test to regression suite
+- update tools with lmgr
+- force lock manger init
+- add lmgr to bconsole
+- Fix deadlock detection to work in daemon mode
+- Implement syslog on Windows
+- Make all ABORT and ERROR_EXIT msgs go to syslog
+- Fix ref to dequeuing_msgs
+
+23Oct09
+- Disallow Qmsg when despooling
+- Fix Qmsg race condition reported by Eric
+- add test for bad messages ressource
+- bat: Display a nice graphic on media usage depending on the average size for
+ this mediatype.
+
+22Oct09
+- bat: add volume capacity estimation in mediaview
+- bat: try to center InChanger bullet
+- bat: Use green/red bullet for InChanger in mediview
+- bat: Don't set Expire field unless LastWritten is ok
+
+21Oct09
+- Make new configure per Marco's request
+- bat: add new Expired button in MediaView
+- fix vtape test
+- Redirect errors to /dev/null and only run uname -p on Linux where we know it
+ works. This is probably the most portable way of doing things.
+
+20Oct09
+- Add MediaView form that displays the Media list in a QTableWidget. It permits
+ to search and sort media. Rename current "Media" tab to "Pool" as it displays
+ Pools
+- Permit to use MediaId or VolumeName in MediaEdit panel
+- add StringList to handle locations, volstatus and mediatypes
+- add dot functions to list volstatus, locations and mediatypes
+- update bacula32.def
+- Add .volstatus command
+- Add new MediaView
+- permits "update slot(s)" and "label barcodes slot(s)" command
+
+19Oct09
+- Don't use uname -i but uname -p
+- Added support for selecting the correct libdir on Linux
+- fix status slots command when SD slots are mixed
+- Test only master now
+
+18Oct09
+- update fr.po
+- Added acl and xattr regression tests for FreeBSD
+- Use getfattr and setfattr on Linux not attr as that is a XFS tool which works
+ too but is not native.
+- Don't enable SUN compiler by default and make the configdir configurable.
+- Add test when ActionOnPurge=None Add test for update volume=xxx actiononpurge=yyy
+- fix crash on exchange restore fail
+- Update project 5 (ActionOnPurge) with current status
+- chmod new regress script
+- update regress
+
+17Oct09
+- Ensure that Ubuntu /var/run is created in init.d scripts suggested by nick
+ <nick@fisk.me.uk>
+- Implement Dan's suggestion to avoid IPv6 problems
+- Add makeall for release
+- On release, make only a simple tag
+- Fix Windows build
+
+16Oct09
+- Don't download and build fakeroot as part of make -C platforms/osx
+- More Win installer changes
+- Update installer
+- Do some additional checks.
+- Add Marco's run regression wrapper script
+- Possible fix for problem with Volume in another drive
+- Make new configure from Marco's configure.in
+- Try to unmount by running the unmount command specified in the config on file
+ and dvd devices.
+- Fix switching read device reported by Nicolae Mihalache <mache@abcpages.com>
+
+15Oct09
+- Lets free the variable in the right part of the loop.
+- Use bfree_and_null
+- Change bsnprintf to normal strncpy
+- Add comments to fileregexp test
+- Add more debug in filregexp test
+- Eliminate compiler warning
+- Fix bug #1391 Job status improperly set due to subtle variable overload
+ problem
+
+14Oct09
+- Add release scripts
+- add regress variables to functions.pm
+
+13Oct09
+- Update date
+- Fix stupid error
+- Avoid error when git-version doesn't exist
+- Convert some old %x into %p for pointers
+- Fix #1352 about double free with regexp and big filenames on windows
+
+11Oct09
+- Small update to cache the current attrspace we are saving and make a private
+ copy of that string representation.
+- Change acl and xattr errors from Qmsg to Jmsg
+- Add comment
+- Recursively call fix_device_block_write_error on error
+- Fix changing read device during VirtualFull in SD
+- Eliminate possible false error message
+- Fixed ifdefs
+
+10Oct09
+- Add posix acls stored in xattrs on FreeBSD
+- Removed last direct message output by replacing Qmsg by Mmsg
+
+09Oct09
+- Add comment on OpenBSD not supporting the extattr functions (anymore ?)
+- Add new Feature Requests to projects file
+- Fix ifdefs
+- Change strcmp to bstrcmp
+- fix bash/sh problem in disk-changer.in
+- Fix some comments
+- remove old db_get_int_handler()
+- Add support when extattr_get_file is supported but extattr_get_link is
+ not.
+- Regenerated config.h.in
+
+08Oct09
+- Implement transfer and listall command in mtx-changer and disk-changer
+ scripts
+- Add new autochanger command to get all information about content
+
+07Oct09
+- As things are no longer as generic rename the generic to the linux interface
+ (b.t.w. OSX also implements this interface)
+- Just as with serializing first unserialize all xattr structures in memory and
+ then walk that list for restoring them.
+- delete the alist in the destroy function
+- Implement the extattr xBSD interface Moved some code around to be able to
+ reuse the encoding and decoding for both the extattr and xattr interface Use
+ an alist for storing the xattr list so we don't have to count the number of
+ xattr first
+- Use extattr interface for all xBSD filesystems. Added OpenBSD also to the
+ mix.
+- As it seems FreeBSD doesn't have the llistxattr or listxattr interface as
+ Linux, OSX and NetBSD have but has an interface named extattr. This is a
+ first breakdown to implement that interface.
+
+05Oct09
+- Make Checksum as default when not using FileSet->Include->Options->BaseJob
+- Change debug level
+- Fix postgresql MD5 missing field
+- Fix unwanted printout in strip test
+- Fix concurrent Job recycle bug #1288
+- Fixed inverted logic
+- Remove useless ScratchPool refs from Bat media list
+
+03Oct09
+- Little fixes for the action_on_purge command
+- Remove obsolete truncate_on_purge settings
+- Implement action_on_purge command
+- Implement the ActionOnPurge setting for pools and individual volumes
+- Implement truncate on purge setting
+- Add a MaxVolBytes test that create over 100 Vols
+- Add some error messages in insane buffer size cases
+- Fix bug #1382 newly created disk volumes -> file not found warning
+
+01Oct09
+- Cause the tree widget selected to keep up with the tab widget selected
+
+30Sep09
+- Send checksum only when the FD will use it
+- remove debug
+- Allow for external CFLAGS to overwrite the CFLAGS in this script.
+
+29Sep09
+- Change grep -e to egrep and use -c instead of using wc.
+- Implement console 'timeout' feature using bacula socket timers
+- revert the update_bacula_table script change with bad indexes
+- Add index modification in update_sqlite/sqlite3/postgresql scripts
+- Remove the inx4 index for SQLite2/3 (FilenameId, PathId) on File table.
+ Replace it by an index over (JobId, PathId, FilenameId).
+
+28Sep09
+- Attempt to fix MySQL SQL error
+
+27Sep09
+- Make sure we use the right chmod for Solaris
+- Fix Win32 build
+- Fix compiler warning
+
+26Sep09
+- Remove gnome-console
+- Update man pages
+- Implement store_size32 and store_size64
+- Correct regression tests to use Pool 'File'
+
+25Sep09
+- Up max vol size
+- Define File Pool and limit size to 5G
+- Fix Alpha ifdefing -- should fix bug #1359
+
+22Sep09
+- Remove the file_fp_idx index for Postgresql (FilenameId, PathId) on File
+ table. It is useless for common usage, and causes performance issues. This
+ index fragments over the time and the update cost grows very quickly. (This
+ index is not present on Mysql schema)
+
+21Sep09
+- update speed-test
+- update speedtest
+- speed-test: small fix
+
+20Sep09
+- Update to slightly newer config.guess and config.sub
+- Fix compile error on Mac
+- Generate new configure
+- Reorder configure test for cleaner print output
+
+19Sep09
+- Implement support of keeping readall capabilities after UID/GID switch
+
+18Sep09
+- Remove redundant includes of pwd.h and grp.h headers
+- find_one_file: Remove unreliable and redundant access(2) directory check
+- Fix link rules
+- Force nightly-disk regress to 3.0.3
+
+17Sep09
+- speed-test: small fix
+- speed-test: Add basejob argument to test basejob speed
+- Add new test
+- Fix conf to use make as requested by Martin Simmons a long time ago
+- Restore comments
+- Fix for sqlite, now it works
+- Fix seg fault in ignoredir code
+- more mkdir -p changes
+- small fix
+- Restrict Join using JobTDate to a selection of JobIds
+- Fix for sqlite
+- Make several dir names unique to avoid test collisions
+- Fix and document new queries
+- Use new query for Mysql and Sqlite for basejob + accurate
+- update sql query for basefile+accurate
+- Change regression scripts to use mkdir -p to avoid spurious errors
+- Fix some job-start changes
+- more job-restart code
+
+16Sep09
+- Fix sql query for mysql
+- Fix sql query
+- Fix sqlite3 syntax
+- fix sql
+- update db_get_file_list() to use StartTime instead of FileIndex
+
+15Sep09
+- Update restore menu 12 explanation
+
+12Sep09
+- Try to distinguish CentOS/RHEL
+
+11Sep09
+- Modify tools to be able to correctly install testls for regress
+- Create bigendian() inline to simplify code
+- Set Volume Poll Interval to 5 mins by default
+- Apply Frank's slash patch
+
+10Sep09
+- Reduce runscript wait times
+- Update Win32 README.mingw
+- Add patch for more SD info fix
+- Add patch for bug #1371
+- Fix seg fault in SD bug #1371
+- Add append log to tape SD tests
+- Add more info when SD connection refused
+- Fix possible termination problem
+
+09Sep09
+- Keep valgrind happy
+- Fix Exclude Dir Containing ignored when scanning the top_level dir
+- Update the new exclude-dir-test with multiple Include {} section and different
+ Exclude Dir Contain directive.
+- Add patch for #1370
+- Fix #1370 about the implementation of the "Exclude Dir Containing" option on
+ FD.
+- Add new exclude-dir-test
+- Add patch for 3.0.2 release
+- Fix #1369 about segfault when using ExcludeDirContaining before defining
+ Options{} block.
+- Verify if the Exclude Dir Containing directive does his job
+- Add a regress script for Exclude Dir Containing option
+
+08Sep09
+- Remove bigendian check from autoconfig system
+- check endianness at runtime in md5.c
+- Fix minor issues in the osx installer package builder.
+- Fix -p/-P in bscan.8 man page
+
+07Sep09
+- fix compilation warning
+- Make output of new commands .lsdir/.lsfile more usable. Fix Bvfs with new
+ db_list object
+- Fix header defines
+- Remove some #ifdef-ed code and make it just as the acl and xattr code use a
+ const bool to enable the code.
+- Redone comments
+- Move restore struct defintions to seperate include file. Small change to
+ acl.h and xattr.h to use define inline with other header files.
+- Move finderinfo restore into seperate function so we can use cleaner coding
+ in the restore loop.
+- Loose #ifdef and use const bool wrapper for some cleaner coding.
+- Added support for acl and xattr regression test on Solaris
+- Apply Marco's git format-patch patches for bugs #1365 and #1366
+- This patch should fix bug #1366
+- This patch should fix bug #1365
+
+06Sep09
+- Commit Mac pathlen patch
+- Increment minor version to avoid future conflict
+- Fix bug #1368. Increase default path/file length to 2048
+
+05Sep09
+- Add acl script code for Mac
+- Up timeout for rewind and changer on btest script
+- Try to fix zombies in next-vol-test
+
+04Sep09
+- Fix broken editing code
+- Use edit routine instead of %f for rates
+- Implement BlockChecksum in Device
+- btape: Add speed command and test drive speed with Bacula blocks
+
+03Sep09
+- btape: Add speed command
+- btape: Add speed information on qfill and raw command
+- Commit patch for: Fix bug #1355 Director crashes with double free in Accurate
+ SQL query
+- Include file,blk in btape fill output
+- Create exit_code for fill with multiple tapes
+- Fix #1364 and #1363 about compression buffer error.
+
+02Sep09
+- fix variable name
+- Work on certification scripts
+- Eliminate DDS-4 in favor of tape + create btape-test-changer test
+
+01Sep09
+- Many debug code fixes in regression scripts
+- Attempt to fix SQLite3 seg fault in list routines
+- Merge master with SF
+- Update tape tests for hardware certification
+- Rename .lsdirs/.lsfiles/.update to .bvfs_xxx to avoid confusion with future
+ commands
+- Update tape tests for hardware certification
+- Eliminate xattr.c compiler warning
+
+31Aug09
+- Prohibit copy and assignment in db_list_ctx
+- Use new db_list_ctx class instead of bad POOLMEM*
+- Exclude OSX resource forks from saving using the xattr code Exclude OSX acl
+ data from saving using the xattr code when normal acl mode is also enabled.
+ Make excluding certain xattr in the generic functions somewhat easier for
+ certain OS specific attributes.
+- Fix Win32/64 build
+
+30Aug09
+- Remove old subroutine prototype
+- prohibe copy and assignment in Bvfs module
+- Fix bug #1355 Director crashes with double free in Accurate SQL query
+
+29Aug09
+- Fix bug #1357 Verify jobs fail when job has zero files
+- Rework verify-voltocat-test and add to normal tests
+
+26Aug09
+- Release orphanned buffers in accurate code
+- Fix possible seg fault in db_get_int_handler in accurate code
+- Update JobBytes only for Verify jobs when computing checksum
+- Add BaseJob option to fileset
+
+25Aug09
+- Suppress some error messages generated after cancelling a job
+
+24Aug09
+- Apply and commit Lorenz Schori <lo@znerol.ch> patch for OSX
+- Apply Lorenz' OSX patch
+- update basejob code to use checksum during accurate check
+- Close bug #1351 SQLite2 to SQLite3 conversion
+- Remove unnecessary subroutine import definition
+
+23Aug09
+- Test of git commit.
+- bat: fix variable name
+- bat: Simplify the code to make TableWidget in read-only
+- Free Volume in several places. Fixes virtual-changer problem and possibly bug
+ #1346.
+- Add SD Volume debug code
+
+22Aug09
+- Don't print different filesystem. Will not descend message if directory
+ explicitly excluded
+- capitalize bytes in message
+
+21Aug09
+- Prune a few dev tests
+- Made shorter developers test
+- Rework the bsock.h class to put public structures last
+- Update AUTHORS file
+- Integrate patch for building dmg on OSX from Lorenz Schori <lo@znerol.ch>
+- Add commas in num files for estimate command
+
+20Aug09
+- in status slots command, unlock db just after sql query
+
+19Aug09
+- Add BWEBCONF env variable to specify the bweb.conf path without touching the
+ Bweb.pm file with lighttpd
+- Fix bat crash due to alignment diff in bat and core code
+- Fix acl-xattr-test by using attr
+- Add BWEBCONF env variable to specify the bweb.conf path without touching the
+ Bweb.pm file with lighttpd
+- Ensure that timestamp put in SQL log
+
+15Aug09
+- prevent status page from requesting status before it has been brought to the
+ front
+- Move global acquire lock to lock by device
+- Restrict acquire to one job at a time
+- Fix acquire.c locking
+- Try to fix acquire not to block during despooling
+- Add fullname parameter to btime in order to debug regress script.
+- No need to flush the members of the xattr link cache as they are not dynamically
+ created. Small oversight from my side, was thinking I had a memory leak.
+- fix couple of segfault in acl/xattr code
+- Eliminate git pull in config_dart
+- Some small fixes to the counting and some small relayout of small code
+ sniplets.
+- Lets first output statistics before freeing them. Saves a rather stupid
+ segmentation fault.
+- Fix merge conflict leftover
+- Add all acl and xattr related variables which are either global or already
+ part of the JCR into a simple structure and reference that from the JCR
+ structure.
+
+14Aug09
+- Some small fixes to the counting and some small relayout of small code
+ sniplets.
+- Lets first output statistics before freeing them. Saves a rather stupid
+ segmentation fault.
+- Ignore regress time.out file
+- Fix merge conflict leftover
+- Add all acl and xattr related variables which are either global or already
+ part of the JCR into a simple structure and reference that from the JCR
+ structure.
+- fix compilation problem reported by Dan
+- Correct spelling of writing -- reported by Dan
+- Loose void pointer and use C++ supported declaration elsewhere defined
+ structure.
+- Move global variables into jcr private xattr data structure so we can have
+ parallel saves of xattr on solaris.
+
+13Aug09
+- update lock manager to get better traces
+- Fix files wiped out by merge
+- Missed commiting one file last time
+- bat: Add a re-run button on job info page, that allows to run the selected
+ job with the same properties (level, pool, etc...)
+- bat: small fix on hrule
+- fix missing copyright
+
+12Aug09
+- Make new big-virtual-changer test. Test concurrency
+- fix offset in new lsdirs/lsfiles command
+- add comments and list special dirs in .lsdirs
+- Add .lsfiles, .lsdirs, .update command to interface user with bvfs object
+- More comments
+- Update virtual regress comments
+- bat: fix sql with volreadtime volwritetime bat: add drive=0 in update slots
+ command
+- bat: Put the content panel as a child of the Storage item bat: use slot
+ selection in update slots command and in label command
+
+11Aug09
+- bat: fix volreadtime/volwritetime and messages in stderr about unknown
+ slots
+- Change backup-acl to acl-xattr-test and make it skip if acl/xattr not installed
+- Use tmp instead of /tmp + fix strip-test so diff works
+- Make regexwhere use tmp rather than /tmp
+- Remove non-portable i option on sed + create tmp dir
+- connect button callback
+- display content on doubleclick only if storage and autochanger
+- bat: Make new autochanger content working
+
+10Aug09
+- bat: display a Warning icon when having Errors>0 and Status=T
+- Pull Philipp Storz' bacula.spec changes for OpenSuSE build service
+- try to make content table work!!
+- Implement MaximumConcurrentJobs for SD devices
+- try to insert data on table content
+- update content interface
+
+09Aug09
+- continue storage content panel
+- Fix bug #1344 show pool displayed wrong variable for maxvolbytes
+- Fix compiler warnings in acl and xattr code
+- Fix screw up with setting JobLevel and JobType
+- Change version
+- Fixed references to xattr_link_cache_entry to use xattr_link_cache_entry_t
+- Changes due to code review by Kern added.
+- Move enum from protos.h to filed.h and move defines to top of filed.h
+- Added some more ENOENT supressing.
+- Small indent change
+- Small change to comments
+- Added comment on entry points
+- Added missing ENOENT switch case.
+- Fix problem with counting xattr and returning a non-ok on count 0, also added
+ some extra comment and make sure the xattr_value_list is initialized to NULL
+ and checked on bail_out.
+- Loose default_stream parameter.
+- Changed snprintf to bsnprintf
+- Use bstrncpy instead of strncpy
+- Fixed Jmsg4 to Mmsg4
+- Added support for counting xattr errors and only print a limited set of
+ errors but count all. The lower level functions now store there error message
+ in jcr->errmsg so the upper level routines have access to them.
+- Added support for counting acl errors and only print a limited set of errors
+ but count all. The lower level functions now store there error message in
+ jcr->errmsg so the upper level routines have access to them.
+- Small changes to ifdef layout.
+- Drop unneeded target for libbacfind.a
+- Moved the berrno as a local variable of the function and not a local context
+ variable. Same as previous change for acl.c
+- Make sure it compiles and moved the berrno as a local variable of the function
+ and not a local context variable. Moved tri-state enum to protos.h
+- Moved list of supported xattr to start of per OS implementation like in
+ acl.c
+- Imported patch from older git tree.
+- bat: init storage content view
+
+08Aug09
+- Fix cats.h date
+- Start adding Incomplete Job status
+- bat: display a Warning symbole when having Errors>0 and Status=T
+- Add data end tracking an attribute spooling
+- Fix compiler warning in bvfs code
+- Use 64 bit ftell and fseek in send_bootstrap_file
+- Turn of some debug code
+- Ignore src/tools/bvfs_test
+
+07Aug09
+- bvfs: Add example to list files versions bvfs: Fix directory listing bvfs:
+ Add limit/offset implementation to save resources on director bvfs: Create
+ cache tables on the fly when using Bvfs object (for testing)
+- Bvfs: Create cache tables when updating the cache if they don't exist
+
+06Aug09
+- fix makefile for bvfs_test
+- add option to truncate cache table during startup for bvfs_test
+- add user handler to print directory add -j, -p to bvfs_test tool
+- Document FT_DELETED FileIndex=0 special value in database Schema
+- Add the rest of files for new Bvfs
+- Add a new Bvfs class that implements brestore instant navigation cache inside
+ Bacula. Works for Mysql, Postgresql and Sqlite3
+- bat: fix compiler warning for unreferenced argument
+- fix mysql case problem in bweb/bresto
+- Use the sqlite3_changes to implement sql_affected_rows()
+- remove QFormLayout, and use QGridLayout instead
+
+05Aug09
+- in bweb, fix warning
+- add a default bconsole command to bweb starthttp script.
+
+04Aug09
+- remove Page Selector keyword from main bat screen
+- fix small pb in bweb starthttp script
+- document bweb+lighttpd
+- update display_log to display a message if no logs are found
+- Apply patch for regress from Frank Sweester
+- connect button from mediainfo to real actions
+- bat fill mediainfo fields
+- bat: Go to the media info panel when double-click on job page or media
+ list
+
+03Aug09
+- Add new mediainfo panel to bat
+- update windows bat.pro
+- small fix for bresto
+- update doc
+- don't reset bstat, rstat, dstat in stop_bacula
+- add test for list basefiles and new list files
+- don't reset bstat, rstat, dstat in stop_bacula
+- add list basefiles command make list files compatible with basefiles
+- fix the basefile catalog update
+- work on stats, fix bug with batch connection
+- enable FileSet { Options { accurate = 'pm5' } }
+- add variables for stats
+- display a message with basejobids
+- stop copy/migration using basejobs
+- replace free&NULL by free_and_null
+- fix
+- display base jobs during restore
+- fix segfault
+- check size also replace mtime/ctime by lstat field
+- check for purge job
+- purge basefiles at the same time than files
+- make regression ok
+- use batch connection
+- fix update_job_end
+- update HasBase in catalog
+- remove some debug
+- seems to work:!!!
+- make base backup work
+- update
+- init base file
+- compile
+- fix sql for postgresql
+- make sql part
+- take ideas from previous try
+- Remove useless title
+- fix layout, now ok
+- remove list volume menu from joblist
+- make double click work with joblist
+- add refresh and delete event
+- fix script name
+
+02Aug09
+- Remove old sqlite3 build from bacula.spec
+- Move bat from bacula.spec to bacula-bat.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat from bacula.spec to bacula-bat.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat from bacula.spec to bacula-bat.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat from bacula.spec to bacula-bat.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat from bacula.spec to bacula-bat.spec
+- Remove installing gconsole start script from Makefile.in
+- Split mtx into its own spec file
+- Move bat and mtx to their own spec files
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Move bat and mtx to their own spec files
+- found a bug. Joblist page would not come up unless dockPage was called when
+ page was opened with initial paramaters.
+
+01Aug09
+- Remove docs from spec
+- Split docs into bacula-docs.spec
+- Add bacula-docs.spec.in
+- Add new form to see job details
+- Add bacula-docs.spec
+- Remove bacula-docs.spec
+- Split docs into bacula-docs.spec
+- Remobe bacula-docs.spec
+- Split docs into bacula-docs.spec
+- missing less than beforehistory | grep svn :D
+
+31Jul09
+- Split docs out of bacula.spec
+- Insert the tabbed widgets as opposed to adding to the end.
+- Don't dock the page for dirstat and restore tree until the page selector tree
+ widget is clicked.
+- I like this sorting method better.
+- Update bacula.spec
+- Apply quick fix from Ulrich about the last feature.
+- Continue work on bacula.spec
+
+30Jul09
+- rename the free_and_null macro
+- fix test name
+- update new features
+- chmod +x regress/tests/multi-storage-test
+- Allow restore from multiple storage
+- Update News
+- update tool
+- Modify enable/disable commands to show only appropriate Jobs.
+
+29Jul09
+- Add ACL check for client in estimate command
+- Change time_t by utime_t in accurate function
+- Start reworking 3.0.2 bacula.spec file
+
+28Jul09
+- Display the job_zoom view when backup is finished
+
+27Jul09
+- Add DESTDIR to Makefile
+- Add file to build html doc
+- add changelog link
+- Add changelog on the main menu
+- update doc
+- add downloads pages for all lang
+- Remove the Patch section and add the new Download area
+- Link to new downloads.php
+- Add tool to convert nasty sourceforge download page to a simple one
+- Update
+- Update README for binary install tests
+
+25Jul09
+- change free_and_null function to a macro
+- Add Spanish files translated
+
+24Jul09
+- Add format to a fprintf
+- Attempt to fix SQLite seg fault problem
+- Fix Expired option in media list to select Used media
+- Set selection items on top.
+- this should resolve issues that people are having with this splitter. If you
+ try to make it too large, it just snaps back.
+
+23Jul09
+- Fix int/int32_t problem in accurate_add_file
+- Permit to filter on the directory name as for file
+- fix bad english sentence
+- add function to simplify free and null operation on pointers
+- Remove Qt 4.4 code so it compiles on 4.3 (setHeaderHidden)
+
+22Jul09
+- Apply idea of part of Graham's tidy-bsr-source.patch, but modified
+- Fix bug #1337 Console tries to build with SSL when libssl-dev not installed
+- Modify setJobStatus so cancel has same priority as fatal errors
+- Fix Solaris compiler warning in signal.c
+- Change selection behavior in the director status screen.
+- Do not restore spliiter settings if the settings do not contain settings for
+ that splitter.
+- This is committing most of the patch received from Eric.
+
+21Jul09
+- Merge branch 'bwebII'
+- use $conf, $tmp, $script, $rscript in accurate test
+- Fix Spanish files translated
+
+20Jul09
+- es.po merged with bacula.pot 3.0.2
+
+19Jul09
+- This is the change that may be used in the future to resolve the issue with
+ text input required during a console communication.
+- Final changes
+- Add es lingua
+- Fix Spanish build
+- Final changes
+- Add first cut bsys spec
+- update bweb INSTALL
+- update INSTALL
+
+18Jul09
+- Add info on bweb + lighttpd
+- Fix bat command line input bug
+- Don't show the connection message after first connection is made
+
+17Jul09
+- update copyright year
+- Optimize a bit the running job view
+- Fix bresto file relocation box
+- Update copyrights
+- Put back old status icon
+- Fix sql query for sqlite on suse10 on copy job
+- Fix Spanish files translated
+
+16Jul09
+- Remove print and save menu
+- Simplify the main screen, removing the status dir console icon and the "go
+ back" one
+- fix spell
+- fix case problem in field name
+- update for status slots
+- Replace info_msg by send_msg in status_slots for bat
+- update ChangeLog for 3.0.2
+- document @help
+- Ignore TAGS
+- +x the test file
+- test with file instead of vtape
+- Add test for bug 1288
+- Add slot field in storage operations Update update volume page
+- Use BUILD_DIR in default conf
+- Fix #1323 about a problem when mounting a requested volume during a restore.
+- Use the read as primary color in bweb
+- Fix script for vtape tests
+- Fix graph_font parameter to work with graph module Avoid warning messages in
+ apache log with graph module
+- Update
+- update INSTALL file
+- update apache section in INSTALL file and try to choose better color for
+ graphs.
+- Fix Spanish files translated
+
+15Jul09
+- Parameterize depkgs directory
+- Add back bootstrap to FD
+- Make CONF::init header and .c file agree about types
+- update
+- update cloud project
+- Force the client_encoding to SQL_ASCII when database is already using this
+ mode.
+- Fix #1335 about postgresql error message during copy session
+- Add documentation about new restore menu
+- remove non-essential directories
+- Fix Win64 build
+- Add more example SD Device configurations
+
+14Jul09
+- Apply patch in bug #1315 by McMichaeli that fixes scripts/logwatch
+- Add more output when spooling and no space left
+- fix next-vol-test
+- Fix postgresql driver bug that displayed <NULL> rows from time to time.
+- Small fix on accurate code for new restore menu option
+- Change default save dir to sbindir in bacula-dir.conf
+- update project files for project 2
+- Should fix #1323
+- Implement project 2, about new restore menu
+- Update date
+- Remove some whitespace
+- Send bootstrap directly from DIR to SD
+
+13Jul09
+- add -u to diff
+- revert changes
+- Update new features
+- Create build scripts for Win64 somewhat equilavent to the Win32 ones
+
+10Jul09
+- Print correct JobId in bls, should fix #1331
+- Rebuild configure
+- Apply python detect patch from Bastian Friedrich <bastian.friedrich@collax.com>
+- Add --with-hostname to ./configure
+
+09Jul09
+- More changes in es.po (37%)
+- add --with-hostname to ./configure
+- Changed ACL_OTHER into ACL_OTHER_OBJ as IRIX doesn't seem to have ACL_OTHER.
+ Fixes bug #1333
+
+06Jul09
+- Remove non-portable reference to pthread mutex
+- Display command output by default
+- Add new Spanish files translated
+
+05Jul09
+- Turn off bat debug code
+- Fix compilation bug
+- Small change to allow the compiler to optimize it easier due to the constant.
+
+04Jul09
+- Add new Spanish files translated
+
+03Jul09
+- Correct registered trademark notice
+- Should fix the first part #1323 about the restore option "List Jobs where a
+ given File is saved" wich display deleted files
+
+02Jul09
+- Add estimate accurate doc
+- add accurate=yes/no test for estimate
+- Update help page with accurate=yes/no
+- Add estimate accurate=yes/no ebl Change the code to check jcr->accurate and
+ not jcr->job->accurate
+- Add estimate test
+- Make estimate command accurate compatible. Should fix #1318
+- Fix es concepts compile problem
+- Update for Spanish
+- Another fix for bug #1311 to get the correct last_full_time
+- Add new Spanish files translated
+- Update
+- Add base of Spanish manual
+- Add directory to Spanish docs; Spanish (es.po) 25% translated
+
+01Jul09
+- Fix false zombie detection in next-vol-test
+- Add test with accurate mode (it shows the #1323 bug)
+- Fix bug #1317 Allow duplicate jobs = no does not work
+- Eliminate double job report when do_xxx_init() returns failure
+- Fix regress tests to handle new default job name
+- fix copy-volume-test
+- update Item 2
+- Add debug code to MaxDiffInterval
+
+29Jun09
+- Change bacula-dir.conf default job name from Client1 to BackupClient1
+- Document #1318 about estimate and accurate mode
+
+28Jun09
+- Add a column for job type to the jobs table
+- Fix missing case for NetBSD xattr restores.
+
+27Jun09
+- Fix Win32 build -- turn off lockmgr and remove lockmgr defs
+- Added symbols required for win32 build
+
+25Jun09
+- Modify xattr.c and acl.c not to fail the job on errors. This should fix bug
+ #1305.
+
+23Jun09
+- Fix 2 rather big bugs in the xattr and acl code and fix a small memory leak
+ on a particular code path for Linux xattr/acl handling.
+- update newfeature with project 37
+- Update FileSetId when initializing job.
+- fix compilation problem
+- add a note about /sys/class/scsi_tape/nst0/default_compression, fix #1314
+- Add '*' when volume is online when displaying volume list in restore. Should
+ complete project 31.
+
+21Jun09
+- remove bnet_fsend and use class call
+- Re-fix bug #1311 if MaxDiffInterval exceeded ensure job upgraded
+
+20Jun09
+- Fix bat install for 3.x
+
+19Jun09
+- Add a boolean to console class to allow for the warning popup, except in
+ cases where I want to prevent the popup. So far this is only for purging
+ jobs.
+- Correct a misspelling in a relatively trivial spot.
+- Add job type and first volume of the job to the 4th pane the version table.
+ This is so that when looking at what version to restore with copy jobs the
+ user can make a better decision as to which job to restore from
+
+18Jun09
+- Back out previous maxdiff patch, which is broken
+- Add all Job Types to job_type_to_str() for bat
+- Commit maxdiff patch
+- Fix bug #1311 if MaxDiffInterval exceeded ensure job upgraded
+
+17Jun09
+- Fix bug #1305 make errors obtaining acl during backup non-fatal
+- Commit btape fill patch
+- Fix bug #1309 inappropriate error message during btape fill command
+- Fix bug #1307 AllowHigherDuplicates=no prevents automatic job escalation
+
+16Jun09
+- Update VirtualFull doc + BSys course dates
+
+14Jun09
+- move 3.0.0 patches to 3.0.x dir
+- Add 3.0.x patches dir
+- Update with 2009 Vote
+- Forgot to add the images for the new button.
+- Add a previous page button to the button bar.
+
+13Jun09
+- Add feature in pages to have a console command that does not set the console
+ current. Then also use that feature in joblist to purge or delete a job.
+- Add a stringlist and a foreach after populating to at least acknowledge to
+ the user that a new fileset. Bat would not show the fileset until the database
+ table had the fileset which was not until used.
+
+12Jun09
+- Remove non-portable code referencing pthread_t fixes bug #1308.
+- Remove non-portable code referencing pthread_t
+- Create patch that may fix bug #1298 and bug #1304, which causes an SD crash
+ after canceling a job.
+
+11Jun09
+- When looking at what got backed up from a windows differential, found a bug
+ where it would create many "Bases". This fixes it subtly.
+
+09Jun09
+- Add checkbox widgets to filter out copy and migration jobs.
+
+08Jun09
+- Attempt to get bat conf file installation to work with DESTDIR
+- Commit migrate patch for bug #1303
+
+05Jun09
+- Improve error messages when a migration sql query is used and correct the
+ problem identified in bug #1303 with starting Job names containing spaces.
+- Fix #1306 when building static bconsole
+
+04Jun09
+- Did not intend to leave those debugging lines there.
+- fix vtape test to work with the latest trunk
+- Reorder project file with poll result
+
+03Jun09
+- update
+
+01Jun09
+- Setting actions up like this I think is better. No restore from job or time
+ if more than one job selected.
+- Add columns for first media and volume count. Change some semantics of how
+ signals execute functions when a selection list is changed.
+- Prevent warnings from showing as dialog boxes that can interupt multiple
+ operations performed in a foreach.
+
+31May09
+- Sort the lists after population so that drop downs are sorted.
+
+30May09
+- A fix for mysql database sql syntax.
+- Add columns to the tree to show read/write time, scratch pool, recycle
+ count.
+- Somehow I was losing the refresh jobs action. This should keep it in.
+
+29May09
+- untabify
+- Add ids on command.tpl to fix #1300
+
+28May09
+- Correct incorrect placement of trap for m_firstpopulated.
+- There was an issue with empty directories. The director would print node xxx
+ has no children and bat would interpret that as a directory. This fixes it
+ but it may not be the best solution.
+- update
+
+27May09
+- Make sure that vtape directory is created during -tape tests ebl change grep
+ -e to grep -E to make source-addr-test working as expected
+- Simplify mysql bresto part. Should be faster, but need tests
+
+26May09
+- On vacation I am having a little fun !!
+- Add documentation for new directives DirSourceAddress and FDSourceAddress
+- Apply Steve Polyack patch to add DirSourceAddress and FDSourceAddress directives.
+ That permits to choose the outgoing interface.
+- make fileregexp-test working with git repository
+
+25May09
+- Apply Marco's patch: mvw Allow acl and xattr to be explicitly enabled and
+ fail the configure if we are asked to enable acl or xattr support and the OS
+ doesn't support acls or xattrs.
+- Add more Spanish site modifications
+
+24May09
+- Commit changes for Spanish site
+
+23May09
+- Create Client record in database at startup -- makes bat work better
+- Disable scratchpool-pool-test because it hangs
+- Rework printed message when files are purged on restore
+- Turn off useless End of file message during restore.
+- When doing a tree selection restore, look at the PurgedFiles column in the
+ first JobId, and if non-zero, the Job was purged, so do not do selection
+- Yet another try to get qmake to install bat correctly
+
+21May09
+- Add Catalog = all to the default Messages resource
+
+20May09
+- Add Spanish directory
+- Fix race in director job start which was allowing the number of concurrent
+ jobs to exceed the maximum
+
+19May09
+- Comment out broken fake-autochanger change
+- Speed up media list generation when using "compute with directories" option
+- fix dates
+- update
+- Fix #1029 about resolution address order. Thanks to David.
+- Add patch for #1029
+- During jcr destruction hold jcr_chaing lock only for minimum time necessary.
+ This should fix the SD deadlock in bug #1287.
+- Simplify messages printed by SD when reserve fails. This should fix bug
+ #1285
+- Add sleep in vtape changer to simulate real hardware
+
+17May09
+- speed up mysql to compute restore table ebl speed up mysql when computing
+ media list ebl fix media list display ebl fix bresto problem with drag&drop
+
+16May09
+- Fix libxml dependency for rh7 per Pasi Kärkkäinen <pasik@iki.fi>.
+- Create archivedir
+
+15May09
+- Back out unwanted change. Should fix problem reported by Yuri
+- add index on temporary table to speed up mysql part during restore
+- Fix display of / on bfileview
+- Yet another attempt to get qmake to generate valid Makefiles that installs
+ the binaries. It seems to require the binary to exist at qmake time
+- Apply fix to sql_cmds.c suggested by Ulrich Leodolter <ulrich.leodolter at
+ obvsg.at> which prevents restore by file selection from using Copy jobs.
+- fix drag&drop
+
+14May09
+- Add new nagios_plugin_check_bacula.tgz from Masopust, Christian <christian.masopust
+ at siemens.com>
+- Reduce bconsole help to fit in 80 columns kes Add bconsole @help command kes
+ Fix Show FileSet command to handle spaces
+- Allow specification of base daemon resource name. --with-basename=<name>
+- Fix bat to automatically use installed bat.conf
+- bat not installed even if configured. Fix by working around apparent bug in
+ qmake
+
+13May09
+- update
+- Turn on lockmanager when using DEVELOPER flag
+
+10May09
+- note that vtape is not ready for production
+- remove unused file
+- More scripting stuff
+
+09May09
+- More scripting parameterization
+- More parameterization of scripts
+- First cut parameterize better regression tests
+
+07May09
+- fix mysql problem with the restore query
+- rename JobHistory to JobHisto
+
+06May09
+- update os table
+- ebl update german version
+- update supported os table
+- change the ugly grey background on symbole and images to white
+- small fix
+
+05May09
+- ebl Make working the "compute with directories" option --This line, and those
+ below, will be ignored--
+
+04May09
+- Updates
+- add screenshots
+- Add screenshot and update french main page
+- add screenshots
+- update
+- Add new images
+- Fix ldconfig problem in client only build.
+- don't display copies like in bconsole
+- Added extra logging to determine the exchange server in use
+
+03May09
+- Fixes for client build.
+- Update main page
+- Update
+- update
+- Only define winapi's for 32 bit build. Already defined for 64 bit apparently...
+- Change GetComputerName to GetComputerNameEx so that in a cluster we get the
+ name of the vserver instead of the local machine. Added prototypes for
+ GetComputerNameEx which appear to be missing.
+
+02May09
+- 3.0.1
+- Don't run backup at same time as restore to avoid deadlock in concurrent
+ test
+
+01May09
+- update
+- Update documentation
+
+30Apr09
+- Ran into a problem deleting a volume. This fixes it.
+- Update News
+- Fix purged restore prompting
+- Final changes
+
+29Apr09
+- update
+- Add bypool option
+- add bypool option
+- Fix error message
+- Fix bug #1282 Setting job.Priority in python crashes director by checking if
+ string addr is NULL. Not tested.
+- Fix bug #1281 allow all on restore command line to restore pruned JobIds
+ without prompting.
+- Add vectorized bat image
+
+28Apr09
+- Check for job_canceled() in fd_plugin code
+- Update Win32/64 table creation to have new DB version 11 format
+- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf
+- This is the fix to http://bugs.bacula.org/view.php?id=1276. The select class
+ was just not working with the new requirements of setting and clearing the
+ notify.
+
+27Apr09
+- Fix bug #1274 where a migration job can be canceled like the original job by
+ the MaxRunTime directive.
+- Added fix for bug #1275 where acl or xattr data is saved for virtual filenames
+ generated by filed plugins.
+
+26Apr09
+- Set slot max to 60
+- Permits to eject Used tape
+- update ScriptAlias
+- Remove Reposition info message
+- Fix platform scripts not to clean configured files during 'make clean' use
+ 'make distclean' to clean everything.
+
+25Apr09
+- Add build tag for distribution name.
+
+21Apr09
+- Fix copyright + trademark name
+- add doc for new VerId option
+
+20Apr09
+- Fix suggested in bug 1273
+
+16Apr09
+- Add additional mysql connection debug code
+- Fix bug #1246 Sometimes access denied with VSS enabled. UCS conversion cache
+ was not properly flushed at the end of a Job
+
+15Apr09
+- Update
+- add missing BACULA define
+
+14Apr09
+- update
+- Fix bug #1268 Full Max Run Time cancels jobs (when Max Run Time = 0).
+- Ignore scripts/bacula-dir.conf.maxruntime
+- revert pool changes and correct the problem
+
+13Apr09
+- Add new maxruntime test -- not yet working
+- more fixes about pool=defaults
+- more fixes
+- fix more pool problem
+- fix pool problem
+
+12Apr09
+- specify pool in label process to avoid problem
+- use scripts/bacula-dir.conf instead of bin/bacula-dir.conf
+- Add debug message when checking database encoding
+- Test postgresql encoding at the start of the test
+
+11Apr09
+- Modify insertion of read Volumes in SD to be done before the drive reservation.
+ This ensures that a Volume to be read will not be reserved for writing.
+- Clean old patchnotes
+- Turn developer back on
+
+13Oct09
+Release Version 3.0.3:
+16Jul09
+Release Version 3.0.2:
+29Apr09
+Release Version 3.0.1:
+05Apr09
+Release Version 3.0.0:
+28Dec08
+Release Version 2.4.4
+27Oct08
+Release Version 2.4.3
+26Jul08
+Release Version 2.4.2
+07Jul08
+Release Version 2.4.1
+04Jun08
+Release Version 2.4.0
+25Jan08
+Release Version 2.2.8