-Changes to 1.37.29:
-14Jul05
-- Remove old commented out code from configure.in
-- Add baculavssfd.mak file for building VSS version of
- Win32 FD.
-- Correct date (year) in vss.cpp and vss_generic.cpp
-13Jul05
-- I finally found and squashed the elusive SD crash.
- I needed to initialize the used volume list before
- firing off the device initialization thread.
-Changes to 1.37.28:
-11Jul05
-- Make sure that bpipe results are zapped even on
- error return.
-- Lots of documentation.
-- Do not prune volume marked as append when needing a
- new Volume.
-- Print a warning message in SD if a non-used Volume
- is specified and autolabel not turned on.
-- Correct a bug in chksum.c concerning SHA1 signatures
- (an * should have been & when checking for a bit flag).
-- Print File:Block for all label records in label.c -- concerns
- primarily bls when doing Job listings (-j).
-- Correct is_volume_in_use() to return false if testing
- on the same device where the Volume is already mounted.
-- Define a init_done flag in the SD that is set when the
- devices are initialized and make users connecting wait.
- This prevents useless connect failure warning messages.
-- Do additional device locking in ask_op_to_mount_volume()
- to prevent race conditions with a user labeling a Volume
- or autolabeling.
-09Jul05
-- Add a test for error return from bnet_wait... in heartbeat.c
- in FD to avoid CPU loop.
-- Implement TLS in gnome console and wx-console.
-
-Changes to 1.37.28:
-08Jul05
-- Correct a NULL pointer reference in the mount command.
-- Correct typo in Copyright
-- Add detection of EOM for IBM drives (i.e. errno == ENOSPC)
-07Jul05
-- Remove temp file created in mtx-changer script.
-- Make fsf_dev() into a class method.
-06Jul05
-- Modify mtx-changer.in script to return slot:barcode for
- Volumes that are loaded in the drives.
-- Correct some more places where dev->is_blocked() needs
- to be checked in dircmd.c in SD.
-- Update doc.
-05Jul05
-- Add code to ensure that reserved but unused volumes
- are freed.
-- Correct how Volumes are mounted and handled so that the SD
- does not get stuck if multiple volumes are used (recycling,
- relabling, ...)
-- Correct bug where you could relabel a volume while it
- was being acquired -- created chaos.
-04Jul05
-- Correct seg fault caused by open() calling sequence change.
-03Jul05
-- Add new rc-chio-changer script by Rudolf Cejka to
- examples/autochangers
-- Apply Rudolf's changes to bacula.in
-- Expand the space from 8 to 10 characters in editing
- file sizes for restore and dir of catalog, otherwise
- GB sizes are truncated -- fixes bug report.
-- Modify wx-console to know about 10 character widths.
-- Allow decending into top level directory if "recurse=no"
- is set. Fixes a bug report.
-- Install pthreadVCE.dll when installing console or wx-console
- on Win32 systems. Fixes bug report.
-02Jul05
-- Tweak dvd-writepart script to prevent door from opening/closing
- so much.
-- Remove GROUP BY in several PostgreSQL commands to prevent error.
- Resolves bug report.
-- Ensure that < as first character of filename list is not treated
- as a directory for restore.
-- Add debug to heartbeat in FD as it seems to go into an
- infinite loop from time to time during SD failure in DVD writing.
-- Add more debug code to dvd writing.
-- Attempt not to destroy existing fs on DVD.
-30Jun05
-- Detect device mounted for DVD and suppress be sure to
- mount message after label.
-- Set Cleaning tape status to "Cleaning" and force no
- MediaType.
-- Get DVD writing working with new standard Bacula open()
- code.
-- Rename get_filename() to make more sense.
-- Detect "is already mounted on" on mount command so to avoid
- error if device is already mounted.
-- Eliminated guess_name() code. It may be necessary to
- add it back later.
-- Eliminate seg fault from printing invalid results.
-- Make dvd_write_part() bool.
-
-29Jun05
-- Attempt to fix DVD writing by eliminating a number of the
- DVD subroutines to simplify.
-- Modify DEVICE::open() to take dcr as first argument. This
- will permit providing more info to DVD opening.
-- Fix scanning for time/size items which in some cases
- ate the next line.
-- Eliminate read_dvd_volume_label(). New code (not yet written)
- *must* open dvd appropriately before calling
- read_dev_volume_label.
-- Modify open_first_part() open_next_part() to take DCR as
- argument.
-- Make label command from console work on DVDs.
-- Make mount command from console work on DVDs.
- Unmount does not work yet.
-
-Changes to 1.37.27:
-27Jun05
-- Add Database vendor to CatalogRes tuple for Python.
-- Update doc
-- Implement DoesVolumeExist(Vol) for Python.
-- Prevent python command from seg faulting if no arg given.
-
-Changes to 1.37.26:
-26Jun05
-- Add set_mode method in DEVICE.
-- Correct set_mode method in DEVICE
-- Add more DVD debug info
-23Jun05
-- Check for incorrect duration and size modifiers in conf files.
-22Jun05:
-- Make Version a tuple (version, build-date)
-- Add CatalogRes tuple (DBName, Address, User, Password,
- Socket, Port)
-- Add Version, ConfigFile, and WorkingDir as Python attributes
- in the Director.
-- Implement code (principally for Win32) that on failure to
- create a file, it will cd into the directory and attempt
- to create the file using a relative path. This avoids creating
- files with paths which fail on Win32.
-- Fix parsing of times and sizes with decimal numbers.
-- Make free_volume_list() in SD work if vol list is not
- initialized (./bacula-sd -t).
-21Jun05:
-- Add debug error printout when open() fails.
-- If open() of DVD fails in mount.c, return false.
-- Split open() code for DVD into separate subroutine in dev.c
-
-Changes to 1.37.25 released on 20 Jun 05:
-20Jun05:
-- Fix bug where Storage daemon gets confused about what
- tape is mounted. (one line of code was inadvertently
- deleted).
-
-Changes to 1.37.24:
-18Jun05
-- DVD writing/reading seems to be mostly working.
-- Set execute bits on dvd-freespace and dvd-writepart
-- Make dvd-freespace use existing dummy file.
-- Modify dvd-freespace to pickup size from Track Size:
-16Jun05
-- Add Date, Job, level to updates to .bsr file in
- dird/backup.c
-- Add debug info to dvd-freespace.in
-- Fix hard coded bacula.sql in make_catalog_backup reported
- by a user.
-- Make sure a verify volume to catalog never reports an error
- if there are zero files to verify.
-- Remove confusing debug info in filed/backup.c on network
- error.
-- Make sure output from console is not sent to system log.
-- Convert open_dev() into a class method.
-- Change VolHdr.VolName to VolHdr.VolumeName.
-- Add a flag in the device state word to indicate that
- we found Media in the drive (DVD).
-- Make mount_dev() and unmount_dev() return bool.
-
-Changes from Nicolas Boichat:
-26Apr05
- - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter
- - lex_open_file now returns NULL if the file can't be opened. All calling functions have
- been adapted.
- - Remove set_exit_on_error function
-07Apr05
- - Fix "unknown device type" problem with DVD devices.
- - Fix crash when there is no media in the DVD drive.
-09Jan05
- - Update the documentation and ReleaseNotes.
-05Jan05
- - Add FreeSpaceCommand in Device (SD configuration file) and implement it.
- - Some modifications (again) on how guessed volume names are handled (now it should work).
- - Part files on the hard disk are removed if they are empty.
-04Jan05
- - Major fixes on how guessed volume names are handled.
- - Minor fix in src/stored/append.c.
- - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c.
- - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD.
-03Jan05
- - Add WritePartAfterJob directive in Job resource (Director)
- - Add WritePartAfterJob directive in Schedule Resource (Director)
- - Implement these new directives
-02Jan05
- - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume
- name of a mounted device, so the label can be read.
- - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W).
- - Removed WriteFirstPartCommand directive in Device (SD configuration file).
- - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev).
-01Jan05
- - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file).
- - Implement these directives (volumes can now be restored from a manually written DVD).
- - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file).
- - Implement these directives (DVD writing now works).
- - New function run_program_full_output in src/lib/bpipe.c.
- - Lots of bugfixes and cleanups in the new code.
-29Dec04
- - Add VolParts field in Media table
- - Add MaximumPartSize directive in Device (SD configuration file)
- - File Volumes can now be splitted in multiple files ("parts")
- - Fix SQL error in sql_list while doing "llist jobmedia"
-
-Changes to 1.37.23:
-- Renamed to make unique version for open_next_part()
- changes.
-
-Changes to 1.37.23:
-- Renamed to make unique version for open_next_part()
- changes.
-
-Changes to 1.37.22:
-14Jun05
-- Fix the same state variable problem in open_next_part().
-- C++ify the SD code a bit more.
-13Jun05
-- Add more debug code and clarify debug code for DVDs.
-- Do not save and restore state in open_first_part()
- since state should be properly set after open_dev().
-- Make default mandir /usr/share/man
-- Install Bacula man page.
-- Implement passing of FileSet Enable VSS to FD.
-- Move main body of reserve drive code into subroutine
- so that it can be called multiple times.
-12Jun05
-- Eliminate getpass() for Win32 builds in console as the
- function does not exist.
-10Jun05
-- Correct some reservation problems in SD when no devices
- are available.
-- Start removing #ifdef HAVE_TLS by sneaky tricks.
-- Begin implementation of TLS in wx-console
-- Remove ignoring SIGCHLD from console.
-- Rework the dlist binary search routines for implemenation
- of the Volume reservation code -- make it more general.
-- Strip double slashes // from Win32 filenames in an attempt
- to resolve restore problems on some systems.
-- Fix a minor bugs in the trace code that caused the first
- line output to be lost.
-- Implement a good first cut at adding Volume reservation code
- to the storage daemon (in file reserve.c).
-- Remove old unused code from the tree.c routines.
-
-Changes to 1.37.21:
-06Jun05
-- Fix compile problems on Win32
-- Start writing Volume reservation list (already exists, but
- is not really very good).
-- Implement attribute caching to put Signature into database
- at the same time as the file attributes thus eliminating a
- number of database accesses.
-- Correct a reservation problem.
-- Implement full Dir Storage use.
-- Reduce a bit of TLS #ifdeffing.
-
-Changes to 1.37.20:
-04Jun05
-- Minor changes
-01Jun05
-- Add more documentation to mtx-changer.in
-- Correct link to manual in authenticate.c in various
- directories.
-- Create a new src/stored/reserve.c file where the
- Use Storage command is processed and drives are
- reserved.
-- Modify src/stored/autochanger.c to keep track of each
- Slot that is loaded for each device.
-- Ensure that changer_command and changer_name are picked
- up from Autochanger resource if not specified, and if
- neither is specified, err.
-30May05
-- Fix bextract.c compile problem
-- Create bacula.man
-- Make make distclean clean a bit better
-29May05
-- Remove old code in jcr.c
-- Make testls release jcr chain when terminating.
-27May05
-- Implement Maximum Job Spool Size (actually DCR based)
-26May05
-- Use light weight non-recursive locking on jcr chain.
-- Make JCR a class and implement inc_use_count() and
- dec_use_count() methods that ensure that the jcr is
- locked when inc/dec the use count.
-- Remove the global jcr lock when traversing the jcr
- chain.
-- Use dlist to implement the jcr chain rather than hand
- crafted next and prev links.
-- Lock the jcr chain inside each function that modifies
- the chain.
-
-Changes to 1.37.19:
-26May05
-- Fix compile problem of ua_restore.c on broken compilers.
-- Apply patch from bug 326 to permit bacula status by any user.
-- Fix bug 325 -- conversion of 12:30pm to 24hour time.
-25May05
-- Put Dmsg() on inside if() to avoid calling subroutine.
-- Make restore.bsr have unique name.
-- Allow user to define bsr filename on restore command line
- with bootstrap=xxx.bsr
-- Add limit=nnn to "list jobs" command.
-- Remove old restore code that did not use .bsr file.
-- unlink automatically generated bsr file.
-- Cleanup heartbeat code so that duped fd is almost sure
- to be released. Previously under certain conditions, the
- memory was not released due to race conditions.
-- Shorten copyright.
-20May05
-- Unify the reserve_device() for a single device into one subroutine.
-18May05
-- Modify wait during use_device to happen only after all devices
- have been examined rather than in the reserve_device code.
-- Correct updating count of number of Volumes in a pool.
-
-Changes to 1.37.18:
-16May05
-- Add more debug to SD for Autochangers + status output.
-- Add Scratch to PoolType in PostgreSQL make...tables and do not
- permit NULL PoolTypes. Fix for bug 319 reported by Eric.
-- Update LICENSE.
-- Add quotes around filename in parse_config error message. Bug
- reported by Eric.
-15May05
-- Change nested \include to \input so that sections are properly
- included in the pdf manual -- update the Web site.
-- Set reconnect flag in MySQL packet to 1 to ensure that connection
- is re-established. MySQL 5 changed default to 0. Fixes bug report.
-- Fix Scratch pool handling as reported in a bug by Eric Bollengier
- by applying his patch.
-- Remove delete job in favor of delete jobid.
-- Add = NULL to configfile definitions as reported by Eric in a bug
- report.
-- Update winbacula.nsi.in to reflect new manual file structure.
-10May05
-- Correct a minor build problem with wx-console.
-- Add cancel() to Dir Python scripting.
-- Re-correct bug in parse-config error handling.
-- Reorganization of use_command in SD to permit
- waiting and multiple drive autochanger support.
-09May05
-- Correct bug in parse_config error handling.
-- Where ever possible mark a volume in error or not
- InChanger in mount.c
-- Fix bug in changing tape pools after first backup. Reported
- by Peter Sjoberg.
-- Enhance mtx-changer to use Working Directory as temp.
-- Remove all but initial setup locking of Res in SD.
-08May05
-- Add Client OS type to Job report.
-- Add version to manual
-- Update the Web site to have a single page for
- the documentation links.
-
-Changes to 1.37.18 release 08May05:
-08May05
-- Correct attribute definition compile error in 1.37.17
-- Correct inverted order of CreateTime and MD5 pointed out
- by a user in a bug report in FileSet db routine causing
- the MD5 to print in the output instead of the time/date.
-
-Changes to 1.37.17:
-07May05
-- Implement cstrlen() in sql list routines.
-- Implement caching of attributes to add the
- signature so that only one DB call will be made
- per file. Not yet turned on.
-- Fix Win32 build for TLS.
-- Optimize File pruning to eliminate one database call.
-- Fix bug that prevented File pruning from working.
-- Implement a cstrlen() which returns the character
- length of a UTF-8 string.
-06May05
-- Move test for MaxStartDelay as suggested by Peter.
-- Implement Python methods (I had to read the Python source
- code).
-- Implement run() method in Director.
-- Add Priority and Scheduled time to Job report.
-- Add JobInit and JobRun events.
-- Add Priority as Python read/write attribute to Job.
-- Correct typo in bsmtp reported by Jo.
-
-Changes to 1.37.16 (07May05): released 07May05
-07May05
-- Implement cstrlen() in sql list routines.
-- Implement caching of attributes to add the
- signature so that only one DB call will be made
- per file. Not yet turned on.
-- Fix Win32 build for TLS.
-- Optimize File pruning to eliminate one database call.
-- Fix bug that prevented File pruning from working.
-- Implement a cstrlen() which returns the character
- length of a UTF-8 string.
-06May05
-- Move test for MaxStartDelay as suggested by Peter.
-- Implement Python methods (I had to read the Python source
- code).
-- Implement run() method in Director.
-- Add Priority and Scheduled time to Job report.
-- Add JobInit and JobRun events.
-- Add Priority as Python read/write attribute to Job.
-- Correct typo in bsmtp reported by Jo.
-
-Changes to 1.37.16 (03May05): released 05May05
-03May05
-- Make a few tls ifdef tweaks.
-- Fix create_file.c Win32 problem pointed out by
- Peter Sjoberg.
-- Fix really ugly bstrncpy() but found by Thorsten.
-- Move winapi.h/c from findlib to lib for inclusion in
- multiple places.
-02May05
-- Thorsten Engel finished his work on Win32 Unicode. We
- now have a single executable that runs on all Win32 machines.
-- Move job initialization code after job scheduling so that
- Verify jobs check for the prior JobId after they are really
- started rather than before.
-- Fix lib/fnmatch.c so that it does proper testing before folding.
-- More documentation -- at tls and ansi labels chapters.
-- Fix fileset_convert.pl to handle empty Exclude statements.
-- Turn regex back off in Win32
-01May05
-- Fix sign extension problem in lex.c that reads UTF-8
- with Chinese characters incorrectly.
-
-Changes to 1.37.14:
-30Apr05
-- Remove a few HAVE_TLS #ifdefs
-- Implement final Python style interface. More implemention to
- be done, but the interface should change little if at all.
-28Apr05
-- Make default no tls support. You must add
- --with-openssl to get tls support.
-27Apr05
-- Update Web header to include google search in the search
- box -- thanks to input from Michel Meyers.
-- Fix md5sum so that it builds with the new openssl stuff.
-- Take some enhancements to the md5sum test program proposed
- by a user.
-26Apr05
-- Apply Tru64 patch supplied by Pascal Pederiva <freebsd@paped.com>
-- Apply Unicode fixes for Win32 from "Thorsten Engel"
- <thorsten.engel@matrix-computer.com>
-- More work on Python read feature in FD.
-22Apr05
-- Fix (hopefully) the ftello() overflow reported by Peter.
-- Landon Fuller committed his TLS patch.
-- Fixed two minor warnings in console.c with TLS turned off.
-- Updated the Makefile.in for wx-windows and tray-monitor
- to handle TLS. I can only build the tray-monitor.
-- Fix bscan to open tape in read-only mode (actually fix
- it so that it doesn't use the standard open routine).
-- Correct what appears to be an error in setting the
- return value in dvd.c
-21Apr05
-- Get FD Python running -- design Python backup interface.
-- Fix seg fault in SD when referencing Alert Command.
-- More documentation.
-- Fix one more thing in Win32 build.
-20Apr05
-- Doc updates
-- Fix Win32 build
-- Put in production here
-
-Changes to 1.37.13:
-19Apr05
-- Fix SQLite and PostgreSQL table creation script syntax
- problems.
-- Fix new Python code to work for Director.
-- Move lib/python.c to lib/pythonlib.c so that debug output
- is easier to read (can distinguish lib from dird, ...).
-- Cleanup Python build so that Python is not dragged
- into programs that don't use it.
-
-Changes to 1.37.12:
-02Apr05
-- Reset NumVols in Pool record from database on every update
- Pool.
-- Modify DB to support multiple simultaneous copies and
- RAIT stiping.
-- Pass copy and stripe between DIR and SD and put into
- the JobMedia DB record.
-- Update and test SQLite and MySQL datebase creation and
- update scripts.
-- Implement version 9 of the DB.
-31Mar05
-- Convert more atoi to str_to_int64() for DB.
-- Implement filling in NumVols by querying DB rather
- than trying to keep track of it.
-- Add storage name to string passed to in use storage=
-- Fix newVolume() so that the Python script is always
- called.
-- Fix handling of pool,PoolId, and storage in ua_output.
-- Same fix in ua_status.c
-- Remove required locking of resources
-- Replace pthread_cond_signal() by pthread_cond_broadcast()
- hoping to fix the /lib/tls hang problems (lost signal).
-- Move resource locking seaching from parse_conf.c to res.c
- in src/lib.
-- Modify end of volume handling so that fixup_... does not
- redo what block.c has already done -- writing Vol info to
- DIR. This fixes a bug with bad numbers of files on a tape
- when it filled as reported by Peter.
-- In release_device() do not update the DIR on the Volume
- info if the the information was already written at the
- end of the tape.
-28Mar05
-- NOTE!!!! This version has a new DIR <--> SD protocol. Both
- must be updated at the same time.
-- Begin implementation of passing all the Storage and Device
- possibilities to the SD for examination during the reserve
- phase.
-- Modify the reserve and acquire code in the SD to make a
- job wait if the device is not available.
-- Implement New Volume Each Job in DIR and pass to SD, not yet
- used.
-- Remove init/update of the Device resource in DIR
-- Remove passing PoolId to SD and back.
-26Mar05
-- Remove \a and -e from error echos in most Makefiles.
-- Add more debug code when there are errors on the tape
- to try to find Peter's tape problem.
-- Add wait.c (oops forgot previously).
-- Move all the reserve/acquire_device_for_read/append to have
- only a DCR as the argument.
-- Rework the reserve_device_for_append() in stored to wait
- if the drive is not available. Note! This is a short
- term solution.
-25Mar05
-- Comment out Multiple Connections in the document.
-- Move the P() and V() to subroutines so that they can be accessed
- from class methods. The reference to strerror() caused problems.
-- Implement new DEVICE class methods block() and unblock() that
- do what was previously done in 3 lines of code.
-- Implement wait_for_device(), which will wait for any device
- to be released then return. This requires a new global mutex
- and condition variable, and is implemented in src/stored/wait.c
-- Change the code in reserve_device_for_read(), which previously
- failed the job to use the new device wait code.
-22Mar05
-- Apply reschedule patch to 1.37 code.
-- Add copyright to title page of manual so it is clear.
-- Create patch for rescheduling problem found by Ludovic. Storage
- pointers were lost during rescheduling.
-- Attempt to fix 2.6 rescue disk -- failed!
-- Start working on adding a wait routine in the SD.
-- Cleanup some old invalid doc in watchdog.
-- Convert a number of references to dev->dev_name to dev->print_name().
-- Add new wait.c file to SD.
-- Add a few more methods to DEVICE in SD to cleanup code a
- bit -- implement a few of the methods.
-18Mar05
-- Fix more print_name()s for printing device name.
-- Modify open_dev to try 10 times every 6 seconds to
- open the device if it gets an I/O error (meaning no
- volume mounted). This gives a bit of settling in time
- for an autochanger and avoids spurious messages.
-- Change all yes/no to yes|no in the manual.
-- Fix win32 create_file.c typo.
-- Fix a typo in an error message.
-17Mar05
-- Detect if fseeko exists with autoconf. If so, use it
- and ftello.
-- Remove old bacula-*.conf from examples directory (out
- of date).
-- Remove latex-fr index files from CVS.
-- Rewrite code that stops reading the tape so that the
- tape is marked at EOT, then once the work is done,
- the EOT flag is removed.
-- Flush output to file after every send in console.
-- Make setting VolFiles to smaller number fatal.
-- Disable Multiple Connections code.
-- Add patch from user for NetBSD statvsfs() fix to
- fstype.c
-- Take more care with errors in acquire.c
-- Don't run through dvd code in append.c if bad status
- returned.
-- Modify code so that an autochanger fault is fatal.
-- Use dev->print_name() in more places.
-- Implement dev->can_steal_lock() to simplify code.
-- Make btape re-read first 10000 records on fill command.
-- Check error return and fail job from fseeko and ftello
- in spool.c. Don't let a -1 slip in as size.
-
-Changes to 1.37.7:
-15Mar05
-- Apply NetBSD patch from kardel in bug 258.
-14Mar05
-- Add a second job and a second client to the default
- bacula-dir.conf file.
-- Remove old style Include/Excludes.
-- Fix ANSI labels to put EOF1 and EOF2 after each file mark.
-- Add Python to SD and FD.
-12Mar05
-- Implement IBM labels
-- Implement EOF and EOV labels at the end of a volume.
-- Fix a rather ugly problem with the PoolId not getting
- passed correctly. Now the DIR passes the Pool name and
- Media Type to the SD, who passes them back when requesting
- the next Volume. The DIR then looks up the correct PoolId.
- This takes more time, but always works, AND allows wild
- card Media Types (i.e. the SD can decide).
-- The DIR <==> SD protocol has changed.
-
-Changes to 1.37.6:
-11Mar05
-- Fix scanf of PoolId in catreq to handle 64 bit Ids.
-10Mar05
-- Add new ua_update.c file and move update_cmd there.
-- Modify "update slots" to obtain actual number of slots.
-- Tweak autochanger code to handle new slots request.
-- Modify autochanger code to lock/unlock around slots and
- update slots code.
-09Mar05
-- Patch the FD so that it does not issue an error message if
- it attempts to restore the permissions on a Win32 drive.
-- Edit "Resource-name" (physical-name) for the device name
- everywhere in the SD.
-- Remove .linked.tex files in preparation for cutover to
- using .tex in place of .wml.
-08Mar05
-- Copy latest config.sub and config.guess from autoconf.
-- Try new way of identifying drives with:
- "resource-name" (physical-name)
- More work need to a complete conversion.
-07Mar05
-- Rework some of the autochanger data so that the DIR has
- the number of drives.
-- Modify the way the Device info is returned so that it comes
- back as a special message type and can be sent anytime the
- Device status changes.
-- Copy the change name and changer command into the device
- record if none is specified.
-- Require the change command and changer name to be specified in
- and AutoChanger resource.
-- Force all the Media Type records of all devices in an Autochanger
- to be the same.
-06Mar05
-- Add new "run" command to Job resource in DIR. This permits
- cloning a job as many times as you want.
-- Pass PoolId to SD on Query request. It is now used in the
- Find_media catalog request.
-- Reworked the Device resource in the DIR. Eliminated num_waiting
- and use_count, but added max_writers, reserved, and PoolId.
-- This DIR is nolonger compatible with previous SDs.
-- Add since and cloned keywords to the Console run command
- to support cloning.
-- Implemented store_alist_str() to allow multiple string items
- to be specified in a .conf file.
-- Added %s (since time) to Job code editing.
-- Reworked reserving drives in the SD. It now does it much simpler
- and correctly.
-05Mar05
-- Integrate HP-UX patch from Olivier Mehani <olivier.mehani@linbox.com>
-- Fix FD job.c to test correctly for no level.
-
-Changes to 1.37.4:
-04Mar05
-- Change Developers to Developer's Guide as requested by Michael.
-- Fix developers link in manual
-- Add additional dcr changes in SD to allow multiple dcrs.
-02Mar05
-- Fix a few problems with the MySQL table create in 1.37.
-- Delete the new tables in the table delete files.
-- Increase the number of items permitted in a conf table.
-- Make Director loop over alternative Devices specified in the
- Storage resource until one is reserved by SD.
-- Fix storing of StorageId in Media records.
-- Add AutoSelect = yes|no in bacula-sd.conf
-- Add Autochanger support to Label command.
-- Do not autoselect devices with autoselect set false
-01Mar05
-- Implement setting DIR Storage device to Autochanger
- name.
-- Select first available device in Autochanger.
-- Pass back actual device name used.
-- Allow Query of AutoChanger.
-- Modify Query to include name of AutoChanger if
- Device belongs to one.
-- Remove old Pool code in jobq.c
-- Add Autoselect flag to query and DEVICE class (still
- need Directive).
-28Feb05
-- Lock autochanger script when running.
-- Mark Volume not InChanger if correct volume is not
- autoloaded.
-- Corrected some typos in the make_xxx_tables.in files.
-- Made preliminary split of pre-run and run code for each
- job type. This will permit early opening of SD for reserving
- drives.
-- Add offline and autochanger fields to Device Query record.
-- Correct pthread_mutex_init() for autochanger in SD.
-- Tweak Makefile for LaTeX manual, plus add nav buttons.
-26Feb05
-- Clean up drive reservation system. Add more sanity checks.
-- Implement a few more methods for the DEVICE class in SD.
-- Add latex directories to make clean
-- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with
- certain header files (FreeBSD).
-24Feb05
-- Fix an ASSERT that was triggering in stored/acquire.c
- attempt to fix a bug report.
-23Feb05
-- Corrected SunOs to SunOS in btraceback (user submitted).
-- Applied patch from Roger HÃ¥kansson <hson@ludd.luth.se>
- to warn the user of defective AWKs during ./configure.
-20Feb05
-- Add some changes submitted by a user for HP client build.
- Not all changes accepted.
-- Rework code in filed/backup.c to ease #ifdefing and make
- program flow more obvious.
-- Split DVD code out of dev.c into dvd.c
-- Tweak #ifdefing to add back all the performance measurement
- #defines in version.h
-- Put most of MTIOCGET code in a subroutine to simplify the
- mainline code.
-- Make clean remove old CVS files
-- Remove unnecessary image files from Latex directory
-- Implement remaining parts of Storage DB record and
- its use in the Director.
-- Implement
- FullMaxWaitTime, Differential Max Wait Time, and
- Incremental Max Wait time in Job resource.
-- Start work on SD Autochanger code.
-19Feb05
-- Add back JobId index for MySQL as default -- speeds up
- pruning.
-- Add more database fields and fix the update scripts to
- include the new items.
-- Pass actual level to FD so that ClientRun editing can reflect
- correct level -- ditto for job status. This makes the DIR
- incompatible with older clients!
-- Move jobq.c acquire resources to static subroutine so that
- the code logic becomes clearer. This is in preparation for
- actually using the new Device resources.
-- Fix some lower case problems in sql_cmds.c reported by
- Debian.
-- Correct a seg fault in the SD reported by a user. Occurred
- only when a high debug level was set.
-- Modify init_dev() in dev.c to take JCR as first arg so that
- proper error messages can be reported in next item.
-- Modify the query and use device SD commands to attempt to
- open the device if it could not previously be opened.
-- Correct error message for Could not reserve device.
-- Correct some minor details with Autochanger resource in SD.
-18Feb05
-- Fix seg fault if debug level 900 set in SD.
-- Truncate Win32 child return code to 8 bits.
-- Remove some old lld's.
-
-Changes to 1.37.3:
-16Feb05
-- Make another attempt at fixing the ClientRunXXX return code
- bug on Win32 machines.
-- Apply ua_status patch from Carsten Paeth <calle@calle.in-berlin.de>
- which enforces console ACLs in the status command for Jobs.
-15Feb05
-- Fix Media LabelDate and FirstWritten to be correctly set.
-- Fix deadlock in multiple simultaneous jobs.
-- Fix tape "truncation"/"number of files" after restore bug.
-10Feb05
-- Ensure that correct error messages are returned when
- reading an ANSI label.
-09Feb05
-- Modified ANSI label code to preserve any ANSI label
- already found by skipping over it rather than rewriting
- it.
-- Split the ANSI label code into ansi_label.c
-- Do not let user relabel an ANSI labeled tape.
-- Applied a patch for the console help command supplied
- in a bug report.
-- Added some new dev methods. Most notably was
- set_eof(), which handles setting all the dev variables
- when an EOF is just read. This is now used most everywhere
- in the code.
-07Feb05
-- Added code to detect that no files were inserted into the
- tree for a restore. If a specific JobId was specified, the
- user has the option of restoring everything.
-- More progress in implementing 64 bit DB Ids.
-- Modified the daemon start messages for RH.
-- Implement update scripts for all database types.
-- First cut at implementing restore directory (it will not
- recurse).
-04Feb05
-- OK, I think ANSI labels work.
-- Added Label Type = ANSI|IBM|Bacula to Device resource in SD.
- If this is set, it will force writing of the appropriate
- label type.
-- Added Check Labels = yes|no to Device resource in SD. If this
- is set, Bacula will check for ANSI labels and accept them,
- otherwise, ANSI labels will not be accepted when the tape
- is first mounted.
-02Feb05
-- Second cut ANSI labels.
-01Feb05
-- Merge Preben's patch for ACLs and for Mac OS X resource forks.
-- Some doc updates.
-- Display more informative message when a device was not
- found or could not be opened.
-- Add the sqlite3 database scripts.
-- Add some patches for 1.36.1 (note, I have now prepared
- a 1.36.2 with all the patches and some new features --
- to be documented).
-- Some minor doc updates.
-- Add Arno's baculareport.pl script to the examples directory.
-29Jan05 -- after vacation
-- Add support for SQLite3 (it seems to run at 1/2 the speed
- of SQLite2). Use --with-sqlite3 instead of --with-sqlite
- to get SQLite3.
-- Add target for running qemu to boot Rescue CDROM
-- Add code to support kernel 2.6 in Rescue CDROM -- does NOT yet
- boot correctly.
-- Implement ANSI labels -- not yet tested.
- This required changes to DB format. No upgrade script yet.
- Note, more work needed to modify "update" command to handle
- changing label types, also must restrict volume name lengths
- to 6 characters.
-- Add new Device, Storage, and MediaType records to DB. No
- upgrade script yet.
-- Add MediaType to bsr file record types. Not yet used in SD.
-- Permit multiple device specifications in Storage resource in
- Dir conf file.
-- Implement Device resources. Director requests Device resource
- info from SD on startup.
-- Note!!!! DIR->SD incompatible with previous versions.
-- Remove multiple Storage definitions in Job resource. One can
- still specify multiple Storage resources, but they all go into
- a single alist, and imply sending data to each Storage daemon
- simultaneously.
-- Implement Device query command between DIR and SD.
-- Allow DIR to "reserve" a Device. It will then be acquired
- when the FD connects to the SD.
-- Turn all DIR resources into classes, and implement a few class
- methods -- more to come.
-- Turn DEVICE in SD into a class, and implement a number of inline
- class methods -- more to come.
-- I had serious problems with ACL errors on my Laptop, and so had
- to add the following patch:
- @@ -181,7 +181,7 @@
- }
- /***** Do we really want to silently ignore errors from acl_get_file
- and acl_to_text? *****/
- - return -1;
- + return 0;
- }
-- Added edit_int64()
-- Reworked and tested a bit the htable routines.
-- Major changes to SD acquire.c -- DIR can now reserve devices. Needs
- lots of testing!!!!
-- Made a special state code for DVD -- this simplifies the logic
- of the code, but I probably broke it. Testing needed!!!!
-- Add AutoChanger resource to SD, but not yet used.
-
-Changes to 1.37.2:
-12Jan05
-- Integrate Preben 'Peppe' Guldberg <peppe@wielders.org>'s
- acl patch. Fix case where configured but no ACL exists.
- Rework calling arguments to be shorter and positioned
- more typically in Bacula usage.
-11Jan05
-- Fix scripts/bacula.in to have awk on an environment variable
- and add comments for Solaris users.
-- Turn off inet_aton in src/lib/address_conf.c for Win32
-- Add new files to win32 build and eliminate a compiler warning.
-- Add sample DVD Device resource to bacula-sd.conf
-08Jan05
-- Integrate Nicolas' patch for direct DVD support.
-07Jan05
-- Fix fstype error returns.
-- Apply Preben's cleanup.patch which puts back much of the
- cleanup code in src/filed/restore.c
-06Jan05
-- Apply all of Preben's patches, but revert to old backup.c
- and old restore.c in filed. Also turn off code in new
- acl.c because of errors. The new code, when fully implemented
- moves platform specific code into acl.c.
- One of the patches also implements WildFile and WildDir -- thanks.
-01Jan05
-- Implement Python in the SD (no events yet though).
-- Fix some typos in the previous commit.
-30Dec04
-- Enhance CDROM boot to include some documentation at boot time.
-- NOTE!!!!! The CDROM will not boot 2.6 kernels because the
- boot sequence has changed significantly. Updates to come
- later.
-- Add memtest option to CDROM boot.
-- Include Nicolas' changes to fix llist JobMedia records.
-- Make sure that ClientRunBefore/After messages from the program
- are terminated with a newline. Add strerror to output error
- messages.
-- Return program exit status code in Win32.
-29Dec04
-- Add memtest86 to Bacula Rescue disk
-- Enhance Rescue disk startup screen
-24Dec04
-- Move some variables to eliminate Solaris 2.6 compiler warnings.
-- Fix the seg fault at the end of a job in the FD when using
- old style include/excludes.
-22Dec04
-- Apply Preben's ACL patch.
-- Integrate Preben's restore patch.
-- Integrate Preben's verify teaks.
-- Fix doc/latex/Makefile to copy/remove .eps files when building
- html and web outputs.
-21Dec04
-- Fix Bacula so that it does not exit if there is a syntax error
- in its conf file during a reload command. Bug 182.
-- Apply fixes suggested for old Solaris networking.
- Fixes bug 190.
-- Apply Preben 'Peppe' Guldberg <peppe@wielders.org>
- three patches that clean up white space:
- ws.patch.02.strings:
- Breaks strings that span lines into concatenated strings. I am not sure
- if you like this one. Other code works with concatenated strings, though.
- ws.patch.03.trailing:
- This removes trailing whitespace. No changes resulted from this for
- my setup.
- ws.patch.04.leading:
- This replaces space runs at the start of line with tabs. No changes
- again.
-- Fix overriding storage specification to be done
- through a subroutine.
-- Fix autoconf so it runs with FC3.
-- Add Python4.3 to configure search paths.
-- Always copy and delete storage definitions into jcr.
-- Check that VolumeName supplied by Python is valid.
- Return 0 if not.
-19Dec04
-- Fix undefined in non-Python build.
-- Update rescue disk to include mkinitrd
-- Fix umount_drives in rescue disk (only one arg to umount)
-- Ensure that if SD is manually set in Console, it is used.
-- Put generate_event on pointer and plug it in init. This
- permits using it in /lib
-- Correct despooling size reported to be Job specific rather
- than for the whole drive.
-18Dec04
-- Fix bug 207. jcr use count off by one when manually
- scheduling jobs.
-- Remove FNMATCH test in configure.in and always use
- the one in our library to get the FN_CASEFOLD GNU
- extensions on all platforms.
-- While using the rescue CDROM after my computer would not
- boot, I realized that it would be very useful to have
- a umount_disks. So, it is not implemented, along with
- updates to the READMEs and some minor tweaks.
-- Moved mounting the CDROM in the rescue boot from /cdrom
- to /mnt/cdrom (more standard location).
-- Reboot in CDROM rescue should now work -- requires -d
- option (no write) to work.
-- Hopefully fixed all the IPV6/4 problems and buffer
- problems with networking in lib. Bugs 190 and 204.
- Cleaned up a lot of #ifdefing problems by using routines
- in address_conf.c
-17Dec04
-- Apply Preben 'Peppe' Guldberg <peppe@wielders.org>
- alist fix patch.
-- Remove duplicate code from chksum.h (mentioned by Preben).
-13Dec04
-- Integrate Tim Oberfoell <oberfoell@web.de> patch to ACLs
- to handle both the "standard" and "default" ACLs.
-12Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- three cleanup patches (btest, verify, find).
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- three cleanup patches (backup, chksum, and verify)
-09Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- patch to avoid doing MTIOCGET on OSes that do not support
- it such as OpenBSD.
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- patch to add filesystem type matching to FileSets in the
- Options resource.
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- patch to add Mac OSX resource fork support (save/restore)
- to Bacula -- HFS Plus support.
-- Add FileSet to client Job listing query.
-06Dec04
-- Integrated Preben 'Peppe' Guldberg <peppe@wielders.org>
- patch to backup directories skipped (due to no file system
- changes or no recursion), and to add a slash to the end
- of the directory name during the match process.
-- Implement Jamie ffolliott <jamieff@inline.net>
- patch to dird_conf.c that enables Multiple Connections and
- fixes a typo in show. The rest of his patch awaits my suggested
- changes.
-05Dec04
-- Implement run command in Python
-04Dec04
-- Implement conversion of the manual, and some minor
- tweaks to the script tags.
-- Apply a patch supplied by Preben 'Peppe' Guldberg that implements
- ignore case in wild cards and regexes.
-- Fix a truncated line in the above patch due to my cut and paste.
-03Dec04
-- Fix it so that the InChanger flag is only changed for Volumes
- in the same Pool.
-- Add PIDOF configuration path and apply to bacula.in
-- Add user supplied patch to add inet_aton() of old Solaris
- systems.
-- Require pools to match before allowing multiple simultaneous
- accesses to same storage resource.
-- Add patch supplied by Martin to correct buffer overrun in
- bsnprintf() with no library snprintf().
-02Dec04
-- Apply user supplied patch that implements No Hard Links.
-- Document Python interface
-- Add hardlink keyword patch supplied by David R Bosso <dbosso@lsit.ucsb.edu>
-01Dec04
-- Fix non-python prototypes in dummy routines.
-- Add python 2.3 to config search list (user submitted patch)
-- Add JobStatus to Python variables.
-28Nov04
-- Add "python restart" command in Console.
-- Make built-in variables table driven.
-- First cut of Python Events for Bacula. Director only.
- StartJob, EndJob, NewVolume events.
-
-Version 1.36.1 released 26Nov04:
-24Nov04
-- Take Dan's fix to the fix_postgresql_tables (thanks Dan)
-- Increase Maximum Concurrent Jobs to 20 in SD and FD!
-- Fix improper handling of autochanger Volumes that are not
- marked InChanger.
-22Nov04
-- Update authentication failure message to indicate possible
- problem with Maximum Concurrent Jobs. Add to doc too.
-- Commit PostgreSQL BIGINT fix -- apparently some people didn't
- get it.
-- Do not use a slot unless it is InChanger in the autochanger
- code, otherwise autochanger gets upset not finding the Volume.
-21Nov04
-- Make authentication timeout compile time configurable.
- The value is set in src/baconfig.h
-- Fix removing items from watchdog queue, which apparently
- screwed up if there was more than one item.
-- Rework mediaformat part of manual to separate out old
- tape format for easier reading.
-- Add a lot of debug code to the authentication code.
-- Add seconds to the start/end times printed in the job report.
-19Nov04
-- Fix mutex deadlock in dequeue of messages.
-- Add debug code to FD authorization.
-18Nov04
-- Increase authentication timeouts to 10 minutes.
-15Nov04
-- Fix cancel bug in FD on /lib/tls with zero pid in
- pthread_kill.
-- Add date/time to all messages.
-- Make Qmsg use time message was queued rather than time
- printed.
-- Indent job output two spaces.
-13Nov04
-- Fix web page links for new manual.
-- Grant postgresql permission to cdimages.
-- Correct crash after "list nextvol" "list media" bug 160
-12Nov04
-- Fix scripts/Makefile.in missing ;\ -- thanks Martin
-- A bit of work on btape to keep if from going into infinite
- loops when things do not work well, and to print a bit
- better info.
-11Nov04
-- JobDefs Storage resource completely overrode anything
- specified in Job resource -- bug 159 -- fixed.
-- Fix syntax of renaming postgresql per Dan.
-- Add working_directory to be /tmp for wx_console.
-10Nov04
-- Allow both a JobId and a filename or list of files to be
- specified on a restore command line.
-- Save old mtx-changer before installing new one: bug 156
-- Fix errors in CDROM file pointed out by Scott.
-09Nov04
-- Fix exepath when Bacula executed without path.
-- Move test for socket libraries for Solaris in configure.in
- before tcp wrapper tests so that linking works.
-- Add "make copy-static-fd" to makefile in CDROM file to
- copy existing static fd to CDROM rather than building it.
-08Nov04
-- More doc updates
-- Fix ps command for OpenBSD
-- Rework the creation of indexes for SQL -- fall back
- to the old code, but document what can be added.
-06Nov04
-- Add new Daemon message handler in default DIR conf.
-05Nov04
-- Fix Seg Fault with -D100 in bpipe.c.
-- Fix Seg Fault in run specifying a JobId.
-- Make mail from daemon with a Messages Resource use
- the MailCommand with editing rather than the default
- sendmail.
-- Replace Jmsg in dispatch_message() with Qmsg.
-- Make edit_job_codes handle NULL jcr.
-04Nov04
-- Add M_ALERT class and put tape alerts into it.
-- Fix Verify count vs found by not double counting files
- that are split across files/Volumes.
-30Oct04
-- Fix count returned from write_bsr_file() to handle multiple
- volumes. This fixes most cases of the Verify VolumeToCatalog.
-- Cleanup a bit the make clean for the rescue cdrom and remove
- unneeded files from the CVS.
-28Oct04
-- Fixed acquiring a tape so that it does not block all acquires
- when operator intervention is needed.
-- Platform build script updates from Scott
-- Doc updates
-- Add patch to force Linux LD_ASSUME_KERNEL to avoid using the
- new /lib/tls. This is done in the startup scripts.
-- Modify mtx-changer so that it checks for ONLINE while
- waiting.
-- Modify make_postgresql_tables.in so that EndBlock is stored
- as a bigint. Prevents job failures when a disk volume is
- larger than 2GB.
-24Oct04
-- Add grep ONLINE to wait_for_drive() in mtx-changer.in
-- More doc.
-- Rebuild Scott's new configure
-
-Version 1.36.0 released 21Oct04:
-Changes to 1.35.9:
-19Oct04
-- Modify install of make_catalog_backup and delete_catalog_backup so
- that it will not overwrite any existing file.
-- Additional documentation.
-- Modified detection of largefiles to always set all flags regardless
- of the machine.
-- Modify autostart scripts to start Bacula late in the process and
- terminate it early.
-- Drop CDImages table in drop database tables scripts.
-- Alter casting of (void *) in gnome2-console/restore.c to pass
- by a (long int) so that it works with 64 bit machines.
-- Add more debug to heartbeat.c in FD for problem of dropped connections.
-18Oct04
-- Adjust priorities for starting/stopping daemons to be
- started late and stopped early as suggested by Marc Williams.
-18Oct04
-- Adjust priorities for starting/stopping daemons to be
- started late and stopped early as suggested by Marc Williams.
-18Oct04
-- Fix crash on exit with -t option in FD on 2.6 kernels --
- uninitialized thread id variable.
-- Add additional SD and FD debug info to detect network hang.
-- Fix bnet_strerror() routine not to return stack pointer.
-- Put latest update routines in updatedb.
-16Oct04
-- Fix error during restore error reported by Christopher Hull when
- no tape in the drive (open fails).
-- Add more precise error reporting to FD when a network error
- occurs.
-15Oct04
-- Fix empty files reported by Marin (zero file_size in dev.c).
-- Update all the db update scripts to include the new multiple
- key index on File proposed by Martin, and to fix up a few
- minor things with PostgreSQL.
-- Apply Christopher Hull's patch for getting the catalog correct
- during a restore.
-- Created a patch for 1.34.6 (and code in 1.35) to detect passing
- the A option to the FD, which means enable ACL processing.
- Submitted by Ben Vitale.
-13Oct04
-- Fix syntax error in make_mysql_tables.in pointed out by Scott.
-12Oct04
-- Add a kludge to detect bad date/times, which cause a seg fault in
- Microsoft's version of localtime_r(). So, now we know that Microsoft
- programmers do not check return codes!
-- Minor update to web site (new projects page).
-- Remove bigint for filenameid from postgresql table -- as demonstrated
- by Martin, it has negative performance repercussions.
-- Rework getuser() and getgroup() to avoid any possible race condition
- by returning the value in a buffer rather than from the cached table.
-- Add a bit more debug code to the FD status output.
-
-Changes to 1.35.8:
-09Oct04
-- Documentation.
-- Integrate Peter Ericksson's dbx traceback scripts into Bacula
-08Oct04
-- Fix segfault in lsmark command in restore tree.
-- Fix segfault in editing numbers in count command of restore tree.
-- Add missing #define for IPV6 found by Martin in address_conf.c
-- Use strcasecmp() instead of strcmp() in address_conf.c
-07Oct04
-- Fix bug where SD crashes on label if drive is not open
- (i.e. Always Open = no).
-- Added "Rerun Failed Levels = yes/no"
-- Made calling offline_or_rewind() non-fatal if the
- device is not open.
-- Added Martin's suggestion to have multiple level index on
- the file table.
-- Update doc
-- Fix misspelled #define in mysql.c for threading pointed out
- by a user.
-- Fix incorrect prototype.
-- Attempt to fix Solaris crash in SD during status command.
-04Oct04
-- Fix backspace to first character in conio.c
-- Add umount command for Phil. :-)
-- Fix update volume volfrompool.
-- Modify restore to print an error message if the size of a
- restored file does not correspond to the saved stat packet.
-- Fix count of files to be restored *not* to include
- top level created directories.
-
-Changes to 1.35.7:
-03Oct04
-- Apply Martin's patch that puts back the run pool override
- code -- dumb me for removing it.
-
-Changes to 1.35.6:
-02Oct04
-- Create patches/README and the patch summary file.
-- Use different share mode when opening files on WinMe/98/95 since
- SHARE_DELETE is not implemented on those systems.
-- In new syntax Includes, pass *all* files through the acceptance
- filter so that no error messages will be printed for files that
- cannot be opened if they are excluded.
-01Oct04
-- Fix bug 126 (Martin) -- prevent failed console label request from
- going into fixup code and thus trying to update the catalog.
-- Always fold case in fnmatch() on Win32 systems
-30Sep04
-- Create patches directory
-- Apply Martin's patch for fixing console modifications to Verify Jobs.
-- Fix Win32 so that it can backup files that are opened by programs
- such as Word (certain open system files cannot be backed up).
-
-Changes to 1.35.5:
-29Sep04
-- Fix Storage overrides in Run directive
-- Fix seg fault in AlertCommand
-- Fix btape "test" and "fill" commands to work with new SD
- data structures. There are still problems ...
-26Sep04
-- Correct buffer length passed to inet_ntop() in address_conf.c
-- Increase the debug level of a lot of messages to reduce the
- debugging "noise".
-- Modify how ST_APPEND is handled so that nothing is written
- to the Volume if it is not set. It is now set only when
- the Volume label is verified, and released when the volume
- is released. This required a number of minor but rather
- critical and fundamental changes.
-- Improve quickly terminating a job in the SD when it errs.
- More status checking and a few additional checks on
- job_canceled() and check more error return statuses.
-- Added a number of debug statements (to be removed later) that
- check the VolCatName for a name.
-- Create a single subroutine that handles terminating writing
- on a Volume at the end of the volume (or after an error).
-- Continued to add use of the berrno classs for strerror().
-25Sep04
-- Apply conio patches supplied by Peter Eriksson for configure.in
- conio.h and conio.c to make it work better on Solaris.
-- Make run_grub print manual procedure for installing grub
-- Add extra setsockopt keepalive.
-- Add code to set as many options as possible in the system
- tape driver for different OSes.
-24Sep04
-- Apply Peter Eriksson's patch to configure.in fixes finding
- correct libs on Solaris to link conio -- bug 121
-- Add expected number of files to Verify VolumeToCatalog, and
- if it does not equal the examined files, fail the job.
- Fixes bug -- 114
-- Modify the depend section of each Makefile.in to reference $(CXX)
- instead of $(CC) -- bug 118
-- Remove the word "restore" from the Volumes needed message in
- dird/bsr.c since the message is used for Restore and Verify.
-- Fix initialization and copying of the storage resource when
- starting jobs (and in jobq.c when restarting). In some cases
- jcr->store was not set causing a segfault -- bug 116
-23Sep04
-- More doc.
-- Pass EndFile and EndBlock to SD.
-22Sep04
-- Fixed bscan to close() drive between tapes.
-- Turn on transactions for SQLite and PostgreSQL if
- multiple connections are turned on.
-- Removed stripping of filename in ua_tree insertion routine.
-- Fix split_path_and_filename() routines to return zero length
- path and files.
-- Modify update_tables scripts to convert a single blank filename
- into an empty filename.
-- Incremented the release number because this version requires
- an update to the database.
- Use:
- cd src/cats
- ./update_bacula_tables
- to update an existing database.
-- Implemented EndFile and EndBlock in the Media record. This will
- allow Bacula to know exactly when to stop reading a tape if the
- stupid tape driver does not give a logical end of tape indication
- and Bacula writes to the end of the tape getting an I/O error.
-- Added new routines to update the database, and there are
- new database creation routines to add the two new Media columns.
-- The Media record is updated each time a JobMedia record is created.
- This keeps the Media record up to date.
-- Undid the code to use automatic type converions to char * in
- POOL_MEM. This is due to the ugly consequences of essentially
- destroying the class type nature of the class.
-- Removed all the old mp_char() #define code.
-
-Changes to 1.35.4:
-22Sep04
-- Add additional doc.
-- Implement automatic POOL_MEM type conversion to char *. Thanks
- to Martin Simmons for the suggestion.
-- Remove some unneeded function overloading -- need removed by
- automatic type conversion.
-21Sep04
-- Correct segfault in message.c with debug=200 (new code).
-- Fix bug 109 verify with no options prints garbage.
-- Add ioctl(MTIOCGET) call to clrerror_dev() in dev.c. As reported
- by Frank Kardel, this should clear error conditions on NetBSD.
-20Sep04
-- Modify the rescue script to create mount_drives with
- the order specified by Philip Nash (mkdir, mount).
-- Tweak install chapter of French manual to add new paragraph
- from English.
-- Tweak restore tree message to be a bit clearer.
-- Modify watchdog to wakeup after 60 seconds, or wakeup if
- there is work to do.
-- Modify watchdog stop routine to "ping" watchdog so that it
- stops immediately rather than after sleep time.
-- Fix btape to use new dcr blocks rather than its own.
-- Fix butil.c to correctly handle Volume names for the
- utility routines (broke when updating to dcrs).
-11-19Sep04 (vacation)
-- Implement multiple Storage specifications in the Job resource
- (AND) each containing multiple specifications (OR). Not yet functional.
- Note, this needs more work as most things now use
- job->storage[0]->first() rather than looping through devices.
-- Implement "Multiple connections = yes/no" in Catalog record for
- allowing multiple simultaneous connections to the database.
-- Add new mac.c (Migrate, Archive, Copy) to dird -- not yet implemented.
-- Implement a new POOL_MEM class that automatically allocates
- and deallocates a pool buffer.
-- Overload a number of utility routines to permit using both
- POOLMEM and POOL_MEM.
-- Start converting to using POOL_MEM.
-- There were a number of Bacula console ACL checks missing in
- ua_run.c. It allowed users to run jobs they really should not.
-- Correct a number of dates on the Copyright.
-- Overload pm_strcpy() and pm_strcat() to handle new POOL_MEM
- class.
-- Overload bash/unbash_spaces to handle new POOL_MEM class.
-- Make a *MASSIVE* pass through the Storage daemon eliminating
- all use of jcr->VolumeName and jcr->VolCatInfo in favor of
- dcr->...
-- Eliminate all all redundant arguments from calling sequences
- in SD. This poses a number of problems due to the old way blocks
- and records were allocated and released all the time. They are
- now contained in the dcr. The problem is that old habits die hard
- and there are still places where everything is not right.
-- Implement "Block positioning = yes/no" in Device resource in SD.
-
-Changes to 1.35.3:
-09Sep04
-- Add "Multiple Connections = yes/no" in catalog record. Only
- the variable is implemented, no code yet.
-- Close *all* FD unless debug on.
-08Sep04
-- Add first cut of UTF-8 support to conio. It "seems" to be working
- pretty well. Moving by words will definitely not work though.
-- Improve detection and setting of gateway in the
- network_start script.
-07Sep04
-- Modify scan code so that in most places scanning will
- continue across the end of a line.
-05Sep04
-- Begin major phase of 1.35 documentation.
-- All outstanding bugs are fixed.
-- Implement changes and improvements to rescue scripts as
- proposed by Gaurav.
-05Sep04
-- Add correction to Phil's previous patch.
-- Send all queued messages in SD and FD prior to closing down
- the job.
-- Send queued messages in Jobs before terminating the job
- so that the messages print before the job report.
-- Add a destructor so that the Console ACLs are properly
- freed.
-04Sep04
-- Implement isolinux boot disk.
-- Integrate Phil Stracchino's code (thanks for Matt's help).
- It permits lists and ranges of jobids on the delete as in:
- delete job jobid=1,3,5,11-16
-03Sep04
-- Apply Mike Acar's suggestion when looking for the next volume
- to check purged volumes for recycling before doing a purge.
-- Make some improvements to CDROM disk.
-- Take another crack at ignoring drive open() errors during
- polling.
-02Sep04
-- Add eliminate orphaned job records; eliminate admin records,
- and eliminate restore records to dbcheck.
-- replace sprintf by bsnprintf() in dbcheck.
-- Added scan target to makefile in rescue cd to print scsi
- devices.
-- Added argument to berrno::strerror() to pass errno.
-- Cleaned up a few more old strerror() calls and eliminated a
- few of the now unnecessary set_errno() calls.
-- Fixed a bug in the polling code that prevented more than 100
- label reads (insanity check disabled if polling).
-- Ignore bad return from open_device() if polling.
-- Short circuit code if fatal error return from read_label() in
- mount.c
-01Sep04
-- Add index file to JobId field of File records for PostgreSQL.
-- Correct several bugs in the job queue scheduler concerning
- rescheduled jobs: 1. The SD status was not cleared causing a
- wrong status to be displayed by Dir after rescheduling. 2. All
- rescheduled jobs became zombies because the jcr use_count was
- not decremented properly.
-- Make the Catalog resource required in Client records.
-- Order the listing of where a file is (item 2 on the restore
- menu) by StartTime.
-- Clarify when a filename only and a full path + filename must
- be entered in items 2 and 8 of the restore menu.
-- Fix logic error in resolution of names on IPv4 systems.
-
-Changes to 1.35.2 released 01Sep04:
-30Aug04
-- Inhibit printing of FileSet for a restore as it is misleading.
-- Cleaned up a number of minor scripting problems with the CDROM
- creation.
-- Fixed a race condition causing a Director crash on termination,
- if a large number of SIGHUPs were sent during a multiple concurrent
- set of backups.
-28Aug04
-- Completed integration of Rescue CD scripts with Bacula source.
-28Aug04
-- Added Ignore FileSet Changes = yes
-- Added more error checking to the spooling code.
-24Aug04
-- Applied a patch from Peter Eriksson that removes a dynamic stack
- allocation (replaced by alloca) and fixes some const problems.
-- Fixed a free() of a static variable in the new IP code bnet.c
-- Got the new Bacula Rescue CDROM booting.
-- Replaced a dynamic template by a simple store when using the
- native C compiler.
-- Reworked some of the block.c error handling.
-- Changed a Dmsgx(000, to Dmsgx(100 in dev.c that was dumping
- debug output on a user.
-- Integrated patch from 1.34.6 block.c to 1.35
-17Aug04
-- Fix conio.c problem on Solaris.
-- Add debug code to lock_jcr_chain().
-- Lock jcr chain around less code.
-- Implement call by reference for Mmsg() and pm_strxxx() to
- simplify calls.
-- New IP address specification is used as follows:
- [sdaddresses|diraddresses|fdaddresses] = { [[ip|ipv4|ipv6] = {
- [[addr|port] = [^ ]+[\n;]+] }] }
-
- so it could look for example like this:
- SDaddresses = { ip = {
- addr = 1.2.3.4; port = 1205; }
- ipv4 = {
- addr = 1.2.3.4; port = http; }
- ipv6 = {
- addr = 1.2.3.4;
- port = 1205;
- }
- ip = {
- addr = 1.2.3.4
- port = 1205
- }
- ip = {
- addr = 1.2.3.4
- }
- ip = {
- addr = 2001:220:222::2
- }
- ip = {
- addr = bluedot.thun.net
- }
- }
- as a consequence, you can now specify multiple IP addresses and
- ports to be used. In the case of a server, it will listen on
- all those that you specify. In the case of connecting to the server,
- Bacula will attempt connecting to one at a time until it succeeds.
- And, in a few other special cases, Bacula will use only the first
- address specified.
-
- The default port numbers are still the same and the services and hosts
- are also resolved by name. So now you could use the real names for the
- port numbers.
-
-Changes to 1.35.1:
-14Aug04
-- Print error message if Alert Command fails in bpipe_open().
-- Doc Alert command.
-- Eliminate unnecessary class in findlib/attribs.c
-- Add necessary empty files to new tray-monitor directory.
-13Aug04
-- Implement Class with template in findlib/attribs.c to do casting
- of uint64_t into stat packet types to avoid compiler warnings.
- Thanks to Meno for this idea.
-- Make some modifications to satisfy VC++.
-- Apply Martin Simmons' second patch to compat.cpp to fix the line
- I previously missed.
-- Apply Meno's fix to bnet that corrects use of ipaddr after free_addresses,
- back out my kludges, and it works.
-- Modified configure.in to by default add -Wall.
-12Aug04
-- Found some problems with printing IP addresses -- will notify Meno.
-- Added printing Pool to Job report.
-- Fixed several places where dlists were not being released
- (term_job_server, ...)
-- Started implementing New() for dlists. Spent a lot of time,
- but could not get it to work.
-- Fixed a mutex deadlock between the job queue scheduler and the
- watchdog.
-- Made add_address() static.
-- Added bsnprintf to address_conf.c
-10Aug04
-- Apply Marin Simmons patch to inet_aton() in compat.
-06Aug04
-- Build on Win32 -- required a few changes because of new IP code.
-- Implement program reader code in Dir and FD -- not tested, and
- a few corrections for writer code are needed in FD.
-- Rework SQL for pruning. Add Admin pruning. Prune failed
- jobs in Verify and Restore.
-- Don't put commas in listing produced in restore so that users
- can cut and past JobIds without having commas in the way.
-- Change size_t to socklen_t in filed.c -- reindent a bit.
-- Remove addr_list->size from buf size definition in bnet.c
-- Create a Developer's document.
-- Add prompt for Update volume from pool and update all
- Volumes from pool.
-05Aug04
-- Implement user friendly time duration input editing.
-- Add buf len argument to edit_utime().
-- Added eliminate orphaned Client records to dbcheck.
-04Aug04
-- Implement Alert Command in SD Device conf.
-- Fix updating a Volume from the pool record -- it never changed
- anything.
-- Implement updating all Volumes from pool record.
-- Add patch by Denis Shaposhnikov that fixes excludes of directories
- in new style FileSets.
-03Aug04
-- Merge Meno's IPv6-1 code.
-- Update License to terminate rights of anyone suing a GPL licensor.
-- Add Pruning doc sent by Bryce Denney
-- Correct inconsistencies in restore command doc pointed out by user.
-- Don't edit commas in SQL intergers if they are not stricly integer.
-30Jul04
-- Update all pools in all DBs when starting the Director.
-28Jul04
-- Implement final cut of berrno and update Win32 code.
-- Update copyright to include a termination clause. Add copyright to
- binaries.
-- Implement .backups client=xxx for Nicolas.
-27Jul04
-- Make first cut at implementing berrno class to handle Unix, Win32
- and bpipe errors. Bpipe still needs to be implemented.
- This fixes (not yet tested) the Win32 errno problems in the compat lib.
-- Fix btape compile problem reported by Martin Simmons -- thanks.
-- Add ./configure detection of sys/tape.h
-26Jul04
-- Apply two fixes to recent changes to dev.c submitted by
- Martin Simmons.
-24Jul04
-- Add checks in btape for correct size of off_t, and correct editing
- of 32 and 64 bit values.
-- Move supported OS/hardware into a chapter by itself.
-- Fix bscan, which did not handle walking dcr list.
-- Remove old attach_jcr_to_device() code.
-- Fix config from Andy Wettstein's patch to use bitypes.h and detect
- uint32_t, ... definitions.
-- Fix a few compiler warnings because of casting pointers to int and
- vise versa.
-- Do some minor cosmetics to query.sql. nothing changed.
-- Don't call stop_thread_timer() in backup.c if timer not started.
-- Fix bug with out of order JobIds on restore.
-- Make watchdog examine queues once every 10 seconds instead of once
- a second.
-22Jul04
-- Add more bools to dev.c
-- Fix walking attached DCRs in bscan.c
-21Jul04
-- Doc updates
-- Start work on rescue files. Integrated RAID changes.
-- Print a message when query.sql moved to query.sql.old during install.
-- Move setting of FreeBSD chflags() to after utime() to avoid error
- messages is immutable bit is set.
-18Jul04
-- Turn off heartbeat in FD when -s is given so that we can
- debug without a flood of signals.
-- Close and reopen the device during an append test in
- btape. This better tests appending as if Bacula stops/restarts.
-- Remove old attach/detach_jcr_to_device() code
-- Add new attached_dcrs code.
-- Remove unnecessary subroutine for bsnprintf.
-- Replace sprintf() by home-grown code in edit_uint64 ...
-- Begin implementation of dev->attached_dcrs.
-17Jul04
-- Remove scripts/fd.in from configure.in
-- Add printing of JobId when a Job is started from the console.
-16Jul04
-- Remove fd/fd.in from scripts directory.
-- Fix a number of bugs in dbcheck concerning the -c option
- (i.e. with a config file).
-- Made RH start scripts use -u and -g options.
-- Many more DCR changes.
-- Add job message indicating that the job has been rescheduled
- and when.
-- Fix job end time so that it is always updated. Previously it
- was not updated when a job was rescheduled.
-- Correct SQL for restoring job by path/name. It could sometimes
- pickup the wrong JobId -- submitted by a user.
-- Add a number of "%s" in editing database errors -- security issue.
-- Ensure that the NumVols is incremented and decremented in the
- pool record when Volumes are created or deleted.
-- Cleanup error handling when labeling a tape. If vol was read-only,
- the device would still be marked as having found a label.
-09Jul04
-- Put ftCreationTime into st_ctime of stat packet. Hopefully
- this will fix the problem of noticing files have been moved
- into the save path after a Full save.
-- Fix bug in "status dir" where not all entries are listed.
-- Cleanup some improper result printing in configure.
-- Optimize a couple of insertions in binary_insert of dlists.
-
-Release 1.35.0 08 July 2004:
-08Jul04
-- Apply Christopher Hull's const patch for PostgreSQL
-- Add code to block.c to detect if block header is destroyed.
-- Add debug code for memset checking for zeroing 1900-3000 bytes
- which is what happened to the block headers.
-- If block header is destroyed, read the next block. Probably
- should return with new status similar to the SHORT block
- return.
-- Add more debug info to bls for bad blocks.
-- More implementation of DCRs.
-07Jul04
-- Eliminate argument passing in SD by using dcr.
-- More int->bool conversions.
-- Add file:block to a number of read/write error messages.
-04Jul04
-- More int -> bool conversions.
-- Modify the SD piece by piece to use DCRs everywhere.
-- Cleanup some printout for query command.
-- Fix typo in cats/mysql.c
-- Work on cleaning up tape driver a bit (use bools, better calling
- sequences).
-- Attempt to fix multi-Volume disk backup. Needs to be tested.
-01Jul04
-- Add Regular expressions to FileSet options.
-- Correct configure.in to use ${MAKE} for doing the dependencies.
-- Make MySQL and PostgreSQL try for 30 seconds to connect before
- giving up.
-- Correct Gnome 1.4 Makefile to build without cats library.
-- Correct a crash reported (with patch) by Jonathan Soong
- when attempting to backup an ACL on a symlinked file.
-27Jun04
-- Fixed an off by one bug in the new resources pointer code.
- res_head array was one too small.
-- Added Errors to last_job list. This allows detecting jobs
- that terminated in a warning.
-- Implement setting the Win32 icon to yellow instead of red
- when the job terminated OK but with warnings.
-- Fix the Win32 makefile and VC project file. The links were
- not including the Win32 dlls.
-- Delete some old Win32 code that was turned off.
-- Eliminate a few more Win32 compiler warnings.
-- Reduce the output produced by NIS (Win32 install builder).
-- Simplify some of the #ifdefing in compat.h
-26Jun04
-- Rewrite spooling error handling when I/O error occurs. It is
- a bit tricky, requiring to truncate the file so that a despooling
- will work correctly. Needs to be tested.
-- Make better subroutines for setting up for a new job.
-- Start putting all DB ids on #defines (going to 64 bits).
-- Fix gnome-console Makefile.in to work again.
-- All "level=Incremental/Decremental" to the estimate command. This
- required some re-arrangement of subroutines at a fairly low level.
-25Jun04
-- Apply Piotr Jaworski's patch (patch-r-status.diff) to update the
- catalog status when a backup job starts running.
-24Jun04
-- Add (char*) cast to readline call in console.c for old readlines.
-- Copy Makefile.in from gnome2-console to gnome-console (to eliminate
- need for cats library).
-- Modify spooling code to handle write error (e.g. spooling disk full)
- more gracefully. Previously despooling would fail.
-22Jun04
-- Reduce casting in smartall.c a bit and add counters for
- bytes, max_bytes, buffers and max_buffers.
-- Fixed reload algorithm to stack both job end callback and the
- table id.
-- Fixed the orphaned buffer after reload (job_end_push had to be
- destroyed.
-- Destroy cond var (jcr->term_wait) only if initialized.
-21Jun04
-- Sort the Scheduled Jobs list by start-time, priority.
-- Implement resources on a pointer.
-- Fix Gnome console crash on up/down arrow with no history.
-19Jun04
-- Finish first cut of SIGHUP code. To make really work need res
- on a single pointer rather than in fixed memory.
-- Fix a number of places in query.sql where multiple JobIds are
- printed (due to JobMedia records).
-- Add new query: List jobs on Volume given Volume name.
-- Correct socket close on Win32 in bnet.c (in addition to compat.cpp).
- Caused fd leak in Win32 for each connection.
-- Remove vol labeled test in askdir update_volume_info so that non-labeled
- Volume in catalog can be marked in error.
-- Close socket in SD when connection rejected. Caused fd leaks.
-- Initialize job_start_wait cond variable after every new_jcr() otherwise
- NetBSD gets error in library when trying to delete it without being inited.
-- Fix typo (9 instead of 0) return status in write_new_volume_label.
-- Fix mount.c to call routine that correctly marks a volume in error.
-- Move code to rewrite volume label to subroutine -- a bit cleaner.
-18Jun04
-- Finish implementation and testing of new restore tree code.
-- Implement feedback while tree is loading.
-- Eliminate printing INFO message in UpdateDB (cats) -- it generates
- "false" error messages.
-- Eliminate some GTK error messages when running the Gnome2 console.
-16Jun04
-- Begin restructuring tree.c for inclusion of the binary_insert()
- routine.
-- Apply Peter Eriksson's lib file order changes in linking for IRIX.
-- Abort configure if Internal is selected as the database.
-- Add testimonials to the Web page
-- Add the bugs list to the Web page "lists".
-- Clarify the English in SuSE and Slackware when SD not running.
-15Jun04
-- Applied another extern "C" patch from Peter Eriksson.
-- Fixed a bunch of VC warning messages.
-- Applied the patches sent by Andreas Jellinghaus: build Gnome and
- wx-console in client-only build if configured; add ./configure option
- to permit setting of sbin modes -- default is 0745 as before; remove
- cats library from Gnome console build; remove old version from Gnome
- About box. Thanks Andreas.
-14Jun04
-- Applied Peter Eriksson's const changes to the source code. Thanks Peter.
-- Implemented a binary_insert() method for dlists -- intended to be used
- in the restore tree routines.
-- Turned on my bsscanf() code, which replaces sscanf() by my routines, which
- are a subset of sscanf() used by Bacula, but which have known 32/64 bit
- behavior rather than vendor dependent !@#$%*.
-
-2004-07-30 Version 1.34.6 28Jul04 Release
-28Jul04
-- Fix a restore bug where the backups could be
- applied out of proper order possibly restoring an old version
- of a modified file.
-- Fix for restore selection of a file by name, where it was
- possible to select a file from the wrong Client.
-- Fix segmentation fault during backup of a symbolic link
- with ACLs turned on.
-- Fix a minor compile error in wx-console.
-- Fix a bug in despooling when the spooling disk partition becomes
- totally filed or gets I/O errors.
-- Fix a memory leak in PostgreSQL, and make Bacula retry 5 times if
- connecting to the DB fails.
-- Retry 5 times if connect to MySQL failes.
-- Fix linking the gnome-console
-
-2004-06-22 Version 1.34.5 21Jun04 Release
-21Jun04
-- Fixed Gnome crash on up/down arrow with no history.
-- Fixed btape "fill" crash with multiple tape option.
-19Jun04
-- Fix a number of places in query.sql where multiple JobIds are
- printed (due to JobMedia records).
-- Add new query: List jobs on Volume given Volume name.
-- Correct socket close on Win32 in bnet.c (in addition to compat.cpp).
- Caused fd leak in Win32 for each connection.
-- Remove vol labeled test in askdir update_volume_info so that non-labeled
- Volume in catalog can be marked in error.
-- Close socket in SD when connection rejected. Caused fd leaks.
-- Initialize job_start_wait cond variable after every new_jcr() otherwise
- NetBSD gets error in library when trying to delete it without being inited.
-- Fix typo (9 instead of 0) return status in write_new_volume_label.
-- Fix mount.c to call routine that correctly marks a volume in error.
-18Jun04
-- Eliminate printing INFO message in UpdateDB (cats) -- it generates
- "false" error messages.
-- Eliminate some GTK error messages when running the Gnome2 console.
-16Jun04
-- Apply Peter Eriksson's lib file order changes in linking for IRIX.
-- Abort configure if Internal is selected as the database.
-- Add testimonials to the Web page
-- Add the bugs list to the Web page "lists".
-- Clarify the English in SuSE and Slackware when SD not running.
-15Jun04
-- Applied the patches sent by Andreas Jellinghaus: build Gnome and
- wx-console in client-only build if configured; add ./configure option
- to permit setting of sbin modes -- default is 0745 as before; remove
- cats library from Gnome console build; remove old version from Gnome
- About box. Thanks Andreas.
-
-2004-06-09 Version 1.34.3 09Jun04 Release
-12Jun04
-- Enhance regression scripts.
-- Apply Tim Oberfoell's ACL patch.
-11Jun04
-- Implement bsscanf() because sscanf on FreeBSD amd64 stores
- in 64 bit words for %ld. Turned on for the moment only for
- FreeBSD amd64.
-- Fix all conversions of ptr to int to use (long unsigned) this
- works on i386 and amd64.
-- Add mtimeonly and keepatime to new Options list -- omitted before.
-- Add a bit more authentication debug code.
-- Start variable name/overload cleanup in SD
-- Fix sscanf() in askdir.c scanning into bool to use local int.
-- Make max_spool_size int to allow proper arithmetic.
-- Remove trailing junk on sscanf() of "Hello Start Job" in SD.
-- Make ask_sysop_to_mount_volume() always ask sysop.
-- In SD mount.c, if get I/O error or read label error on non-removable
- Volume, mark the volume in error and retry.
-- In SD mount.c, if non-removable volume, never ask sysop to mount. We
- ask sysop if there are no appendable Volumes though.
-- The above 3 items fix the looping error Bacula would get if the
- Volume was in the catalog but didn't exist -- or was zero bytes
- long.
-10Jun04
-- Implement | and < in FD for new FileSet files.
-- Implement simplistic attribute spooling statistics in status.
-- Make storage=xxx on restore override the restore default.
-- Fix an uninitialized stack variable in append.c that caused data
- corruption on amd64 machines and *could* cause the same on other
- machines.
-- Fix a seg fault in automatic tape labeling.
-- Eliminate a PoolId=nn when zeroing the InChanger flag for a Volume.
-- Add a bit more debug info to bls.c
-- Clear InChanger flag during "update barcodes" if no VolName present,
- i.e. no Volume in Changer.
-- An update pulled in Christopher Hull's fixes to the client program
- execution on Win32 to search the path and use COMSPEC. New rules
- apply!
-- Fix UpdateDB to complain if mum_rows < 1 rather than != 1.
-
-
-2004-06-09 Version 1.34.3 09Jun04 Release
-09Jun04
-- Add missing FT codes in new FileSet callback, which caused error
- return on unchanged directories.
-08Jun04
-- Fix "update volumes" move from one pool to another.
-- Change default search location for PostgreSQL -- thanks
- to Hans-Ulrich Schaefer.
-06Jun04
-- Zero Slot if not autochanger in stored/mount.c
-- As a last ditch effort to mount the next tape in mount.c, zero slot
- and ask sysop.
-- Win32 status was picking up the first status in the list job terminated
- jobs instead of the last.
-05Jun04
-- Add additional fields to llist pools
-- Correct some minor label scan problems with update slots
-- Ensure correct Pool is used with tape cleaning prefixes.
-- Eliminate false error message in update slots (slots taken as
- Storage device).
-02Jun04
-- Print "Unimplemented" message if user does reload command in Console.
-- Add DISTINCT to Volumes for restore in query message (user supplied fix).
-- Fix crash in btape during read after fill -- important bug.
-- Turn config parse ABORTs into ERROR_TERM in Storage daemon.
-- Add dbcheck enhancements submitted by Mano Abels and
- Jose Luis Tallon.
-- Update autoconf files to latest version.
-01Jun04
-- Modify jobq scheduler to require exclusive use of the Storage device
- before starting it.
-31May04
-- Eliminate a few compiler warnings on Win32
-- Change Win32 to use btimers instead of timers.
-- Remove two returns in void subroutines in wxbconfigpanel.cpp
-30May04
-- Apply Christopher Hull's check for error return from open_bpipe()
- in filed/job.c
-- Be sure to clear *all* bits in hourly when an hour is given.
-- Apply a user fix to query.sql
-- Check status code returned from _open_osfhandle in compat
-28May04
-- Apply Peter Eriksson's bug fixes.
-- Add Alpha (tru64) submitted by Scott Bailey.
-- Update manual
-- Add new Autochanger to list supported
-- Cleanup src dir better after glade trashes it with junk
-- Make another attempt to get hourly, daily, ... keywords working
- intuitively and correctly.
-- Prevent seg fault when no job name specified on "status job"
-- Rename timers.h/.c in lib to prevent conflict on some machines
-- Trap NULL DCR in block.c
-- Add additional info to failed btape test pointing user to manual.
-- Undefine DCR, which is defined on some stupid systems.
-- Fix stored/dircmd.c not to quote Volume name on label query so that
- "update slots scan" works right (the quotes confused it).
-- Fix autochanger.c not to attempt to unload a slot if the prior loaded
- request returned -1.
-01May04
-- In testing for Mike Acar's problem. I *finally* found and nailed
- the mount command that did not release a waiting job. The return
- of a stolen lock forgot to broadcast.
-- In examining Mike Acar's problems, it appears that the Bacula
- block size is not always set to a multiple of 1024. I've modified
- block.c to do so.
-30Apr04
-- Add Excludes to new FileSet handling.
-- Fix bsmtp.c to correspond to RFC-2821 by removing extra spaces.
-29Apr04
-- Implement new style FileSets in both the Director and in the
- File daemon. No filters yet. Both old and new styles work.
-28Apr04
-- Apply the fixes Chris Hanson sent for mtx-changer and for detecting
- PostgreSQL on debian.
-- Rework File Options document
-- Re-begin work on File Options.
-- Add define for nl_langinfo in configure
-- Add additional tape drives sent by Jesse.
-27Apr04
-- Modify syslog in win32/compat to throw up a MessageBox().
-- Inhibit sending daemon messages to stdout if Win32 is set.
-- PostgreSQL performance updates from Volker Goetz
-- DB script updates suggested by Dan
-- Doc updates
-
-
-2004-04-26 Version 1.34.2 24Apr04 Release
-24Apr04
-- Get production build on Win32 of wx-console working -- mostly a problem
- of getting the paths right and installing and building wxWidgets.
-23Apr04
-- Make SD utility programs accept device name as well as archive device
- on command line.
-- Update docs
-22Apr04
-- Fix one off bug in StartBlock in bscan -- thanks to Gregory Brauer for
- reporting this.
-- Remove old debug code from Win32 FD.
-
-2004-04-20 Version 1.34.1 20Apr04 Release
-18Apr04
-- Found and fixed SD crash during restore.
-- Added FreeBSD Bare Metal Recovery documentation by Alex Torres
- Molina and others.
-- Added nice graphics produced by Aristedes Maniatis giving an
- overall view of Bacula.
-- Changed textdomain to be "bacula" in all progs.
-- Fixed a major race condition in the job scheduler when multiple
- simultaneous jobs is enabled. This occurred only when on job had
- blocked another because of resource usage. This caused a deadlock
- and CPU usage. Reported by Michel Meyers.
-- Changed the backup report to indicate "Backup OK -- with warnings
- if any warning messages were generated.
-- Change output of restore report to indicate:
- "Restore OK -- warning file count mismatch"
-- Make backup report say "Backup OK with warnings" if either FD or SD
- report any non-fatal errors.
-- Modify bscan to print some elementary statistics (#Jobs, #Files, ...)
- added to catalog.
-16Apr04
-- Modify bscan to print some elementary statistics (#Jobs, #Files, ...)
- added to catalog.
-15Apr04
-- Added --enable-wx-console and updated Makefile.in
-- Fix mtx-changer so that the calling sequence is compatible
- with the previous version (the new one required arguments that
- were not necessarily used).
-- Document how to use stunnel with Bacula.
-13Apr04
-- Fix crash in query command.
-- Remove schedule from the default restore job.
-- Fix data spooler to use min/max tape blocking factors.
-- Automatically turn of conio if library not found instead of bombing.
-- Cleaned up a lot of copyright dates.
-- Try to keep spool statistics from going negative.
-- Integrated wx-console code from Nicolas Boichat.
-09Apr04
-- Added new Pools chapter. Doc about using two disks.
-- Attempt to keep the spool file statistics size from going
- negative.
--8Apr04
-- Fix the Director's Scheduled Jobs: list to have a ===
- termination.
-- Fixed ./configure to disable readline rather than stop if
- readline.h is not found
-- Fixed a typo in the SQLite database update script as reported
- by Robert J. Clark - thanks.
-07Apr04
-- Removed src/win32/pthreads and src/win32/zlib from the source
- tree.
-- Created a new depkgs-win32 that has the pthreads and zlib source
- code.
-- Removed the JobDefs from the default Restore job as it has a
- schedule. Thanks to Matt Howard for this.
-
-
-2004-04-06 Version 1.34.0 06Apr04 Release
-06Apr04
-- Turn off SIGQUIT in console.
-05Apr04
-- A good number of document updates.
-- Fixed the order which multiple files are accepted for
- inclusion in the restore tree due to the fact that PostgreSQL
- returns files in a different order from their insertion.
-02Apr04
-- Fix autochanger test in btape. It used old editing routines.
-- Fix run_program to return 0 if program runs and no output.
-- Add more debug to run_program.
-- Make signal debug print signal string.
-01Apr04
-- Build console with client-only build.
-- Add better error messages to some of the db_xxx routines.
-- Apply Christopher Hull's patches for proper Win32 shutdown.
-- Eliminate True and False in favor of true and false.
-- Put correct thread id in jcr once the correct thread is running.
-- Zap head and tail pointers in dlist when everything is removed.
-- Rework sm_dump() so that it won't overrun a buffer when editing
- and error message.
-- Fix watchdog to properly remove entries while walking the
- dlist chain.
-- Fix termination of last_jobs list by removing broken code.
-31Mar04
-- Update dbcheck to fix Paths without a trailing slash and Filenames
- with a trailing slash.
-30Mar04
-- Add -p option to all SD programs including bacula-sd. It causes
- Bacula to proceed or forge on in case of I/O errors. It is unlikely
- this will help, and it is strongly recommended against running
- the daemon with this option in production.
-- Tweaked the Makefile not to create the gnome directories except
- when doing a gnome install.
-28Mar04
-- Implement Qmsg() queuing of messages to prevent recursion especially
- for bnet.c where recursion is fatal.
-- Add detection of ncurses if the termcap lib is not found.
-- Tweak winabout -- start cleanup.
-- Fix dlist again, when list is destroyed, be sure to null head and
- tail pointers.
-27Mar04
-- Make the default for restore to have nothing marked.
-- The "all" keyword on the restore command marks everything by
- default.
-- The "done" keyword on the restore command prevents user interaction
- with the tree routines -- used mainly for scripting (regression ...).
-- Correct a bug in the last_sibling code.
-- Add alphabetic sorting of siblings so the "dir" and "ls" commands
- during restore show files in alphabetic order.
-25Mar04
-- Based on Mike Acar's suggestions rework tree insert routines. Improve
- performance by using a last_sibling link for inserts.
-24Mar04
-- Apply corrected SQL to sql_get.c supplied by Dan Langille.
-- Implement "delete job jobid=xxx jobid=yyy ..."
-- Implement "purge volume=xxx volume=yyy ..."
-- Fix buffer overrun in query string substitution.
-22Mar04
-- Fix bad format %s instead of %d for editing new slot in update volume.
- Reported by Vadim Zotov.
-- Better error diagnostics in ./configure for detecting termcap library.
-20Mar04
-- Restore old sql.c split_path and file name since it seems to have
- broken the Verify stuff.
-19Mar04
-- Hunt down missing free_locked_jcr() in SD that caused zombies.
-- Modify status outputs to be more consistent for zombie checking.
-- Add tests to regression script for zombie jobs.
-- Set EIO in dev_errno for all error returns when bad data found. This
- fixes ERR=Success messages.
-- Make error messages all contain ERROR for easy regression testing.
-- Add sanity check in DIR for VolFiles becoming smaller.
-18Mar04
-- Second cut GTK+ restore GUI. Ready for testing but much more to do.
-- Phil reported an sql path length=0 message. This broke saves of
- / -- fixed in scan.c
-- Fixed seg fault in btape "test" due to missing allocation of dcr.
-- Tweaked some btape messages.
-- Sort Volume names in Job report according to the order they were
- written -- user request.
-17Mar04
-- First cut GTK+ restore GUI.
-- Applied bsmtp patch supplied by a user. Thanks.
-- Made a new split_path_and_filename() subroutine -- in lib/scan.c
-15Mar04
-- Fix "typos" in RedHat install-autostart Makefile.in
-13Mar04
-- Added two tar files that Phil sent for adding slackware support.
- Thanks Phil and Matt Howard.
-- Fix relabel command -- || should have been &&.
-- Correct once more the scheduling algorithm -- this time it should
- be much better.
-12Mar04
-- Implement simple spool statistics printed by "status sd".
-- Cleanup/add spool error messages.
-- On multiple ctl-c, exit from console quickly.
-- Implement code to select a different Volume in the SD if the
- current Volume is busy -- requested by Patrick Cole.
-- Change postgreSQL make tables to use bigint instead of integer
- for StartBlock and EndBlock because
- there is no unsigned integer in postgreSQL and these fields use 32 bits.
-- Implement multiple drive autochanger support -- prompted by email of
- Patrick Cole.
-11Mar04
-- Update version and date in Win32 build.
-- Fix bug in run_conf with month range zapping wday and wom.
-- Correct editing of port for PQsetdbLogin in postgresql.c as reported
- by J. Conroy, and do a second try.
-10Mar04
-- Integrate Phil's Makefile patch.
-- Add SpoolDirectory to SD Device resource.
-- Add MaximumJobSpoolSize to SD Device resource.
-- Add MaximumSpoolSize to SD Device resource.
-- Implement the above.
-- Make despooling lock the device so only it writes
- to the device during despooling.
-09Mar04
-- Data spooling now passes the regression tests.
-- Added "Files Expected" to the restore job report.
-- Implemented SpoolData = yes/no in the Job resource
-- Implemented SpoolData = yes/no in the Run overrides.
-- Note, you must have a 1.33.4-09Mar05 SD or later with the Director since
- the DIR->SD protocol has changed to support data spooling.
-- Remove the confusing "Which DBMS do you want to use (please select only one):"
- messages from ./configure.
-- Fix broken Jmsg with missing argument in find_one.c
-08Mar04
-- Second cut data spooling code.
-- Fix missing piece of yesterday's patch.
-07Mar04
-- Integrate patches supplied by Jason Conroy that fix Slot numbers
- getting lost.
-06Mar04
-- This version contains a *major* addition to the SD structures.
- Many variables have been moved out of the JCR into a new DCR
- (Device Context Record). This required quite a few changes, and
- introduced a bit of instability. In the end, after a few more
- rounds of changes, the DCR will replace virtually all arguments
- to the low level SD read/write routines. This change permits
- (with a bit more code) the SD to write to multiple devices at
- the same time for a single Job. It also facilitates adding the
- data spooling code.
-- Added a patch that fixed the port specification for postgresql.
-- Fixed findlib/find_one.c so that it will complain about backing
- up a hard linked file twice, which makes a restore impossible.
-- Tighten up permissions on pid file.
-- Attempt to avoid warnings when casting 64 bit pointers to an
- integer.
-- Added skeleton code for data spooling.
-- Make sure spooled attributes are discarded on error.
-03Mar04
-- Updated getdiskinfo in rescue/linux to handle the fact that the
- sfdisk -s option now includes info on partitions. Also, before
- creating the diskinfo files, clean out the old ones.
-02Mar04
-- Add debug and error output to jobq.c
-- Fix some minor errors in debug output of scheduler.c
-- Add "trace on/off" command and modify trace code in message.c
- to work off trace flag rather than #defines.
-01Mar04
-- If console is found during install warn user (new name is bconsole).
-- On install copy console.conf to bconsole.conf if it exists.
-- Make RunAfterJob error non-fatal.
-- Rework minor details in status output.
-- Attempt to define all values for "consoles" in JCR to avoid
- confusion.
-28Feb04
-- Use net start bacula to start Bacula on WinXP/NT/2K
- systems after installation.
-- Change a few strcpy()s to bstrncpy()s in signal.
-- Add "gui on/off" command to console to turn on gui mode,
- which will adapt Bacula better to batch or gui programs.
- Currently, it prevents commas from being inserted into
- numbers in the list command.
-- Tweak some of the Makefiles so that the install is done with
- the right program (nothing really changed).
-- Install logrotate in the "make autostart" of Bacula on RedHat.
-- Implement SIGHUP while jobs are running. It *seems* to work but is
- a bit fragile and still crashes if you push it. More work needed.
-- Applied Phil's GNOME 1.4 patch. Very clean. Thanks Phil.
-- Major updates to the native Win32 installer.
-27Feb04
-- Restructure free of conf resources to handle job_end_push()
- and SIGHUP. Lots of changes little substance.
-26Feb04
-- Add mtimeonly=yes/no and keepatime=yes/no to Include list
- 1.33 style.
-- Allow no modifier in time and size specifications.
-- Attempt to implement disk seeking. More work needed.
-- Implement more in win32 installer and test it.
-25Feb04
-- Implement kb, mb, and gb modifiers for size, which mean
- 1,000 bytes, 1,000,000, ... bytes.
-- Add Makefile to src/win32 to allow building the full
- release -- it calls nmake where appropriate.
-- Remove the rsi directory from win32 as suggested by Christopher
-- Add Michel Meyers' nsi file to win32 and integrate it with
- the build.
-24Feb04
-- Add the frigging _O_BINARY to the right variable. Win32 works!
-- Add debug code to state file. There is a problem with Win32 read
- returning one byte less than it should.
-- Implement a number of new functions for alist so that it has
- equivalent functionality to dlist. It will be used for
- job_end_push().
-- More work on state file.
-- Added a popup message box on Windows if Bacula Aborts.
-- Attempt to shutdown the FD server, but doesn't work on Windows. This
- would have given a cleaner shutdown, no problem.
-23Feb04
-- Update projects
-- Attempt to fix state file on Win32 -- no luck.
-- Add HPUX tweaks to configure.in
-- Update quickstart and install.wml of doc.
-- Eliminate extern int h_errno from bnet.c by including netdb.h
-- Eliminate NumJobs from last_job structure so that FD and SD
- correctly report what is in the state file.
-22Feb04
-- Implement daemon state file, and save/restore last_jobs list.
-- Fix time routines in win32 compat.cpp
-- Fix a bug of not checking the bpipe_open() status in do_shell_expansion().
-21Feb04
-- Add Volker's bacula script to the SuSE directory and convert it
- to bacula.in
-- Make LockRes() and UnlockRes() use read/write locks and have
- debug info to trace locking and unlocking.
-- Begin work of implementing SIGHUP. It is now enabled for
- the Director and works only if there are no jobs running,
- in addition, if the new conf file is incorrect, it will
- terminate Bacula. Much more work to be done. I've figured
- out a scheme to implement it with running jobs without
- adding individual semaphores or use counts.
-- Sort "list jobs" by StartTime rather than JobId, which can
- be random.
-16Feb04
-- Add a lot of "const" to char * arguments to keep the native
- Sun compiler happy.
-- Added first cut of message queuing to prevent recursion in
- low level routines. This code is not yet working.
-- Spent a *huge* amount of time looking at the tape driver
- code in the wake of several reports of tape labels getting
- trashed. The code looks fine.
-- Created a tape with an error (by writing a block at the
- beginning of a tape that had valid data), and found that
- Under Linux there is no way to read past an I/O error.
- I tried mt; I tried my own program (btape); and I tried
- using scsitape, which talks directly to the scsi driver.
- This is *VERY BAD* news.
-- I spent an *enormous* amount of time enhancing the btape
- test program as well as making the fill command work with
- both one and two tapes and the autochanger if configured.
- The multiple tape fill test is now quite comprehensive.
- It checks the last block on the first tape, the first block
- on the second tape, and the last block (11) on the second
- tape.
-- Teaked the tape driver for several functions to use the
- OS driver's notion of mt_file if there is an error.
-13Feb04
-- Add DB update scripts retrieved by Scott to a new updatedb
- directory at the top level.
-- Add -p option to bcopy to allow ignoring errors on input.
-- COALESCE(xx,0) does not work on PostgreSQL because the 0 is not a
- correct time. Replaced by adding LastWritten IS NULL to the sort
- line as was first suggested by JML.
-12Feb04
-- Use COALESCE(LastWritten, 0) in sql_find.c to get NULLs to sort last.
- See note above.
-- Add write/read and positioning test to btape "test" program.
-10Feb04
-- Fix bad printf of InChanger flag reported by Pascal Pederiva.
-- Fix bad indexing off stack in authenticate.c reported by
- Pascal Pederiva.
-09Feb04
-- Add \n to hosts.access reject message.
-- Implement security message class and make hosts.access message use
- that class.
-08Feb04
-- Fix check_memory bug in ua_query.c, which gives a bus error on Solaris.
- This affected only the query command.
-07Feb04
-- Added backup to cdwriter script to examples provided by Johan Decock.
-- Fixed a bug where ls really did lsmark (just invert command table
- entries).
-- Fix bug where a soft linked file and a directory had the same name
- by treating the soft link as a directory and putting the entries under
- it. This fixes the bug reported by Alexander Mueller.
-- Fix a deadlock situation in the new watchdog code where the
- watchdog locks its semaphore, and attempts to lock the jcr_chain,
- but another thread has locked the jcr_chain and wants to free a
- watchdog, which tries to lock the watchdog semaphore -- deadlock!
- Used read/write locks to solve the problem.
-- Improved the error messages when I/O errors or buffer id errors
- are detected, and prevent non-sense errors from being printed.
-- Fix some incorrect messages in restore if no name is supplied
- on the command line (e.g. pool= ).
-- Add the third digit to the release version number.
-04Feb04
-- Add -l option to bls that causes it to ignore tape label errors.
-03Feb04
-- Correct problems with jobs scheduled at a later time by hand.
- Missing unlock(), backward test on pthread_create status.
-- Fix setip crash reported by Alan Brown.
-- Create bacula.spec.in in SuSE directory from Scott.
-- Fix missing unlock() in ua_status on access denial.
-- Lots of little cleanups, improving jcr use_count debug printing.
-- Add EMSG to mem_pool utilization statistics.
-01Feb04
-- New bacula.spec.in file from Scott
-- Add Scott's spec file to the platforms/suse directory
-- Modify configure.in to make platforms/suse/bacula.spec
-- Do not allow a resource name to be specified twice.
-
-2004-01-30 Version 1.33-30Jan04 Release
-30Jan04
-- Apply Jess Guardiani's second fix to list autochanger volumes without
- opening the drive (necessary on FreeBSD if no tape is in the drive).
-- Added Postgresql configure search libraries recommended by Alan Brown.
-29Jan04
-- Reworked the command line handler in restore to walk through the
- arguments one at a time. This makes the file= entries work correctly.
- Also reworked the code that takes the MediaType and finds a
- storage device.
-26Jan04
-- I've noticed that the backups of Rufus, my development machine, can be
- "stuck" for about 12 hours, then suddenly they run. In running the
- debugger, I see that it was stuck on the select() statement waiting
- for the Hello. Why this happens I am not sure. I re-organized the code
- a bit because it didn't seem to be as robust as it could, but I cannot
- explain the problem.
-- As a consequence of the above, I have implemented a new bsock timer that
- can be started and stopped. This is based on Nic Bellamy's new watchdog
- code. The timer is set with start_bsock_timer(bsock, timeout); If the
- timeout expires, the bsock will be marked as timed_out and interrupted
- with a pthread_kill() on the current thread.
-- Added 5 minute bsock timers to all the opening Hello/authentication
- exchanges between the various daemons.
-24Jan04
-- New spec file from Scott.
-- New patch file from Scott for create_sqlite_database
-- Fix crash in run command if invalid pool specified on the command line
- and then the user cancels the Pool prompt.
-- Separate Console and ConsoleFont resources in gnome2 conf files.
-- Remove possibly bad ASSERTs from bnet.c
-- Remove open() of device in dircmd.c, which fails on FreeBSD with
- an autoloader -- thanks to Jesse Guardiani for this fix.
-20Jan04
-- Remove all "hostname -s" from configure except for RedHat. Use uname -n instead.
-- Implement SetIP command.
-- Implement Close On Poll in Device resource on SD.
-- Implement Full, Inc, and Diff Pools.
-- Implement Access control lists for Consoles.
-18Jan04
-- Define default working_dir as /var/bacula/working.
-- Implement setip console command to set new IP address for a Client.
-17Jan04
-- Implement maximum network buffer size directives.
-- Good first cut at access control lists for the console.
-- Optimize restore to select only latest Differential backup after
- the Full, and then all following Incremental backups. Previously
- everything after Full was selected.
-16Jan04
-- Organize kernstodo a bit (more to be done).
-- Add client IP address to BSOCK structure.
-- Use bit fields where appropriate in BSOCK structure.
-- Pass UAContext to ua authenticate in Director, and make it
- set the appropriate console (or NULL for none).
-- Tweak restore "run" argument handling and add "files" keyword.
-- Add device name or Volume name to some SD messages.
-15Jan04
-- First cut multiple consoles.
-14Jan04
-- Update kernstodo
-- Add quit command to restore tree handler.
-- Make restore tree handler remember if a hard link is present, and
- in doing a mark, only get database entry if there is a hard link.
- mark commands thus run at least 2 orders of magnitude faster.
-- Add files=xxx field to run command submitted for restore.
-- Add yes to restore run command if either yes or run is command line
- argument.
-- Make "yes" on command line argument skip prompt for modification of
- run job.
-- Add markdir and unmarkdir -- both affect only the directory in
- question and do not do a recursive descent.
-- Make tree command automatically mark all higher level directories to
- be restored when a directory or a file is selected. Such directories
- are indicated by preceding the name with a + to indicate that only
- the directory entry is selected and not the whole directory tree.
-- Modify a few tree commands to walk through all arguments rather than
- just taking the first one.
-13Jan04
-- Update copyright date on changed files.
-- Make mark command in restore tree run *much* faster by accessing database only
- if the file actually is hard linked -- determined at time tree it built by
- keeping a has_link bit in the tree entry.
-12Jan04
-- Modify findlib/makepath.c to create all parent directories with full permissions.
- This should solve the access problems on restoring files on Win32 systems.
-- Modify restore to report **** Restore Error **** if any error are found.
- I.e. a file could not be created.
-- Change a few errors into warnings -- e.g. if permissions could not be set, but
- the file is actually restored.
-11Jan04
-- Replace bsd_queue with dlist in lib/watchdog.c
-- Add Date: header to bsmtp. Thanks to Meno Abels (abels) on SourceForge
- for reporting this.
-- Remove ap==NULL check in src/lib/var.c as suggested by Christoph Barbian
- because ap (va_list) is a struct on the Alpha, so the code does not
- compile.
-10Jan04
-- Implement first cut of polling for a Volume. New Device directive
- "Volume Poll Interval = xxx" where xxx is a time specification
- (e.g. 5min). Default is off.
-- Call pthread_cancel on SD msgchan only if the threadid is non-zero.
-07Jan04
-- Change RH autostart scripts to start in Dan's order.
-
-2004-01-06 Version 1.33-06Jan04 Release
-06Jan04
-- Correct calculation of week of month in scheduler and in scheduled
- listing.
-04Jan04
-- Fix cancel of job waiting on mount to be a bit cleaner.
-03Jan04
-- Fix seg fault -- don't close db in db_open_database(). It must explicitly
- be called.
-- Doc updates
-- Allow purge of a single JobId from a Volume (code untested)
-- Implement fix to keep SD from looping complaining about the wrong volume
- at the end of a tape -- reported by Phil, and fix confirmed by him. I cannot
- seem to reproduce the bug here.
-- Clean up a few more strcpy()s.
-01Jan04
-- Fix configure.in FD User print per Lars.
-- Doc update.
-- New bacula.spec.in from Scott. Nice!
-- Make RunAfterJob non-fatal if it errs since the Job has really
- already completed the save.
-- Replace sprintf with bsnprintf in message.c
-31Dec03
-- Note, this change affects only the Win32 FD.
-- Fixed Win32 FD crash due to missing argument in status command. It
- always crashed if there was a job that had previously run. Thanks to
- Christopher Hull for finding and diagnosing this problem.
-29Dec03
-- Fix SELECT as indicated by Dan in sql_get.c for returning Volume names.
-- Fix last_jobs list crash for utility programs (btape, ...).
-- Correct editing of FileSet name into SQL command.
-- Allow calling watchdog stop without initialization for utility programs.
-- Enhance btape test by attempting to forward space past the end of the tape.
-- Detect CAP_FASTFSF in btape test as possible reason for failure.
-- Attempt to prevent infinite loops in fsf_dev() if device not properly
- configured.
-- Attempt to get correct file number on tape after backspacing at EOM. The
- correction should resolve differences in OS tape driver implementations.
-- Add ctl-c detection to bconsole. When reading from tty, interrupts any
- output from Bacula, when reading from a file, it terminates the reading
- and returns possibly exiting if it is a batch job.
-- Create devel_bacula.in script and make it configure itself. Very similar
- to the new bacula.in.
-- Modify bacula.in to have separate file locations for each daemon -- makes
- it easier to make a new devel_bacula.in when there are changes.
-- Remove old config files when rebuilding configure to avoid error msgs.
-- Fix btape "test" to respect TWO EOF.
-- Fix fsf_dev() to use system notion of file if it is valid after bsf_dev().
-- Move btraceback.gdb to scripts directory on installl.
-- Add new mandrake bacula.spec.in
-28Dec03
-- Find commonset of c_iflags that work with FreeBSD tcsetattr on terminals.
-- Remove comments from string concatenation -- doesn't work on FreeBSD
- compiler.
-- Moderately improve bpipe_close() errors. Must rethink status return.
-- Eliminate some Emsgs in favor of Jmsgs.
-27Dec03
-- Add optional Pool keyword on restore command line. If specified, the pool
- used will be restricted to the specified pool.
-- "Finish" implementation of JobDefs.
-- Fix directory for chmod of cats scripts.
-26Dec03
-- Implement foreach_res() #define and start replacing old code.
-- Work some more on jobdefs -- more to be done.
-- Implement bstrftime_nc() bstrftime with no century.
-- Fix static console problem in gnome2 and gnome directories reported by Alan
- Brown.
-- Add code to test for valid Resource Names. Permitted characters are now
- alpha, numeric, colon, period, minus, underscore, space.
-- Turnoff some unused code in timers.c
-- Start adding code to dev.c to prevent infinite loops if fast forward space
- file (MTFSF) is configured on but not properly supported by OS.
-24Nov03
-- Sort FileSet selection list by CreateTime.
-- Add "lsmark", and "estimate" to tree routines.
-- Doing a mark or unmark now prints how many entries were changed.
-- Add command argument parsing to btape.c
-- Enhance EOT to print file:block on message.
-- Add repeat counts on btape bsf, fsf, bsr, fsr, and weof commands.
-- Enhance btape's fill command to be much clearer and more reliable.
-- Add state file to btape so that unfill command can be done any time
- after a fill command.
-- Use reposition_dev() to position for read back of last block.
-22Nov03
-- Zap InChanger flag only if setting Slot to non-zero.
-- Added new SD directive TwoEOF, default off, that tells Bacula whether
- to write one or two EOFs for EOM. For the OnStream driver it must
- be off, otherwise an empty file will be created.
-- Cleaned up the btape "fill" command to compare the last block written
- and read rather than just printing them.
-21Nov03
-- Implement btape test for autochanger.
-- Implement btape test for Fast Forward Space File.
-- Moved up to cygwin 1.5.5-1
-- Implemented Fast Forward Space File
-20Nov03
-- Add support for selecting volumes from InChanger list first, then
- selecting from all available volumes.
-- Ensure that Volumes are selected from oldest LastWritten data/time.
-- A couple of bug fixes ensuring the proper ordering of volumes.
-19Nov03
-- Return oldest LastWritten for find_next_volume.
-- Remove ASSERT from stored/acquire.c that could trip when it shouldn't.
-- Enhance SD status if debug_level > 1 to show details of dev status.
-18Nov03
-- Create update_bacula_tables, ... scripts and modify configure and Makefiles
-- Eliminate is_num() and use is_an_integer().
-- Add user slot selection code "slots=1,2-3,5,10, ..."
-- Start daemons at level 90 rather than 20 so that MySQL will already
- be started.
-- Write alter_mysql_tables.in and alter_sqlite_tables.in
-- Add Drive and InChanger to Media record.
-- Update database level to 7.
-- Add db_make_inchanger_unique() and call it when creating and updating
- the Media record.
-- Add Drive and InChanger to database code for Media record.
-- Allow changing InChanger flag in update command.
-- First cut at allowing the user to specify slots for updating autochanger.
-- Add scan to "update slots scan".
-- Add command in SD to readlabel.
-15Nov03
-- In the bacula start/stop script, ordered the stop: FD SD Dir to
- give the SD the best chances of updating the catalog before dying.
-- Add Drive and InChanger to MEDIA_DBR record and to Volume update
- from the SD.
-- Reorganize the Volume info update from SD so that the Dir sends back the
- current information in case the Volume status has changed by expiring.
- The DIR-SD protocol is not backward compatible (must update).
-- Fixed the signal handler to pass the signal to the exit_handler()
- previously it passed 1.
-- Modified SD so that on normal shutdown, it walks through all jcrs and
- cancels them so that the Volume status will be updated in the catalog.
-- Found and fixed a bug where ST_LABEL was not set in append mode
- (when a different tape was accepted other than the original one
- proposed by the DIR.
-- Update the catalog Volume info after dev->file is incremented rather
- than waiting for end of job.
-12Nov03
-- Change getdomainname() prototype for Darwin.
-- Add gethost_strerror() to create correct error message for
- gethostbyname().
-- After doing a kill() of a stalled connection in watchdog, turn off
- the timer to prevent an infinite loop.
-- Allow Bacula to rewrite the label on a disk volume.
-- Correct usage report printed by bsmtp.
-11Nov03
-- Complete changing references to bsmtp from smtp.
-- Add L_NONE for Admin and Restore jobs and update level_to_str()
-- Fix segfault from double free of RestoreBootstrap in job.c
-10Nov03
-- Change console to bconsole
-- Change console.conf to bconsole.conf
-- Change smtp to bsmtp
-- Implement .bconsolerc
-- Check if volume has expired when doing an update media for the SD
-09Nov03
-- Implement new code that assures that a non-zero Slot is unique within
- a given Pool. When setting a non-zero Slot, the Slot of all other
- Volumes with the same Slot is set to zero. Redone later to add
- InChanger flag
-07Nov03
-- Fix bug reported by Lars where an incorrect Volume name was printed
- by the "status dir" command.
-06Nov03
-- Pretty up a few error messages printed by smtp.
-- Make btime_t int64_t so that one can do arithmetic.
-- Implement since as utime (64 bit UTC).
-- Compute clock diff between Dir and FD, and adjust since time.
-- Apply SQL fix from Nic Bellamy (thanks).
-- Apply John's zlib #ifdefing fix.
-05Nov03
-- Add Dan's with-sd-user, ... to configure.in.
-- Add Dan's userid and group modifications to bacula.in
-- Lots of documentation updates.
-- Make console print "Enter a period to cancel a command" when starting.
-- Fix the "list nextvol" command so that it doesn't try to close the
- database twice, giving a segfault.
-- Fix (hopefully) to dircmd.c so that a mount request does a pthread_cond_signal.
- There was one path were the signal was not sent. This should fix the bug
- that requires you to do two "mount" commands to free a job waiting on a mount.
-- Make dir_ask_sysop_to_mount_next_volume() return immediately if a slot is
- specified.
-- Correct some of the messages in testfind.c (pointed out by Dan -- thanks).
-- Alias fd to client, sd to storage.
-- Changed order of Console commands so that short commands such as q (quit)
- are more logical.
-
-2003-11-03 Version 1.32d 02Nov03 Release
-02Nov03
-- Mainly a bug fix release.
-- Do a clean of both Gnome directories.
-- Require that FileSet id match when finding an Incremental
- previous job. This was already the case for a Full.
-- Print message if no status returned from FD.
-- Correct "Do not forget to mount the drive" message. Test was
- backward.
-- "status dir" stopped scanning the run records on the first
- one that matched giving an incomplete listing.
-- Edit commas in Bytes on "estimate" command output.
-
-2003-10-30 Version 1.32c 30Oct03 Release
-29Oct03
-- Add %v to job edit codes. It edits in the VolumeName(s).
-- Add code to ensure that fds 0,1, and 2 are defined by dup'ing them
- to /dev/null if necessary. Mostly for Windows that does not have them.
-- Error check dir_create_jobmedia_record() 2 places in acquire.c
-26Oct03
-- More doc fixes.
-- Make message buffer longer for a status message that was
- truncated.
-- Put termination on varargs calls in gnome2-console.
-- Scroll only if text sent and not for status update.
-- Add all possible Status codes the jobstatus_to_ascii()
-25Oct03
-- Add new spec file and cats patch from Scott.
-- Optimize tree.c a bit -- turn off debug code, keep node fname
- length for fast rejection, add some statistics, allocate
- in 100K and 1Meg chunks, use bool, uint16_t and uint8_t to
- reduce node packet size.
-24Oct03
-- Eliminate ua_retention.c that was not used.
-- Improve error message when closing brace missing in conf file.
-- More doc updates.
-- Eliminate Don't forget to mount if it is a disk file.
-- Fix Gnome2 scrolling and blank screen problems.
-- Eliminate multiple JobIds in restore selection list.
-- Fix non-portable varargs code in var.c
-- Make doc fixes/changes suggested by Dan Languille
-23Oct03
-- Document new features.
-- Implement mod of Verify Job at the run prompt.
-- Correct SQL table definitions so that MySQL and SQLite
- have all the values in the same position.
-- Correct a typo in configure.in when configuring GNOME.
-- In doing a "status dir" make it loop over all the run
- commands in the Schedule rather than doing on the first one.
-- Close all unused file descriptors in bpipe.c otherwise if
- a daemon is started, it will keep our TCP/IP port open.
-22Oct03
-- Print block read error (checksum, I/O, BB01, ...) once then
- the number found at the end of the reading.
-- Implement RunAfterFailedJob
-- Change db_find_job_start_time() to require a Full save before
- running an Incremental or Differential job.
-- Remove has_volume_expired from code that updates vol info
-21Oct03
-- Implement "delete job"
-20Oct03
-- More documentation, add Marc Brueckner's tips to manual.
-- Tweak gnome2-console scroll window.
-- Turn off some debug info.
-18Oct03
-- Modify Verify to accept VerifyJob = xx, where the last backup job
- of job xxx will be verified.
-- Add changing the Pool name for a Volume to "update volume"
-- Write most of the code for Verify Disk to Catalog.
-- Recreate the src/gnome2-console directory.
-- Change all the text handling code to the Gnome 2.0 way.
-- Correct the way verify filenames are returned to the Director so
- that directories are in canonical form (i.e. trailing /).
-- Handle casting bug in glade-2 by sed'ing support.c in gnome2-console.
-
-2003-10-15 Version 1.32b 14Oct03 Release
-14Oct03
-- Modify configure so that if threaded MySQL client library
- is not present, Bacula will link with the non-threaded
- version.
-- Updates to the Web pages and to the manual.
-- Remove trademark symbol from title. Phil pointed out that it
- does not display correctly in a title.
-11Oct03
-- Implement restore by file before date.
-- Change restore arguments a bit so that you can feed it
- multiple jobid= specifications or multiple file= specifications.
-- Pass restore with run option on to run_cmd.
-- Make run-cmd not prompt if it has a "run" on the command line.
-10Oct03
-- When pruning, select only old orphanned jobs to delete so that
- the current job is not pruned too.
-09Oct03
-- Corrected return status for bsf_dev and bsr_dev in block.c and btape.c
-- dev.c used incorrect ruturn status for bsf_dev in the BSF at EOM
- code. This caused all appends on FreeBSD to fail.
-- Turn on fast block rejection code.
-08Oct03
-- Optimize file index searches by adding a count to the bootstrap.
-- Write single files/blocks to bootstrap without the second part.
-- Add current Volume status to the cannot use this Volume message.
-- Zero the rx->bsr in ua_restore when freeing so it doesn't get
- freed twice.
-- Lots of testing on the restore
-- I noticed that SD and FD bootstrap files were not always
- deleted, so delete them as soon as possible.
-- Restore by file (or by selecting files) created some
- horrible looking bsr files that defeated the forward
- spacing code, so fix write_findex to work right.
-- Add zlib_strerror() routine in filed/restore in case
- of zlib errors.
-- In filed/restore.c make sure all error returns cleanup
- and close the open file descriptor.
-- Make sure to set *non* over filename in attr packet
- after file is found, so error messages that print the
- filename don't print an old, incorrect name.
-- Allow bclose() to be called after closing the file.
-- Fix a number of unclear help messages, ... reported by
- Phil in btape.
-- Retweak stored/read_record.c so that it does forward
- spacing at the beginning of every tape, not just the
- first one.
-- Print repositioning message if verbose is set.
-
-2003-10-01 Version 1.32a 03Oct03 Release
-04Oct03
-- Combine the code in ua_output and ua_status that searches
- the run records.
-03Oct03
-- Fixed "list nextvol" to search for the correct pool in the
- Schedule Run records.
-- Correct an error in is_block_zero. It found a false
- match if the first 1016 bytes of a 32K buffer and
- the last 248 bytes are zero. Broke the sparse option.
-01Oct03
-- More documentation.
-- Test if multiple mail addresses works. Yes.
-- Add debug Jmsg() to trigger if the file I/O packet is
- not closed in the FD, i.e file descriptor leaks.
-- When error occurs reading label in mount.c, start from
- the very top so that the retry count is in effect.
-- Zap the mode in soft links in testls.c for regression
- testing.
-
-2003-10-01 Version 1.32 30Sep03 Release
-28Sep03
-- Enhance manual faq, regression ...
-- Make FreeBSD read sizes always be a multiple of 512. Needed
- to read raw disks.
-- Make FreeBSD accept block AND character devices for raw
- disk reads. On FreeBSD there are no block devices.
-27Sep03
-- Fix printing of EndTime on job report after rescheduling.
-- Fix jobq.c error returns to clean up before returning.
-- Make Cleaning tape aware of "unlabeled" volumes.
-- If a job is rescheduled, ensure that old job is
- removed from SD's jcr queue -- i.e. it is still waiting
- for FD connection.
-- Test rescheduling code.
-- Change ./configure to detect Cygwin enviornments.
-
-2003-09-26 Version 1.32 26Sep03 Beta
-- Add regression and GUI-interface chapters to the manual.
-- Fix "label" of a volume that is already in the catalog,
- but not yet labeled.
-- Correct the test for spooling attributes which was backward.
- This caused the creation of a spool file in the working
- directory for every job run.
-- Print to the job output stream when block checksum errors
- occur, but continue processing. If more than one occurs,
- print number at end of job.
-- Remove a few unneeded tests from configure.in
-- Modify configure to use -pthread on FreeBSD 4.8,
- but nothing on FreeBSD 5.1
-- Clarify that bmicrosleep() takes sec and microsecs
-- Apply Franc Carter's code to specify a DB host in
- bscan.
-- Fix sanity login length test in stored/dircmd.c
-- remove old code fro stored/job.c
-- Lots of work on regress so that it works on FreeBSD
- and Solaris.
-- Make the default gnome-console wider (console.c)
-- Add \r to the items that terminate a token.
-
-2003-09-20 Version 1.32 20Sep03 Beta
-- Replace a number strcpy() calls with bstrncpy().
-- Added code to ensure that the names for each resource
- type are unique. Two resources of different types can
- have the same name.
-- More documentation
-- Added new full length modifiers for time intervals.
- Compatible with previous method EXCEPT a modifier is now
- manditory.
-- Completely restructured recycling. It should work now, but
- in any case, the logic is much cleaner. A lot of new
- code in next_vol.c
-- Added a few pthread_xx_destroy() for items inited.
-- Nic Bellamy pointed out that it wasn't necessary to do
- destroy() of static initialized pthread variables -- fixed
- watchdog.
-- update VolStatus asked for the media and volume twice.
-- Changed a few more strcpy() to bstrncpy().
-- Made VolBytes=1 as indicator that the Volume is labeled.
-- Modified creation of Media record to include VolBytes,
- same for sql_update - also set LabelDate if VolBytes = 1.
-- Copy any statically linked programs to install directory.
-- Change relabel flag to label in Update_media protocol Dir<->SD.
-- Change a few strcpy to bstrncpy ...
-- Update Media record after an automatic tape label.
-- Added more debug code to bnet_server and bnet.c to attempt to
- track down Alex's SD segfault (BSOCK==0)
-- Add additional debug cod for authentication errors in cram-md5.
-- Implement "list nextvol job=xx" and add Volume to Dir status.
-- Retry waitpid if interrupted -- needed for FreeBSD!
-- Move lex.c debug level to 900
-- Add new aliases SDAddress, ...
-- Final changes for variable expansion
-- Possible fix to Alex's SD crashes
-- Correct incrementing counters not in catalog -- reported by
- Chris Allen.
-- Correct memory leak in core var.c code -- reported by
- Chris Allen.
-- Make documentation of variable substitution a bit clearer.
-- Apply Nic Bellamy's patch to dbcheck.c to fix SQL to work
- on both MySQL and SQLite.
-- Finally fixed the .messages that was sent during prompts
- in the console with no readline.
-- Implement new Include/Exclude semantics.
-- Fix a good number of segfaults reported by Chris Allen in
- the variable expansion code.
-- Print warning message if a job is blocked by user unmount.
-- Fix additional variable expansion problem reported by Chris Allen.
-- Fix pathconf() error status bug that caused a segfault on
- a FreeBSD system -- reported by Gernot Hueber.
-- Make sure the console sends ".messages" only when at the
- command line prompt.
-- Apply a patch from Nic Bellamy that corrects a file descriptor
- leak in the Storage deamon when a job is canceled. (Thanks)
-- Implement < and | in File daemon.
-- Implement ClientRunBeforeJob and ClientRunAfterJob.
-- Corrected BSRatEOF to be BSFatEOF in btape --
- reported by Lars Koller.
-- Documented BSFatEof
-- Eliminated save_level in FD replaced by JobLevel.
-- Increased MAX_RES_ITEMS from 35 to 50 to handle
- new ClientRunBeforeJob ...
-- Add line number in error message for restore from file.
-- Correct editing of jobids (misplaced comma).
-- Implement restore files.
-- Quickie patch to allow Purged Volumes to be mounted.
- Must review algorithm.
-- Eliminate a duplicated query from query.sql
-- Restructure ua_restore.c so that I can add restore files.
-- Correct positioning problem at beginning of a second volume
- introduced with the new forward spacing code.
-- Eliminated a sprintf() in the tree routines.
-- Doc updates
-- Added HOST_OS, DISTNAME, and DISTVER to the status output.
-- Eliminated a few stray Dmsgn(000, messages making them either
- debug_level 100, or Pmsg().
-- Made the default "Maximum File Size" 1Gbyte in SD.
-- Cache path in tree.c to reduce calls to make_tree_path
-- Documentation updates
-- Implement forward space file and block when reading a bsr.
-- Fixed a bug in db_find_next_volume() where the VolStatus was
- not being returned.
-- Rework some of the query.sql records that were incomplete.
-- Fixed an ambigous SQL statement in restore.
-- Fix proper sorting order in restore display last 20 jobs.
-- Remove duplicate JobId's in feeding the directory tree.
-- Fix an orphaned ua buffer due to a return that should have been
- break so that cleanup code executed.
-- Changed some strcats and sprintfs int bstrncat() ... to prevent
- possible buffer overflows.
-- Fix max file size code on tape so that after writing EOF,
- an appropriate jobmedia record is created.
-- Fix error messages in dev.c, which were copied into lots of
- different subroutines without updating the text.
-- Add reposition_dev(), and make more of the return statuses of
- dev routine standard.
-- Eliminate old semaphore and workq code. Keep only new jobq code.
-- Try to get a better default size for the gnome-console
-- Add code to avoid race conditions in starting/stoping the
- heartbeat thread.
-- Correct potential race condition in heartbeat_stop().
-- Correct segmentation fault in mysql.c if no password given.
-- make pm_strcat and pm_strcpy return the string length
-- Use Phil's code to get the unadorned job name.
-- Move the MTIOCERRSTAT from just after a write() failure to
- after writing the EOF marks on FreeBSD systems.
-- Enhance packet too big error in bnet.c and add some
- ASSERTs in the send code.
-- Set heartbeat interval to zero by default.
-- Add Recycle to list of Update Volume parameters.
-- Use bget_dirmsg() wherever possible in Director.
-- Split next_volume code from catreq.c to next_vol.c
-- Consolidate editing job codes into a single routine.
-- Add Job resource name
-- Remove check for Win32 attributes in bls. It doesn't
- need to read them, only print ls -l.
-- Add SDConnectTimeout in FD.
-- Add Scott's perlgui directory
-- Upgrade from RH7.3 to RH9. New autoconf.
-- Eliminate gnome2-console directory.
-- Correct English in status command.
-- Eliminate old shell expansion code and use BPIPE to call shell
- with echo command.
-- Documentation as usual.
-- Add a new bacula.spec for Mandrake
-- Add ownership to alist items. Default the list owns the items.
-- Make record_cb return a status (preparation for internal use).
-- Remove all clearing of remainder in read_record.c -- not necessary
-- Write a tapetest program for FreeBSD end of tape testing.
-- Modify read.c in Bacula to use read_record.c
-- Implement multiple records in read_record.c. One for each session that
- is open. Free the record with the EOS_LABEL is found (or at the
- end of the scan).
-
-2003-08-02 Version 1.31a 02Aug03 Released
-- Yifang Dai reported a case where he stress tested Bacula and
- backed up to four volumes, but only two were selected for the
- restore. This is because I forgot that the selection could
- span a volume entirely.
-- Added a missing CLIENT_FOUND_ROWS to the second attempt to open
- the MySQL database -- this prevents UPDATE errors if nothing
- actually changed.
-- Applied corrections to the manual supplied by Bob Collins. Many thanks!
-
-2003-07-30 Version 1.31 Beta 30Jul03
-- Integrated Robert Mathews improved description of Priorities into
- the manual.
-- Chased down the "The data is not valid" bug on WinMe/98/95.
-- Found an orphaned buffer in the set_attributs part of WinMe/98/95.
-- Add sleep(1) to console when it gets a SIGTSTP signal
- to prevent it from using 100% of the CPU.
-- Improve description of Priorities.
-- Add a bit more documentation to jobq.c
-- Complete hash table routine htable.c htable.h
-- Change M_INFO to M_ERROR in attribs.c for Windows errors.
-
-2003-07-23 Version 1.31 Beta 22Jul03
-- Apply a patch from Nic Bellamy that clarifies the error messages
- during recycling volumes.
-- Documentation.
-- Clear VolCatInfo in askdir.c so that readbytes is zeroed.
-- Add SD statistics to backup report.
-- Removed old workq code.
-- Fixed rescheduling after error.
-- Fixed delayed starts which were not working.
-- Added priority to values that can change when starting
- a job.
-- Complete implementation of new job scheduler. jobq.h jobq.c
- This code is turned off unless specifically enabled in src/version.h
-- Integrate code from Nic Bellamy to check for recycled volume in
- mount.c in SD.
-- Fix a couple of bugs in dlist.c
-- Begin implementation of new job scheduler.
-- Take serial.h provided by David Craigon, which corrects differences in
- prototypes between serial.h and serial.c.
-- Make db_get_media_ids() return Media Ids only for the current pool.
-- Add new jobq.h and jobq.c drived from workq.
-- Add JobPriority to jcr, and Priority to Job resource as well as
- to the run line in a Schedule.
-- Remove unused pool record from autoprune.c.
-- Implement Nic Bellamy's RecycleCurrentVolume.
-- Implement RecycleOldestVolume.
-- Begin adding new JOB_QUEUE code to the Director.
-- Create a single routine recycle_volume().
-- Retry accept(), bind() and socket() if EINTR occurs.
-- Implement insert_before(), insert_after(), and empty() for dlist class.
- Also require offset to be given by giving item and link address.
-- Make error some messages in smtp.c a bit more explicit.
-
-2003-07-12 Version 1.31 Beta 14Jul03
-- Marc Brueckner reported a crash during restore (a missing tree->)
-- Moved host.h.in file from filed to src.
-- Update btraceback to include host os, distname, distver in output.
-- Split list (in lib) into alist and dlist both with .h and .c.
-- Update home page to include Project status page.
-
-2003-07-12 Version 1.31 Beta 10Jul03
-- Manual updates.
-- Clean up some unused variables detected by the IRIX compiler.
-- Test two directories on Win32 -- caused a crash. I forgot
- to NULL the uid cache pointer after releasing it.
-- Use bstrncpy() instead of strcpy() in find_files.
-- Clear a few linked lists in the temp directory packed in find_one.c
-- Eliminate an unnecessary variable in attr.c
-- Clear the cache pointer after release in idcache.c
-- Implement a new C++ doubly linked list class.
-
-2003-07-08 Version 1.31 Beta 08Jul03
-- Update document for Win32 stuff.
-- Ensure VolStatus value for update is permitted.
-- Fix cached_path so that it is local to the jcr, otherwise, there
- are problems from job to job.
-- Fixed idcache.c which was not thread safe and didn't release memory,
- and didn't always edit the userid correctly.
-- Correct missing pool memory allocation in update voluseduration.
-- Release mutex in pool_mem.c before triggering ASSERT.
-- 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