X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FChangeLog;h=29bdd02d68db36ea555165dcdfb27244951916f7;hb=ec637b284e422a900610da14bc50fe37fe0389fe;hp=98177f3ac087e34062190f8546e3b4372e8d8f1e;hpb=4914c92422550e000cbb03b500ff228880c195e3;p=bacula%2Fbacula diff --git a/bacula/ChangeLog b/bacula/ChangeLog index 98177f3ac0..29bdd02d68 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,2159 +1,1046 @@ - -Release 1.38.10 (08Jun06) released 12JunO6 -08Jun06 -- Modify setting ACLs to suppress error message if the file is a - symbolic link since the file linked to may not yet be created, - and symbolic links really should not have attributes ... -06Jun06 -- Complete implementation of acl.c error message during restore. - During backups, errors getting acls are silently ignored, as was - previously the case. -04Jun06 -- Modify configure.in to check for typeof(). -- Better detection of postgresql installation if pg_conf works. -- Fix RescheduleTimes = 0 bug (should not reschedule). -- Down port from 1.39: fixes for reload, autochanger error messages, - scheduler fixes for reload and day light savings change, -01Jun06 -- Implement partial error messages for src/filed/acl.c -- Fix return code to fail when doing update barcodes and - Pool resource is not found. This previously caused Volumes - to be labeled as cleaning tapes. -- Small updates to projects file. -26May06 -- Prevent DVD code from rewriting label if the device cannot be - opened read/write. -- Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to - fix Debian build bug. -- Fix Dir/SD run race in migrate.c, verify.c, and restore.c -- Update projects file. -24May06 -- Applied patch posted by Jaime Ventura to bug #570 to correct failure - of restarted jobs to complete (due to a destroyed pthreads conditional - variable used by the message thread). -- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes - set to zero. -- Apply patch from John Goerzen bug #611 to fix bad manual links in the code. -- Apply patch from Rudolf Cejka bug #614 to removed trailing - colons in query.sql file. -- Apply patch from Rudolf Cejka bug #613 to correct prunning of files - not to create orphans. -- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime - in restore long listing. -- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead - of incorrect MarkedId. -- Apply patch from adioso bug #616 to correct text in manual (replace - Director with File daemon). -21May06 -- Move DIR "run" command to SD before starting the message thread - as suggested by Cristopher Hull to avoid a race deadlock from - two threads using the bsock structure. -- Modify LICENSE to correct some problems pointed out by Debian. -05May06 -- Correct EOF with no \n lex.c problem. -- Add additional INFO messages if autochanger cannot be used. -- Add Eric Bollengier's lex error handler fix, which corrects most - of the reload problems. - -Release 1.38.9 (02May06) -02May06 -- Added code to strip backslashes from Windows filenames during - a restore. -- Corrected Win32 License to use the correct LICENSE file. -- Corrected the buffer count and bytes reported in the heap - statistics. -26Apr06 -- Implement an NT_() macro to indicate that text should NOT - be translated. -- Fix a number of incorrect strings marked for translation, when - they should not be (e.g. commands). -- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob - Patches supplied by user in bugs #608 and #599. -- Use most recent of st_ctime and st_mtime in restore tree DIR - listing. This fixes some problems with Win32 printing incorrect - values. -- Correct the clock shift comm time calculation between the DIR - and the FD. It was added rather than subtracted. -- Strip all backslashes in filenames to be restored on Win32 - machines -- the names should all be in Unix format, and if - there are any backslashes it is most likely due to an improper - FileSet definition, and the files will not otherwise be - restorable. -- Remove lib/regex.c (replaced by bregex.c). -- Delete src/win32/License.txt -- Modify installer to install LICENSE -25Apr06 -- Add back ua_label barcode fix from Rufolf Cejka. -23Apr06 -- Add 'Dir Status' button to the gnome console. -- Display heap stats in Storage daemon without debug level. -22Apr06 -- Integrate most of the MinGW changes -- more to do. -21Apr06 -- Implement using pg_config for finding PostgreSQL files. - Fixes bug #600. Patch supplied by user. -- Remove -t option from mktemp in mtx_changer.in and use - working directory. Fixes bug #578. -- Update job start time after the any run before job so that - files created by the script are only backed up once. Fixes - bug #599. -- Strip trailing newline only from filenames entered in - the restore command when reading a file. This permits - the user to enter filenames with trailing spaces. Fixes - bug #549. The user supplied a patch that I modified slightly. -- Use the most recent time (st_mtime, st_ctime) in the dir - command in restore. This gives the user a better idea of what - the newest file really is. This fixes bug #574. The fix - was suggested by the user. -18Apr06 -- Remove the -f option from the chown in Makefile.in for more - portability. -- Change setting the group in Makefile.in to use chgrp for - more portability. -- Implement a Bacula read/write lock for Python rather - than using the Python lock to avoid recursive problems. -- Correct the uninstall directory names in filed/Makefile.in - as reported by a user. - -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 Bollinger to fix PostgreSQL - grant on status. Bug #465 -- Apply patch supplied by Eric Bollinger 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. - -Changes from Nicolas Boichat: -26Apr05 - - Modify parse_config to get a LEX_ERROR_HANDLER as a parameter - - lex_open_file now returns NULL if the file can't be opened. All calling functions have - been adapted. - - Remove set_exit_on_error function -07Apr05 - - Fix 'unknown device type' problem with DVD devices. - - Fix crash when there is no media in the DVD drive. -09Jan05 - - Update the documentation and ReleaseNotes. -05Jan05 - - Add FreeSpaceCommand in Device (SD configuration file) and implement it. - - Some modifications (again) on how guessed volume names are handled (now it should work). - - Part files on the hard disk are removed if they are empty. -04Jan05 - - Major fixes on how guessed volume names are handled. - - Minor fix in src/stored/append.c. - - Replace, when possible, POOLMEM by POOL_MEM in the new code of src/stored/dev.c. - - New script, scripts/dvd-freespace, which gets the free space available on a writable DVD. -03Jan05 - - Add WritePartAfterJob directive in Job resource (Director) - - Add WritePartAfterJob directive in Schedule Resource (Director) - - Implement these new directives -02Jan05 - - New function, open_guess_name_dev in src/stored/dev.c, which tries to guess the volume - name of a mounted device, so the label can be read. - - New script, scripts/dvd-writepart, which write parts to DVD+/-R(W). - - Removed WriteFirstPartCommand directive in Device (SD configuration file). - - Use readdir_r instead of readdir (src/stored/dev.c:open_guess_name_dev). -01Jan05 - - Add RequiresMount, MountPoint, MountCommand, UnmountCommand directives in Device (SD configuration file). - - Implement these directives (volumes can now be restored from a manually written DVD). - - Add WriteFirstPartCommand, WritePartCommand directives in Device (SD configuration file). - - Implement these directives (DVD writing now works). - - New function run_program_full_output in src/lib/bpipe.c. - - Lots of bugfixes and cleanups in the new code. -29Dec04 - - Add VolParts field in Media table - - Add MaximumPartSize directive in Device (SD configuration file) - - File Volumes can now be splitted in multiple files ('parts') - - Fix SQL error in sql_list while doing 'llist jobmedia' - -Changes to 1.37.23: -- Renamed to make unique version for open_next_part() - changes. - -Changes to 1.37.23: -- Renamed to make unique version for open_next_part() - changes. - -Changes to 1.37.22: -14Jun05 -- Fix the same state variable problem in open_next_part(). -- C++ify the SD code a bit more. -13Jun05 -- Add more debug code and clarify debug code for DVDs. -- Do not save and restore state in open_first_part() - since state should be properly set after open_dev(). -- Make default mandir /usr/share/man -- Install Bacula man page. -- Implement passing of FileSet Enable VSS to FD. -- Move main body of reserve drive code into subroutine - so that it can be called multiple times. -12Jun05 -- Eliminate getpass() for Win32 builds in console as the - function does not exist. -10Jun05 -- Correct some reservation problems in SD when no devices - are available. -- Start removing #ifdef HAVE_TLS by sneaky tricks. -- Begin implementation of TLS in wx-console -- Remove ignoring SIGCHLD from console. -- Rework the dlist binary search routines for implemenation - of the Volume reservation code -- make it more general. -- Strip double slashes // from Win32 filenames in an attempt - to resolve restore problems on some systems. -- Fix a minor bugs in the trace code that caused the first - line output to be lost. -- Implement a good first cut at adding Volume reservation code - to the storage daemon (in file reserve.c). -- Remove old unused code from the tree.c routines. - -Changes to 1.37.21: -06Jun05 -- Fix compile problems on Win32 -- Start writing Volume reservation list (already exists, but - is not really very good). -- Implement attribute caching to put Signature into database - at the same time as the file attributes thus eliminating a - number of database accesses. -- Correct a reservation problem. -- Implement full Dir Storage use. -- Reduce a bit of TLS #ifdeffing. - -Changes to 1.37.20: -04Jun05 -- Minor changes -01Jun05 -- Add more documentation to mtx-changer.in -- Correct link to manual in authenticate.c in various - directories. -- Create a new src/stored/reserve.c file where the - Use Storage command is processed and drives are - reserved. -- Modify src/stored/autochanger.c to keep track of each - Slot that is loaded for each device. -- Ensure that changer_command and changer_name are picked - up from Autochanger resource if not specified, and if - neither is specified, err. -30May05 -- Fix bextract.c compile problem -- Create bacula.man -- Make make distclean clean a bit better -29May05 -- Remove old code in jcr.c -- Make testls release jcr chain when terminating. -27May05 -- Implement Maximum Job Spool Size (actually DCR based) -26May05 -- Use light weight non-recursive locking on jcr chain. -- Make JCR a class and implement inc_use_count() and - dec_use_count() methods that ensure that the jcr is - locked when inc/dec the use count. -- Remove the global jcr lock when traversing the jcr - chain. -- Use dlist to implement the jcr chain rather than hand - crafted next and prev links. -- Lock the jcr chain inside each function that modifies - the chain. - -Changes to 1.37.19: -26May05 -- Fix compile problem of ua_restore.c on broken compilers. -- Apply patch from bug 326 to permit bacula status by any user. -- Fix bug 325 -- conversion of 12:30pm to 24hour time. -25May05 -- Put Dmsg() on inside if() to avoid calling subroutine. -- Make restore.bsr have unique name. -- Allow user to define bsr filename on restore command line - with bootstrap=xxx.bsr -- Add limit=nnn to 'list jobs' command. -- Remove old restore code that did not use .bsr file. -- unlink automatically generated bsr file. -- Cleanup heartbeat code so that duped fd is almost sure - to be released. Previously under certain conditions, the - memory was not released due to race conditions. -- Shorten copyright. -20May05 -- Unify the reserve_device() for a single device into one subroutine. -18May05 -- Modify wait during use_device to happen only after all devices - have been examined rather than in the reserve_device code. -- Correct updating count of number of Volumes in a pool. - -Changes to 1.37.18: -16May05 -- Add more debug to SD for Autochangers + status output. -- Add Scratch to PoolType in PostgreSQL make...tables and do not - permit NULL PoolTypes. Fix for bug 319 reported by Eric. -- Update LICENSE. -- Add quotes around filename in parse_config error message. Bug - reported by Eric. -15May05 -- Change nested \include to \input so that sections are properly - included in the pdf manual -- update the Web site. -- Set reconnect flag in MySQL packet to 1 to ensure that connection - is re-established. MySQL 5 changed default to 0. Fixes bug report. -- Fix Scratch pool handling as reported in a bug by Eric Bollengier - by applying his patch. -- Remove delete job in favor of delete jobid. -- Add = NULL to configfile definitions as reported by Eric in a bug - report. -- Update winbacula.nsi.in to reflect new manual file structure. -10May05 -- Correct a minor build problem with wx-console. -- Add cancel() to Dir Python scripting. -- Re-correct bug in parse-config error handling. -- Reorganization of use_command in SD to permit - waiting and multiple drive autochanger support. -09May05 -- Correct bug in parse_config error handling. -- Where ever possible mark a volume in error or not - InChanger in mount.c -- Fix bug in changing tape pools after first backup. Reported - by Peter Sjoberg. -- Enhance mtx-changer to use Working Directory as temp. -- Remove all but initial setup locking of Res in SD. -08May05 -- Add Client OS type to Job report. -- Add version to manual -- Update the Web site to have a single page for - the documentation links. - -Changes to 1.37.18 release 08May05: -08May05 -- Correct attribute definition compile error in 1.37.17 -- Correct inverted order of CreateTime and MD5 pointed out - by a user in a bug report in FileSet db routine causing - the MD5 to print in the output instead of the time/date. - -Changes to 1.37.17: -07May05 -- Implement cstrlen() in sql list routines. -- Implement caching of attributes to add the - signature so that only one DB call will be made - per file. Not yet turned on. -- Fix Win32 build for TLS. -- Optimize File pruning to eliminate one database call. -- Fix bug that prevented File pruning from working. -- Implement a cstrlen() which returns the character - length of a UTF-8 string. -06May05 -- Move test for MaxStartDelay as suggested by Peter. -- Implement Python methods (I had to read the Python source - code). -- Implement run() method in Director. -- Add Priority and Scheduled time to Job report. -- Add JobInit and JobRun events. -- Add Priority as Python read/write attribute to Job. -- Correct typo in bsmtp reported by Jo. - -Changes to 1.37.16 (07May05): released 07May05 -07May05 -- Implement cstrlen() in sql list routines. -- Implement caching of attributes to add the - signature so that only one DB call will be made - per file. Not yet turned on. -- Fix Win32 build for TLS. -- Optimize File pruning to eliminate one database call. -- Fix bug that prevented File pruning from working. -- Implement a cstrlen() which returns the character - length of a UTF-8 string. -06May05 -- Move test for MaxStartDelay as suggested by Peter. -- Implement Python methods (I had to read the Python source - code). -- Implement run() method in Director. -- Add Priority and Scheduled time to Job report. -- Add JobInit and JobRun events. -- Add Priority as Python read/write attribute to Job. -- Correct typo in bsmtp reported by Jo. - -Changes to 1.37.16 (03May05): released 05May05 -03May05 -- Make a few tls ifdef tweaks. -- Fix create_file.c Win32 problem pointed out by - Peter Sjoberg. -- Fix really ugly bstrncpy() but found by Thorsten. -- Move winapi.h/c from findlib to lib for inclusion in - multiple places. -02May05 -- Thorsten Engel finished his work on Win32 Unicode. We - now have a single executable that runs on all Win32 machines. -- Move job initialization code after job scheduling so that - Verify jobs check for the prior JobId after they are really - started rather than before. -- Fix lib/fnmatch.c so that it does proper testing before folding. -- More documentation -- at tls and ansi labels chapters. -- Fix fileset_convert.pl to handle empty Exclude statements. -- Turn regex back off in Win32 -01May05 -- Fix sign extension problem in lex.c that reads UTF-8 - with Chinese characters incorrectly. - -Changes to 1.37.14: -30Apr05 -- Remove a few HAVE_TLS #ifdefs -- Implement final Python style interface. More implemention to - be done, but the interface should change little if at all. -28Apr05 -- Make default no tls support. You must add - --with-openssl to get tls support. -27Apr05 -- Update Web header to include google search in the search - box -- thanks to input from Michel Meyers. -- Fix md5sum so that it builds with the new openssl stuff. -- Take some enhancements to the md5sum test program proposed - by a user. -26Apr05 -- Apply Tru64 patch supplied by Pascal Pederiva -- 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 - -Changes to 1.37.13: -19Apr05 -- Fix SQLite and PostgreSQL table creation script syntax - problems. -- Fix new Python code to work for Director. -- Move lib/python.c to lib/pythonlib.c so that debug output - is easier to read (can distinguish lib from dird, ...). -- Cleanup Python build so that Python is not dragged - into programs that don't use it. - -Changes to 1.37.12: -02Apr05 -- Reset NumVols in Pool record from database on every update - Pool. -- Modify DB to support multiple simultaneous copies and - RAIT stiping. -- Pass copy and stripe between DIR and SD and put into - the JobMedia DB record. -- Update and test SQLite and MySQL datebase creation and - update scripts. -- Implement version 9 of the DB. -31Mar05 -- Convert more atoi to str_to_int64() for DB. -- Implement filling in NumVols by querying DB rather - than trying to keep track of it. -- Add storage name to string passed to in use storage= -- Fix newVolume() so that the Python script is always - called. -- Fix handling of pool,PoolId, and storage in ua_output. -- Same fix in ua_status.c -- Remove required locking of resources -- Replace pthread_cond_signal() by pthread_cond_broadcast() - hoping to fix the /lib/tls hang problems (lost signal). -- Move resource locking seaching from parse_conf.c to res.c - in src/lib. -- Modify end of volume handling so that fixup_... does not - redo what block.c has already done -- writing Vol info to - DIR. This fixes a bug with bad numbers of files on a tape - when it filled as reported by Peter. -- In release_device() do not update the DIR on the Volume - info if the the information was already written at the - end of the tape. -28Mar05 -- NOTE!!!! This version has a new DIR <--> SD protocol. Both - must be updated at the same time. -- Begin implementation of passing all the Storage and Device - possibilities to the SD for examination during the reserve - phase. -- Modify the reserve and acquire code in the SD to make a - job wait if the device is not available. -- Implement New Volume Each Job in DIR and pass to SD, not yet - used. -- Remove init/update of the Device resource in DIR -- Remove passing PoolId to SD and back. -26Mar05 -- Remove \a and -e from error echos in most Makefiles. -- Add more debug code when there are errors on the tape - to try to find Peter's tape problem. -- Add wait.c (oops forgot previously). -- Move all the reserve/acquire_device_for_read/append to have - only a DCR as the argument. -- Rework the reserve_device_for_append() in stored to wait - if the drive is not available. Note! This is a short - term solution. -25Mar05 -- Comment out Multiple Connections in the document. -- Move the P() and V() to subroutines so that they can be accessed - from class methods. The reference to strerror() caused problems. -- Implement new DEVICE class methods block() and unblock() that - do what was previously done in 3 lines of code. -- Implement wait_for_device(), which will wait for any device - to be released then return. This requires a new global mutex - and condition variable, and is implemented in src/stored/wait.c -- Change the code in reserve_device_for_read(), which previously - failed the job to use the new device wait code. -22Mar05 -- Apply reschedule patch to 1.37 code. -- Add copyright to title page of manual so it is clear. -- Create patch for rescheduling problem found by Ludovic. Storage - pointers were lost during rescheduling. -- Attempt to fix 2.6 rescue disk -- failed! -- Start working on adding a wait routine in the SD. -- Cleanup some old invalid doc in watchdog. -- Convert a number of references to dev->dev_name to dev->print_name(). -- Add new wait.c file to SD. -- Add a few more methods to DEVICE in SD to cleanup code a - bit -- implement a few of the methods. -18Mar05 -- Fix more print_name()s for printing device name. -- Modify open_dev to try 10 times every 6 seconds to - open the device if it gets an I/O error (meaning no - volume mounted). This gives a bit of settling in time - for an autochanger and avoids spurious messages. -- Change all yes/no to yes|no in the manual. -- Fix win32 create_file.c typo. -- Fix a typo in an error message. -17Mar05 -- Detect if fseeko exists with autoconf. If so, use it - and ftello. -- Remove old bacula-*.conf from examples directory (out - of date). -- Remove latex-fr index files from CVS. -- Rewrite code that stops reading the tape so that the - tape is marked at EOT, then once the work is done, - the EOT flag is removed. -- Flush output to file after every send in console. -- Make setting VolFiles to smaller number fatal. -- Disable Multiple Connections code. -- Add patch from user for NetBSD statvsfs() fix to - fstype.c -- Take more care with errors in acquire.c -- Don't run through dvd code in append.c if bad status - returned. -- Modify code so that an autochanger fault is fatal. -- Use dev->print_name() in more places. -- Implement dev->can_steal_lock() to simplify code. -- Make btape re-read first 10000 records on fill command. -- Check error return and fail job from fseeko and ftello - in spool.c. Don't let a -1 slip in as size. - -Changes to 1.37.7: -15Mar05 -- Apply NetBSD patch from kardel in bug 258. -14Mar05 -- Add a second job and a second client to the default - bacula-dir.conf file. -- Remove old style Include/Excludes. -- Fix ANSI labels to put EOF1 and EOF2 after each file mark. -- Add Python to SD and FD. -12Mar05 -- Implement IBM labels -- Implement EOF and EOV labels at the end of a volume. -- Fix a rather ugly problem with the PoolId not getting - passed correctly. Now the DIR passes the Pool name and - Media Type to the SD, who passes them back when requesting - the next Volume. The DIR then looks up the correct PoolId. - This takes more time, but always works, AND allows wild - card Media Types (i.e. the SD can decide). -- The DIR <==> SD protocol has changed. - -Changes to 1.37.6: -11Mar05 -- Fix scanf of PoolId in catreq to handle 64 bit Ids. -10Mar05 -- Add new ua_update.c file and move update_cmd there. -- Modify 'update slots' to obtain actual number of slots. -- Tweak autochanger code to handle new slots request. -- Modify autochanger code to lock/unlock around slots and - update slots code. -09Mar05 -- Patch the FD so that it does not issue an error message if - it attempts to restore the permissions on a Win32 drive. -- Edit 'Resource-name' (physical-name) for the device name - everywhere in the SD. -- Remove .linked.tex files in preparation for cutover to - using .tex in place of .wml. -08Mar05 -- Copy latest config.sub and config.guess from autoconf. -- Try new way of identifying drives with: - 'resource-name' (physical-name) - More work need to a complete conversion. -07Mar05 -- Rework some of the autochanger data so that the DIR has - the number of drives. -- Modify the way the Device info is returned so that it comes - back as a special message type and can be sent anytime the - Device status changes. -- Copy the change name and changer command into the device - record if none is specified. -- Require the change command and changer name to be specified in - and AutoChanger resource. -- Force all the Media Type records of all devices in an Autochanger - to be the same. -06Mar05 -- Add new 'run' command to Job resource in DIR. This permits - cloning a job as many times as you want. -- Pass PoolId to SD on Query request. It is now used in the - Find_media catalog request. -- Reworked the Device resource in the DIR. Eliminated num_waiting - and use_count, but added max_writers, reserved, and PoolId. -- This DIR is nolonger compatible with previous SDs. -- Add since and cloned keywords to the Console run command - to support cloning. -- Implemented store_alist_str() to allow multiple string items - to be specified in a .conf file. -- Added %s (since time) to Job code editing. -- Reworked reserving drives in the SD. It now does it much simpler - and correctly. -05Mar05 -- Integrate HP-UX patch from Olivier Mehani -- Fix FD job.c to test correctly for no level. - -Changes to 1.37.4: -04Mar05 -- Change Developers to Developer's Guide as requested by Michael. -- Fix developers link in manual -- Add additional dcr changes in SD to allow multiple dcrs. -02Mar05 -- Fix a few problems with the MySQL table create in 1.37. -- Delete the new tables in the table delete files. -- Increase the number of items permitted in a conf table. -- Make Director loop over alternative Devices specified in the - Storage resource until one is reserved by SD. -- Fix storing of StorageId in Media records. -- Add AutoSelect = yes|no in bacula-sd.conf -- Add Autochanger support to Label command. -- Do not autoselect devices with autoselect set false -01Mar05 -- Implement setting DIR Storage device to Autochanger - name. -- Select first available device in Autochanger. -- Pass back actual device name used. -- Allow Query of AutoChanger. -- Modify Query to include name of AutoChanger if - Device belongs to one. -- Remove old Pool code in jobq.c -- Add Autoselect flag to query and DEVICE class (still - need Directive). -28Feb05 -- Lock autochanger script when running. -- Mark Volume not InChanger if correct volume is not - autoloaded. -- Corrected some typos in the make_xxx_tables.in files. -- Made preliminary split of pre-run and run code for each - job type. This will permit early opening of SD for reserving - drives. -- Add offline and autochanger fields to Device Query record. -- Correct pthread_mutex_init() for autochanger in SD. -- Tweak Makefile for LaTeX manual, plus add nav buttons. -26Feb05 -- Clean up drive reservation system. Add more sanity checks. -- Implement a few more methods for the DEVICE class in SD. -- Add latex directories to make clean -- move DEV_BSIZE to B_DEV_BSIZE to avoid conflicts with - certain header files (FreeBSD). -24Feb05 -- Fix an ASSERT that was triggering in stored/acquire.c - attempt to fix a bug report. -23Feb05 -- Corrected SunOs to SunOS in btraceback (user submitted). -- Applied patch from Roger 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. - -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. - -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. - - - Technical notes on version 1.37 - Nicolas Boichat + Technical notes on version 2.2.x General: - -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' +Release Version 2.2.1 +30Aug07 +kes Update POTFILES.in +kes Cleanup a few underquoted AC_DEFUNs in configure +kes Apply patch from Martin Simmons that adds a test for va_copy to + ./configure +29Aug07 +kes Fix bug 921 by increasing the number of tries to create a new volume + from 11 to 100. +kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf() + can be called multiple times. Implement a version for machines + without va_copy() that gets a big buffer. +25Aug07 +kes Integrate more portable zone offset code into bsmtp.c + Submitted by Attila Fülöp. +24Aug07 +kes Fix bad SD->FD return status reported by + (James Harper) +ebl Fix a bug in read_close_session which return random status + thanks to James Harper +23Aug07 +kes Fix (hopefully) bug #930 by doing a db_escape_string() on file + and directory names during restore of single file/directories. +kes Add sanity checks to .sql command when string is empty. Hopefully + that will resolve Dirks Director crash. +22Aug07 +kes Apply patch submitted by Martin Simmons that corrects a seg fault + in the bsmtp chat subroutine when debug is >= 10. +21Aug07 +kes Fix Director crash when running bat SQL queries. +kes Add David's notes on Item 8: Copy pools. +18Aug07 +kes Rework projects file to be current and ready for a vote. +kes Enhance lex scanner error message. +17Aug07 +kes Tweak LICENSE file to mention BSD code. +kes Fix bat.pro.in so that it includes the OpenSSL libraries only + if specified on the ./configure. +kes Add first (not yet tested) cut of bcomm to the qt-console directory. + This class is intended to allow us to open a second bsock to the + Director while in the restore subdialog. +16Aug07 +kes Fix configure to create bat Makefile before creating dependencies. +kes Eliminate the egg files from the tray-monitor. Use gtk calls. +kes Add a tooltip to the tray monitor. +dvl Set the Director's PID file before dropping privs. This fixes + bug #923. +15Aug07 +kes Update AUTHORs file +kes Increase the default max concurrent jobs to 20 in FD and SD to + correspond with the default .conf files. +kes Rewrite the Win32 service routines. This eliminates the 3 copies + some different, of the same file created by RN when porting the + Win32 SD and Dir. +kes Rearrange some of the Win32 directories and the placement of the files + in them. +kes Set DEVELOPER flag in version.h + +======================================================================== +Release Version 2.2.0 +09Aug07 +kes Apply a second doc patch from Marc. +kes Apply a doc patch from Marc Schiffbauer 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. + +Release 2.1.28 beta +18Jul08 +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. + +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. + +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 + +Release 2.1.22 beta +26Jun07 +kes Dirk committed the qwt library code for drawing graphs in bat. +kes Tweak install of qwt so that it is integrated with ./configure. +25Jun07 +kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed + out by Eric (my typo). +ebl Fix configure.in to get batch mode enable +kes Return correct string from authenticate.cpp in bat when connecting + to Dir. +kes Apply patch suggested by Frank Sweetser to fix bug #888 -- + spurious line drops when using TLS. +kes Do not file reparse points when restoring a file that already + exists -- Win32. +24Jun07 +kes Implement Windows reparse points -- similar to directories, but + we do not descend into it. This is a first cut. They seem to + be backed up, but restore is not yet tested. +kes Remove restore_blocking in tls code when shutting a socket to leave + it in blocking mode. Hopefully this will fix the encryption bug + reported by Frank Sweetser. +kes When opening a file for backup, tell the OS that we are going to + read it sequentially -- optimization. +kes Change variable names in authenticate_director() to not conflict + with member names in bat. Caused great confusion with compiler, + but no warnings. +23Jun07 +kes Queue openssl error messages in case of comm problem. +kes Do shutdown() call if socket terminated. +kes Remove some duplicated code in tls.c +kes Move more of the bsock member variables into private and access + them with methods. +kes Add Frank Sweetser's tls-test to the regression suite. +22Jun07 +kes Add Swedish sv.po file +21Jun07 +kes Don't print clock skew message in FD if less than 3 seconds diff. +kes Add a bit of VSS info to status client. +kes Implement a first cut of Vista VSS, using Win2003 code. + + +Release: 2.1.20 beta +20Jun07 +kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with + loaded tape but uses first drive). +kes Fixed bug #807 Restore encrypted backup failed on Windows 2003 + This was indeed a Win32 issue. +19Jun07 +kes Simplify search of autochanger for in-use Volume. +kes Fix exit condition of check for in-use volume. kes Remove + inappropriate my_postgresql_free_result() in db_close() + routine. +kes Fix bad return in FD when encryption signature not found. + Probably caused a crash. +kes Inhibit missing encryption signature error messages for + file types where no signature computed. +kes Correct inverted check on autochanger in reservation system. +kes Tweak debug code in autochanger reservation. +18Jun07 +kes Add some additional locking in the cats directory in subroutines + that modify packet variables called from batch insert. +kes Rework how dcrs are allocated. new_dcr() can now be called + with an existing pointer, and it will simply clean it up. + This allows the reservation system to test various different + devices, and will permit easy device changes. +kes A bunch of changes all over to handle new new_dcr() calling + sequence. +kes Work more on the Volume management in the SD. Remember Volumes + for tape drives and for autochangers (even virtual disk changers). +kes When looking at the Volume list to reserve a drive, handle + autochanger names correctly by interating through the changer + devices. Also call the Director to see if a Volume is suitable + for the current job. +kes Fix some bugs in bscan. Make sure all media records are written. + Make sure that valid JobMedia records are written for disk files. + Previously they were completely wrong. +kes Move source tar files for depkgs-mingw32 to www.bacula.org so + that the URLs don't change and so that the developers will all + work off the same copy. Rebuild from scrach. +kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17. + +Release: 2.1.18 beta +16Jun07 +kes Fix seg fault in FD from incorrect digest size. +kes Fix argument to non-OpenSSL crypto.c subroutine. + +Release: 2.1.16 beta +16Jun07 +kes Remove a few malloc()s from the encryption code. +kes Use the class calls to bsock in filed/backup.c and restore.c in + place of the old bnet_xxx code. +kes Implement code that does an on the fly calculation of the + signing digest during restore of encrypted files. It makes + a best guess at the algorithm, and if it is not correct, will + then revert to the old code which reads the file after it is + restored. +kes Implement at least one missing crypto stream in stream_to_ascii() +kes Apply patch from William that fixes bug + #877 where a reload with bad syntax causes Dir to exit. + +Cut: 2.1.14 beta (not released) +14Jun07 +kes Do not free a volume on a tape drive until another volume is + mounted and read, or the autochanger unloads the volume. + This should help the SD re-use volumes that are already mounted, + and should fix bug #886. +kes Apply patch from user brettedgar that allows gnome2-console include + the OpenSSL libraries, and hence work with SSL. Fixes bug #885. +kes Apply patch from Lucien Weller that fixes day of week calculation + because of DST flag problem. Fixes bug #887. +10Jun08 +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() + +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 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. +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 Merge patch from Sergey Svishchev that preserves + the original jobb'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 First cut at 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 ne 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. +13Feb07 +kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1. +ebl Use btime_t instead of uint64_t in media patch. +11Feb07 +kes Optimize the use of the database a bit in the Status dir command. + Only open it when needed, ensure that if any previous database + was opened, it is closed. +10Feb07 +kes Correct VolCatBytes bug from media patch. +kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning + in the case of orphaned records. +kes Modify dbcheck to handle orphaned JobMedia, Path, Filename, + and File records in 300K chunks to be more efficient. This + idea came from Juan Luis Frances (if I remember right). +kes Apply Eric's scratch patch that moves a purged Volume to + the RecyclePool. Question: how is RecyclePool set? what + happens to the ScratchPool? +kes Apply Eric's media patch that collects read/write media + times as well as byte counts. This patch requires a + simultaneous upgrade of the DIR and SD. Note, there + should be some way to turn off timing. I'm not sure + times are in Bacula units. +kes Apply Eric's batch-insert patch. +09Feb07 +kes Update projects list. +08Feb07 +kes Implement Include/Exclude file lists in FD as dlists using + the new dlistString class. This permits efficiently having + large include/exclude lists and completes project Item 25. +kes Fix dird/ua_cmds.c so that a cancel command checks if the + console is authorized to cancel the job. This fixes bug + #767. +kes Modify SD so that the VolCatJobs medium record is updated + at the beginning of a Job rather than the end. This + fixes bug #775 where exceeding MaxVolJobs caused jobs + to fail. +kes Added a mutex around getting and setting Volume information + so that multiple simultaneous jobs will single thread. +07Feb07 + Switch to using Subversion +kes Remove src/pygtk-console/ from configure +06Feb07 +kes Delete src/lib/btree.c from win32 build, then add rblist.c + plus the entrypoints. +kes Apply patch supplied that corrects debug print + in canceling jobs for max run time. Supplied as + part of bug #621, which was previously fixed. +05Feb07 +kes Test on job_canceled() and sd_msg_thread_done inside + loop starting the message thread to avoid a race condition. + Fixes bug #771. +kes Remove rl_catch_signal from console.c as it conflicted + with the header definition. Fixes bug #765. +ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive) +04Feb07 +kes Clarify some stored/acquire messages to indicate if the + problem is with read or append. +02Feb07 +kes Fix memory leak with storage ids in cats/sql_get.c +kes Terminate watchdog earlier to avoid reference to released + memory -- reported by Jason Austin. +kes Move closing the database from jobq.c to the director daemon + termination routine. This fixes memory leaks for shadow jobs + (i.e. migration jobs). +kes Free up the unique jobid chain items in migrate.c. This fixes + a memory leak problem. +kes Convert some ugly looking for statements to use foreach_alist + in findlib/find.c. This will facilitate converting the structures + to use dlist (for large include/exclude lists). +kes Fix a bug in the btree.c and btree.h routines, then rename them + rblist and add them to be built in src/lib. Include some new + methods written by Rudolf Cejka that make the code more readable + (hides some of the ugly casting). +kes Add set_next() and set_prev() methods which make the code much more + readable. Also add a new dlistString class that facilitates storing + strings in dlists. To be used in the large include/exclude lists. +kes Make some trivial modifications to lib/tree.h that use rblist + rather than dlist for storing the tree links. This was suggested + by Rudolf Cejka. The result of this is that the restore tree now + uses red-black binary trees rather than simple linked lists. This + should give rather dramatic speed improvements for directories + contining large numbers of directories/files (more than 10000). +28Jan07 +kes Fix maxruntime bug #621. +26Jan07 +ebl Implement the include JobID in spool file name project. +kes Reorder projects file in order determined by Jan 2007 vote. +kes Implement item #12 on project list -- quick release of FD by + the SD. +kes Fix open of SQLite3 db where user does not have write permission + so that DIR does not crash. Fixes bug #761. +25Jan07 +kes Add back missing @ in Win32 Makefile. +kes Change 'Device not configured to autolabel' from INFO + to WARNING. +kes Fix jobq.c to restart failed jobs when Reschedule Times = 0 + which should restart an indefinite # of times. +kes Fix configure --help to print --with-mysql[=DIR]. Same for + other DIR specifications. +23Jan07 +rn Fix msvc build problems. Fix bacula.dll exports for msvc build. + Fix path quoting in SQLite scripts. + Fix problems with SHGetFolderPath. +19Jan07 +kes Create patches/2.0.1-restart.patch. Fixes bug #755. +18Jan07 +kes Fix Job restart on error bug that promotes an Inc to a Full + backup. This should fix bug #755. +kes Add qt-console and first cut of code. + +Version 2.0.1 +12Jan07 +kes Fix Bacula->Documentation link on Win32 to point to index.html + instead of bacula.html. Fixed bug #750. +kes Return JobId in db_get_job_record() when JobId==0. This should + fix bug #741. +kes Do not release source pointers when restarting a failed job. +11Jan07 +kes Add dynamic dll entry point for SHGetFolderPath to Win32 code. + This *should* fix bug #747. +kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix + bug #742. +09Jan07 +kes Modify USTORE constructor to set an empty store_source string, + and don't copy the store_source string in a cancel. Hopefully + this will fix Arno's seg fault, bug #744. +kes Add back code to disable conio in configure. Fixes bug #743. +kes Correct the Options scanner in the FD to correctly handle + SHA1 option, which was eating the next option. Reported by + Sebastien Guilbaud. +kes Add code to indicate when the SD is spooling, spool wait, and + despooling as requested by Alan Brown. + +Version 2.0.0 released: 4 January 2007