X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=bacula%2FChangeLog;h=38cc0aec57096aa4361e4558e2a96b1416bff1a2;hb=7055019c46cb0e3d52734da51f91c37396e04712;hp=c9ac5ab04316e04c7779d5d2a30bd2d6d4d79f0b;hpb=c42969a36e176d26f49184e2b17c7cc839b8ee1e;p=bacula%2Fbacula diff --git a/bacula/ChangeLog b/bacula/ChangeLog index c9ac5ab043..38cc0aec57 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,2043 +1,2671 @@ + Technical notes on version 2.5.x -Release 1.38.8 (14Apr06) -14Apr06 -- Correct Makefile for Solaris /bin/sh -- Correct mtx-changer.in for Solaris /bin/sh -- Abort if a conf resource does not have a Name = -12Apr06 -- Change the name of the regex program to bregex. -- Add the bwild program to the tools directory. It is similar - to the bregex program. -- Implement create bregex.h and bregex.c in src/lib from the - Python regexp program. -- Use the new bregex.c to implement Regex expressions on Win32. -11Apr06 -- Modify Makefile to change the permissions on Working Directory - to 770 if the directory is created. -- Do not fail the Makefile if changing the permissions or - owner/group on WorkingDir fails. -- Correct the old recycling algorithm so that Scratch Volumes - are selected when looking for a Volume in the changer. -- Correct a typo in the Verify SQL reported by Joe Park. -10Apr06 -- Remove automatic case folding on Windows FDs. You must - explictly use the 'Ignore Case = yes' option. -- Remove the code added to 1.38.6 and 1.38.7 that pulls a - scratch volume in an Autochanger early in the 'recycling' - algorithm. -08Apr06 -- Tweak license to include Microsoft restrictions. -- Move mysql.reconnect to after real_connect(). Thanks to - Frank Sweetser for the patch. -- Disallow a backslash in a File = directive (Windows junk) - unless the string is quoted. -- Apply Eric's patch to ua_label.c so that daemon protocol - is not translated. - -Release 1.38.7 (06Apr06) released 07Apr06 -- Remove timed wait for VSS on Win2K3 as it is not yet - implemented. -- Correct bacula.in script to reference bacula-ctl-xx in the - sysconfig directory rather than the bin directory. - -Release 1.38.6 (28Mar06) released 29Mar06 -28Mar06 -- Back port from 1.39 fixes to lib/jcr.c to use foreach_jcr() - and new jcr chain locking. -26Mar06 -- Fix a long standing bug in the bacula start/stop scripts. -- Attempt to add the new bacula-ctl-* files to the rpm. -- Switch to using typeof() for list traversing to avoid - as many FC5 g++ compiler warnings as possible. -25Mar06 -- Split the bacula start/start script into four files: - bacula -- starts and stops calling other scripts - bacula-ctl-dir -- starts/stops the director - bacula-ctl-fd -- starts/stops the File daemon - bacula-ctl-sd -- starts/stops the Storage daemon -24Mar06 -- Create datestyle fix for PostgreSQL. Fixes bug #574. -- Correct editing of JobId from int to int64 in fd_cmds.c -- Eliminate FileSet name race with bash_spaces() and multiple - threads by bashing in a local. -- Fix error return from 'use storage' to print a correct error - message rather than nothing. -- Correct false re-read last block error message when two jobs - are simultaneously writing at the end of a tape. -- Simplify exit conditions in the reserve.c code to avoid - possible non-release of reservation_lock(). -- Suffle lock order in reserve to avoid deadlock between - reservation lock and device mutex. -- Add Thorsten's VSS timeout code to 1.38 branch. -21Mar06 -- Initialize jcr mutex before first use. Thanks to Thorsten for - tracking this down for me !!!! as it broke the Win32 build. -20Mar06 -- Integrate addition of line count limitation to bsmtp -l from - Sebastian Stark -17Mar06 -- Implement regex test program in tools directory. -- Attempt to fix time problem with bsmtp with foreign langs. -- Add strip_trailing_newline() submitted by user. - -Release 1.38.6 beta6 -16Mar06 -- Fix bug #537 to allow arbitrary time to mount a volume for - restore, if polling is turned on. -- Disallow multiple storage specifications for a job. Should fix Arno's - problem. -- Add back a missing store of poolid in jr.poolid. -- If dir_user or dir-group is specified in ./configure apply it to - the working-dir. Fixes bug #533. -- If rescheduling a job cancel the previous incarnation with the SD. - Fixes bugs #566 and 557. -- Fix bug #567 do_message() definition type conflict. - -Release 1.38.6 beta5 -14Mar06 -- Add more jcr methods and make mutex and use_count private. -- Create lock/unlock methods for jcr. -- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading - records to get to seek position. -- Integrate patch from bug #561 to correct conio.c signal definitions. -- Fix Rescheduling failed Jobs. Ensure that SD message thread - terminates correctly by doing pthread_kill(). Do not destroy - SD cond wait variable between executions of the job. Use local - mutex for cond variable to avoid blocking jcr chain. Fix poor - use of jcr use count in jobq.c for restarted jobs. -- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in - lib/jcr.c -- prevents locking the jcr chaing. -- Apply patch from bug #564, which corrects listing volumes with - multiple autochangers. Apply same fix to next volume list. -- Fix bug #562 where restore bootstrap file is not unique. -- Use new routine lock_reservations() to lock the reservations - system, and call it while looking for a volume in askdir.c. - This could possibly fix bug #543. -- Stop SD command loop if job is canceled. - -Beta4 attached to a bug report but not distributed. -04Mar06 -- Fix new sql_use_result() code to properly release the - buffers in all cases. -- Convert to using new Python class definitons with (object). -- Use the keyword ujobid to mean the unique job id; job or jobname - to mean the Job name given on the Name directive, and jobid to - be the numeric (non-unique) job id. -- Allow listing by any of the above. -- Add the user friendly job report code for reporting job elapsed time - and rates with suffexes. -- Add Priority and JobLevel as Python settable items. -- Use TEMPORARY table creation where the table is created by - Bacula. -- Add new code submitted by Eric for waiting on specific jobid. -- Add ACL checking for the dot commands. -- Fix restore of writable FIFOs. -- Fix a bug in bpipe where the string was freed too early. - -26Feb06 -- Fix bug reported by Arno listing blocks with bls -- Update the po files at Eric's request. - -Release 1.38.6-beta2 25Feb06 -25Feb06 -- Add sql_use_result() define. - -Release 1.38.6 beta1 24Feb06 -24Feb06 -- Don't open default catalog if not in ACL. -22Feb06 -- Add virtual disk autochanger code. -- Add user supplied bug fix to make two autochangers work - correctly using StorageId with InChanger checks. -- Correct new/old_jcr confusion in copy_storage(). -- Remove & from Job during scan in msgchan.c -- probably - trashed the stack. -- When getting the next Volume if no Volume in Append mode - exists and we are dealing with an Autochanger, search - for a Scratch Volume. -- Check for missing value in dot commands -- bug fix. -- Fix bug in update barcodes command line scanning. -- Make sure Pool Max Vols is respected. -- Check that user supplied a value before referencing - it in restore -- pointed out by Karl Hakimian. -- Add Karl Hakimian's table insert code. -- Don't ask user to select a specific Volume when - updating all volumes in a Pool. -- Remove reservation if set for read when removing dcr. -- Lock code that requests next appendable volume so that - two jobs to get the same Volume at the same time. -- Add new Device Type = xxx code. Values are file, tape, - dvd, and fifo. -- Preserve certain modes (ST_LABEL|ST_APPEND|ST_READ) across - a re-open to change read/write permission on a device. -- Correct a misplaced double quote in certain autochanger - scripts. -- Make make_catalog_backup.in a bit more portable. -- Implement Karl Hakimian's sql_use_result(), which speeds - up restore tree building and reduces the memory load. -- Correct a number of minor bugs in getting a Volume from - the Scratch Pool. -- Implement additional command line options for update Volume. -- Don't require user to enter a Volume name when updating - all Volumes in a pool. - -Release 1.38.5 released 19Jan06: -19Jan06 -- Apply label barcodes fix supplied by Rudolf Cejka. -18Jan06 -- Modify standard rpm installation to set SD group to disk - so that SD will by default have access to tape drives. -- Allow users to specify user/group and start options - for each daemon in /etc/sysconf/bacula file. - -Release 1.38.4 14Jan06 released 17 Jan 06: -16Jan06 -- Add two new queries to query.sql provided by Arno. One - list volumes known to the Storage device, and the other - lists volumes possibly needing replacement (error, ...). -15Jan06 -- Add periodic (every 24 hours) garbage collection of memory - pool by releasing free buffers. -14Jan06 -- Correct bug counting sized (for display only) in smartall.c -- Print FD mempool stats if debug > 0 rather than 5. -12Jan06 -- Correct bug in alist.c that re-allocated the list if the - number of items goes to zero. -- Move the reservation system thread locking to the top level - so that one job at a time tries all possible drives before - waiting. -- Implement a reservation 'fail' message queue that is built - and destroyed on each pass through the reservation system. - These messages are displayed in a 'Jobs waiting to reserve - a drive' list during a 'status storage='. Note, multiple - messages will generally print for each JobId because they - represent the different problems with either the same drive - or different drives. If this output proves too confusing - of voluminous, I will display it only when debug level 1 - or greater is enabled in the SD. -11Jan06 -- Add enable/disable job=. This command prevents - the specified job from being scheduled. Even when disabled, - the job can be manually started from the console. -- During 'update slots' clear all InChanger flags where the - StorageId is zero (old Media records). - - -Beta release 1.38.4: -09Jan06 -- Fix autochanger code to strip leading spaces from returned - slots number. Remove bc from chio-changer. -- Back port a bit of 1.39 crypto code to reduce diffs. -- Fix first call to autochanger that missed close()ing the - drive. Put close() just before each run_program(). Fixes - Arno's changer bug. -07Jan06 -- Add PoolId to Job record when updating it at job start time. -06Jan06 -- Pull in more code from 1.39 so that there are fewer file - differences (the new ua_dotcmds.c, base64.h, crypto.h - hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c - util.c. Aside from ua_dotcmds.c these are mostly crypto - upgrades. -- Implement new method of walking the jcr chain. The - incr/dec of the use_count is done within the walking - routines. This should prevent a jcr from being freed - from under the walk routines. - -Release 1.38.3 05Jan06: -04Jan06 -- Move the suitable_drive flag to a better place to prevent - premature termination of the reservation if all drives - are busy -- should fix Arno's diff/inc pool failures. -26Dec05 -- Add mutex to single thread VSS code in Win32. - -Beta release 23Dec05: -22Dec05 -- Add OPENSSL_INC to console dependencies, lib dependencies, and - wx-console dependencies in Makefile.in -- Add OPENSSL INC/LIB to gnome2_console Makefile.in. -- Simplify code in askdir.c that waits for creating an appendable - volume so that it can handle multiple returns from the wait - code. -- Modify the wait code to permit multiple returns. -- Return a zero when 'autochanger drives' is called and - it is not an autochanger. -- Make rewind_dev() a method taking a DCR as an argument. - This permits closing and reopening the drive if the - rewind fails as happens if the drive was loaded while the - file descriptor was open. This refreshes the file descriptor. -- Remove the ST_OPENED flag and always rely on fd < 0 for knowing - if the device is open or not. This should eliminate - Arnos problem. -- Return error if reserve cannot find at least one suitable device. -- Make wait_for_sysop() return correct state information. -- Fix Win32 state file problem. write was not using compat - code. This should fix bug #500. -21Dec05 -- Modify gui on command to set only GUI mode and not batch. -- Modify .messages command to always print messages regardless - of the mode. -- If GUI mode is on, suppress automatic printing of - You have messages. -- Delete old bnet packet code. -- Ignore new BNET_START_SELECT and BNET_END_SELECT signals in - wx-console. -- Modify restore command in wx-console to set gui on and to use - only .messages instead of messages. Hopefully this fixes bug - #514. -Beta release 20Dec05: -20Dec05 -- Fix seg fault in exit of acquire when canceling a job -- - reported by Wolfgang Denk -19Dec05 -- Implement load balancing code. -- Pull a few files from 1.39 where we can maintain compatibility. -- Rewrite reservation algorithm again. Rename variables to be - more logical, add HEARTBEAT with Director, allow cancel of - jobs stuck in reservation, add last resourt any_drive. -17Dec05 -- Remove quotes from Version table name -- it breaks things. -- Fix seg fault if user labels a drive directly bug #513 -- Remove quotes around Version as it breaks things. -16Dec05 -- Merge in Aleksandar Milivojevic's mods to the spec file. -- Apply sparse code fix for raw drives and fifos. Bug 506 -- Thorsten fixed Unicode cd problem with wx-console bug 505. -14Dec05 -- Correct reservation system to do a last ditch try - for any mounted volume, then anyone anywhere. -- Add quotes around table Version because of - error in MySQL 4.1.15 -- bug report submitted. -- Correct some minor problems with btape in the fill - command. -- Updates to ssh-tunnel from Joshua Kugler. -- Added a report.pl program from Jonas Bjorklund. -- Simplify the O_NONBLOCK open() code for tape drives, - and always open nonblocking. -- Do not wait for open() if EIO returned (shouldn't happen). -- Eliminate 3 argument to tape open(). -- Correct the slot # edited in the 3995 Bad autochanger unload - message. -- With -S on bscan (show progress) do not divide by zero. -13Dec05 -- Make cancel pthread_cond_signal() pthread_cond_broadcast(). -- When dcr is freed, also broadcast dev->wait_next_vol signal. -- Remove unused code in wait_for_device. -- Make wait_for_device() always return after 120 seconds of wait. -12Dec05 -- Use localhost if no network configured -11Dec05 -- Eliminated duplicate MaxVolBytes in cat update -- bug 509. -- Remove debug print. -- Add bail_out in error during state file reading. -09Dec05 -- Merge updates into 1.38 branch -- Update specs to include mysql4 define. -- Stop read_record() if status not ok in second loop. -- Return rec->FileIndex in dcr->VolLastIndex for normal - and partial records in read_record(). This allows bscan - to get FileIndex at EOT correct. -- Fix butil.c to correctly set dcr -- fixes seg fault in bls. -08Dec05 -- Apply patch supplied by user (slightly modified) to fix - correct detection of holes in block devices and FIFOs. - Bug # 506. -- Apply patch supplied by user (slightly modified) - to fix SD hang with multiple pools and bad client - IP. Fixes bug # 508. -07Dec05 -- Add nagios plugin to the examples directory. Submitted by - Christian Masopust. -- Remove warning message about multiple saves of hardlinked files - from find_one.c as it can generate too many warning messages. -06Dec05 -- Reset timeout values before select() per patch from - Frank Sweetser for problems with non-blocking sockets. -- Unlink the state file if either reading or writing it gets - errors. Hopefully this will fix Win32 exit problems. -- Add sanity check in append.c to ensure that dcr is not NULL. - This can happen if multiple drive autochanger SCSI control - channel and drive indicies do not correspond. -05Dec05 -- Get next volume from Scratch pool before creating a volume. -- Set new Pool defaults in Vol when moved from Scratch Pool. -- Remove argument from create_bacula_database for SQLite as it - caused an error. -- Add back next_vol index code so that two drive autochangers can get - a second tape. -- Change a bunch of debug levels to aid debugging autochangers. -- Fix reservation so that mutexes are properly applied. -- Rework reservation algorithm so that two drives can be used - at the same time. -04Dec05 -- Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at - If this patch is applied, the number of days can be specified with - 'list nextvol days=xx' - or - 'status dir days=xx' - My use case is to be able to preview the next scheduled job (and the - next tape to be used) on fridays if there are no scheduled jobs during - the weekend. -03Dec05 -- Fix font code in gnome2 console user patch. Fixes bug #501. -- Fix malformatted bnet error message that caused seg fault - fixes bug 502 -- Applied user patch to improve README.vc8 in src/win32. -29Nov05 -- Correct some more editing of JobId's (for 64 bit compatibility). -- Ensure that StorageId is stored in Media record when ever possible. -- Add Migration Job to Job. -- Change Start Storage daemon job to require read and write storage - pointers. -- Pass read storage data to SD as well as write storage data. -- Remove old code from winservice.cpp -- Break on error in scan. -- Fix typo in signal.c -- Separate read/write DCR in SD. Add jcr->read_dcr. -- Cleanup how find_device() works. -- Add read output to Status in SD. -21Nov05 -- Remove abs() in bfile.c so that it compiles on Solaris. Bug #491. - -Changes to 1.38.2: 22 November 2005 -- Fix crash in tray-monitor when daemon disconnects. Bug #479. -- Fix bnet-server bug found on OpenBSD. Bug #486 -- Fix cancel failure bug. Bug #481 -- Fix failure when Pool name has spaces. Bug #487 -- Fix SD crash in autochanger code. Mutex failure. Bug #488 -- Fix a couple of free()s in src/filed/acl.c -- Fix memory overrun in bfile.c in building OS X resource - fork filename. Bug #489 -- Add Pool name to SD status output. -- Add Python install dir for Solaris to configure. Bug #492 - -Changes to 1.38.1: 15 November 2005 -- Apply SunOS patch for ACLs submitted by David Duchscher. -- Make sure to set storage before trying to set drive. -- Add bacula_mail_summary.sh to examples directory. It makes - a single email summary of any number of jobs. Submitted - by Adrew J. Millar. -- Make sure when we do a mount to unblock the device even - if the drive could not be opened. -- Merge Scott's new spec files. -- Add doc on setting up Win32 environment variable supplied - by Kees van den Broek. -- Turn off API debug output unless debug set to avoid confusing - the user. -- Add Solaris ACL detection in configure.in as supplied by - Attila Fulop. -- Implement 'autochanger drives' protocol so that Dir knows - how many drives an autochanger has. -- Do not request drive number in label, ... if only one drive. -- Turn off debug code. -- Fix update slots to clear slot number of every slot before - setting it. This fixes (I believe) bug #471 -- Make unmount unload the autochanger slot. -- Modify open() on mount to be read-only and non-blocking, - otherwise the mount can block for a long time. -- Make a few error message numbers unique. -- Make a few error messages more correct. -- Apply patch from Thorsten to fix Win98 stat() command. -- Remove delete of CVS from all makefiles. -- Fix seg fault when clicking on Add button in wx-console - restore panel. Bug #470. -- Fix copyright date and URL typo -- bug #468. -- Change autostart install for FreeBSD to look for rc.conf - rather than rc.local as suggested fix for bug #466. -- Apply patch supplied by Eric Bollengier to fix PostgreSQL - grant on status. Bug #465 -- Apply patch supplied by Eric Bollengier to fix PostgreSQL - update script. Bug #464 -- Fix off by one for last Slot of autochanger for label. -- Update release date. -- Tweak an authentication error message in dir. -- Fix autoloader so that mutex is set and released around - each run_program(). There was a missing set. -- Remove an unnecessary drive release in autochanger. -- Modify configure.in to add execute option to sqlite3 catalog - scripts. -- Create update_xxx_table_8_to_9 scripts for updatedb -- Fix wrong variable in bpipe.c debug output reported by user. -- Fix improper placement of encode_and_send_attributes() in - FD backup.c causing first file of non-portable Win32 backup - to have wrong stream. Reported by Thorsten. -- Move the -lcrypt for PostgreSQL after the PostgreSQL libs in - autoconf/bacula-macros/db.m4 as suggested by user. Fixes bug #457. -- Remove @STATIC_CONS@ from tray-monitor Makefile as suggested - by user. Fixes bug #456. - -Released 1.38.0 (28Oct05): 31 October 2005 - -Changes to 1.37.42: -26Oct05 -- Don't overwrite pthreadVCE.dll or msvcr71.dll during Win32 - install. -- Update README.win32 instructions. -25Oct05 -- Make db_get_job_record() return Name so that the ACL - can be checked. Fixes bug #446 -22Oct05 -- Insure that all the SD tools init the Autochanger - resources. - -Changes to 1.37.41: -22Oct05 -- Print error message if no Changer Command found. -- Apply fix from Martin Simmons to clear structure before - using it in IPADDR -- fixes a bind() bug on AIX. -14Oct05 -- Add NetBSD fstype patch from Geert Hendrickx -- Update num_parts only when writing to DVD. -13Oct05 -- Fix error conditions in bpipe.c DVD routine (terminate buffer). -- Use a bigger buffer 32K as suggested by Arno in bpipe.c. -- Increase dvd mount timeout with patch from Arno. -- Modify DVD code so that it keeps a state flag that indicates - when the freespace variable is valid. freespace_errno, now has - either 0 or an errno. There are no negative errnos. -- Create is_freespace_ok() to test state flag. Also, set_freespace_ok() - and clear_freespace_ok(). Modify code to use them. This - simplifies a bit the logic of the freespace code. -- Edit 64bit debug values correctly in dvd.c -- Fix %e variable to check num_parts rather than part. -- Use static buffer instead of static buffers for FI_to_ascii() - and stream_to_ascii() debug routines in SD. This is to prevent - possible race conditions between two threads (possibly Phil's - unmount problem). -12Oct05 -- Add a .dir command that separates arguments with commas. It - is intended to be used in the tree routines to get a - machine readable output for GUIs like wx-console. -- Make configure set dvd-handler to have execute permission. -- Install dvd-handler as is done for other dvd-xxx scripts. -- In block.c call dvd_write_part() to write last part rather - than dvd_open_next_part(). -- Prefix some DVD subroutines with dvd_ -11Oct05 -- Add extra debug to Update media error for VolFiles decrease - error. -- Do not update dev->file on set_ateof() for non-tape. -10Oct05 -- Mark DVD volume in error if part cannot be written. -- If a DVD is mounted, unmount it before asking operator - to mount an different one. -- Add Arno's dvd-handler script to the scripts directory and - integrate with configure. It replaces both existing scripts. -- Make default schedule start at 23:10 -- Implement gui release in Makefile. It creates two .tar.gz - bacula-web and bimagemgr. -08Oct05 -- Add README plus tar release to gui project. -- Manual documentation -- Tweak bacula.man doc -- Add PRAGMA synchronous = NORMAL; to SQLite3 tables. This - speeds up SQLite3 so it is only about 10% slower than version - 2.xx. Thanks to Russell Howe for this tip. -- Add msvcr71.dll to pebuilder .inf file as it is needed by - Bacula FD. Thanks to Brandon for passing this fix to Scott. -05Oct05 -- Add VolumePurged method to Python JobEvents class. Fixes - bug #428 (I think). -- Add JobId index to File table for MySQL. -- Correct tray-monitor crash of bacula-dir. qstatus_cmd() - code referenced the wrong pointer. Fixes bug #438. -- Add bacualnovss.mak file from Martin. -- Remove Pool from restore string in wbrestorepanel.cpp. Patch - from user for bug #433. -- Correct code in wbrestorpanel.cpp with misplaced parens. Patch - from user for bug #431 -- Correct printing filenames/date/times in wbrestorepanel.cpp due to bad - column alignment. Patch from user for bug #432. - -Changes to 1.37.40: -01Oct05 -- Add fix to compat.h supplied by Martin Simmons that permits - building the Win32 FD without VSS. -29Sep05 -- Bring cats/bdb_x.c routines up to version 1.37 (return values - are different). -28Sep05 -- Integrate libwrap patch from Szechuan Death. They should - also fix bug 423. -- Clean up patches directory for next release. -- Add PS variable in bacula.in script as recommended by a user. -- Correct mtx-changer.in so it only creates a temp file when - actually needed. -- Add patch supplied by user in a bug report to fix gnome2 - console buttons. -- Add patch from Peter Eriksson to correct - NLS error in tray-monitor.c -26Sep05 -- Add code to catalog_update to detect NULL db pointer. -- Remove char *msg argument from catalog_request and - catalog_update(). -24Sep05 -- Fix mode change open in btape.c -- Use nonblocking opens on Linux only. -- Move set_blocking code for tapes into method to - simplify main line code. -- Cleanup the code for ensuring we advance tape on fsf. - This should fix IBM problems -- patch from Adam Thorton - was very helpful. -- Remove test for BMT_EOD in fixup_device... this eliminates - need for status_dev() routine. -- Before doing label ensure device is in read-write mode. - -Changes to 1.37.39: -20Sep05 -- Tweak daemon.c berrno, copyright. -19Sep05 -- Fix handling of temp file in mtx_changer.in, reported as - a security bug, but it is not really. Bug #422 -- Fix security problem of handling temp file in randpass. - Bug #422. -- During label/relabel, add new_volume to VOLRES list in SD. -18Sep05 -- Apply Landon's patch for the TLS ANS1 API change. -- Remove old code. -- Make single exit path in first_open_device(). -17Sep05 -- Make new_volume walk through all Vols looking for dev - to release. -16Sep05 -- Make 'quit' command in console always allowed. -- Remove the storage list between each console command to - keep Dir from remembering a previously selected SD. -- Add code to reservation VOLRES subroutines to try to ensure - we don't end up with two Volumes on the same drive. -- Simplify the mutex code in VOLRES a bit to reduce the chance - of error. -15Sep05 -- Apply Nicolas' dvd-freespace.in patch. -- Make sure SQL table names are not translated. -- Eliminate incorrect message saying barcodes not - found in 'label barcodes' -- fixes bug report. - -Changes to 1.37.38: -07Sep05 -- Add ability to have passwords on backup of catalog as - alternate 3rd argument. Submitted by Andrew Ford - -- Turn off TapeAlert by default if user enables a Device - and add a note to install mtx. -04Sep05 -- Fix out of order volumes during restore. - -Changes to 1.37.37: -30Aug05 -- Final tweaks to build Win32. -- Enable debug code in ua_label.c -- Remove devices from the Volume list even if no - Volume is in drive. Hopefully this fixes Arno's problem - of multiple volumes listed in the same drive. -28Aug05 -- Apply Landon's patch for TLS default values. -- Correct LOCALEDIR problem in build of Win32 -- Correct ssize_t problem in build of Win32 -- Add code to llprint pools and volumes to debug next item. -- From bug report, fix resetting Pool defaults in Volume. It - was a typo 'Max' was missing in several places. -- Don't allow translation of database Volume Status values. - -Changes to 1.37.37 released 26 Aug 05 -24Aug05 -- Ensure that the drive is closed before calling the - mtx-changer script so that the script can access the drive. -- Add drive name to reserved Volume list printout in SD. -23Aug05 -- Fix bug in acquire.c that incorrectly reported volume - busy. -- Add additional debug code and messages in reserve.c -- Eliminate unwanted warning message in reserve.c - -Changes to 1.37.36 released 22 Aug 05 -20Aug05 -- Landon's fix for NLS detection -- Eliminate incorrect compiler warning on FreeBSD. -- Move Win32 errno message build into berrno constructor. -- Minor Win32 tweaks -19Aug05 -- A number of minor Win32 fixes. -- Remove a PostQuitMessage() as suggested by Thorsten so that - BartPE restore can work correctly. -- Fix for create JobMedia so that VolIndex remains valid even - during a delete Job or pruning -- bug 402. -- Minor tweak for Win32 build. -18Aug05 -- Win32 fix -- remove debug O_NONBLOCK code. -- Fix bug 399 -- make_catalog_backup does not work for sqlite3 -- Implement unloading a volume in a different drive if it - is needed in the current drive. -- Implement search for unused autochanger drive. -- Implement search for exact Volume in reservation before - other searches. -- Fix picking up drive in Dir so that it is not done in - the status command. -- Eliminate double check on 'loaded' for autochanger. -17Aug05 -- Start coding better reservation algorithm -- Always look for slot for label command. -- Add more debug code for autochangers. -- Apply fix from Stephan Leemburg for - improper scanning of schedule resource: - Run = Level=Full Pool=Catalog daily at 1:20 -- Apply patch from Chris Lee for - adding --enable-build-dird --enable-build-stored. -- Tweak datadir definition in configure.in -16Aug05 -- Fix bug that missed drive=nn specification. -- Eliminate nonblocking kludge in heartbeat of FD as - it caused high CPU usage. -- Pickup loaded slot when doing open() of tape drive. -- Make autochanger reservation code go through full list - first pass until exact match found. -15Aug05 -- Fix how FileSet is saved in job record to correct continual - Full save. -- Make datadir print on config.out listing. -- Move get FileSet record up in backup init to eliminate continual - Full save seen by Peter Sjoberg. -- Add VolumeName to read-only Python variables. -- Add VolumePurged event for Python. -- Suppress /dev/ Filesystem change prohibited INFO messages. -- Do not delete FT_RAW files before restore (allows FIFOs - to be used for restore). -13Aug05 -- Add drive specification to mount, unmount, release, label, - and relabel for Autochangers. Note Dir<->SD protocol has - changed. - -Changes to 1.37.35: -12Aug05 -- Disable parts of NLS as the configure does not work here. -- In job backup init (backup.c) define definitive Job level and - since time, *then* apply Job Pool override selection if any. -11Aug05 -- Modified bconsole script so that it is improperly - installed, it will refuse to execute. This avoids - recursive call loops. - -Changes to 1.37.34: -06Aug05 -- Apply David's ACL fix to src/filed/acl.c -05Aug05 -- Apply patches sent by David Duchscher for - making ACLs work on MacOS X and FreeBSD. -04Aug05 -- Apply patch in bug#397 that improved configure - - find readline under $with_readline/include/readline - - no libutil under Solaris - - no need for -ldl under Solaris -- Make reservation system single threaded during the - search to avoid two threads competing for the same - resource. -- Correct a return code in find_suitable_device_for_job() - Possibly cause of 'busy writing to another volume'. -03Aug05 -- Modify open() for tape so nonblocking really works. -- Use fcntl() to reset blocking status rather than close() - and reopen the drive. -- Make sure dev->open() is always called so that any change - in read/write permissions will occur. -- Open drives initially in daemon in read-only mode. -- Ensure that each time the VolHdr.VolumeName is zapped - or changed that free_volume() is called on the old name. - -Changes to 1.37.33: -03Aug05 -- Require 5 arguments to mtx-changer except list and slots -- Turn -EPIPE status returns from bpipe to ETIME -- Include Slot in SD status output -- Do not term_dev() during initialization in SD if the device - could not be opened. In the case of a tape drive, there may - be no tape in the drive. - -Changes to 1.37.32: -02Aug05 -- Correct PostgreSQL database scripts as suggested by a user. -- Add additional info to FATAL message generated when a device - is busy writing to another volume. -- Suppress an inappropriate NULL Volume name message after a cancel. -- Correct a warning message in reserve.c -29Jul05 -- Apply user's patch to make mutiple modifiers for times - work correctly. -- Make read_dev_volume_label() handle ANSI/IBM labels - correctly -- ie space over any label at the beginning - of the tape. -28Jul05 -- Make ANSI/IBM writing of HDR1/2 labels ignore any - errors if at end of tape. -- Apply Martin's patch to improve Python detection in - configure.in -- Temporarily turn off disk seeking until I find the - cause of the problem. -27Jul05 -- Add OSF1 patch supplied by user. -- Use number of files selected from write_bsr() only - if it is not defined. -- Explicitly seek to end of file when getting size for - restore test. -- Correctly set EndBlock position in JobMedia record - for files. -- Remove unnecessary set StartBlock in bscan. Caused bscan - regression error. -26Jul05 -- Modify mtx-changer to wait a maximum of 300 seconds. -- Do restart of failed jobs only for Backups job types. -- A number of DVD updates from Nicolas. -24Jul05 -- Turn off old service helper code in Win32. -- Correct Messages bug found by Phil in stored. -23Jul05 -- Complete (almost) documentation of 1.38. -- Add error messages for error conditions with VSS. -- Fix additional problems with VSS backup that I introduced. -Changes to 1.37.31: -22Jul05 -- Correct compiler complaints in wx-console and tray-monitor. -- Correct VSS problems recognizing c: -- Add VSS before job status -- Fix output of status from being one big line. -- Change cd xx; make to cd xx && make as suggested by Phil. -- Cleanup projects file -- Remove unnecessary casting of FF_PKT in filed. -- Apply Thorsten's bugfix for vss_generic.cpp -- Add check for df path for dvd_freespace -- Use df to get space used on DVD. -- Change sense of flag indicating erase DVD or not before writing. -- Fix bpipe so that it never modifies the result pointer. -- Replace more dev_name by print_name(). -- Rewrite edit_device_codes_dev() so it does not overwrite the - supplied buffer. -- Update printing of labels (for bls) so that critical information - is printed (Job name and timestamp). -- Cleanup old spool files when starting the SD. -- Modify vss.cpp to allow C: as a path name. Otherwise VSS - doesn't work when only a drive name is given. -- Modify vss.c to eliminate double / in filenames. -- Update doc -- particularly the restore chapter. -18Jul05 -- Make all files in working directory have .xxx at end. -- Work on DVD writing. -- Fix keepatime bug (bugs database). -- Move Python variables from Job to Bacula. They are - DirName, Version, ConfigFile, and WorkingDir -- Fix delete of bootstrap to only occur on Bacula created - filenames. -- Allow cancelling a Job name that is not active. It is - sent to the daemons. -17Jul05 -- Fix name space pollution by OpenSSL 0.9.8 reported by - Matthias Kurz -- applied his patch. -- Fix bpipe.c so that it does not modify results pointer. - ***FIXME*** calling sequence should be changed. -- Remove some remaining references to dev_name. -- Fix calls to mount_dev() and unmount_dev() to - correspond to returned value (bool instead of int). -- Try without success to make DVD writing work. -== Nicolas -15Aug05 - - Convert dvd-writepart to Python. - - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when - killing external programs. -13Aug05 - - Add gettext macros in autoconf/gettext-macros. - - Modify how localedir is set in configure.in. - - Remove setlocale check (useless). -10Aug05 - - Mark translatable strings in all source files. -08Aug05 - - Create French and Italian translation files (fr.po, it.po). - - Add support for translation in configure and Makefiles. - - Update autoconf/aclocal.m4 so it is automatically created with aclocal - (Note: autoconf/gnome-macros is not used anymore, it may be removed). -30Jul05 - - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog - killed the program, and return an error if it is the case. -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.30 released 16 July 2005: -14Jul05 -- Fix 'dir' command scanning field misalignment in - wx-console. -- Switch to using the wxWidgets Unicode library. -- Include msvcr71.dll in distribution. -- Add VSS to status line in Win32 FD if enabled. -- Get VSS build scripts working with Thorsten's help. -- Unlink the bootstrap file after sending it to - the FD. -- Remove sending include/exclude lists to the FD during - a restore -- deprecated code. -- Cleanup the bootstrap files in the FD. - -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. +General: -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' +Beta Release 2.5.42-b2 +16Mar09 +kes Increase timeout for unmounting DVD as suggested by reporter + of bug #1250. +15Mar09 +jh Fix by James Harper to print error code when attempting to + restore two databases (only one is permitted). This responds + to bug #1234. +kes Apply the nodump patch supplied by Frank Kardel that fixes + the NODUMP flag problem. This fixes bug #1221 +kes Add more output if a user attempts to clone a job but does not + uniquely specify the Job name. This responds to bug #1248 which + was not a bug, but improves user feedback. +14Mar09 +kes Fix problems with bug #1247 and 64 bit time_t OSes by not + editing (printf) time_t values. +12Mar09 +kes Install bacula (start/stop script) in sbindir in addition to + scripts dir. +ebl Tweak configure to remove bash specific code +ebl Remove TCABD reference +11Mar09 +ebl Free lock manager in when btape exits +09Mar09 +kes Apply patch from bug #1224, which fixes waiting on max Storage + jobs during migration. Submitted by Alexandre Simon. +kes On 03Mar08 (a year ago) applied patch from bug #1059 (kardel) + to implement the NODUMP flag on FreeBSD. +07Mar09 +kes When deleting a Volume by MediaId require the Id to be + prefixed by a * to avoid confusing with an integer volume + name. +kes Prevent bls from printing binary data when a plugin stream + encountered. This fixes bug #1238 +kes Prepare to add JS_Warnings termination status. +kes Attempt to resolve bwx-console Win32 crash. Not likely to + work. +06Mar09 +kes Move src/win32/dll to src/win32/lib, which is much more logical. +kes Fix the Win32 build. +kes Fix broken casting in src/compat/print.cpp. +kes Eliminate jcr Errors and always use jcr JobErrors. This should + ensure that SD and FD errors are correctly reported. Also add + JobErrors to SD returned values. This should fix bug #1242. +28Feb09 +mvw Implemented xattr support for Solaris 9 and above and extensible + attributes for OpenSolaris. +mvw Added some limits to the xattr code so that we don't blow up the + filed on big xattrs. +mvw Fixed some comments which changed due to xattrs being implemented. +mvw Changed xattr support checking in configure to test first for + generic solutions and when not found for specific OS functions. +25Feb09 +mvw Don't try to copy empty jobs (e.g. with jobbytes == 0) + which gives Unable to get Job Volume Parameters errors. + Which leads to copying the same job over and over again. +21Feb09 +kes Ensure that src/qt-console/.libs is cleaned properly +20Feb09 +mvw Use acl_data_len instead of seperate var for length + of acl stream. +ebl Add database update scripts to updatedb dir +19Feb09 +ebl Fix #1226 about bconsole segfault when using readline() +18Feb09 +kes Apply Eric's next-beta.patch that enables 64 bit FileIds and + adds new columns to the catalog. +kes Ensure that libtool directory always cleaned + reduce + unnecessary output during make clean. +15Feb09 +ebl Check postgresql database encoding that should be SQL_ASCII + and print a warning if it's something else. +08Feb09 +kes Free name item in guid_to_name.c when already in list. +kes Add more info to error message in ua_tree.c +05Feb09 +kes Make re-read last block fatal if block numbers differ by + more than one. +30Jan09 +ebl Try to disable _FORTIFY_SOURCE by default +29Jan09 +ebl Tweak compat.h for new mingw +28Jan09 +ebl Add new ScratchPool directive to Pool. Thanks to Graham +ebl Turn on db_get_file_list() single SQL because the failure + was due to a full FS. And the accurate test fails with the + other code. +27Jan09 +ebl Fix a bug that doesn't update RecyclePool all the time + during the first startup. +25Jan09 +kes Turn off db_get_file_list() giant SQL because if fails on + my production machine. +kes Fix bat.pro.in so that bat is properly installed rather + than just copied. +24Jan09 +kes Modify search for .conf file so that if one is given on + the command line, it will be used, otherwise it will use + the SYSCONF directory. It will no longer look in the current + directory unless explicitly requested on the command line. + This fixes bug #1189. +kes Fail a job that references a plugin if no Plugin Directory is + defined. +22Jan09 +kes Fix bug #1211 crash during reload with bad dird.conf file. +21Jan09 +ebl Add detection of intptr_t and uintptr_t to configure process +20Jan09 +ebl Change some cast to use intptr_t instead of long +18Jan09 +kes Apply acl_solaris_update.patch submitted by Marco (thanks). +kes Remove configure check for resolv.h -- it is apparently not needed + and causes build warnings on FreeBSD. +kes Ensure that the installer and newinstaller Makefiles are called + during a make clean. +12Jan09 +kes Apply Eric's fix for suppressing extended attributes error messages + when dealing with deleted files. +11Jan09 +kes Add src/win32/newinstaller -- single file installer +kes Attempt to explicitly call gmake when needed, or if not found + skip the calls. This should fix the FreeBSD regression/build. +10Jan09 +kes Fix bat.pro.in so that bat will install. +09Jan09 +kes Add more debug output to VSS init. +kes Attempt to correct win32 debug in berrno. +09Jan09 +kes Fix bug reported by Dan where make fails in clean of src/win32. +07Jan09 +kes Fix bug #1212, SD is unable to recycle purged volumes. fstat() + was broken. +06Jan09 +ebl Despool attributes directly from the director if attribute + spool file is present +Beta Release 2.5.28-b1 +05Jan09 +kes Fix bat install broken by $DESTDIR change. +02Jan09 +kes Fix annoying compiler warnings in console/conio.c +kes Fix win32 build (depended whether or not ./configure was run). +28Dec08 +kes Apply fix suggested by Bruno Friedmann to configure.in to + find python2.5 +26Dec08 +kes Turn on Eric's match_bsr tape block checking code. +kes Correct values used for tape block numbers in record.c. +23Dec08 +ebl Fix a problem with PoolUncopiedJobs option which was broken + by the new JT_JOB_COPY type. +kes Fix bug #1206 -- Error: sql_update.c:194, which was probably + caused by the user modifying the Bacula DB schema. +kes Remove rogue line of C code. +kes Fix bug #1208 -Changes to 1.37.23: -- Renamed to make unique version for open_next_part() - changes. +Beta Release 2.5.28-b1 +02Jan09 +kes Fix annoying compiler warnings in console/conio.c +kes Fix win32 build (depended whether or not ./configure was run). +28Dec08 +kes Apply fix suggested by Bruno Friedmann to configure.in to + find python2.5 +26Dec08 +kes Turn on Eric's match_bsr tape block checking code. +kes Correct values used for tape block numbers in record.c. +23Dec08 +ebl Fix a problem with PoolUncopiedJobs option which was broken + by the new JT_JOB_COPY type. +kes Fix bug #1206 -- Error: sql_update.c:194, which was probably + caused by the user modifying the Bacula DB schema. +kes Remove rogue line of C code. +kes Fix bug #1208 -Changes to 1.37.23: -- Renamed to make unique version for open_next_part() - changes. +Beta Release Version 2.5.26 +20Dec08 +kes Correct typo in Win32 Makefile editing +kes Correct typos in debug output. +kes Improved error detection in creating bsrs. +kes Add debug code to Win32 restore +19Dec08 +kes Fix Win32 build. +ebl Cleanup director VolParam struct +18Dec08 +ebl Replace File:Block in BSR by Address to fix #1190 +16Dec08 +kes Correct missing return in Darwin code. +15Dec08 +ebl Copy joblog after a Copy job +14Dec08 +kes Tweak block.c read to more closely simulate write for computing + block addresses and turn on disk block testing. +kes Implement a crude 'list joblog' mostly for debugging. +13Dec08 +kes Fix Migration bug #1206 sql error with NULL FileSetId when no jobs + to migrate. +kes Fix Migration JobLog bug #1171. Get the JobIds correct. +12Dec08 +ebl Fix segfault in bscan when using debug mode +11Dec08 +kes Fix configure to do minimum Win32 configure so that make clean + works. +kes Tweak modify FD header to use %ld instead of %d. +kes Remove hand scanning of FD header in SD and use Bacula's + sscanf, which is now OS independent. +kes Define new object (file/dir) begin and end Volume label records + in SD. +kes Use new method of defining XATTR #defines to avoid need for having + them in config.h.in +10Dec08 +ebl Rename all STREAM_ACL_..._T into STREAM_ACL_.. +09Dec08 +ebl Add a new lock manager that can detect deadlock situation + This new option is activated with a --enable-lockmgr configure + option. +ebl Add new Director->MaxConsoleConnections directive +03Dec08 +ebl Fix bacula-sd hanging after tape gets full + unload +02Dec08 +ebl Remove extra db_lock() in get_prune_list_for_volume() +ebl Apply 2.4.3-prune-deadlock.patch that fixes a problem when + using Catalog as message backend. +01Dec08 +kes Apply Marco's Darwin xattr patches. +28Nov08 +kes Fix Win32 build. +26Nov08 +kes Apply Marco's Extended attribute support patch. +kes Update projects file +25Nov08 +kes More changes to ensure that during thread switches the jcr + is removed from the TSD. +kes Ensure that consoles attach jcr to thread, and that only the + thread attached is removed from the TSD. +24Nov08 +kes Move definition of FileId_t to bc_types and define it once in the jcr. +22Nov08 +kes Remove all time_t from arguments in favor of utime_t, which is + machine independent. +kes Add more debug to match_bsr.c and use %u for unsigned debug editing. +20Nov08 +ebl Apply patch for bug #1182 about Recycle flag + that is not updated after a pool change. +kes Since the user has been warned, allow console purge command + to purge volumes that are in use. +kes Fix Win32 build to add new sd_plugins.c +ebl Apply patch from bug #1175 that reset the Slot and the Inchanger + flag in db_make_inchanger_unique(). +ebl Remove a Emsg() after recieving a Fatal signal that can lock + the catalog. +19Nov08 +kes Apply patch from bug #1187. It prints an error message if the + Maximum Block Size in the SD is too big. +kes Increase Maximum Block Size to 2,000,000 bytes. +kes Use doubly linked bsr list so that consumed bsrs may be + removed. Removing not yet implemented. +18Nov08 +kes Implement a fix that very likely fixes the undesired volume + purge reported by Graham Keeling. +kes Implement bsr block level checking for disk files. However, + it does not work correctly in accurate tests, and all the + migration and copy tests, so it is turned off. +ebl Make SD plugins work. +14Nov08 +ebl Apply Riccardo's patch to compile bacula+mysql on mandriva +13Nov08 +ebl Add more variables accessible through the director plugin + interface. +12Nov08 +ebl Do work on plugins + - fix compilation of the director plugins + - add plugin list to status dir output + - add director plugin dump after a fatal signal +ebl Apply Riccardo's patch that fix some win32 compilation errors + and a bug with bat version browser. +11Nov08 +ebl Add Plugin debug after a fatal signal. +ebl Add db and rwlock debug after a fatal signal. +10Nov08 +ebl Fix maxwaittime to fit documentation, this time is now counted + from the job start and group all wait periods. +ebl Add tips for postgresql to improve performance when having + multiple batch insert at the same time. +09Nov08 +ebl Remove extra debug for db lock. +07Nov08 +kes Apply Riccardo's second patch that cleans up the #include + file order + a few Win32 particularities to make bat work + on Win32. +ebl Add allow_transactions flag to mysql db backend. +kes Apply win32-fixes patch from Riccardo that makes the Win32 + bat more stable and faster (but still slow). +06Nov08 +kes Fix bug with job name duplication if more than 60 jobs created + during a minute. +kes Correct some bugs of cleanup in SD if the FD connection fails. +ebl Add code to get more information after a fatal signal. +05Nov08 +ebl Apply Bastian's patch that add spooldata=yes|no option + to run command. +04Nov08 +ebl Fix bash shell to sh shell in database creation script +02Nov08 +kes Fix orphaned jobs (possible deadlock) while pruning. +kes Use jcr stored in bsock rather than searching in getmsg.c. + This results in about a 5% speed improvement with four + concurrent jobs. +kes Implement win32_chmod that uses wide characters, if possible, + to get and set the file attributes. +29Oct08 +kes Apply pane freezing during updates patch from Riccardo Ghetta. +kes Rework next_vol and autoprune a bit due to failure in + recycle-test. prune_volumes() now returns no status, + but should prune at least one Volume, if possible. +kes Modify check_if_volume_valid_or_recyclable to reject a + volume with Recycle set off. +kes Modify prune_volumes() to continue if volume Recycle is off + or if the volume has expired. Add more debug. +28Oct08 +kes Fix bug #1046 VolumeToCatalog incorrectly reports mounted + filesystems as missing on the Volume. +kes Rewrite the set_jcr_job_status() code to include job status + priorities so that more important status changes occur but + lower priority status changes will not overwrite something + more serious. This could possibly cause reporting incorrect status + reporting in some cases. More testing is needed to ensure + I have the right priorities. This vastly simplifies the previous + contorted logic. + Verify Diff status should now be correctly reported, whereas it + was previously lost. +kes Reduce some debug output. +kes Apply Joao's patch to SQLite tables to make chars work. +27Oct08 +ebl Fix #1175 About update slots that don't reset InChanger flag when + slot is empty. +ebl Fix #1173 where prune_volume() returns a volume from the scratch. +25Oct08 +kes Remove jobq.c constraint that read and write SD must be + different. This may lead to more deadlocks in the SD, + but they should be resolved there. +kes Ensure that job report is always printed even if job is failed + in the director. +kes Don't print job report twice for failed VBackup jobs. +24Oct08 +kes Fix editing of retention time difference to use 64 bit + int instead of 64 bit unsigned. This should permit very + long retention periods. +kes Implement code to prohibit a write job from appending to a + Volume that will be used for a read operation. This is + new code and could possibly cause some conflicts. +23Oct08 +kes Integrate James Harper's Exchange Win32 plugin patch. +kes Apply patch from Marco van Wieringen that implements the new + Solaris libsec interface for ACLs so that Bacula can save and + restore both the new ACLs and old ACLs. +kes Marco's patch also corrects the file dependency generation code + so that it works properly both with shared libraries and static + libraries. +kes Marco's patch also includes a small cleanup of the cats Makefile + to remove some references to non-existent files. +22Oct08 +kes Modify win32 Makefiles to use full paths in most cases. + In particular add MAINDIR environment variable that points + to the main Bacula source directory. +21Oct08 +kes Add read volume list code to SD -- not yet used. +kes Add James' binutils patch +kes Split volume management code out of src/stored/reserve.c into + a new file vol_mgr.c +kes Modify configure to do an automatic make clean. This ensures + that any changes to ./configure options are handled correctly. -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. +Beta Release Version 2.5.16 +19Oct08 +kes Add Makefile dependency when using LIBTOOL_LINK so that any + change in ./configure options will be accounted for. +18Oct08 +kes Fix typo in the ACL patch that I overlooked. +kes Apply Marco's libtool include patch. +17Oct08 +kes Apply Bastian Friedrich's ACL patch to eliminate ACL + errors during restore. +kes Minor cleanup of create_restore_volume_list() code. +kes Fix typo in console Makefile.in +16Oct08 +ebl Fix #1110 about RunScript that can't execute a script with + Unicode caracters in the path. +15Oct08 +kes Apply tray-monitor patch from Bastian Friedrich to make it + work with the new FD. +14Oct08 +kes Apply cleanup patch from Marco +kes Apply patch from Marco van Wieringen + that implements libtool to create shared objects out of + the Bacula libraries. +kes Fix tray-monitor so it will speak to new FD. +ebl Fix bug with ansi label when volume name length < 6 +ebl Fix segfault in debug level > 50 with btape. +ebl Remove warning message in btape when command is empty. +kes Fix Win32 build to pull in new BACULA define. +13Oct08 +kes Change IncludeDir to Exclude Dir Containing. +kes Implement code to prohibit ExcludeDirContaining in an + Exclude section (same for Plugin and Options). A bit + of a kludge with RES_ITEM2 ... +ebl Add field to command list to restrict Runscript console + command. +ebl Use a separate JCR when running Console command with Runscript. +ebl Permit to mark version as Beta in some ouputs +11Oct08 +kes Add plugin types in jcr.h to reduce need to cast. +kes Do better checking of plugin return values. +kes Free plugin context after calling pluginFree() as + requested by James. +kes Allow plugin to call JobMessage with NULL context. +kes Do not add plugin to global list if loadPlugin returns error. +kes Rework plugin.h a bit to reduce dependence on Bacula. +10Oct08 +kes Move generation of bsr file for Virtual Backup to run section + so that it is generated just before actually running. + Suggested by Graham Keeling. +09Oct08 +kes Add malloc and free Bacula entry points for plugins. Increment + FD plugin interface version. Create a bacula plugin context + structure to keep track of whether or not the plugin is disabled. +kes Apply FileIndex fix for plugin name stream suggested by James. +kes List plugins in FD status report when debug > 0. +08Oct08 +ebl Add a new VerId variable that is printed in version command. +kes Fix migration SQL not to migrate a job that has not terminated. + This is a partial fix to bug #1164. +kes Sort JobIds returned from db_accurate_get_jobids() to fix Virtual + backup start time bug reported by Graham Keeling. +08Oct08 +ebl Fix possible bug in cancel_job() with job that are not + yet created. +07Oct08 +kes Fix bat build for Win32. +06Oct08 +kes Copy plugin link field into ffpkt. +05Oct08 +kes Integrate patch from Kjetil Torgrim Homme + It provides FileRegex in bsr files and code to collect regex + from the user during restore, an Allow Mixed Priorities feature, + and documentation for the above. +ebl Remove db berkeley from configure process +kes Do dirty check on hostname (Linux only) and if not resolvable + use localhost as default. +kes Increase vtape max block to 20GB. +04Oct08 +kes Refactor restore code to create a close_previous_stream(). This + This may destabilize the source. +kes Implement planned startRestoreFile() plugin call. +ebl Remove missing Loaded information from status slots storage command. +ebl Fix Console command problem that cancels the job +kes Add more plugin restore debug code. +03Oct08 +kes Fix plugin_bwrite - plugin-blseek mixup pointed out by James. +kes Rewrite plugin restore interface a bit to correspond to how Bacula + creates and writes to the restored file. +kes Add some DebugMessage() calls to the bpipe-fd.c program. +30Sep08 +kes Apply Marco van Wieringen's set of patches, cleans up Migration/Copy + Implement 'Pool Uncopied Jobs', allow Solaris Compiler to build + Bat; allow add and delete in place of mark and unmark. +kes Another attempt to fix the endRestoreFile plugin bug noted below. +29Sep08 +kes Apply dbi driver patch from Joao. +kes Correct a bug in passing the context to the endRestoreFile() plugin command. + Bastien Friedrich reported the bug. +kes Create plugin instance only when FD job starts. +kes Add new FD plugin event: bEventCancelCommand when + a cancel command is issued to the FD. +28Sep08 +kes Add cmd_plugin flag to jcr so we can globally know if a + command plugin is running. +kes If command plugin running, do not attempt (for the moment) + to get Win32 extended attributes. +kes Ensure that proper Win32 flags are set in bfile packet + if plugin_bopen() works on Win32. +kes Remove generated src/plugins/fd/Makefile +27Sep08 +kes Implement build and install of bpipe-fd.so plugin. +kes Rework the interface that passes packets to the plugin + so that the packet is started and ended by the packet size. + This allows the driver to do a sanity check. +26Sep08 +kes Rework the pluginIO Bacula internal code to enable + proper handling of Win32 error codes from GetLastError. +kes Apply Joao's patch to regress startover_libdbi. +25Sep08 +ebl Add -B option to dbcheck to get catalog information +kes Fix Win32 build to include new library function. +kes Remove some old reader/writer code. +kes Implement ./configure --with-plugindir=xxx +ebl Fix the mysql bug in the new accurate code +kes Improve plugin debug. Create plugin test. +kes Set main thread specific data to INVALID because it + has no jcr. This allows debug output to work correctly. +kes Add src/plugins/fd/Makefile to ./configure process. +kes Make first cut attempt to correct SQL that computes the current + Pool usage. This is to fix bug #1159. +kes Do a bunch of plugin cleanups for Win32 and more careful checking + of PluginDirectory and whether or not a plugin was found. +24Sep08 +kes This code should fix the race condition that leads to a Director + crash at job end time when the job list is updated. This was reported + in bug #1162. +kes Add more plugin documentation and fix include of config.h for + Win32 build (I hope). +22Sep08 +ebl Revert to htable instead of rblist +ebl Cleanup accurate code (remove tcdbm parts) and use red/black + tree instead of htable. +ebl Use a dedicate DB link to compute and send the accurate list + file to the client. +21Sep08 +kes Fix compile errors in filed/fd_plugin.c. +20Sep08 +kes Remove all double quotes from SQLite creating script and + replace by single quotes as suggested by John Huttley. +18Sep08 +kes Apply dbcheck patch from Yuri Timofeev . + It significantly improves the performance of dbcheck for + MySQL. +kes Fix bad debug code call in src/filed/accurate.c +17Sep08 +kes Change two Jmsgs in accurate to Dmsg to reduce unnecessary + output. Perhaps we really need to implement M_SAVED. +16Sep08 +kes Fix bug #1156 FD crash during processing of Accurate data. +kes Tweaks to htable code to improved debugging and make names + a bit more meaningful. +15Sep08 +ebl Remove time_t from update_stats() +14Sep08 +kes Modify the license of the example plugin program to allow + it to be used by anyone for making a Bacula plugin. +kes Make apply_rp_codes() in bpipe-fd.c be static. +13Sep08 +kes Remove Encryption and Accurate lines in vbackup output -- not used. +kes Fix subtle bug in vbackup by not changing DEV_RECORD packet. +kes Add host name to items printed during dump. +kes Make Check File Changes default on. +11Sep08 +kes Set the default FD timeout to 3 minutes (previously 30). +kes Apply Bastian Friedrich's weird spelling correction patch. +10Sep08 +kes Always print Verify hash differences. Rename variable to make the + code slightly more readable. +09Sep08 +kes Correct tests for MaxFullInterval as reported by + Ulrich Leodolter .. +kes Fix MaxDiffInterval code as well. +kes Enable Win32 plugin load code in lib. +kes Make Verify code that computes disk checksums use the same + algorithm as backup when dealing with sparse files. +kes Attempt to run VSS on any systems newer than Vista -- should + make it work on Windows Server 2008. +ebl Change the new statistic implementation. Remove the UseStatistic + directive and add a 'update stats [days=...]' command. You can + now decide when copy job records from Job table to JobStat. + Statistics are much more accurate with this. +08Sep08 +kes Fix SQL case problem that may cause the failure of DiskToCatalog + in bug #1149. +kes First cut adding SD plugins. +03Sep08 +kes Add Slot if it is non-zero to writing bsr file after a + backup. +kes Change a number of bnet_fsend() into class method calls. +kes Begin audit of diff of 2.4 branch to trunk code. +01Sep08 +ebl Fix the mysql creation script that double-created an + index of the same field on the Media table. + Add an index to on VolumeName to the Media table for mysql. +30Aug08 +kes Another try at fixing Vbackup. It looks much better this time. + Disable file index sanity check in FD with value stored in + attributes record because with Vbackup the File Index gets + changed, but not the attributes record. + Enhance some debug code. + Fix handling of re-indexing records that are copied in Vbackup. +29Aug08 +kes Made level_to_str() know about Virtual backup. +kes Set correct Virtual backup write pool. +kes Fix compile warning in new dbcheck port code. +kes Fix migration code broken by previous virtual backup fix. +28Aug08 +kes Fix problem of Virtual backup not writing a sequential FileIndex. +kes Reset Virtual backup time/date to the value from the last backup. +kes Ensure that storage name is passed to SD on read. +kes Correct a problem with Level and Virtual backup, rework how + bsrs are printed in debug to use standard routine. +kes Apply patch from Chris in bug #1133 that provides alternate db port + support for dbcheck. +ebl Remove catalog dependency from bcopy tool. +ebl Modify catalog scripts to have an easier packaging integration, + using default variables. + Make difference between SQLite3 and SQLite in db_get_type() +27Aug08 +kes Apply most of changes in a patch from: + Michael Stapelberg + that allow the Bacula FD to compile on IRIX 6.5. +26Aug08 +kes Apply patch from Bastian Friedrich that accepts a yes on a + delete volume command line. +kes Attempt to fix bug #1128 InChanger flag cleared during Migration + job when reading from one autochanger and writing to another. +kes Minor tweaks (copyright dates convert to use method instead of bnet). +21Aug08 +kes Fix NULL Volume error when reading (or Migration or VBackup) must switch + drives when no tape is mounted. +18Aug08 +kes Add additional info to some SD messages. +kes Add fix supplied by Martin Simmons for turning off EOL character + in new console multi-command code. +14Aug08 +kes Fix a Verify InitCatalog problem where in certain cases + a garbage filename may be entered in the verification database. This + fixes bug #1143. +13Aug08 +kes Add VSS 64 bit dll entry point in src/win32/filed/vss_generic.cpp + sent in by Riyas Yoosuf. +12Aug08 +kes Fix seg fault in Dir during estimate command with no level value + given. This fixes bug #1140. +08Aug08 +kes Add message to migration job when the target job is already migrated. + This closes bug #1129. +30Jul08 +kes Fix Win32 build. +kes Raise some restore debug levels. +kes Replace off_t by boffset_t where ever I found it. +28Jul08 +kes Define a machine dependent ioctl request type for use with + vtape_ioctl(). +26Jul08 +kes When a migration job actually runs, re-check the Job record + and skip if the job is already migrated. This should + significantly reduce the problems with bug #1129. +24Jul08 +kes Set MALLOC_CHECK_=0 in environment before starting Bacula to + turn off glibc checks that prevent getting good dumps. +kes Implement console 'wait mount' command. Doesn't yet work. +kes Implement timeout=nn on console 'wait mount timeout=nn' command. +kes Break the do_swapping into do_unload, do_swapping, and + do_load. It is much more logical that way. +kes Implement a set_dcr_from_vol subroutine in acquire.c for + reading volumes. This allows the dcr to be refreshed after being + zapped when the wrong volume is mounted. + This should fix bug #1126 -- During multiple tape restore, bacula + does not ask for physical tape change, but rereads same tape +23Jul08 +kes Apply patch submitted for bug #1107 with a small modification. + This fixes a bug where bcopy copied too many records. +kes Make some tweaks to bsmtp based on patch submitted in bug #1124. + This fixes bug #1124. +kes Make the default bat restore Pool be Any. This fixes bug #1118. +22Jul08 +kes Remove debug statement that crashes the SD at the end of + a tape during restore. Fixes bug #1125. +21Jul08 +kes Implement Win32 bat changes made to Branch-2.4 +20Jul08 +kes Tweak separator command in console to start disabled and + allow defining no separator character. Also make code a + bit more fault tolerant. +kes Make btraceback write the traceback to the working directory + before attempting to mail it. +kes Add a RFC to Projects. +18Jul08 +kes Attempt to implement a kludge to make Qt work with bat + on Win32. +kes Setup rstorage correctly. Virtual backups are working. +17Jul08 +kes Move setting JobLevel and JobType into a method, which should + allow completing Virtual Backups. +kes Fix verify jobs to work again. +16Jul08 +kes Virtual Backup tweaks -- it is close to working. +15Jul08 +kes Ensure that SD tried to mount a volume not in an autochanger + at least once before asking for operator intervention. +kes Make SD aware of Virtual Backup jobs. +kes Add VirtualFull for bat. +kes Changes to get read storage correct for Virtual Backup. +14Jul08 +kes Remove old code from label.c +kes Split display_display_info() out of write_bsr_file() +kes do_vbackup_init() working -- i.e. bootstrap file built. +kes Change Bacula trademark owner from John Walker to Kern Sibbald +kes First non-working cut of vbackup +kes Correct FD heartbeat code to use volatile variable accessed by + two threads. +kes Zero thread id with memset if on Win32 in case it is a struct. +kes If cannot create JobMedia record, continue to try to write eof + and clean up in block.c +12Jul08 +kes Add code to interface OpenSSL to new Win32 pthreads code which + used a structure for thread_t. +09Jul08 +ebl tweak bat for win32 compilation +08Jul08 +ebl Remove tokyo cabinet from the source +ebl Update configure/autoconf to support berkeley DB +ebl Add a sort to db_get_file_list() to improve bsr construction time. +07Jul08 +kes Add a mtx-changer.conf file that is not overwritten during + an upgrade. It fully configures the mtx-changer script. +kes Clear in-use bit on vol when unused while swapping. +06Jul08 +kes Remove sleep at end of ./bacula +kes Clear hash packet for hardlinked files correctly. This corrects + a long standing bug where hardlinked files selected individually + would occasionally not be restored. +05Jul08 +kes Apply Eric's patch to ensure that autoprune does not return + a Volume not in the autochanger unless requested to do so. +kes Correct bat restore display of multiple drives. This fixes + bug #1117. +kes Do find_a_volume() each time an unload is done. This + fixes the failure of maxvol2-test. +04Jul08 +kes Add some SD debug code. +kes Do find_a_volume() each time an unload is done. +kes Apply Joao's DBI patch that adds easier configuration of DBI drivers, + and adds --with-db-port to ./configure. +kes Use Qmsg() in job.c watchdog callback. +03Jul08 +kes Release main control rwlock if ABORTing. +kes Make watchdog connect timeout queue messages rather than sending + directly to avoid lock conflicts with the real thread. +kes Add const char in dbd.c to avoid compiler warnings. +kes Fix python compiler string warning. Note, IMO the GNU C++ + compiler guys have made a *very* bad change to their compiler. + They now force all strings to be 'const' unless you explicitly + cast them, which is extremely ugly and ruins nice code as well + as creates a lot of useless work. +02Jul08 +kes Fix mtx-changer to detect both versions of Ubuntu (Debian) + mt. This fixes bug #1116. +kes Add const in python files to reduce compiler warnings. + This may have to be backed out because of later compiler + strict checking. +kes Fix failure of 2drive-concurrent-test. Always read label; + clear_unload() only after drive is defined in acquire_for_read(). +27Jun08 +kes Generally clean up the manual tape loading code. The main + conceptual change is that when a volume is marked to be unloaded, + its volume name is retained, and it is only marked as unloaded + when either the autoloader says it is unloaded or another tape + is read on that drive. +25Jun08 +kes Add debug code and refactor subroutine in stored/mount.c +kes Fix format problem in bscan output reported in bug #1105. +ebl Fix get_next_volume_for_append logic with autochanger + - use pruned volumes if found + - don't reset the inchanger flag after getting a recycled volume + or a scratch one + Fix recycle_oldest_purged_volume to take InChanger flag in account +23Jun08 +ebl Add mmap/unmmap implementation for tokyodbm under win32 +22Jun08 +kes Make first step toward eliminating globals from config + scanning. Also should be a workaround for FORTIFY_SOURCE + GNU C bug -- fixes bug #1042. +21Jun08 +kes Apply duplicate job tests to restarted jobs. +kes Copy more data when restarting a job so that run + overrides are kept. This should fix bug #1094. +20Jun08 +kes More word alignment cleanup. +kes Fix bug where SD did not ask operator if the device could not + be opened. Reported by Eric. +19Jun08 +kes Add dbuser to DIR conf file (replaces user). +kes Add --with-db-password to ./configure +kes Fix regress to handle db_password. +ebl Add new 'status storage slots' that list autochanger + content. +ebl Update vtape driver to compile only under Linux. +ebl Fix a bug when restoring with a wrong mediatype. +18Jun08 +kes Eliminate ints from conf files and structures to avoid + word alignment problems +17Jun08 +kes Fix bug reported by Scott Barninger where the bacula script + refers to scripts in the wrong directory. Needed to meet the + requirements of recent FHS location changes. +ebl Disable vtape for FreeBSD. +15Jun08 +ebl Modify disk-changer to check if slot contains something before + loading it. +14Jun08 +ebl Fix vtape on win32 and debian. +ebl Fix autoselect patch (cause segfault). +13Jun08 +ebl Fix autoselect option broken for a while. Fix #1089. Need some + work with StorageId to be able to use a particular drive in a + autochanger. +09Jun08 +ebl Rename vtape to vtape. +ebl Update vtape driver. +08Jun08 +ebl Modify vtape driver to avoid sparse file. +kes Add make clean of qt-source directory during ./configure +kes Store last block number written to tape in DEVICE and + use it for testing for correct last block on EOT. -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. +Release Version 2.4.0: +04Jun08 +kes Fix Win32 build. +03Jun08 +kes Make sure to clear JS_WaitMedia when operator mounts a Volume. + This fixes bug #1095. +31May08 +kes Add create_postgresql_database.sql to Win32 installer. Should + fix problem reported by Juilio Monteiro. +kes Get correct slot when auto unloading a device. This fixes bug + #1086. +30May08 +kes Fix multiple media restore. +kes Make DEVICE Slot private and access it via a method. + Allows better control over when it is set and cleared. +kes Fix possible seg fault if SQL error. +28May08 +kes Add Martin's fixes to argument scanning for the estimate + command. This fixes bug #1093. +kes Add debug code to SD. +kes Fix renaming a Volume, which used the wrong Volume name. +26May08 +kes If operator has rewind tape, print warning, release tape and + try once more. If tape is positioned somewhere, something went + wrong, so mark the tape in error and try once more. Previously + this error was fatal, now it produces an error message. +kes Ensure correct volume name displayed during restore +kes Ensure that Volume is mounted for restore. +25May08 +kes Fix a few more Coverity reported problems. +24May08 +kes Apply Allan Black's status dir job count patch. +ebl Add information about IMPORT/EXPORT slots in mtx-script. +kes Enhance a couple of SD debug messages. +kes Tweak unload flag setting and ensure it is set during swap. +23May08 +ebl Fix #1091 about bad output in estimate command. +21May08 +kes Modify autochanger locking to attempt to avoid race + conditions. +kes Make sure device not busy before doing label command. +kes Display open() errors except when polling. Previously too + many were suppressed. This should fix bug #1070. +kes Fix Win32 reparse points. Bacula will not recurse into any + reparse point directory, including mount points, unless the + directory is explicitly mentioned at the top level (same as + with Unix). A file that is linked to another file will be + backed up -- much as Unix does for hardlinked files. + This fixes bug #1041. +20May08 +kes Remove double quotes from ChangeLog and ReleaseNotes +kes Remove StorageId test when pruning and recycling (Eric's changes). +kes Remove old form of locking when getting volumes -- causes deadlock. +kes Change bat dirstat layoutWidget to dirstatlayoutWidget to make + the name unique and to eliminate compile time error. +kes Add accurate.o to Win32 FD Makefile +19May08 +kes Fix cats dll build on Win32 after db_update_job_end_record + calling sequence change. +ebl Switch to tokyo dbm instead of htable in accurate code +ebl Include tokyo dbm to bacula source tree +17May08 +kes Fix buffer overruns detected by Coverity. +13May08 +kes Tweak joblog display. +12May08 +kes Implement --without-qwt +kes Fix layout of restore tree dialog +kes Add configure bat QWT libraries, so that bat can be built + with or without the QWT libaries. +11May08 +ebl Add dummy tape driver for regression tests. +kes Make sure we unload the right slot when swapping. +10May08 +kes Add debug times, reduce size of two-pool-changer test +08May08 +ebl Tweak autoconf scripts for vtape +07May08 +kes Improve SD reserve debug code. +kes Testing an improvement to free up volumes no longer in use. +03May08 +kes Rework SD acquire for read to handle autochanger Volume + swapping. +kes Implement regression that explicitly tests swapping a Volume + from one drive to another. +kes Enhance disk-changer to detect most error conditions. +kes Fix SD code so that it properly swaps a Volume between drives. + This fixes bug #1083. +02May08 +kes Apply libdbi patch from Joao Freitas for regress and for + Bacula trunk. Regress now works with libdbi. Nice. +kes Apply .nobackup patch from bug #1077 submitted by + Edwin Groothuis. +kes Apply Bastian Friedrich's patch that adds %p to edit the pool + name into jobs cloned via the run directive. +01May08 +kes Prevent a Volume that is being swapped from being freed from + the volume list. This will most likely fix, at least partially, + bug #1083. +kes Fix strippath so that it does not get a buffer overrun and crash FD. + This fixes bug #1078. +kes Remove 50 millisec wait in SD that broke debugger. +ebl Add MaxRunSchedTime option that specifies the maximum allowed time + that a job may run, counted from when the job was scheduled. +ebl Fix MaxWaitTime option that specifies the maximum allowed time that + a job may block waiting for a resource, counted from when the job starts +ebl Rename (add) Max(Incr|Diff|Full)WaitTime to Max(Incr|Diff|Full)RunTime +kes Apply patch from bug #1076 by Tullio Andreatta + that implements multiple commands per line in the console when using + readline. Modify the default to use a semicolon as the command separator. +28Apr08 +ebl Fix SQL query in migration code. +ebl Make accurate mode with hash disk pass regression tests +27Apr08 +ebl Implement first cut of accurate backup with hash disk. +19Apr08 +kes Force unload of volume when wrong volume mounted in SD. +17Apr08 +kes Fix bat seg fault at termination. +kes Add Bacula generated version to bat about box. + +16Apr08 +kes Experiment with allowing multiple read jobs. +kes Move final volume swapping code to DCR method and + call it from acquire_for_read(). +kes When wrong volume is mounted during read, unload_autochanger. +15Apr08 +kes Integrate the libdbi changes from Joao Henrique Freitas +14Apr08 +kes Stop searching for Volumes in SD askdir if DIR returns the + same volume name twice in a row. +kes Close bat console windows first to eliminate error message + from the notifier. +13Apr08 +kes Tweak the swap Volume from one drive to another code so that + it now seems to work. +kes Resolve several problems with recycling that broke the new + code (these problems are in 2.2.9 as well). +kes Remove the volume lock when calling the sysop code. +kes Don't mark a reserved volume with no writers as unused otherwise + jobs fail. +12Apr08 +kes Rework class structures for VOLRES, DCR, and DEVICE to make + the method names a bit more logical, and for more logically + handling the responsibilities. +11Apr08 +kes Remove redundant code in terminating the scheduler that just + causes a seg fault in many cases. +kes Cleanup releasing a volume and make it a DCR method. +kes Improve algorithm for detecting pre-reserved volume and + swapping volumes. +10Apr08 +kes Tweak volume swapping code so it works. +kes Correct name overloading in mount.c +kes Replace released flag in VOLRES with reserved and add access + methods for the VOLRES class. +kes Prevent volume from being released while being swapped. +kes Apply Bastian Friedrich's edit codes patch for the bpipe-fd + plugin that add %w (where) and %r (replace flag) editing to + the plugin line. +kes Apply Bastial Friedrich's edit pool=%p patch for run clone + jobs. +kes Refactor parts of stored/mount.c +09Apr08 +ebl Add sanity checks for VolWriteTime and VolReadTime +ebl Take care of bad clock changes while computing VolWriteTime + and VolReadTime. This should fix or limit #1066 +kes Correct error string numbers in dird/catreq.c +kes Restructure reserving, acquiring, and mounting volumes. Calls to + autochanger are deferred for mount.c -- simplifes the code. +08Apr08 +kes Do not prune any running job. It just fails the job. +kes Lock the volumes when changing dev->reserved_device and marking + the volume unused otherwise the device can get reserved by + another job before the volume is released, thus blocking it. +06Apr08 +kes Correctly detect Ubuntu systems, and add ubuntu platform directory. +kes Fix bug #1063, reuse of freed ptr in list nextvol. +kes Release regex compile buffer in filed/job.c +kes Add proper type of const char in sql_create.c +kes Turn off debug in daemon termination routines +kes Move free_volume_list() before devices are freed in stored.c +kes Fix reference to uninitalized stack variables in bregex.c. + This should correct bug #1067. +04Apr08 +kes Fix possible seg fault in SD when freeing a volume entry. +03Apr08 +kes Implement unload_dev() before swap device. +ebl Add statistics prunning with option and menu +kes Separate unload_dev() from unload_other_device() in autochanger.c +02Apr08 +kes Apply patch from bug #1069 that corrects spurious error messages + when ACLs enabled on SGI but no ACL exists. +ebl Fix small segfault in bacula-sd when debug level is 500 +kes Modify run_program() and run_program_full_output() to use + call by reference for the results string. This corrects a long + standing problem where the address of the string may be changed + in the subroutine but not in the calling program. +01Apr08 +kes Re-enable code to remember last volume mounted on a non-tape + Autochanger. +kes Add patch supplied in bug #1068 that fixes a SD crash when using + a Virtual autochanger. +kes Generate correct JobMedia records during spooling/despooling when + running concurrent jobs. Thanks to Tom Ivar Helbekkmo + for excellent analysis and testing. +31Mar08 +kes Tweak hash algorithm for htable using Martin Simmons idea + for doing a circular shift. +kes Remember what volume is in VTLs (previously turned off for + testing). +kes Analysis of JobMedia records by Tom Ivar Helbekkmo + pointed out some problems in creating JobMedia records during + spooling with concurrent jobs. Fix the problem by updating the + start file position before despooling and generate a jobmedia + record at the end of despooling. +28Mar08 +kes Fix handling of JobMedia records during spooling and when a + Volume is changed without actually writing data to the Volume. +27Mar08 +kes Rework certain SD locking based on gdb tracebacks of deadlocks + sent by Eric. This code now uses only the volume_lock() rather + than the reservations lock when at EOM and acquiring a new + volume. +kes Ensure only one exit point in several subroutines. +26Mar08 +kes Implement bsock code to permit locking. Use the new code in Verify + in the FD to prevent the heartbeat thread from disrupting the Verify + data sent to the Dir. +kes Modify SD locking to eliminate locking the reservations system from + outside the system. Use the volume lock when getting media data + and reserving a new volume at end of media. +kes Add Eric's volume_unused() fix to stored.c so that Volumes found + when SD starts are not locked into place. +24Mar08 +kes Fix error compiling runscript code on 64 bit machines. +kes Tweak Win32 mount point code. +kes Fix a couple of bugs in the accurate code (bad sscanf, buffer not + cleared giving bad file estimate). +kes Implement BIG_MALLOC in htable code. Runs 2.5 times faster for + 5 Million entries. +22Mar08 +kes Keep Schedule run lists in order as suggested by + Bastian Friedrich. +21Mar08 +kes Implement autostart scripts for Debian. +ebl Implement upgrade catalog scripts. +20Mar08 +ebl Apply jobstat patch for long term statistics. Have to implement + purge stats command and upgrade scripts. +kes Fix mtx-changer.in for broken Debian mt program. +19Mar08 +kes Fix large number of JobMedia records reported by Eric Bollengier. +18Mar08 +kes Apply doc fix from bug #1062. +kes Resolve crash and improper restore wx-console Win32 restore + GUI. Fixes bug #1065. +kes Update Win32 wxWidgets to latest version. +kes Attempt to do correct handling of Win32 mount points. Should + fix bug #1046. +kes Fix Win32 FD backup/restore memory leak due to improper termination + of BackupRead/Write. This fixes bug# 1038. +16Mar08 +ebl Reduce memory usage for accurate backup, working only with ctime + and mtime. (not all Lstat field) + About 40MB for my Linux system (400.000 files) +14Mar08 +kes Add dcr->reserved_volume flag that allows us to release a volume + even if it is not vol->released. This allows maxvol2 to work when + Volumes expire and we are already writing to the device (i.e. a + volume is pulled out from under us by another job terminating after + we reserve the drive). +13Mar08 +ebl Permit multiple command/console per runscript definition. + RunScript { command = /bin/true ; command = /bin/false ... } +ebl Add RunsWhen = AfterVSS to runscript. You can execute a command + (restart an application) just after the VSS snapshot on windows. +kes Don't zap dcr values during release_volume() as they might + have the next Volume to be mounted. +kes Fix AIX prototype. +12Mar08 +kes Second cut of drive switching during backup. +11Mar08 +kes Fix Win32 build. +kes Update Win32 version of wxWidgets to most recent version. +kes Tweak Copy job details. +kes Rework dir_find_next_appendable_volume to make a bit more effort + to find a suitable volume before giving up. +10Mar08 +kes Make ask_sysop_to_create... to return if waken from wait. + This helps get out of blocked conditions. +kes Experimental implementation of switch_device in reservations. +kes Implement FD version to allow easier protocol changes. +kes Add Plugin Options string -- not yet passed to FD. +kes Implement PluginOptions ACL. +09Mar08 +kes Attempt to correct problems with restores with autochangers and + use counts going negative +kes Rework SD status command and implement API for bat. Implements + header, runing waitreservation, devices, volumes, spooling, + and terminated status keywords. + .status storage=xxx +kes Clarify TLS error message by adding double quotes around name. +kes Simplify SD/FD status code by putting api flag in STATUS_PKT +kes Pass jcr to tls routines so debug messages can be handled better. +kes Rework jobq resource allocation code, and possibly fix a bug + that caused reference counts to get out of sync. +08Mar08 +kes Rename fd/dir plugin to use Bacula standard underscore. +kes Plugin work -- bring dir up to fd level. +kes Start implementation of VTL code +kes Fix Win32 build after adding new cats subroutine. +06Mar08 +kes First cut at Duplicate Job implementation. +05Mar08 +kes Fix bugs in MaxFullInterval and Implement MaxDiffInterval. +kes Start PluginOptions string, and refactor a bit of ua_run.c +ebl Apply Allan patch that permit to reset recyclepool. +04Mar08 +kes Test patch -- possible fix or improvement for bug #1053 +kes Refactor FD and SD status commands to permit new API code in + SD, and to fix Win32 build. +kes Win32 build is now working. +03Mar08 +kes Implement 'MaxFullInterval' and start 'MaxDiffInterval' based on + some ideas in patch from Scott Bailey. +kes Begin implementation of duplicate Job control. +kes Fix some of Win32 build after recent additions. +kes Apply patch from Frank Kardel that implements 'honor no dump flag', + which causes the FD to detect whether or not the OS has the + honor no dump bit (*BSD systems), and if so, to skip backing up + any file with this bit set. The feature is enabled by setting + 'honor no dump flag = yes' in the Options section of a FileSet. +28Feb08 +kes Correct po warning message with datarootdir +kes Implement more code in dird.c to put configuration parsing in + a class rather than use globals. +kes Restructure SD status command for implementation of bat API + interface. +27Feb08 +kes Suppress incorrect 'Will not descend from x into y' messages. +kes Eliminate FORTIFY_CODE=2 bug, and make first cut at removing + daemon globals used by parser. +kes Apply Joao's patch to separate DB_TYPE and DB_PROG in configure. +26Feb08 +kes Fix free of plugin_list when none exists. +25Feb08 +ebl Apply accurate project patch. +24Feb08 +ebl Fix a segfault when using strip_path option. (Use of pm_strcpy + on non-mempool object) +kes First cut of converting FD .status to work with bat API. + New form is: + .status client=XXX header + .status client=XXX running + .status client=XXX terminated +kes Implement first cut of Copy Job. +kes Implement Catalog in Pool resource. It overrides catalog specified + in the Client resource. +22Feb08 +kes Apply patch (with some difficulties) from Joao Henrique Freitas + , which adds support for libdbi as a Bacula + database driver. +kes Add patch from Martin Schmid scm@apsag.com that checks to see if + ftruncate() actually works. In the case of some (cheap) NAS devices, + it does not, and so recycling NAS Volumes does not work. The code + simply unlink()s the file, then recreates it. This fixes bug #1011. +21Feb08 +kes First incomplete cut of big malloc blocks for htable. +kes Tweak plugin code. +17Feb08 +kes Plugin debug code + tweak a couple bat dialog layouts +14Feb08 +kes Fix creating first JobMedia record during Migration to include + proper index. This caused slow restores of migrated jobs. +kes Temp fix to plugin name file_index. +kes Bacula backed up and restored a MySQL database. +13Feb08 +kes Implement plugin restore. +kes Implement parsing of db_driver to give db_type index. +10Feb08 +kes First cut of plugin restore code. +kes Fix bug #1047, which had a heap overrun when stripping certain paths, + and do not strip paths on symbolic links. +kes Set catalog backup database and user name from values specified on + the ./configure line. +ebl Fix #1031 about wrong pool source information in job report. +09Feb08 +kes Fix Win32 build. +kes Remove a redundant jcr argument to find_files, match_files, and + find_one_file. +kes Implement '.status dir header|scheduled|running|terminated' that + prints the requested status section. With the exception of the + header, the other reports have fields separated by tabs (\t). +08Feb08 +kes Apply patch from Peter Much that fixes + a resource embedded run command to find a since time if no explicit + since time was supplied on the command line. +kes Apply state-file.patch sent by Allan Black + that updates the state file at job termination time in addition to + when the daemon terminates. +05Feb08 +kes First version where a plugin did a backup. + bpipe-fd.so created a backup file, wrote a test + string to it, and Bacua could restore this fabricated file. +02Feb08 +kes Implement DB Driver = string for the DBI driver. +kes Remove all old bdb_xxx.c code. Add dummy routines to bdb.c +kes First cut of code for loading Win32 plugin dlls. Implement + dlopen, dlsym, dlclose, and dlerror in src/win32/compat/compat.cpp + and implement a dlfcn.h file based on opengroup's definitions of + the functions. +01Feb08 +kes First cut plugin directives. +30Jan08 +kes Apply patch from bug #1049 to prevent stripping the path on a + symlink. +kes Attempt to fix bug #1047 where stripping a path corrupts the + heap. Waiting for feedback. +kes Correct the Mount message not to suggest labeling a new tape + when doing a restore. Submitted by email by John Stoffel. +kes Attempt to work around gcc FORTIFY_SOURCE bug that crashes the + FD by using casting. Reported in bug #1042. +28Jan08 +kes A bit of crypto cleanup. More later. -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. +Release Version 2.2.8 +25Jan08 +kes Apply patch from Martin to correct bug #1040, bscan sets existing + ClientId to zero. +kes Fixed important spelling error in doc -- bug #1045. +23Jan08 +ebl Fix bextract to be able to extract non-portable Win32 data to + Unix/Linux clients +kes Move initialization of read/write res lock earlier in the code. + This fixes the crash with a null conf file. This fixes bug + #1030. +kes Redefine CURES in lib/parse_conf to be URES and move it all + into lib/parse_conf.c -- this responds to bug #1042, but does + not fix it. The fix is not to compile with FORTIFY_SOURCE. +kes Backport to 2.2.8 fix de-referencing a NULL pointer in the scanner from + the trunk SVN. I don't think this was reported as a bug. +17Jan08 +ebl Fix a bug during tape initialization with MTSETDRVBUFFER. +12Jan08 +kes Fix Win32 build with new .def files and DLL_IMP_EXP ... +10Jan08 +kes Add DataDespooling and DataCommitting status (committing is + the last despooling). +kes Finish implementation of new reservations code noted below. +08Jan08 +kes Fix bsnprintf for float point numbers. I broke recently when + parameterizing some variables. This fixes bug #1036. +kes Undo recent reservations changes ... will apply them later + when they work better. +06Jan08 +ebl Fixes #1034 which cause mysql to hang the connection after 8h +ebl Change default statistics target of filename.name and path.path + fields for PostgreSQL. This speeds lookup by indexes. Thanks + to Marc Cousin. +kes A few more tweaks to new reservation code. Make sure to clear + vol released flag when retaking volume. When reading label and + label is bad mark volume unused. When recycling, mark volume + unused so it can be renamed. +05Jan08 +kes Fix reserve_volume() so it doesn't release a volume in use + (i.e. a volume entry not marked released). This should be + the last part needed to fix bug #1018. +03Jan08 +kes Move Heartbeat documentation from Job to Director resource. + This fixes bug #1033. +02Jan08 +kes Fix existing switch drive SD code to call autochanger to release + any old volume. This must be done to keep the autochanger from + releasing subsequently newly reserved volumes in doing a close(). + This should fix bug #1018. +kes Fail if attempting to get console input in batch mode. This + should help fail RunScript console commands that are incomplete. +kes First cut implementing switch_drive() in SD (not actually called). +31Dec07 +kes Implement first cut running console commands in a RunScript. +29Dec07 +ebl Fixes bug #1028 where 'Selection Type' option was not usable + with JobDefs. +ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript + output in error. -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. +Release Version 2.2.7 +24Dec07 +kes Add new free_tls() entry point so that Win32 builds. +kes Fix compile warning in src/lib/util.c +kes Fix entry point for edit_job_codes() so that Win32 builds. +kes Fix seg fault Frank Sweetser reports in regression testing + on his systems. The problem was that the original author of + bsnprintf.c did not take into account the side effects of + using ++x in the argument to a #define. +kes Make SD protocol backward compatible with version 2.2.x. +19Dec07 +ebl Fixes bug #1015 where bacula failed to restore acl to a socket + because Bacula no longer restores sockets. +ebl Always use ignorecase fileset option on win32 FD. +14Dec07 +kes Apply patch from Michael Stapelberg + that implements double quoting include names in conf files, + and also allows piping input by having the first character + be a vertical bar (|). +kes Apply patch from Bastian Friedrich + that implement %f in RunScripts to pass the FileSet name. +kes Skip leading | when lex input comes from a pipe as suggested + by Michael Stapelberg . +13Dec07 +kes Apply patch for bsmtp Win32 daylight savings time fix supplied by + Nerijus Baliunas +12Dec07 +kes Implement Plugin Directory and plugin events. +11Dec07 +kes Implement a security enhancement: TLS authentication but no + encryption. Enabled by setting 'TLS Authentication = yes'. + Note when this is on, TLS encryption is turned OFF! +10Dec07 +kes This patch corrects a problem where the maximum concurrent storage + jobs counter gets out of sync during restore jobs causing jobs to + 'wait on max Storage jobs'. This patch fixes bug #1009. +03Dec07 +kes This patch fixes bcopy so that it produces correct Volumes. + It fixes bug #1022. +kes This patch eliminates spurious output to the console during a VerifyVolume + job that contains encrypted data. It fixes bug #1024. +02Dec07 +kes This patch prevents the 'status dir' command from trying to use a scratch + volume and possibly moving it from one pool to another. This patch fixes + bug #1019. +01Dec07 +kes Add new include to postgresql.c suggested by Marc Cousins so + that it compiles correctly with pgre version 8.3. +30Nov07 +kes Fix --archivedir addition to configure. Replace it with + --with-archivedir in configure.in This fixes the regression + test builds. +kes This patch fixes bug #1012 where the job is canceled because + of Max Run Time exceeded when the job has not yet started. +29Nov07 +ebl Apply Richard Mortimer patch that fixes #1016 when there are more than + one 'part' to write. Instead of each part being stored on disk, + written to DVD, then deleted from disk, all parts are written to disk, + and only the last is written and deleted from disk. +kes This patch fixes the status command to include the formating string for + JS_AttrInsterting. It fixes bug #1021. +kes This patch should fix the Mac OS X build problem on the latest + Darwin, where sys/types.h was not included correctly (apparently + due to a change in the Mac headers). The solution was to explicitly + ensure that it is defined for the ./configure. + This patch also has a rebuild of configure that includes the Debian + qt4 patch to check for qmake-qt4. This patch fixes bug #1020. +kes This patch should ensure that queued messages to the console are + displayed as soon as possible. It should fix bug 1007, but has been + reported not to work. +14Nov07 +kes This patch fixes the infinite loop when trying to increase the + maximum number of volumes in a Pool during the add command. + This patch fixes bug #1008. -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. +Release Version 2.2.6 +09Nov07 +db Remove extra data on estimate command in joblist for bat. +04Nov07 +kes Cleanup of code in SD that sets the LastWritten date. This doesn't + really change anything, but is the beginning of doing it *right*. + To do it completely right the LastWritten date must be passed to + the SD, but it is not yet done. +kes Minor tweaks to some bat restore SQL. +kes This patch fixes bug #1003 where putting the message output from + a Verify job into the catalog results in a recursive loop. The problem + seems to show up only with postgresql (to be verified). +kes Correct %x to %p in postgresql debug statement. +02Nov07 +kes Fix bug #942 where lots of emails where generated when the heartbeat + interval was low and Bacula wanted a different tape from the one in + the drive. +25Oct07 +ebl Add new SD despooling attributes and Dir inserting attributes + job status codes in the catalog (Status table). +24Oct07 +ebl Use qmake-qt4 instead of qmake when available (debian system). +22Oct07 +kes Add a security warning to src/cats/make_catalog_backup.in indicating + that passing the password via the command line (arg 3) is insecure. + This responds to bug #990 (it doesn't fix it). +19Oct07 +kes Set default debug_level to zero. This corrects bugs #991 and #993. +kes Fix a crash in bat when it cannot connect to the Director for example + if the Director is not running. +kes Remove redundant INDEX (JobId) from File table in the trunk. + This fixes bug #992. +kes Make explicit exception to GPL in LICENSE to permit linking + the Win32 FD with Microsoft VSS code. +kes Apply the Solaris package patch from + Masopust, Christian +kes Apply the patch to optionally add a timestamp in the debug output + submitted by Mariusz Czulada . +18Oct07 +ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql + backend (sql_strerror). Fixes bug #989 +16Oct07 +kes Apply Michael Short's Win32 regress patch. + It applied with no problems. +kes Add PATH command to SunOS part of mtx-changer.in so that sed and + awk are on the path. +kes Redirect stderror to stdin on mt status command in mtx-changer.in + since the status is returned on stderr on Solaris. +kes Activate Close button on tray-monitor window. This fixes + bug #986. +kes Check for NULL item in parse_conf.c before calling it. In the + case of Device, there is no item and this caused a seg fault when + Device appears in the conf file. +kes Add a #define __CONFIG_H when including config.h in bacula.h. This + avoids pulling in config.h multiple times in some new code. +12Oct07 +kes Fix spurious warning message printed when creating a volume with + a LabelFormat. This fixes bug #976. -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. +Release Version 2.2.5 +09Oct07 +kes Add JobId in place of Job name in all the Jmsg() output. +kes Correct the APP_DESC for the Win32 storage service (remove an e). +07Oct07 +kes Make maxvol-test and new more strict maxvol2-test work. +kes Print JobId in all Jmsg() job output. +06Oct07 +kes Add new SD despooling attributes and Dir inserting attributes + job status codes. This fixes bug 961. +kes Fix Win32 drive display in bat version browser. Fixes bug #962. +05Oct07 +kes Fix doc issue. This fixes bug #963. +kes Fix listing performance problems in bat. Pointed out by + Chris Howells. +kes Remove old debug code. +kes Fix bat code that tests for Win32. This should fix bug #968 +kes Query 5 list wrong Vol after migration. This fixes bug #960 +04Oct07 +ebl Fix #969 where user can't change Replace option in restore menu. +5ASep07 +kes Save jcr in thread specific data (tsd) for each thread. +kes Make Dmsg() print JobId as -%u. +kes Make Jmsg, Emsg, and others automatically pickup the jobid + for the thread if it exists. +kes Remove old reservation debug jid code. +kes Remove get_jcr_from_tid() from OpenSSL and tls code. +ebl Add an option that permit to specify spool size in job + definition. (Applying patches/testing/spoolsize_per_job.patch). + You must upgrade SD and DIR at the same time. +dvl Add new configuration item --archivedir +dvl Adjust regression tests to use tmp not /tmp. This will allow + multiple concurrent runs of the regression tests. +28Sep07 +kes Fix race condition that drops final block written to volume. + This happens in rare cases with multiple simultaneous jobs + when the Volume fills. This fixes bug #964. May be related + to bug #935 and possibly #903. +kes Eliminate more strerror() and replace with bstrerror(). +kes Remove BSD getopt and replace with unrestricted IBM version. +kes Fix Win32 build for changed calling sequences. +kes More tweaks to the mount volume routines to get everything + right. Changed variable name from find to have_vol, which is + much easier to understand. +kes Enhance btimer debug code. +27Sep07 +kes Fix FD->SD authorization failure, which was due to spurious + wakeups from a pthread_cond_timedwait(). Simply check the + predicate before continuing. This fixes bug #953. +kes Add const char where needed (more to do). Remove temp debug code. +26Sep07 +kes Setup SQLite busy handler before doing queries. Fixes bug #967. +kes Don't overwrite error message in check_tables_version. + Fixes bug #966. +kes Unlock batch insert tables with same calls used elsewhere. +kes Allow starting 59 jobs a second. +kes Make SD session key more random. +kes Add retry for SQLite opening db if it fails. Probably helps + for bug #967. +kes Suppress extra error messages during batch insert failure. + Fixes bug #966. +kes Add jcr to timer packets so if killed message can be sent to job. +kes Add JobId to all Dmsg() output. +kes Put some FD auth code on dbglvl rather than fixed. +kes Return insert attributes error message in db msg buffer to avoid + false error messages. Helps fix bug #966. +kes Separate batch init error messages. Probably helps fix bug #966. +kes Make SD code that contructs attribute insert check string lengths + more carefully. +kes If Dir gets an error during inserting attributes, cancel SD. + This reduces unnecessary error messages. +24Sep07 +kes Correct search boolean for getting Volume info +ebl Cleanup batch insert code. Probably fixes bug #965. +kes Back out one small change to the reservation system (reserving a volume). +kes Rework how a Volume is mounted. It is now much more intelligent and + will always attempt to use any mounted volume if possible and reduces + calls to the Director asking about volumes. +23Sep07 +kes Turn off some code when batch insert not enabled. +kes Edit FD name in connect error messages. +kes Rework the reservation system to take into account that the Director + might give us a Volume that is different from the current one being + used, and to ensure that we don't exceed Maximum Volume Jobs. + This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces + fatal error with multiple jobs running' +kes Add more debug code in reservation system. +kes Implement maxvol-test to check bug #947. +22Sep07 +kes Add code to handle tray monitor separated from Win32 FD. +kes Fix display of Win32 tray monitor after reboot. Fixes bug #952. +20Sep07 +kes Add missed return in fixing verify bug -- trunk only. +ebl Fix a command parser issue causing a director segfault. +kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes. + This fixes bug #954. +kes Increase the max block size to 4MB fixes bug #957. +kes ERABT if user sets min block size > max block size. Fixes bug #956. +kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape + is not properly mounted (recognized) during a poll. +kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog + Job that has differences reports Verify OK. +ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation. +17Sep07 +ebl Add an option to operate on all pools with update vol parameters. + This complete the project 20. Patch from Nigel Stepp. +ebl Add history support to bconsole when using readline. + Using Ctrl-D to exit doesn't update .bconsole_history +kes Modify new volume algorithm to use max MediaId for generating next + volume number rather than the count of Volumes. This should essentially + eliminate the failure rate if some volumes were deleted. Bug #921. +kes Begin implemention of Optimize Job Scheduling. +kes Implement restore callback that Dirk and I agreed on for bat + restore. This fixes bug #928. Restore of backup of zero files fails. +kes Fix SQL Catalog logging which broke with new db_escape_string + calling sequence. -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. +Release Version 2.2.4 +14Sep07 +kes Fix bacula_cats.def for new db_escape_string(). +kes Increase size of name string when FD making connection to SD. + May fix bug #953. FD->SD connection failure. +13Sep07 +kes Add code to help Dan debug 2drive-incremental-2disk test. +kes Add code to try to fix bug #908. +kes Add waits to multiple exit detection code to try to force pid + file to always be deleted. +kes Restore good dev.tar.gz to rescue set appropriate binary property. + This fixes bug #950. +kes Fix seg fault in error exit of acquire_for_read after unsuccessfully + trying to switch drives by checking for blocking before unblocking. + Fixes bug #906. +kes Cancel storage daemon in all cases where FD reports error. This + should fix virtually all cases of bug #920. +kes Fix db_escape_string() for MySQL which did not compile. +12Sep07 +kes Fix error message that was clobbered when Dir tells SD it does not + have write permission on Volume. This should fix a minor point + in bug #942, but not the main problem. +kes Add code to cancel job in SD if FD connection fails. This should + fix bug #920. +kes Add code in FD exit to prevent loops and a crash on FreeBSD. +dvl Pass jcr and db into db_escape_string() to enable better escaping + of strings +kes Fix migration code to get correct Volume name with multiple volumes + by skipping |. Fixes bug #936. +kes Implement patch supplied by Landon to fix bug #944 where using + TLS with bconsole uses 99+% of the CPU. +kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor + program. +kes Move patches into patches directory. +11Sep07 +ebl Fix bug #946 about 'bacula-dir -t' which doesn't works + as expected. +09Sep07 +ebl Using 'm' in bconsole will show messages like before, + and not memory usage. +kes Fix bug #935, and probably also bug #903 where files were not + restored. MediaId was not properly set in JobMedia record after + a Volume change. +08Sep07 +kes Suppress chown and chmod error messages if the FD is not running + as root. +07Sep07 +kes Apply Martin Simmons' patch that should turn off the new API usage + when batch insert is turned off allowing building on older + PostgreSQLs. +kes Add ./configure search in qwt-qt4 for qwt package +05Sep07 +kes Bacula is now free of 3rd party GPL copyrighted code! +kes Remove idcache.c +kes Add guid_to_name.c/h which replace idcache. +kes Remove enh_fnmatch.c. Make code that references it use fnmatch.c +04Sep07 +ebl Detect if new PosgreSQL batch insert API is present. +kes Correct incorrect mempool call causing Director crash. Occurs on + systems without va_copy(). +sb Update spec files for 2.2.1 release +03Sep07 +kes Fix memory pool call in ua_output.c. bug #934. +kes Replace fnmatch.c and fnmatch.h by modified BSD versions. + Add test program to fnmatch.c +02Sep07 +kes Integrate patch to README.vc8 from + Hederer Jean-Sébastien FD return status reported by + (James Harper) +ebl Fix a bug in read_close_session which return random status + thanks to James Harper +23Aug07 +kes Fix (hopefully) bug #930 by doing a db_escape_string() on file + and directory names during restore of single file/directories. +kes Add sanity checks to .sql command when string is empty. Hopefully + that will resolve Dirks Director crash. +22Aug07 +kes Apply patch submitted by Martin Simmons that corrects a seg fault + in the bsmtp chat subroutine when debug is >= 10. +21Aug07 +kes Fix Director crash when running bat SQL queries. +kes Add David's notes on Item 8: Copy pools. +18Aug07 +kes Rework projects file to be current and ready for a vote. +kes Enhance lex scanner error message. +17Aug07 +kes Tweak LICENSE file to mention BSD code. +kes Fix bat.pro.in so that it includes the OpenSSL libraries only + if specified on the ./configure. +kes Add first (not yet tested) cut of bcomm to the qt-console directory. + This class is intended to allow us to open a second bsock to the + Director while in the restore subdialog. +16Aug07 +kes Fix configure to create bat Makefile before creating dependencies. +kes Eliminate the egg files from the tray-monitor. Use gtk calls. +kes Add a tooltip to the tray monitor. +dvl Set the Director's PID file before dropping privs. This fixes + bug #923. +15Aug07 +kes Update AUTHORs file +kes Increase the default max concurrent jobs to 20 in FD and SD to + correspond with the default .conf files. +kes Rewrite the Win32 service routines. This eliminates the 3 copies + some different, of the same file created by RN when porting the + Win32 SD and Dir. +kes Rearrange some of the Win32 directories and the placement of the files + in them. +kes Set DEVELOPER flag in version.h -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. +======================================================================== +Release Version 2.2.0 +09Aug07 +kes Apply a second doc patch from Marc. +kes Apply a doc patch from Marc Schiffbauer that + improves the tips section that discusses how to setup multiple + simultaneous jobs. +08Aug07 +kes Update bat README file. +kes Apply patch from Allan Black that + corrects a typo in the Recycle status check in db_find_next_volume(). + This will probably fix a number of annoying problems with multiple + Recycled volumes. +kes Modify most of dird/msgchan.c to use bsock class calls rather than + bnet calls -- no functionality change. +07Aug07 +kes Modify the Verify output to specify if files are missing on + the Volume(s) or disk. Fixes confusion in bug #916. +kes When more than one Volume is read in a migration job, the last + Volume bytes reported are from the last read volume rather than + the last written volume. Fixed. This fixes bug #910. +kes Fix display of Recycle flag after update volume=foo recycle=yes. + It previously printed New Recyle flag is: no. This fixes bug + #917. +06Aug07 +kes Correct seg fault when switching tape drives during restore. +kes Commit uid_gid_name.c (replacement for idcache.c), but will not + be used until after 2.2.0 release. +04Aug07 +kes Remove fnmatch() in SD that permitted wild card specifications. + This fixes bug #914. +31Jul07 +kes Fix %g in filename returned by SQL for browse tree reported by + Dirk. +kes Fix configure so that it puts config.out in the cwd rather than + in src/qt-console +kes Attempt to fix the locking problem reported by Eric in bug #906. +kes Make berrno class to leave errno unchanged after constructor call. +kes Make bnet_server use the heap rather than the stack to allocate + its socket fd pointers to avoid a crash at termination. Problem + reported by Ryan Novosielski and bugs pointed out by Martin Simmons. +30Jul07 +kes Create new depkgs and depkgs-qt separating the qwt out of depkgs + and putting it in depkgs-qt along with Qt4.3. +29Jul07 +kes Rework code in acquire.c that switches drives for reading when + the Media Type does not match. This should fix bug #906 +28Jul07 +ebl Fix a director segfault during job setup #907 +kes Correct seg fault in postgresql when first operation returns no + rows. Fixes Dirks File browser problem seg fault with bat. +25Jul07 +kes Apply patch from Felix Schwarz that allows + building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with + 2.6 as well). +24Jul07 +kes Implement PopUp YES/NO dialog for bat. +23Jul07 +ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS +22Jul07 +kes Correct RunScript to terminate job in FD on failure. +kes Change abort_on_error and AbortJobOnError to fail_on_error + and FailJobOnError in RunScripts. +kes Minor tweaks of code formating in RunScripts, principally to + avoid depassing 80 columns. +21Jul07 +kes Eliminate one #ifdef Win32 in bsmtp +kes Implement grow tool to grow a file for testing very large databases. +kes Add big-vol-test to test Bacula seeking with > 5GB. +Release 2.1.28 beta +19Jul07 +kes Modify find_next_volume() to return all values in Media record. +kes Ensure that we keep Recycle Pool when moving Scratch volumes. -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 -- Apply Unicode fixes for Win32 from 'Thorsten Engel' - -- 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 +Release 2.1.28 beta +18Jul07 +kes Update Release notes +17Jul07 +ebl fix a bug in get_scratch_volume() report by Andreas Helmcke + Warning, in previous beta version, all media get from scratch keep their + old retention. +16Jul07 +kes Tweaked Win32 installer to remove temp conf files at uninstall time. + This should fix bug #842. Made a note to look at removing the temp + files at the end of the install. +kes Add ability to mount and unmount a file device providing it is + marked as being removable and has the appropriate mount and unmount + commands defined in the Device resource. This fixes bug #830. +kes When applying a storage override, release all previous storage + definitions rather than just prepending the new storage. + This should prevent a good deal of confusion. +14Jul07 +kes Implement ./configure search for qwt libraries. +13Jul07 +kes Disable posting the WM_CLOSE message in KillRunningCopy of the + Win32 FD. This should fix bug #893. +kes Remove an unnecessary beep in Win32 init code. +kes Update copyright dates in Win32 executable about boxes. +kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32 + code with a BSD getopt.c and getopt.h. +kes Remove sched.h from the Win32 compat directory -- not used. +kes Remove the Exit menu item from the Win32 tray monitor. If you really + need to shut it down, do it through the services panel or the command + line. +kes Remove some inappropriate Bacula FSFE copyrights. +ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x) +kes Fix regress config non-portable test as pointed out by + Florian Heigl +kes Fix PSCMD for HP-UX in configure.in to have proper syntax. + as pointed out by Florian Heigl +12Jul07 +kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c + Reported by Frank Sweetser. -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. +Release 2.1.26 beta +12Jul07 +kes Fix client-only build. +kes Integrate client-only fixes for bsys (initgroups) and conio from + Sergey Svishchev for the AIX platform. +kes Make arguments to get_scratch_volume() in same order as other + such calls. +kes Rework the prune_volumes() subroutine so that after purging and + no volume found in desired pool, it will check for a scratch + volume. This prevents recycling the whole scratch pool. +kes Add code to status storage to print boffset_t (largefile support). +11Jul07 +kes Move qwt (Graphics libarary for Qt4) to depkgs. +kes You now need a --with-qwt= to be able to build bat. +kes Update src/win32/cats/bacula_cats.def to include the new + db_get_query_dbids() call on Win32. +07Jul07 +kes Correct a problem when selecting a scratch volume and moving + it to another pool that lost some columns. +kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM. +kes Enhance Autochanger error messages to include Volume and device name. +kes Rework prune_volumes() code to take account of InChanger flag, + and to handle recycling volumes going to the Scratch pool and + current pool because the RecyclePool directive. +kes Implement a better and more efficient db_get_query_dbids() to + handle creating and passing back a list of DBIds. -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. +Release 2.1.24 beta +03Jul07 +kes Start work on new more efficient DBId subroutine. First use + will be for recycling volume to Scratch inchanger. +kes Increase number of JobIds in pruning from 1000 to 10000. + This to be replaced by above routine. +kes Begin implementation of building Qt4 on Win32. +kes Correct typo in fix I added for bad TLS shutdown. +kes Pull 2.0.3 patches into patches directory. +kes Update Release notes. Include qt-console in line count. +kes Update Projects file. +30Jun07 +kes Integrate patch from Sergey Svishchev that fixes + bug in migration code where a job that spanned two volumes + was migrated twice. +29Jun07 +kes Implement new BST_DESPOOLING blocked state. Change from locking + during despooling in SD to blocking. This means that other threads + can work with the device structure, in particular the reservations + system while despooling. +28Jun07 +kes Fix return in reservation message queue that missed clearing + the jcr lock (implemented 26Jun07 below). +kes Rename a number of dev methods to make locking function names + a bit clearer. +kes Document locking in lock.c. Move lock structures to new file + lock.h. +26Jun07 +kes Move reservations message lock to lock jcr only this + fixes bug #861. +kes Move main SD locking code into lock.c (new file). +kes Update Win32 build to include lock.c -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. +Release 2.1.22 beta +26Jun07 +kes Dirk committed the qwt library code for drawing graphs in bat. +kes Tweak install of qwt so that it is integrated with ./configure. +25Jun07 +kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed + out by Eric (my typo). +ebl Fix configure.in to get batch mode enable +kes Return correct string from authenticate.cpp in bat when connecting + to Dir. +kes Apply patch suggested by Frank Sweetser to fix bug #888 -- + spurious line drops when using TLS. +kes Do not file reparse points when restoring a file that already + exists -- Win32. +24Jun07 +kes Implement Windows reparse points -- similar to directories, but + we do not descend into it. This is a first cut. They seem to + be backed up, but restore is not yet tested. +kes Remove restore_blocking in tls code when shutting a socket to leave + it in blocking mode. Hopefully this will fix the encryption bug + reported by Frank Sweetser. +kes When opening a file for backup, tell the OS that we are going to + read it sequentially -- optimization. +kes Change variable names in authenticate_director() to not conflict + with member names in bat. Caused great confusion with compiler, + but no warnings. +23Jun07 +kes Queue openssl error messages in case of comm problem. +kes Do shutdown() call if socket terminated. +kes Remove some duplicated code in tls.c +kes Move more of the bsock member variables into private and access + them with methods. +kes Add Frank Sweetser's tls-test to the regression suite. +22Jun07 +kes Add Swedish sv.po file +21Jun07 +kes Don't print clock skew message in FD if less than 3 seconds diff. +kes Add a bit of VSS info to status client. +kes Implement a first cut of Vista VSS, using Win2003 code. -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 -- Fix FD job.c to test correctly for no level. +Release: 2.1.20 beta +20Jun07 +kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with + loaded tape but uses first drive). +kes Fixed bug #807 Restore encrypted backup failed on Windows 2003 + This was indeed a Win32 issue. +19Jun07 +kes Simplify search of autochanger for in-use Volume. +kes Fix exit condition of check for in-use volume. kes Remove + inappropriate my_postgresql_free_result() in db_close() + routine. +kes Fix bad return in FD when encryption signature not found. + Probably caused a crash. +kes Inhibit missing encryption signature error messages for + file types where no signature computed. +kes Correct inverted check on autochanger in reservation system. +kes Tweak debug code in autochanger reservation. +18Jun07 +kes Add some additional locking in the cats directory in subroutines + that modify packet variables called from batch insert. +kes Rework how dcrs are allocated. new_dcr() can now be called + with an existing pointer, and it will simply clean it up. + This allows the reservation system to test various different + devices, and will permit easy device changes. +kes A bunch of changes all over to handle new new_dcr() calling + sequence. +kes Work more on the Volume management in the SD. Remember Volumes + for tape drives and for autochangers (even virtual disk changers). +kes When looking at the Volume list to reserve a drive, handle + autochanger names correctly by interating through the changer + devices. Also call the Director to see if a Volume is suitable + for the current job. +kes Fix some bugs in bscan. Make sure all media records are written. + Make sure that valid JobMedia records are written for disk files. + Previously they were completely wrong. +kes Move source tar files for depkgs-mingw32 to www.bacula.org so + that the URLs don't change and so that the developers will all + work off the same copy. Rebuild from scrach. +kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17. -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 Haakansson - 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. +Release: 2.1.18 beta +16Jun07 +kes Fix seg fault in FD from incorrect digest size. +kes Fix argument to non-OpenSSL crypto.c subroutine. -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 - 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. +Release: 2.1.16 beta +16Jun07 +kes Remove a few malloc()s from the encryption code. +kes Use the class calls to bsock in filed/backup.c and restore.c in + place of the old bnet_xxx code. +kes Implement code that does an on the fly calculation of the + signing digest during restore of encrypted files. It makes + a best guess at the algorithm, and if it is not correct, will + then revert to the old code which reads the file after it is + restored. +kes Implement at least one missing crypto stream in stream_to_ascii() +kes Apply patch from William that fixes bug + #877 where a reload with bad syntax causes Dir to exit. -Changes to 1.37.2: -12Jan05 -- Integrate Preben 'Peppe' Guldberg '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 - 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 - alist fix patch. -- Remove duplicate code from chksum.h (mentioned by Preben). -13Dec04 -- Integrate Tim Oberfoell patch to ACLs - to handle both the 'standard' and 'default' ACLs. -12Dec04 -- Integrated Preben 'Peppe' Guldberg - three cleanup patches (btest, verify, find). -- Integrated Preben 'Peppe' Guldberg - three cleanup patches (backup, chksum, and verify) -09Dec04 -- Integrated Preben 'Peppe' Guldberg - patch to avoid doing MTIOCGET on OSes that do not support - it such as OpenBSD. -- Integrated Preben 'Peppe' Guldberg - patch to add filesystem type matching to FileSets in the - Options resource. -- Integrated Preben 'Peppe' Guldberg - 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 - 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 - 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 -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. +Cut: 2.1.14 beta (not released) +14Jun07 +kes Do not free a volume on a tape drive until another volume is + mounted and read, or the autochanger unloads the volume. + This should help the SD re-use volumes that are already mounted, + and should fix bug #886. +kes Apply patch from user brettedgar that allows gnome2-console include + the OpenSSL libraries, and hence work with SSL. Fixes bug #885. +kes Apply patch from Lucien Weller that fixes day of week calculation + because of DST flag problem. Fixes bug #887. +10Jun07 +kes Move find_next_appendable_volume() to after acquiring a valid device + in reserve.c. This fixes bug #864 -- confirmed by reporter. +09Jun07 +kes Unable to reproduce bug 872. However added additional testing for + integer. +kes Bug #874 resolved by documenting SQLite limitations. +kes Bug #882 resolved by documenting mtx-changer script for new drive code. +kes Bug #881 resolved by removing typo in mtx-changer script. +kes Made Frank Sweetser's wiki the official Bacula wiki with his + approval. Added a link to the wiki on the web page, and implemented + a backup from http://paramount.ind.wpi.edu +08Jun07 +kes Fix update allfrompool to pass pool name. +07Jun07 +kes Convert to pure GPL v2 license. +kes Fix sscanf problems reported by Peter Buschman that caused + a bus error on Solaris. +kes Rework (simplify) the select prompt in bat. +kes Move get_jobid_from_tid() into lib and create a + get_jcr_from_tid(). +kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This + should definitely fix the problem of lost error messages in the + encryption code. +kes Remove over zellous addition of FSFE copyright in a few eggxxx files. +kes Eliminate tcpd.h from the project. Enclose the #include from the + library with extern C ... +kes Add print of signal name when a signal is trapped. +Release: 2.1.12 beta +04Jun07 +kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer. +03Jun07 +kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial + query for SQLite3. Use it to set PRAGMA synchronous = OFF. This + makes SQLit3 run 30 times faster, though a bit less safe. +kes Implement --with-batch-insert in configure and detection of thread + safe libraries. It is on by default, but turned off if no thread + safe library (e.g. SQLite 2) is available. +02Jun07 +kes Fix Bacula PostgreSQL buffer overruns. +kes Do better checking for NULL results returned from PostgreSQL; + implement retry for failed queries; clear results buffer after + failed query. Hopefully this will correct the PostgreSQL failures. +01Jun07 +kes Implement algorithm to handle only one appendable volume with + Prefer Mounted Volumes = no. +kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer + returned from a query. +kes Make volume lock recursive. +kes Implement an additional volume reservation algorithm that + starts by considering all reserved volumes then uses the + old brute force algorithm of searching the resources to + find a suitable device. +kes Add new reservations debug code and refine the old code. +kes Update the win32/dll/bacula.defs file. +29May07 +kes Tweak reservations algorithm to permit a few more cases, i.e. + volume reserved, but on different drive, ... +kes Enhance SD status to include Pool and Media Type for drive in a + more readable format (a bit longer). +kes Fix PostgreSQL double free. +28May07 +kes Minor refactoring of restore decryption code. +kes Add code to smartall.c to detect double free of a buffer. +27May07 +kes Add < > around %r in from field on mail command of bacula-dir.conf.in + so that bsmtp will create a correct email address (mailbox only). +kes Modify 'memory' command so that the buffers are listed as 'In use' + to avoid confusion with Orphaned buffers. +kes I reworked the OpenSSL include/lib flags to be handled in + the standard Bacula way, which should fix bug #863 concerning + non-standard OpenSSL libraries. +26May07 +kes Implement Help Browser window for bat. +kes Fix reload bug that reset StorageId to zero. +25May07 +kes Fix TLS #ifdefing when TLS turned off. +kes Ensure that when labelling a tape with Slot=0 that InChanger + is not set. +kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query + the same. +kes Add StartTime to final uar_sel_jobid_temp query so that we can + add DISTINCT (required by PostgreSQL). +kes Implement BSOCK authenticate_director() method. Eventually will + authenicate all daemons. +kes Move several more functions into the BSOCK class. +24May07 +kes Add code to tell the OS that we no longer need a cached + file that we were reading. In findlib/bfile.c. Also, + only cache files that we are reading. Thanks to + Tobias Oetiker for the idea. +kes Tweak to bsmtp to eliminate compiler warnings on Win32. +kes Implement script to automatically generate cats and dll .def + files for Win32 dll. +kes Update README.mingw32 to include new .def file generation. +kes Correct typo in UTF-8 error message as reported by: + jhernandez +kes Add additional sm_check() code on debug level 1. +kes Set default debug level to 1. +kes Trap SIGABRT in attempt to get traceback. +23May07 +kes Reduce bat connect timeout from 30 to 15 seconds. +kes More restructuring and implementing BSOCK class in place of + old bnet.c code. +kes Remove a few unnecessary malloc() tests in crypto code. +kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2 + not defined. Bug reported by Allan Black +kes Remove duplicate HAVE_CRYPTO definition in config.h.in +22May07 +kes Fix Verify InitCatalog mysql_escape_string() trashing memory. + Make buffer bigger. +kes Fix Verify InitCatalog. The attributes were not pointing to the + correct saved location. +kes Implement message callback so that GUI is sure to get all + daemon messages. Currently displayed in a dialog in bat. +kes Ignore SIGUSR2 (Bacula timer) in bat. +kes Apply regress patch from bug #859 to allow regress to work + with Solaris compiler. +21May07 +kes Begin adding TLS support to bat. +kes Apply UTF-8/16 patch from Yves Orton to + clean up lex.c and make it more readable. +20May07 +kes Move more bnet functions into the BSOCK class. +kes Fix tray-monitor by not requiring a timer interval in bnet_connect() +kes Complete change of berrno strerror() method to bstrerror() - Technical notes on version 1.37 - Nicolas Boichat +Release: 2.1.10 beta +18May07 +kes Cleanup incorrect email addresses in bsmtp. +kes Make bat display initial messages rather than discard them. +16May07 +kes First cut of adding .mod to the run command. +kes Implement auto display of messages in bat. +kes Enhanced preferences to allow all Bacula output to be + displayed in bat. +15May07 +kes Try to make bsmtp date routines more generic. +kes Fixed bug #856 autochanger documentation. +kes Rework bsmtp date editing for Win32. This fixes bug #854. +kes Add new cats entry point so Win32 builds. +14May07 +kes Attempt to fix bsmtp date editing on OSes without %z editing. + Fixes bug #854. +kes Do better checking for the MySQL 64 bit libraries looking for both + .a and .so libraries. +kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow + /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/... +kes Require the thread safe version of MySQL during configure. Thanks + to Andre Noll for pointing this out. +kes Ensure that calls to find_jobids_from_mediaid_list() check count before + continuing in migration code. +kes Apply implementation of tray-monitor font derived from gnome-console + submitted by Andreas Piesk +13May07 +kes Eliminate important memory loss in SQLite +kes Fixed the batch insert MySQL thread specific data that was not + being freed. See cats/mysql.c:db_thread_cleanup(). +kes Fix restore before command. +kes Convert old hdr.name to name() in a few places. +kes Implement update jobid command. +kes Return all time_t dates in db_get_job_record() +kes Stop watchdog in SD earlier. +kes Put Pool just after Storage in please mount message. +kes Fix pointer usage bugs in Verify InitCatalog pointed out by + Eric. +12May07 +kes Update the po files. +kes Fix Verify InitCatalog by making it cache attributes. +11May07 +kes Change name bacula-bat to bat for man 1 page to correspond to + Makefile. +kes Check for client and store NULL pointers in status command. This + fixes bug #845. +kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures). +kes Fix sign extended editing of %p. +kes Clean out a little old #ifdefing in cats/mysql.c +10May07 +kes If time diff between DIR and FD is more than 600 seconds convert + INFO message to WARNING. +kes Implement heap size display in status for all daemons. +kes Attempt to fix MySQL db open memory loss (not successfull). +kes Don't set SIGKILL and SIGSTOP neither can be trapped. +kes Eliminate memory loss in MySQL (possibly other SQLs) during + Query. This looks like a MySQL but but by doing extra releases, + the memory goes away. This should fix bug #847. +09May07 +kes When backup fails, cancel SD before waiting for sd termination. +kes If SD is waiting for FD to connect during cancel, wake up the + thread. +kes Fix fsf code so that errno is correctly reported. +kes Apply migration patch (with changes) from Sergey Svishchev +08May07 +kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL + so that Bacula doesn't later stumble into a seg fault. +kes Use the term Restore Client in the restore Job report. +kes Merge patch from Sergey Svishchev that preserves + the original job's FileSetId. +kes Merge patch from Sergey Svishchev that implements + spooling in migration jobs. Not yet tested. +kes Merge patch from Jorj Bauer that implements + reading conf file from a pipe. However, do it with open_bpipe() + rather than popen. Not yet tested. +07May07 +kes Fix an ugly bug where the VolCatBytes were getting updated + during a restore. +kes Implement bconsole memory command that prints current memory + usage, plus smartalloc dump. +kes Clarify some error messages in backup, admin, and migrate. +kes Shrink label dialog to smaller size. +kes Invert Cancel OK buttons on restore to be OK Cancel. +kes More strerror() to bstrerror() conversions. +06May07 +kes Start implementing bstrerror() in place of strerror(). +kes Stripping path -- seems to work. +04May07 +kes Prevent door and port files from being restored (mostly + Solaris stuff). +kes Free an unreleased buffer in compat code. +kes Change console Job name from *Console* to -Console- to eliminate + Win32 filename problems. Put Win32 path separator when creating + Console file. This fixes bug #846. +kes Change berrno::strerror() to berrno::bstrerror(). Not yet full + implemented. +kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE + structure. +kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in + to force Win32 error message. +03May07 +kes First cut strip path. The data should be passed to the FD, + but nothing is done with it yet. +kes Enhance the digest and signature routines in the crypto + library to accept a JCR and to use it to print error messages + so that they will go in the Job report rather than the daemon's + messages. +kes Simplify some of the verify signature code. +kes Simplify a few of the alternative returns in the signature + code. +02May07 +ebl Use only POSIX regex instead of GNU regex in breg.c for + File relocation. It fix broken freebsd compilation. +kes Convert all other Dir files to use new ua class message + routines for bat. +kes Tentative fix for missing digest signature in bug 807. +kes Correct handle problem in new win32_ftruncate routine. +kes Convert ua_purge.c and ua_update.c to use new ua class + message routines for bat. +29Apr07 +kes Correct incorrect installation of LICENSE in Win32 installer. +kes Display LICENSE at the beginning of the Win32 install. +kes Attempt to correct the need for the png files to be installed + for bat. +kes Reapply my bat.conf install script in qt-console. I think I + editted bat.pro instead of bat.pro.in and it was lost. +kes Apply CentOS patches someone sent me. Checks for /var/run/subsys, + the /var/lock/subsys for subsysdir. Also corrects typos in the + doc. +28Apr07 +kes First cut update job. +kes Correct configure to include qmake of src/qt-console directory. +26Apr07 +kes Make restore job yes/mod/no print in one command so GUI works. +kes First cut implementing backup and restore client. +kes Correct editing in Verify output that caused a seg fault. +25Apr07 +kes Insure that bat.conf is not overwritten during installation. +kes Fix important bug in db_sql_query() in mysql.c. It was introduced + while I was implementing migration in March 2006 ! +24Apr07 +ebl Cleanup file relocation, using char *RegexWhere instead of + char *where + bool where_use_regexp +kes Update some manpages and add bat manpage. +kes Make a first cut at converting bacula.spec.in for bwx-console + and bgnome-console. +kes Apply patch from John Goerzen to add hostname as fourth argument + to make_catalog_backup script. +kes Fix typos I introduced into bsmtp.c +kes Make pm_strxxx() routines handle input of NULL pointer. This + is to protect from NULL pointers returned from SQL databases. +kes Correct typo in bacula-sd manpage as pointed out by John Goerzen. +kes Add more debug to FIFO code -- fix fifo regression test. +23Apr07 +kes Implement posix_fadvise in FD, and for reading spool files in SD. +kes Add thread timer to bnet_connect() to break from OS if wait time + expires. +22Apr07 +kes Update Win32 build to include new files, new symbols, and + renamed files. +kes Implement socket level heartbeat (tcp_keepidle) +ebl Commit File relocation patch +kes Make bat have 'make install' target. +kes Warn during install if old gnome-console binary found. +kes Warn during install if old wx-console binary found. +kes Add -8 option to bsmtp command line to add content type utf-8. + Fixes bug #809. (Character coding problem in bsmtp). +kes If < is found in target (from, to, cc) then do not enclose the + target in < > in bsmtp. Fixes bug #772 (malformed address). +kes When printing certain items in dbcheck, stop after 300000. + Fixes bug #822. (dbcheck loops). +kes Incorrect status in Dir after waiting for mount with poll set. + Fixes bug #825. +21Apr07 +kes Extend idea of Prefer Mounted Volumes to mean a volume about + to be mounted. +kes Print waiting to reserve a device every 5 mins. +20Apr07 +kes Don't call close_part in label.c if tape and relabel. +kes Don't free volume if busy in close() -- should help with + bug 801. +ebl Fix #824 RunScript bug (After script could be execute twice) + Now, Before Script can use RunsOnSuccess and RunsOnFailure options + By default (like before) RunsOnSuccess=true and RunsOnFailure=false + Add a regression script to test RunScript +19Apr07 +kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors + on Solaris. +18Apr07 +kes The bgnome-console (gnome-console) and bwx-console (wx-console) are + deprecated. No additional bugs will be fixed, and they will be dropped + in a future release (probably 2.4.0). +kes Change name of wx-console to bwx-console to make it more Bacula + unique. +kes Change the name of gnome-console to bgnome-console to make it + more Bacula unique. +14Apr07 +kes Some time in March, a Feature Request with patch from Jorj Bauer + was committed by Landon (with my approval). + It implements: + The ability for the director to validate a Client (FD) CN against + an arbitrary set of patterns rather than the hostname, with + A new 'TLS Allowed CN' set of directives which are implemented + in the Client resource. Then pattern matching is used in place + of hostname matching against the Certificate's CN. As an example, we + have certificates which (a) use a local CA, and (b) have a CN of the + form client_123. +kes Add new/changed entry points to Win32 build +kes Create unaccepted-projects for projects that are not accepted. +kes Simplify locking in the reservations system. +kes Add more debug code in reservations. +kes Make sure error condition on reserving a volume is handled correctly. +kes Correct handling of volume_in_use. +kes Correct handling of initializing a device. +kes Move handling of broadcasting releasing a device into release_device(). +kes Correct attaching dcr to dev so that it is only done if device + is properly initiated. +12Apr07 +kes Locking debug level tweaks in SD. +kes Tweak new Volume code. +11Apr07 +kes Add exec external-command [wait-seconds] to bconsole. This + executes the external-command. Note! normally external-command + should be enclosed in double quotes. +kes Turn the .die command on only if DEVELOPER is defined -- i.e. + it should normally be off in a production system. +10Apr07 +kes Implement die command for SD so that we can force it to dump. +kes Implement SD lock debug code. +kes Implement new algorithm for keeping Volume list in SD. It + is now owned by the device. +04Apr07 +kes Implement new code for freeing in use volumes that should + resolve if not all, some of the problems of multiple drive + tape conflicts described in bug 801. +03Apr07 +kes Fix gui/bacula-web/images files in svn. +kes Turn on FreeBSD/OpenBSD code to set EOT model on tape. +02Apr07 +ebl Fix a bug in batch mode (in string escape) +kes Correct migration prune SQL typo that crept in in a + recent 2.1.x change. +01Apr07 +kes Move bnet_despool() into class in bsock.c +kes Modify job report to include director name and Build OS. +kes Move drop root privilege and check_catalog() before fork. +kes Add update database scripts (version 9 to 10) to updatedb directory. +31Mar07 +ebl Check size and age of each file after its backup to see if + it has changed during backup, if 'checkfilechanges' is set. + The FD will do an extra check (stat(2)) after + each file backup. mtime, ctime and size are compared with + 'before backup' information. If time or size mismatch, an + error message will be generated. You must upgrade FD to use it. +30Mar07 +kes Make database name and user configurable + --with-db-name=xxx --with-db-user=xxx +kes Add back database type to message.c for debugging. +29Mar07 +kes Implement dir_sql() which issues an SQL query. +kes Modify bat medialist to use dir_sql() and do some minor C++ + formatting as well as eliminating a number of pointers, simplifing + the code. +28Mar07 +kes Fix some of the mtx-changer grep commands for tape label readers. +kes Convert a number of bsendmsg into the appropriate send/warning/error + message class calls. +kes Suppress the using database message in the .sql command. +kes Correct an incorrect bnet_tls_client prototype -- patch from Martin. +27Mar07 +kes Add context menu for floating a window. +kes Some minor cleanup and name changes in qt-console +kes Add doing mt setblk 0 in Win32 mtx-changer. +kes Apply Martin's bug fix to move definition of ENODATA for + FreeBSD to bsock.c +ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with + sqlite2 and sqlite3. +26Mar07 +kes More pruning cleanup. +kes Turn on wait_for_drive by default in mtx-changer. +kes Turn on Batch insert code by default as it now passes regression. +kes Add ./configure --enable-bat to enable building of Bat. + No install yet though. +25Mar07 +kes Implement a new .sql command for bat. +kes Implement code to turn off pruning in obtaining the next volume. + Pruning is turned off for the status dir command, but turned on + for SD requests and for the list nextvolume command. +24Mar07 +kes Correct Qmsg() that was not updated correctly when committing a + previous change (probably the recent TLS patch). +23Mar07 +kes Write new subroutine is_volume_purged() that explicitly checks + if the Volume is purged, and if so marks it as such. This should + resolve problems reported about needing to mount twice to recycle + volumes. +kes Rewrite pruning algorithm to do more work in the SQL engine, and + to pass a list of JobIds to be deleted to SQL. Also, minimize the + amount of duplicated code. +kes Do volume pruning only for the Media Type desired (reduces pruning time + if multiple Media Types are in the same pool). +kes Implement more detailed info in the Job report for the Bacula version + and architecture. +kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and + ua_purge.c. +ebl Add bbatch tool to bench database and insert mode. + Fix sql quote stuff in batch mode + Fix sql stuff for mysql +22Mar07 +kes Correct problems with am/pm scheduling. Fixes bug #808. +kes Implement new prunning code that prunes up to 1000 jobs at + the same time. The same technique can be applied to a number + of other prune/purge subroutines. +kes Add an insanity check when starting a new tape job to ensure + that the tape position has not been changed. If so fail the + job. +kes Fix Win32 build for dlls to add the folllowing: + src/lib/bsock.c -- new file with new entry points + src/lib/dlist.c -- new entry points + src/cats/sql_create.c -- new entry point + src/cats/sql_cmds.c -- new DATA item exported +21Mar07 +ebl batch mode cleanup bscan-test is ok now. +kes Implement SD code to check length of disk volume before appending. +18Mar07 +kes Correct return status on db_batch... routines. +kes Add call to db_write_batch_file_records() to migration code. +ebl Fix AfterJob timing +kes Move the checking of the database in initializion of the Director + to after we drop privileges. This avoids the need for both root + and bacula access to the DB. +kes Correct a misplaced variable definition in src/filed/backup.c +kes Correct how the new batch insert db_create_attributes_record() + uses the arguments. Caused a seg fault in bscan. +kes Implement lock() and unlock() methods in DEVICE class. + Implement block() and set_block(xx) methods in DEVICE class. +kes Modify bnet_connect() so that it uses time() to check for the + wait time expiring (on some OSes, some system calls may not + return immediately). +kes Modify Verify to obtain the previous JobId when it is actually + running rather than at schedule time (as it was in 1.38.x). +kes Fix src/job.c to handle MaxWaitTime correctly. This should + fix bug #802. +kes When checking pid in pid file, continue running if the pid is + the same as ours. This occurs on IRIX after a system crash. + Fixes bug #797. +10Mar07 +kes Extend new GUI API. +kes Make the ua structure a class, and implement send_msg(), + error_msg(), warning_msg(), and info_msg(). +08Mar07 +kes Apply fix from for building wx-console on the Mac from + bug #798. +kes Implement new select mechanism for GUI programs. +kes Reorganize initialization of stackedWidgets in bat. +07Mar07 +kes Add updated nagios plugin supplied by Christian Masopust. +05Mar07 +kes More bat implementation. +kes File migrate bug with Pool Occupancy using mediaid instead + of jobids. Fixes bug #795. +kes Fix orphaned buffers in filed backup and verify due to + crypto buffers not freed during errors. Fixes bug #789. +kes Extend new GUI api code to tree commands. +kes Ensure that tree and dot commands check console ACLs. +kes Permit marking directory with trailing slash. +kes Allow 20 console connections (instead of only 10). +04Mar07 +kes Add smartctl call to bacula-sd.conf as an example of getting + tape alert info. +02Mar07 +kes Modify jobq.c to let simultaneous restore jobs run. This may + cause them to fail if they cannot get a drive. +kes Add Client Connect Wait to Storage daemon to permit users to + modify the time the SD waits for a FD connection. +29Feb07 +kes Correct virtual changer check which was backwards. This caused + volumes to be unloaded into slots already occupied. +28Feb07 +kes Apply Command ACL filter to JobId list in restore command. +kes Correct typeo in var.c patch. +27Feb07 +kes Don't let Bacula prune File or Job records for the current Job. +kes Fix variable substitution pad + inc bug reported (with patch) + in bug #791. +26Feb07 +kes Correct SQLite log table index as reported by Luca Berra. +24Feb07 +ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas +22Feb07 +kes Begin implementing new comm signals for API. +kes Fix a few places in lib/message.c where the open fd may + not be zeroed. +kes Continue implementing lib/bsock.c (real class). Make jcr, + who, host, and port private. There are new methods to access + them for non-class use. This required touching a number of files. +21Feb07 +kes Add LANG=C to autoconf/randpass so it works with languages other + than English. Fixes bug #788. +20Feb07 +ebl Revert ClientRunBeforeJob to old position as in 1.38.X. + This fixes bug #780 + You will not be able to generate Include/Exclude list any more. + It will be fixed soon. + If you want to use this, you can apply + trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch +19Feb07 +kes Restore of sockets created false error messages because Bacula + no longer restores sockets, but the code was still trying to + set the attributes on a non-existent file. Reported by a user. +ebl finish RecyclePool feature + Media will takes Pool.RecyclePool + when moving from Scratch to a Pool or when user will do + update volume=xxx frompool + To use it, add RecyclePool = aPool to your Pool resource + Pool { + Name = Default + RecyclePool = Scratch + ... + } + TODO: update manual +kes Expand new BSOCK class adding signal() and new BNET signals. +kes Begin enhancing the dot commands adding a new API function + that returns more information and will make it easier + to interface to the Director from a program. +18Feb07 +kes Make DEVICE fd private. Its new name is m_fd, and can be + obtained with dev->fd() outside the class. This is the + first of many DEVICE members to be made private. +kes Implement Michael Renner's idea on having a virtual disk + changer. I made some minor modifications (e.g. I did not + implement the Virtual Changer directive, but simply set + the Changer Command to an empty string. +17Feb07 +kes Implement a BSOCK send() method that writes the whole record + in a single write() request rather than in two. +ebl add update volume=xxx recyclepool=yyyy + volume takes recyclepool from pool when using update volume=xxx from pool +16Feb07 +kes Fix encryption deblocking bug, which caused some restored files + to be truncated. This fixes bug #763. +kes Add FD event sequence order prepared by Eric -- for RunScripts. +kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem. +13Feb07 +kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. +ebl Use btime_t instead of uint64_t in media patch. +11Feb07 +kes Optimize the use of the database a bit in the Status dir command. + Only open it when needed, ensure that if any previous database + was opened, it is closed. +10Feb07 +kes Correct VolCatBytes bug from media patch. +kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning + in the case of orphaned records. +kes Modify dbcheck to handle orphaned JobMedia, Path, Filename, + and File records in 300K chunks to be more efficient. This + idea came from Juan Luis Frances (if I remember right). +kes Apply Eric's scratch patch that moves a purged Volume to + the RecyclePool. Question: how is RecyclePool set? what + happens to the ScratchPool? +kes Apply Eric's media patch that collects read/write media + times as well as byte counts. This patch requires a + simultaneous upgrade of the DIR and SD. Note, there + should be some way to turn off timing. I'm not sure + times are in Bacula units. +kes Apply Eric's batch-insert patch. +09Feb07 +kes Update projects list. +08Feb07 +kes Implement Include/Exclude file lists in FD as dlists using + the new dlistString class. This permits efficiently having + large include/exclude lists and completes project Item 25. +kes Fix dird/ua_cmds.c so that a cancel command checks if the + console is authorized to cancel the job. This fixes bug + #767. +kes Modify SD so that the VolCatJobs medium record is updated + at the beginning of a Job rather than the end. This + fixes bug #775 where exceeding MaxVolJobs caused jobs + to fail. +kes Added a mutex around getting and setting Volume information + so that multiple simultaneous jobs will single thread. +07Feb07 + Switch to using Subversion +kes Remove src/pygtk-console/ from configure +06Feb07 +kes Delete src/lib/btree.c from win32 build, then add rblist.c + plus the entrypoints. +kes Apply patch supplied that corrects debug print + in canceling jobs for max run time. Supplied as + part of bug #621, which was previously fixed. +05Feb07 +kes Test on job_canceled() and sd_msg_thread_done inside + loop starting the message thread to avoid a race condition. + Fixes bug #771. +kes Remove rl_catch_signal from console.c as it conflicted + with the header definition. Fixes bug #765. +ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive) +04Feb07 +kes Clarify some stored/acquire messages to indicate if the + problem is with read or append. +02Feb07 +kes Fix memory leak with storage ids in cats/sql_get.c +kes Terminate watchdog earlier to avoid reference to released + memory -- reported by Jason Austin. +kes Move closing the database from jobq.c to the director daemon + termination routine. This fixes memory leaks for shadow jobs + (i.e. migration jobs). +kes Free up the unique jobid chain items in migrate.c. This fixes + a memory leak problem. +kes Convert some ugly looking for statements to use foreach_alist + in findlib/find.c. This will facilitate converting the structures + to use dlist (for large include/exclude lists). +kes Fix a bug in the btree.c and btree.h routines, then rename them + rblist and add them to be built in src/lib. Include some new + methods written by Rudolf Cejka that make the code more readable + (hides some of the ugly casting). +kes Add set_next() and set_prev() methods which make the code much more + readable. Also add a new dlistString class that facilitates storing + strings in dlists. To be used in the large include/exclude lists. +kes Make some trivial modifications to lib/tree.h that use rblist + rather than dlist for storing the tree links. This was suggested + by Rudolf Cejka. The result of this is that the restore tree now + uses red-black binary trees rather than simple linked lists. This + should give rather dramatic speed improvements for directories + contining large numbers of directories/files (more than 10000). +28Jan07 +kes Fix maxruntime bug #621. +26Jan07 +ebl Implement the include JobID in spool file name project. +kes Reorder projects file in order determined by Jan 2007 vote. +kes Implement item #12 on project list -- quick release of FD by + the SD. +kes Fix open of SQLite3 db where user does not have write permission + so that DIR does not crash. Fixes bug #761. +25Jan07 +kes Add back missing @ in Win32 Makefile. +kes Change 'Device not configured to autolabel' from INFO + to WARNING. +kes Fix jobq.c to restart failed jobs when Reschedule Times = 0 + which should restart an indefinite # of times. +kes Fix configure --help to print --with-mysql[=DIR]. Same for + other DIR specifications. +23Jan07 +rn Fix msvc build problems. Fix bacula.dll exports for msvc build. + Fix path quoting in SQLite scripts. + Fix problems with SHGetFolderPath. +19Jan07 +kes Create patches/2.0.1-restart.patch. Fixes bug #755. +18Jan07 +kes Fix Job restart on error bug that promotes an Inc to a Full + backup. This should fix bug #755. +kes Add qt-console and first cut of code. -General: +Version 2.0.1 +12Jan07 +kes Fix Bacula->Documentation link on Win32 to point to index.html + instead of bacula.html. Fixed bug #750. +kes Return JobId in db_get_job_record() when JobId==0. This should + fix bug #741. +kes Do not release source pointers when restarting a failed job. +11Jan07 +kes Add dynamic dll entry point for SHGetFolderPath to Win32 code. + This *should* fix bug #747. +kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix + bug #742. +09Jan07 +kes Modify USTORE constructor to set an empty store_source string, + and don't copy the store_source string in a cancel. Hopefully + this will fix Arno's seg fault, bug #744. +kes Add back code to disable conio in configure. Fixes bug #743. +kes Correct the Options scanner in the FD to correctly handle + SHA1 option, which was eating the next option. Reported by + Sebastien Guilbaud. +kes Add code to indicate when the SD is spooling, spool wait, and + despooling as requested by Alan Brown. -Changes to 1.37.*: -26Oct05 - - dvd.c: update VolParts when writing the last part. -19Oct05 - - configure: add check for dd, remove check for df - - block.c:do_dvd_size_checks: Check we are writing to a dvd before doing tests - (reported by David Raine on the list, '[Bacula-users] LTO drive - End Of Volume error'). - - Update bacula-sd.conf.in to use dvd-handler correctly. - - dvd.c:dvd_write_part: Increase timeout when writing the first part (see the code for - more details). -18Oct05 - - Modify .backups command to get a fileset parameter (fix bug #444). -17Oct05 - - Fix bug when recycling DVD devices (append flag was removed). - - Add tests for dvd+rw-format in configure script. - - scripts/dvd-handler: Reformat DVD-RW when needed. This needs dvd+rw-format. - - Add patch for dvd+rw-tools in patches dir (this should probably be elsewhere). -16Oct05 - - Remove scripts/dvd-freespace and scripts/dvd-writepart, as they are now - merged into scripts/dvd-handler. Note: Documentation needs to be updated. - - scripts/dvd-handler: 'zero' brand-new DVD+/-RW to fix a problem with some - DVD-writers, thanks to Arno Lehmann for reporting this, and providing the - way to fix it. - - new scripts/dvd-handler. Note: it also needs a patched version of dvd+rw-tools. - - new scripts/dvd-freespace. Note: it needs a patched version of dvd+rw-tools. - - dvd.c:dvd_write_part: Don't write empty part. (Fix 4GB crossing bug reported by Arno Lehmann) -14Oct05 - - dvd.c:dvd_write_part: Use part_size and not max_part_size when setting write timeout. - - dvd.c:do_mount_dev: When checking if the DVD is mounted, do not count ., .. and .keep (needed on Gentoo). -15Aug05 - - Convert dvd-writepart to Python. - - Increase delay from 3 seconds to 5 seconds between SIGTERM and SIGKILL when - killing external programs. -13Aug05 - - Add gettext macros in autoconf/gettext-macros. - - Modify how localedir is set in configure.in. - - Remove setlocale check (useless). -10Aug05 - - Mark translatable strings in all source files. -08Aug05 - - Create French and Italian translation files (fr.po, it.po). - - Add support for translation in configure and Makefiles. - - Update autoconf/aclocal.m4 so it is automatically created with aclocal - (Note: autoconf/gnome-macros is not used anymore, it may be removed). -30Jul05 - - Fix src/lib/bpipe.c:run_program and run_program_full_output to detect if the watchdog - killed the program, and return an error if it is the case. -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' +Version 2.0.0 released: 4 January 2007