X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FChangeLog;h=fd482bb52428ca83f066794a555acef0cd91ca87;hb=af870c0d26c5817fd04a797ae0bb4a900d891433;hp=cb7065b9362c61a7e623733a0b39fe252024093e;hpb=a081c25f122ad228842addec5eee6d81f042fa20;p=bacula%2Fbacula diff --git a/bacula/ChangeLog b/bacula/ChangeLog index cb7065b936..fd482bb524 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,2048 +1,1825 @@ -2003-05-20 Version 1.31 Beta 22May03 -- I discovered that C++ permits "prototyping" structures e.g. struct A; is - a valid statement. This permitted me to eliminate all the void *jcr, in - favor of JCR *jcr, which pointed out a number of bugs in block.c. -- Change lib/bmisc.c to bsys.c (system routines). -- Add set_working_directory() to lib/util.c -- Remove some unneeded setjcr_job_status() since Jmsg(jcr, M_FATAL,...) - already sets it. -- Do not increment jcr->Errors for Fatal errors -- they represent non-fatal - errors. -- Fix a few more places in FD where Errors was not incremented. -- Print unexpected (or incorrect) termination message returned from FD. -- Use switch() instead of giant if statement in verify_vol.c -- Protect overrun from do_shell_expansion() by passing max length. -2003-05-20 Version 1.31 Beta 20May03 -- Add mandrake to platforms -- Suppress error messages if no bytes written to tape. -- Suck up bootstrap file even on error so that Dir sees our error message. -- Pretty much finish off the Win32 backup code. -- Add DESTDIR code to autostart for creating non-root rpms -- Echo input read from a script in Console. -- Clarify error message for VerifyToCatalog -- Add error counts in restore for M_NOTSAVED. -- Adapt bfile.c to handle both Win95 files as well as WinXP files. -- Add MTIOCERRSTAT for FreeBSD (clear error status). -- Correct double jobmedia record when cancel at EOM reported by Phil. -- Correct possible write at beginning of tape during cancel at EOM - as reported by Phil. -- Document in detail how Incremental and Differential jobs work. -- Add non-fatal error count on backup and restore Job reports. -- Remove a couple uses of lld -- now prefer to edit and use %s. -- Fix directory could not be accessed on Win32. -- Improve message indicating that last Full backup not found. -- Fix free() too early in directory traversal code. -- Prune Jobs with no JobFiles or that have JobStatus!='T' -- Add a few more command line scans for prune/purge. -- Restrict valid characters in a Volume name, and document it. -- Make new Win32 save/restore work. Still a bit more to do. -- Use reentrant version of mysqlclient library. -- Use more machine independent way of finding gcc version. -- Fix race condition in sql_list where messages edited before locking. -- Lots of testing saving/restoring 6GB files. -- Add where to restore where=/tmp -- Complete implementation of Win32 streams in FD. Must test. Also, - must implement new streams in SD. -- Make termination of daemons more "error" tolerant. -- Make default "duration" days rather than seconds if there is no modifier. -- Install bcopy. -- Add detection of available Win API's so that a single binary will - work on all Windows systems. Reference those APIs through a pointer. -- Remove use_win_backup_api and enable it in bfile.c if system supports it. -- Modify dev.c so that it works if MTEOM is not defined (BSDI). -- Change MT_xxx to BMT_xxx to prevent conflicts with BSDI. -- Detect strtoll() in configure. -- Implement replacement for strtoll() for BSDI. -- Add platform files for BSDI. -- Use Jmsg() instead of Jmsg1() in acquire because File:line prefixed in dev.c -- Use Jmsg() in write_block_to_dev() so that no messages are lost. -- Rework autochanger code in restore to handle case of cassette not in magazine. -- Implement Windows BackupRead/Write(). I now have permissions right!!!! -- Additions to the manual (Purging, Autopruning). -- Add doc to code in autoprune. -- Begin adding Level = Base. -- Make Jmsg recognize console and direct messages directly back to it. -- Hopefully fix mess in mount.c when a tape expires. -- Fix restore bug recently introduced due to Unix backwards status convention. -- New bacula.spec from Scott -- Add globals for database name and version and print them in traceback. -- Eliminate SubSysDirectory in each daemon conf file. -- Implement get_yesno() and get_pint() in UA. -- Make Jmsg aware of console. Messages now sent directly to Console. -- Created a single bacula.spec.in for by the MySQL and SQLite builds. -- Added proper configuration to console.in and gconsole.in -- Start adding textdomain() code for translating. -- A number of minor code cleanups. -- Rework shell expansion just a bit. -- Add rewind() when releasing a tape before acquiring the next one. -- Implement addition of Description in Service entry for Win32. -- Update manual to eliminate unclear autochanger points as mentioned - by Dan Langille. -- Implement DESTDIR everywhere. -- Rework spec files for 1.31 and combine the main spec and the client - only spec making a client package. At the same time, rename the packages - so it is a bit clearer to the user. Also fix the build to work - as non-root (scriptdir was not prefixed with $RPM_BUILD_ROOT). -- Correct Auto Changers and all other forms to Autochangers in the - manual. -- John reported needing to do two "mount" requests, and indeed that - was the case. It turns out that pthread_cond_timedwait() does not - always return zero when awaken by a pthread_cond_signal(). -- Include RunBeforeJob and RunAfterJob output in job output report. -- Implement a "real" Admin job that prints a mini-job report. -- Clean up a few error messages in findlib and filed. -- Recent changes to gnome-console caused initial output to be - lost -- now fixed. -- The Win32 version crashed after each job. After hours, it turns out - that when running with LocalSystem privilege (and not as a user), when - Cygwin does pthread_kill(id, SIGUSR2), it gets a memory fault. -- Moved stored/fdmsg.c to lib/bget_msg.c, and moved SD messages to - stored.c. So now bget_msg() can be used by both the SD and FD. -- Changed Director's bget_msg() to be called bget_dirmsg() to avoid - any possible confusion. -- Implemented bget_msg() in general everywhere in the FD except for - job.c where the Dir and FD are communicating. -- Implemented a Director only heartbeat in the FD for the cases where - there is either no connection to the SD or the FD is already reading - from the SD. start_dir_heartbeat() ... -- Add heartbeat to restore and verify volume. -- Add "Heartbeat Interval" to Storage resource, which sets interval the - SD sends heartbeats to the FD and DIR, 0 disables heartbeats. -- Add "Heartbeat Interval" to FileDaemon resource, which sets the interval - the FD sends heartbeats to the DIR, 0 disables heartbeats. -- Added heartbeat from FD to Dir every HB_TIME rather than forwarding - SD heartbeats. -- First cut label dialog. -- Turn on new semaphore code for simultaneous Jobs. -- Fix cancel trying to release semaphore's not acquired. -- Implement get_pint() and get_yesno() for UA. -- Implement find_arg_with_value() for UA. -- All command line "slot" to be specified for label command. -- Rework heartbeat code in FD to correctly terminate. -- Fix btraceback to use smtp and to eliminate double // -- Fix "storage" command to include ssl for verify and restores. -- Add Heartbeat code when SD is waiting on a tape -- heartbeat every 20 mins - to keep stateful firewalls from timing out the connections. -- Fix src/stored/Makefile.in typo causing problems in statically linking - btape. Thanks to Lutz for reporting this. -- Create an is_client_alive script for checking if a client is alive. - Using this script prevents generating error messages. -- Added corrections and updates to manual provided by Phil -- thanks. -- Added RequireSSL to each program/daemon configuration. -- Added EnableSSL to each correspondent for each program. -- Added the Console resource to the Director (need to - implement individual Console authorization). - -2003-04-28 Version 1.30 released -- Fix command history for gnome-console (must malloc). -- Add two cancel points in acquire_resources(). The job will not - be immediately terminated in all cases. -- The new AutoMount code broke File archives -- fixed. -- Correct watchdog mutex race introduced yesterday. -- Add JobLevel to Admin run started by UA. -- Add -v to daemon startup scripts -- Implement bmicrosleep(sec, msec); -- Implement When for "run" command. -- Remove unsigned from socklen_t definition in hopes it will work better - with older systems. -- Remove code that attempts to set PID dir and SUBSYS dir if they - do not exist because it set them to sbindir! -- Modify mount to initially attempt to read the volume if Bacula - wants a tape, none is mounted, and "Automatic Mount = yes" is set. -- Prohibit setting --sbindir and --with-subsys-dir the same. -- Fix missing argument that cause Kaboom in update slots. -- Fix orphaned bsock when UA gets error contacting FD or SD -- Nearly full implementation of Win Backup API, but it does not - work due to lack of permission! Arggg! -- Implemented restoring directory permissions as they should be. -- Implemented reasonable regression script. It found a number of - restore errors. -- Implemented the following @ commands in the console that work directly - in the console rather than in the Director. - input - read input from a file - output - write output to file - tee - tee output to file and terminal - time - print current time - version - print current version - exit - quit - quit - quit -- Implemented new bfile io routines that will permit implementation of - Windows native APIs for reading/writing files. -- By default always update hard links with the prefix, but do - not update soft links. It seems inconsistent, but it is what - cp does. -- Implement wait command in Console that waits until no jobs are running. -- Fixed the < code in Include/Excludes, which forgot to skip over the <. -- Do NOT attempt to chmod() a soft link as it will change the file behind - the link! -- OOPS! Lutz ran into a problem. In attempting to prevent string overflows, - I used bstrncpy() on a variable that was malloc'ed thus truncating - Volume names! Arrrggggg! -- Lots of documentation of new features. -- Rework Volume name scanning in console, made much more logical - and corrected a bug (confusion in calling sequence). -- Cleaned up a few error messages in cats adding more info. -- Add the IP address to error messages due to bad connects to servers. -- Implement default File output in config files so user can start - saving right away without a tape drive. -- Protect inet_ntoa() with mutex in case it is not thread safe. -- Eliminate termcap from use in gnome console. -- Remove unused SD maximum volume files and maximum volume jobs. They - are implemented in the Director. -- Make the default for Incremental and Differential saves to compare - against both st_mtime and st_ctime rather than just st_mtime. - This includes files moved or copied. - Thanks to Matthias Wamser for bringing this fix to our attention. -- On Win32 clients, make a pass through the include/exclude patterns - and change any back slashes to foward slashes. Prevents creating - unusable directory names containing both conventions. -- Move ls -l output on restored files to M_RESTORED class. -- Make gnome-console compile correctly on RH8.0 -- label barcodes now works. -- Implemented "update slots". -- Tweak btape "test" to always print suggestion for re-read last block. -- Implemented "Cleaning Prefix" -- Update alter_mysql_tables.in -- More work on barcodes. -- Zap VolHdr in SD when attempting to label a tape that is not - there. Prevents false tape names the next label command. -- First cut of bar code reading is implemented. It doesn't do - anything but return the list to the Director. -- Implemented relabel command that relabels "Purged" Volumes. -- Check exit code in RunBeforeJob and err the job if it is non-zero. -- Remove old testsuite -- too complicated -- Print length when Authorization fails because of bad length. -- Fix problem of NumVols in Pool getting reset on startup. -- Implement full listing of DB records by listing them vertically - instead of horizontally. -- Make changes to mysql scripts as suggested by Lutz Kittler -- Fixed code to write Uname to Client record. -- Fixed a problem (in btape) where Pmsg() was not printing. -- Moved re-read last block test to last in "test" command of btape. -- Lots of new documentation. -- Fixed newvol.c to handle retrying 10 times if the volume name already exists. -- Removed int_least16_t from sha1.h because it does not exist on some systems. -- Release job in SD if canceled and waiting on a mount (better cancellation). -- Prompt for Client in restore if not specified. -- Print "Selection is empty!" if no selection list found. -- Add new spec files and bacula.desktop from Scott. -- Update client every time a job is run. -- Add verbose option to daemons for printing more user error info. -- Test if console works with readline 4.3 (yes, it is OK). -- Release new depkgs -- Release new winbacula. -- Add Uname info to Client DB record. -- Improve error messages and make them more consistent when a non-existent - Device is requested. -- Separated the -mwindows option so that only Windows programs - are built with it (bacula-fd, ...) the tty tools such as console - dbcheck, smtp, testfind, ... are now able to be run in a standard - Windows DOS box. -- Add | and < options to Exclude the same as in Include. -- Add typed in input to the text window in the gnome-console. -- Change function that gets the entry text (previously had orphaned buffer). -- Fix multiple Director problem in gnome-console (thanks to Lutz Kittler). -- Thanks to Renato, I was able to test Bacula on a FreeBSD tape drive. - There are a number of significant differences: 1. reading less than - the number of bytes in a record returns an I/O error. 2. ioctl(MTEOM) - looses the file position. 3. Reading two two EOF marks (or ioctl(MTEOM)) - leave you positioned after the second EOF, so you must backspace file - to be able to append. -- Added BSF at EOM = yes/no to Device resource to allow proper positioning - at the end of a FreeBSD tape. -- Made btape "test" do much better testing of error conditions (i.e. - it now ensures that the append went well). It will automatically - detect problems and apply fixes and then retry the test, if it - finally succeeds, it clearly says what directives need changing. -- Add Scott Barninger's rpm changes to the build environment -- Add changes to mtx-changer so users can add eject and sleep for - certain autochangers. -- Implemented FreeBSD chflags (user defined flags). -- Turn restore errors during setting of owner and modes into - warning messages -- for restoring files as non-root. -- Fix how prefixes are handled in restoring soft links. -- Modified btape "test" command to do only those things that - Bacula actually does. There is much more explanation, ... -- Update manual. -- Finally had to back up to gcc version 2 from version 3 to avoid version - 3 nightmares. -- Final cygwin tweaks. -- Move start time to *after* the resource locks are acquired. -- Unable to duplicate Phil's disabling of Bacula with nmap, but - did make the authentication code a bit more conservative for - dealing with bad input. -- Added code to the query command to escape all strings input - before substitution and sending to the SQL engine. -- Escape user entered filenames for restore command. -- Cleaned up the waiting code a bit -- using broadcast instead - of signal and counting the waiters. -- Implement new pthreads semaphore code. -- #define new semaphore code rather than workq on USE_SEMAPHORE. -- Lots of improvements to the document to address recent support requests. -- Implement cycle through a set of tapes suggested by Eugeny - Fisher with the "RecycleOldestVolume=yes" record in the - Pool resource. Basically this record causes Bacula to purge - to oldest tape when no more tapes are found. -- Correct a number of small incorrect interactions between limit - variables during recycling. -- Corrected a bug in db_create_media_record() where VolMaxFiles and - VolMaxJobs was not written to the database. -- When the Director starts, the Pool record is updated in the - database with the current contents of the Pool resource. -- Corrected bnet_connect() to immediately stop (rather than looping - for the timeout period) if there is a fatal error (socket, or - hostname to ip). -- Reworked "purge" code to make purging Volumes easier. -- Made "list volumes" list the volumes in all pools -- also - "list volumes pool=Default" does not produce and error message. -- List Pool record after doing "update pool". -- Remove pid file code from Win32 -- not really necessary. -- Make bnet handle null jcr during cancel rather than crash. -- Add CygwinInstall.bat and CygwinUnInstall.bat -- Add db_lock() around newvol.c code to prevent race condition if multiple - callers want a new Volume name. -- Lots of cleanup to Win32 code, with additional error messages. -- Make Bacula work on Win95 (test for GetAttributesEx). -- Add better error messages when end of media is reached or volume - capacity execed. -- Turned off signal catching in readline(), necessary to keep console - from crashing on ctl-Z with RedHat 8.0. Thanks to David Craigon for - testing this. -- Make the 3rd and hopefully final change to the Finclude structures. - This new version permits multiple sets of options (more code to be - written) to be applied against the same set of files. Thus one can - have options that with match of *.gz and a different set of options - for *.c, ... -- Integrated GNOME Console font resource code supplied by Phil Stracchino. -- Check for job_cancelled() in bnet_connect() code to stop wait loop if - client not available. -- Fix early end of file scanning conf file in lex.c, which previously - caused ABORT -- now reports error. This could happen with an unterminated - string for example. -- Move Maximum File Size code before write and detect error on writing EOF. -- Additional fix for Solaris 2.6 and a bdb.c fix submitted by Armin Buehler. -- Added detection for Solaris 2.6, which uses older setsockopt() calls. -- Defined sockopt_val_t for setsockopt() calls. -- Added fixes sent by Bevan Anderson that fix multiple connects to FD - (I zap keys for security, so must put back dummy key). Also a fix - to the Internal database that wrote garbage after the filename in - the database. -- Back out the __SVR4 changes. -- Add automatic configuration of socklen_t -- Attempt to fix problems reported by Lutz with multiple simultaneous - open file Volumes (experimental code). Serialized acquire. This may - fix the problem, but more thought and testing is necessary. -- Add table of "supported" autochanger models. -- Add Solaris 2.6 (__SRV4) changes sent by Peter Schmitz. -- Correct tape selection code in SD (|| => &&). Thanks to Chuck Hemker - for the patch. -- Eliminate FileOptions. Implement new Finclude and Fexclude that - have file options contained in it. New structure must be transmitted - to FD. -- Split Include/Exclude into new inc_conf.c file. -- Cleanup new Include/Exclude and FileOptions. Structures in Director - now correct. Must transmit FileOptions to FD. -- WARNING: With the adddress and port code in the Catalog you MUST - remove old address= and dport= records!!!!! -- Added code to remove cancelled jobs from the workq -- needs testing. -- Added first cut AIX from output James MacLean sent me. -- Second cut of FileOptions. -- First cut of parsing FileOptions and Counters. -- Added address:port for MySQL as well as socket for local access. -- Fixed job.c in filed to properly handle excluded files. Apparently - I changed the daemon protocol but forgot to update the code. -- Enhance testfind to handle include and exclude files -- Fix getdomainname() prototype for Darwin -- Added new -u and -g options for specifying userid and groupid to - use when running, so that Bacula can reduce its privileges. -- When Bacula was hanging due to an NFS volume being down, I - fixed a few places in the File daemon where is should have immediately - terminated the connection instead of waiting for the Director to do so. -- Added first cut support for Darwin. -- Temporarily comment out the O_NOFOLLOW to avoid possible subtle problems. -- Implemented O_NOFOLLOW in creating files in create_file.c to prevent - creating a file at the end of a symbolic link. -- Use chown() if lchown() does not exist (e.g. Darwin). -- Always close stdin on startup to avoid having /dev/console attached. -- Change all DATE occurrences to BDATE because it is used by Cygwin headers. -- Add printing of Volume names in SD status output. -- Display all open devices in device chain in SD status output. -- All changing Pool in console run command. -- Thanks to Eric Bollengier for pointing out that the run_program() - return status was not correctly generated. Now fixed (I hope). -- Corrected crash in Internal Database getting Volumes. -- Flush all daemon messages at the end of every job. -- Fix Install.bat script so that Bacula restarts after reboot on WinNT/2K systems. -- Minor changes in the gnome-console directory. -- Integrated in my old Tcl/Tk code into src/tconsole and moved it up - from C to C++. Pretty crude, but it is a beginning. -- Close syslog() %n exploit in message.c -- Edit space before each line in gconsole. -- Added INCEXE structure so we can have FileOptions. -- Added support for multiple simultaneous open file volumes. -- Fix hard linked files so that the one saved is always restored. -- Add * to restore "dir" listing to indicate marked files. -- Add ability to make md5sum and sha1sum in lib directory. -- Work a bit more on the new daemon protocol. -- Use unmask of 022 or more restive -- Create File volumes with 0640 permissions -- Added support for SHA1 signature. Need to modify DB to have type. -- Document SHA1. -- Work a bit on getting proper child status from bpipe calls. -- Added Ludwig's mtx-changer to the examples/devices directory. -- Added a Warning not to use the Internal Database when it is initialized. -- Compiled and tested SHA1, and added it to the library. -- Added code to print the "load slot" status after autoloading. - -============================================================================= -2003-01-24 Version 1.29 released -23Jan03 -- Tightened up permissions on all .conf files to be 640 so they are not - world readable. -22Jan03 -- Added prefixlinks=yes/no Job record to specify applying the Where - prefix to absolute soft links. Code is not yet passed to FD, because - FD would then be incompatible with version 1.28. -- Added skeleton of installation for Gentoo release for Patrick Naubert. -- Add timer on open() for reading or writing a FIFO file. -- Put btraceback and btraceback.gdb in sysbin dir (a bit of polution, - but at least dumps will work). -20Jan03 -- Added "append" all messages to a log to default bacula-dir.conf -- Added WriteBootstrap to default bacula-dir.conf -- Made smartall.c print "Out of memory" if malloc() fails. -- Added pthread btimer routines. -- Added timer to FIFO open statement -- George was still having problems with VolUseDuration failing. - On looking into it, one line of code subtracting 1900 was - mysteriously missing from the source -- bizarre. -18Jan03 -- Yesterday's version corrects all the problems I was - previously having, and my production jobs are now completing - properly. -- Added a #define dev_cap() to test the capabilities bits. I just - makes the code a bit shorter and a bit simpler. -- Added phase 1 support for an output fifo device. The big - difference here is that it is a STREAM device, which means that - Bacula will only write to it and not read. Thus, Bacula assumes - that the correct "Volume" is mounted and will construct a valid - label (without needing the Volume to be prelabeled), and write - to the device. -- Added phase 1 support for input from fifo device (suppress re-read, - add empty buffer flag). -17Jan03 -- Improve printout of dbcheck with # files/path fixing. -- Zap SD authorization code after use. -- Added <> back to smtp (think about this some) -- Doc -16Jan03 -- Massive change to add jcr as the first argument to nearly - every db_ call. This is because I was storing the jcr in the - db structure, which will not work because everyone shares - exactly the same structure. -- More cleanups of error termination status in filed. -- Found another bug in message.c where %s was missing in JmsgN. A lot - of cleanup in message.c -- Found places where filename listing was made (restore, verify - vol) where the buffer could possibly overrun. -- Chain include files on the end of the list so that the - order will be correct. -- Rewrote mtx-changer to output one slot per line terminated by - a colon followed by an optional Volume Tag for the "list" command. - Preparation for handling Volume Tags. -- My production crash remains elusive. Adding debug code or running - under the debugger eliminates the problem. I found a case in - message.c where I was extending the message string by two - characters to send it to the console. VERY BAD. Rewritten. -- Started implementing fifo and program handlers (i.e. streams) - in the Storage daemon. Lots to do. -- Added a trace capability where trace statements are written - to a file. Tmsg(). Hopefully this won't be used much. -- Running lots of "production" saved by scheduling a few minutes - after the current time -- slow process ... -15Jan03 -- Removed <> on From and To in smtp.c as suggested by James MacLean. -- Added code to suppress spurious error messages during cancel, - but I was unable to eliminate all errors -- to be worked - on later. -- Up size of print buffer from 2000 to 5000. -- My production run failed again. I'm beginnig to suspect - hardware problems because running by hand or under the - debugger always works -- we will see. -- Added Update Volume VolFiles to reset correct tape files - a bit dangerous. -- Use the mysql_escape_string() rather than internal version. -14Jan03 -- Cleanup handling of JobStatus by creating a subroutine. -- Fix a number of minor things with JobStatus. -- Print FD and SD JobStatus on backup report. -- Add JCR to findlib -- so now FD stops normally when cancelled. -- My production Director segment faulted during the second Job. - I haven't been able to track it down. After rebuilding, all - jobs finished correctly. -- In investigating the duplicated Paths, I found that there - were 10,552 of them -- only Path records. After checking the - code, I do not see the reason, but I've enhanced the code to - print the full path name. -- I made a few improvements to tools/dbcheck. Mostly it provides - a bit more feedback with verbose mode on when eliminating - duplicate filenames or paths. -13Jan03 -- During four simultaneous backups, the File daemon started - detecting buffer corruptions. It turns out to be due to the - fact that the smartall.c routines were not thread safe. They - are now. -- Based on input from James MacLean and team, I eliminated a number - of places where printf could be recursively called by using "%s". -- It turns out that because of an error of my understanding of - mysql_escape_string(), the last argument was taken as the length - of the string to be escaped rather than the maximum length. I've - now corrected all my code -- Thanks James. -12Jan03 -- George Motter reported problems with UseDurations, and it seems - that there were a number of inconsistencies and problems with - FirstWritten and LastWritten. Hopefully for the most part they - are now corrected. Also fixed LabelDate if done through Console. -- Try to chase down reasons why there would be buffer overruns. - Added P & V around referencing last_fname for status. - Rewrote find_one.c with MEMPOOL, but not yet tested enough - to commit. -10Jan03 -- Give extra margin to converting filenames from Unix to Windows - in attribs.c of findlib -- dumb cygwin API doesn't provide for - a length. -- Added file:line traceback to size_of_pool_memory, check... and - realloc in an attept to get closer to the memory overrun reported - by James MacLean. -09Jan03 -- Made yet another fix to quoted string -- paths! Thanks to - Scott Medlock for reporting this. -- Made | and < work. -- Implemented FIFO reading/writing. To do so, simply explicitly mention - the fifo file (named pipe) in the Include AND add the new option - readfifo=yes -08Jan03 -- Started implementing | and < on Include names. -- Changed source to . in cats directory as requested by Andrew Kokarev. - -============================================================================= -2003-01-05 Version 1.28b released -- Corrected a typo of working_directory in bacula-dir.conf - reported by James MacLean. -- Fixed the fact that path and filenames in some cases were not - being quoted before going into the database. Many thanks to - James MacLean for reporting this. - -============================================================================= -2003-01-05 Version 1.28a released -- Corrected a missing quote in bacula-dir.conf reported by James MacLean - -============================================================================= -2003-01-05 Version 1.28 released + Changelog on version 5.0.x + General: -- Implemented Bare Metal Recovery for Linux and manual procedures for Solaris -- Now using only a single technotes file kes-1.28 and will add to - it as the development goes on. -- Wrote a general purpose bi-directional pipe command. This replaces - previous use of pipes as well as the run_program previously used. -- Make BSRs stop if no more matches are possible. -- Allow unliminted number of devices in Storage daemon. -- Allow connections to Storage daemon before all devices are initialized. -- Better documentation (and btape test command) on using fixed block - tape drivers. - -Changes submitted this submission: -04Jan03 -- Add cygreadline5.dll to Win32 release -- needed for console -03Jan03 -- Add scripts make_catalog_backup and delete_catalog_backup that makes and - deletes an ASCII copy of the catalog for backup. An example of how - to use it is in the Type). -- Added error messages for SQL errors in autopruning. -19Dec02 -- Documented Bare Metal Recovery -- Create new "rescue" directory containg the Bare Metal Recovery code. -- Fiddle with SQL a bit for pruning as apparently the last InitCatalog - was pruned after the expiration date eventhough it was the ONLY copy! - I'm not sure this is fixed yet. -18Dec02 -- Allow Director to pass a NUL where string to FD (fix in FD). -- Fix installation mv of query.sql. -- Make sure btraceback.gdb is not wiped on "make distclean" -- Corrected a bug in mod of replace options pointed out by Dave Anderson. -16Dec02 -- Started adding FileOptions ... -- Fixed and incorrect print out of the number of files restored (Jarif). -- Finally fixed EndBlock (and file address for Files) in catalog! -- Added hostname to tape header as always planned. -- Removed Level code (will not implement unless strong demand exists). -- Tweaked bscan to print number of errors ignored before first SOS. -- Enhanced btape "fill" to permit using one tape and to dump last - block before writing and upon read back. -- Make fsf_dev() return 0 on fail and 1 on success. -- Use new db_get_job_volume_parameters() to enhance Write Bootstrap to - contain more info (start/end file/block, file indexes). -- Added --enable-static-fd, sd, and dir to configuration to enable making - static versions of the daemons. -13Dec02 -- The btape test program was indicating errors on Adrian's machine - using the ATAPI (ide-scsi) tape drive. It turns out that this - is a fixed block driver as a consequence, Bacula must be setup - to write fixed blocks. btape was not always using the fixed - blocks defined in the Bacula config, so that has been updated. - It now works fine. A lot of tips added to the Bacula test command - to help guide the user. -- Documentation of the above significantly improved in the manual. -12Dec02 -- Added code in watchdog to permit setting and clearing child timers. If - the timer expires, the child process is killed. -- Modified restore to handle differential jobs. -- Added a new test to the btape "test" command -09Dec02 -- More documentation of new features (week position in scheduler, bsr). -- Re-read last block written on full tape to verify it. -- Fix segmentation fault with btape fill command due to missing FileSet MD5. -07Dec02 -- Created better SQL input editing routines str_to_int64 and str_to_uint64() -- Pull Client from database in Console restore command. -- Create a Unique list of Volumes to be mounted (previously had repeats). -- Made many of the SQL searches better by using the ClientId rather than the name - in the restore Console command. -- Modified reading of a tape to include the VolFile info. Once the - tape is past the specified file, reading stops. The BSR now includes - both the VolFile and VolBlock. Currently VolBlock is not used. -- Handle multiple volumes better by creating a real volume list with all - parameters in it. -- Display "At prompt waiting for input" in gnome console when at subcommand - prompt. -- Broke ascii to internal and internal to string editing routines out into - new lib/edit.c file. -02Dec02 -- Added a readme and an afs-bacula script to the examples directory - that permits Bacula to backup an AFS filesystem. Thanks to - Lucas Mingarro for the submission. -- Added A Sun-desktop autoloader script and Device definition to the - examples/devices subdirectory. Thanks to Lucas Mingarro for the - submission. -- If the WriteBootStrap fails, the job will now be marked in error. -- Added a week position to the scheduler syntax that allows you to - specify 1st, 2nd, 3rd, 4th, or 4th, or first, ... fifth as a week - position specification in front of a day. So if you say - - 1st sun ... - - the scheduler will start only on the first sunday of the month. The - day specification can also be a day range e.g. sun-fri. - This code is untested. -- Implemented bpipe.h and bpipe.c in src/lib, which defines a bi-directional - pipe. This allows executing other programs and sending them information - as well as getting info from them. -- Replaced the previous pipe usage with bpipes in RunBeforeJob and - RunAfterJob. -- The mail program now uses bpipes rather than pipes, which means that any - error output will appear in the job output (truly bi-directional). -- Modified BSR to handle counts and to stop when no more matches are possible. - This is untested. -- Improved error messages in smtp. - -============================================================================= -2002-12-12 Version 1.27d -- This is a minor update that fixes a segmentation fault in btape - as well as reduces non-important error messages in bscan. - -2002-11-29 Version 1.27c -- Yet another silly error duplicating a column name in the SQLite - make tables. No code change, just a make file. - -2002-11-29 Version 1.27b -- Set DB version to 5 in DB make files. - -2002-11-28 Version 1.27a -- Use g++ instead of gcc for testfind in tools - -2002-11-27 Version 1.27 (26Nov02) released 28 November 2002 - -General: from kes25Nov02 -- Mostly Cygwin changes - -Changes submitted this submission: -- Updated bdb_find.c to have new calling sequence for db_find_job_start_time -- dird/catreq.c edit in Volume name in error messages to SD -- attribs.c switch to using the cygwin API to convert from POSIX paths - to Win32 paths. This now permits Win32 path specifications in Include - statements (all combinations not yet tested). It also avoids the large - number of errors seen by Lutz if a Win32 path is specified in the Dir. -- Update testfind help and remove set_attribsEx debug code. -- Build testfind as default. -- Turn off debug message in stored/askdir.c - -General: from kes21Nov02 -- Another change in the database. You MUST either re-initialize - your database or use the appropriate ./alter_xxx_tables in - the src/cats directory. - -Changes submitted this submission: -- Additional documentation. -- Added MaxVolFiles to the database (not yet implemented in code). -- Increased the database version from 3 to 4. -- Change VolMaxBytes to MaxVolBytes, which is much more descriptive. -- Compressed unnecessary spaces out of a lot of SQL statements. -- Changed many %d to %u where unsigned integers are used. -- Added the Bacula version and build date to each backup output. - This will help knowing what version of Bacula was used. -- Implemented VolUseDuration MaxVolBytes, MaxVolFiles, and MaxVolJobs - based on maximums set in the Volume (Media) record rather than in the - resource. This means the values can be individually set on a Volume basis. -- Allow commas separating Include options (this was a subtle bug). -- Added maximum string length argments to a number of subroutines to - prevent buffer overflows. Most notably was do_prompt(). -- Replaced MANY occurrences of strcpy() with bstrncpy(), which guarantees - both that the length is not exceeded and that the string is properly terminated. - This has a risk of a certain destabilization -- as does the changes to - the SQL noted above. -- In cram-md5 routine use my_name if gethostname() returns an error. -- Increase timeout from 2 minutes to 3 minutes in authorization code. -- Check the full string including \n in authorization. -- Throw away any response longer than MAXSTRING. -- Added a number of additional error checks on subroutine return statuses. -- Replaced as many lld's with edit_uint64 as I could find. -22Nov02: -- Added MaxVolBytes to Pool record - had forgotten it. Updated DB version. -23Nov02 -- Update manual to document new Pool/Volume attributes -- Correct make_sqlite_tables (typo, plus missing value in Pool) -- Fix bizarre behavior in gnome-console and console when auth fails. -- Add Pool attribute query -- Add a few more error messages in askdir.c -- More strcpy() conversions to bstrncpy(). - -General: from kes18Nov02 -- Did a number of cleanups of string copying to limit the length - and prevent buffer overflows. - -Changes submitted this submission: -- Added a mutex arount the gethostbyname() so that multiple simultaneous - jobs get the correct address. -- Added the MaxVolJobs to the Media alter tables script for MySQL (forgot it). -- Changed arg to db_find_job_start_time to be POOLMEM for returning the string. -- Add the new VolUseDuration and MaxVolJobs to all the db_ routines. -- Use bstrncpy() in most places in the db_ routines to prevent a bad - database from crashing Bacula (self protection). - -General: from kes13Nov02 -- You MUST either re-initialize your databases or use the - ./alter_mysql_tables - or - ./alter_sqlite_tables - in the /src/cats directory to modify your database tables. -- Major improvements to dbcheck including an interactive mode. - -Changes submitted this submission: -- Implemented VolumeUseDuration and MaximumVolumeJobs which control - when a tape can be marked Used. -- New tape status "Used" means it was used and cannot be used any more. -- Defined utime_t which is 64 bit epoch time in seconds. btime_t is - 64 bit epoch time in microseconds. -- Created alter_xxx_tables to add new columns (VolUseDuration, MaxVolJobs) to - database. Incremented db version. -- Changed a few subroutine names concerning dates to be more descriptive. -- Fixed several places where the last filename was not stored in JCR in - FD verify_vol.c and restore.c -- Major update to dbcheck. Unfortunately I used subselects, which work - perfectly fine in SQLite, but not at all in MySQL. I must now rework - it for MySQL. What a pain! -- Removed "Database found" from configure output. It was no longer used or valid. -- Corrected doc --working-dir => --with-working-dir Thanks to Tuck for - reporting this. -- Added the database name to the error message for mismatched DB version. -- Commented out GMP and CWEB from configure as they are not currently used. - -General: from kes09Nov02 -- Converted the manual over to a new format written in wml. This - gives navigation buttons on the top and bottom of each page - as well as a standard page size. -- Updated the main Web site, providing a menu bar to the left - and much better organization and presentation of the information. -- Added code to recognize a Volume written with a larger block - size than specified. The code automatically adjusts. - -Changes submitted this submission: -- Created a new scripts directory and moved most of the scripts - previously in the main directory there. This cleans things up - quite a bit. -- Moved the randpass stuff into autoconf. -- ensure that the generic make_bacula_tables and drop_bacula_tables - are installed. -- Added code to filed to allow it to be run from inetd. Just add the - -i option. I have not tested it. - -General: from kes30Oct02 -- Alex found a problem with GZIP compression -- fixed. -- bacula stript fixes. -- Segment fault in Director fixed. -- Added openbsd to platforms - -Changes submitted this submission: -- GZIP compression was broken for large files due to a variable that - is changed during the compression. This was relatively easy to fix. - However, there were a number of fixes required to make GZIP and SPARSE - files work together. Found one more place in bextract where SPARSE_GZIP - testing was missing. -- During testing of the above, I ran into the restore problem of multiple - FileSet records. Fixed by including the FileSetId and the MD5 on the - selection string, then always using the FileSetId. It is a bit - confusing for the user, but ... -- Francis found a problem with bacula.in (fixed - thanks) -- I found another problem with bacula.in, so now it REALLY should work - on most systems. -- Added the Replace options code for restores. Not tested. -- Fixed an ugly stack overrun bug in reading the config file - that has been in for a long time. I found this in testing on FreeBSD - where the Director seg faulted. - -General: from kes29Oct02 -- Major change to the bnet communications routines. - -Changes submitted this submission: -- Modified the bacula script to use pid files, so this script should - now work on more platforms. Updated devel_bacula as well. -- Added the full GNU hostname on the configuration print output. -- Added gettimeofday() to configure, and tweaked a few variables for - OpenBSD. -- Added a chapter to the manual on Porting Bacula to other platforms. -- Documented in Tips how to use the WriteBootstrap record. -- Modified bc_types.h to error if 64 bit types are not found. -- Pass replace option for restore to the FD (no code to use it yet). -- Modify the FD to pass back the GNU OS string as well as the DISTNAME - and DISTVER. This needs to be put in the Client record in the catalog. -- Major reworking of the bnet routines to eliminate the zero length which - previously indicated a signal. This risks to create some subtle communications - bugs. The changes now permit blank lines to be sent from the user to the - Director. -- Found and corrected a few more places where the Win32 attributes were not - being recognized. -- Permit spaces in the Where string (restore) by bashing/unbashing them. -- Handle quotes correctly in the Console program (actually Dir ua code). - Previously they were not handled in the middle of a string. -- Corrected two error message (error reading file), which previously stated - it was a network error. -- Reworked the files in the binary Windows release. Removed unused programs - and added a README with the copyright as suggested by John. Also added - console.exe to the release. -- Found and corrected an autoloader mount problem where the wrong tape - was specified. Previously it looped, then gave up. Now it correctly - detects the volume is not correct and zaps the Slot in the catalog. - -General: from kes23Oct02 -- I have mainly worked on getting all the details of a Restore - to work correctly (new tape format, support for Win32 - attributes, ...) -- Trademarked name Bacula. -- Implement Bacula tape format 11 (1.0 Immortal). This format - will be maintained forever. -- Accept Any Volume is yes by default. This modifies Bacula's behavior - when writing tapes. - -Changes submitted this submission: -- Corrected a bug on FreeBSD where CFLAGS would get a "yes". I was - unable to reproduce this, but a user confirmed the correction. - It was a problem with detection of largefile support, which FreeBSD - has by default. -- Added a new "license" chapter in the manual. Re-licensed a number of - library routines (bnet.c, hmac.c md5.c, cram-md5, ...) with LGPL so that they - can be used in proprietary software to access Bacula if so desired. -- Move Director's AutoChanger doc to correct location (in Storage - resource). -- Document why trademark (to protect compatibility). -- Implement and turned on Bacula tape format 11 (also BB02). This - format moves the VolSessionId and VolSessionTime from each record - header into the Block header. This is MUCH more efficient when reading - records as now whole blocks can be skipped. - Also added JobStatus in End Of Session record, and added MD5 for - FileSet, which is necessary to insure uniqueness. -- Implement a new Bacula time format for btime_t. It is Epoch time - in microseconds (i.e. base 1 Jan 1970 in microseconds). - This replaces previous floating point times. -- Added Win32 extended attributes. In doing so, I moved all attribute - handling from src/lib into src/findlib. Added new streams for - Win32 attributes and for GZIP Win32 attributes. -- Modified "Accept Any Volume" so that it really permits any volume - in the pool to be mounted. -- Removed "Mount Anonymous Volumes" from Storage daemon config. -- Implemented sparse files. You must add "sparse=yes" on the include line - for it to be enabled. -- Print "None" in backup summary rather than 0.0% if there is no compression - enabled. -- Improved error checking in daemon connection/authentication code to prevent - garbage data from harming a Bacula daemon. -- All daemon tools MUST have a config file. -- Completely strip drive specification on Win32 if a Where prefix is specified. -- Corrected DB info for writing to files. Now the File Address is stored - in File-Block variables in the catalog. -- All Storage daemon tools now use common code for acquiring/reading - Volumes. -- If a device is unmounted, report it even if the device is not open. This - will help inform users who have BLOCKED Bacula by unmounting a drive. - - -============================================================================= -2002-10-12 Version 1.26 (10Oct02) -General: from kes10Oct02 -- Changed Job name conventions to avoid : which is an illegal - character on Windows. - -Changes submitted this submission: -- Added check for inet_pton to configure.in. If it does not - exist (e.g. Windows) use inet_aton -- Documentation on GZIP. -- Another restore doc example. -- Documented btape fill command. -- Set default restore directory from /tmp to /tmp/bacula-restores -- Add additional no find error messages to sql_get.c -- Creating a bootstrap file on Windows failed because the Job name - contained colons which are illegal on Windows. Replaced the - colons with periods. This corrects the Windows restore problem. -- Print number of files to be restored in "restore" command. -- On Windows systems, if there is a prefix, completely eliminate - any drive: at the beginning of a path. -- Minor corrections to the tree routines to handle Windows - files such as c:/ better. Previously it insisted on /c:/, which - would then not be found in the catalog for a "dir" command. -- Modified cd command in restore to try /c: if c: fails. -- Add a new S_ISWIN32 bit to the st_mode word so that low level - routines that create files do not print error messages. -- More work must be done to restore all Windows files correctly. - Currently the following bits are not handled: - Archive - Hidden - System - Also, all the dates are not properly restored. - -General: from kes09Oct02 -- More documentation. -- Implemented new fill command in btape that permits filling - a tape and then reading it back to ensure that it works - with Bacula. - -Changes submitted this submission: -- Added ReadBytes to JCR, which contains Job bytes read by - FD, JobBytes contains compressed output of FD. -- Modified FD to pass back JobStatus, ReadBytes, JobBytes, ... - for backup jobs. This is upward compatible. -- Modified backup termination status report to contain the - compression ratio 100 * (1 - compressed-bytes/uncompressed-bytes) - This will always be zero if no software compression was - done, or if you are using a version 1.25 or older FD. -- Pickup Job termination status of FD in backup, so now - the termination status represents the state of all three - daemons. -- Implemented new fill command in btape that permits filling - a tape and then reading it back to ensure that it works - with Bacula. - -General: From kes06Oct02 -- Implemented first major cut of bscan -- program to scan a tape - and recreate a Bacula catalog. -- Fixed lseek() relative negative seek that prevented writing multiple - jobs to a File volume. -- Implemented BB02 tape format -- currently turned off for writing. - -Changes submitted this submission: -- Updated README -- Implemented new BB02 tape format, which moves the VolSessionId and - VolSessionTime from the record headers into the Block header. It - is currently turned off. -- Implemented new btime time/date format on the tape. This is currently - turned off. -- Added JobStatus to EOS tape label. This is currently turned off. -- Changed start_block, ... to StartBlock in JCR for uniformity. -- Print a message telling which tables were dropped/made with - ./drop_bacula_tables. -- Return JobType and JobLevel in db_get_job_record(). -- Implemented get_current_btime(), which returns btime_t. -- Bump debug message max size to 2000 bytes. -- Add btime_t serial/unserial routines. -- Rework all tape label routines to integrate btime and other - label format changes (currently turned off -- for writing). -- Fix lseek() to always be positive -- block.c -- Consolidate record, block, and label major #defines in block.h. -- Major implementation of bscan. Some more minor tweaking will be - necessary. E.g. add multiple records for multiple simultaneous - Jobs. -- Cleanup lseek() to always use off_t as second argument. -- Add new "created" tape label (EOT_LABEL). This generates a callback - to the read_records() routine when the final end of all tapes is - reached allowing proper termination and updating of the media records. - -General: From kes25Sep02 -- Added means to bind servers to specific address. -- Documentation - -Changes submitted this submission: -- Added DirAddress, FDAddress, and SDAddress records to the corresponding - resources that allow the server to bind to a specific address - rather than any address. This security improvement was suggested by - a user -- thank you. -- Eliminated deprecated "Address" record from all sample Storage resources. -- Made quite a lot of improvements to the bscan program. Much more - to do. Aside from details, it is able to recreate a database - from which you can do a restore. -- The s option is not accepted on all versions of ar, so replaced it - by an explicit ranlib call. -- Fixed a bug that caused the Director to crash if you rudely bring - down the console program in the middle of an SQL command. -- Fixed a bug (missing break) that caused scheduled Admin jobs to - be listed as "Unknown type". -- Removed old code from Storage daemon that used a separate FD port. - -General: From kes14Sep02 -- Better key generation on non OpenSSL systems. -- 64 bit file address support if available. -- Implement autochanger for reading -- Lots of cleanup of tape reading code. -- Automatically create all Pool resources when Bacula starts. -- Implement bscan.c -- Implement autochanger use via the Console commands "add" and "label" -- Begin implementation of a regression script -- Write bootstrap after ever job - -Changes submitted this submission: -- After noticing that the non OpenSSL random key generator was - not good on Solaris, John wrote a very nice randpass generator. -- Integrated John's makeSessionKey for generating the FD->SD - authorization. -- Statically link tools (doesn't work on Solaris). -- Document how to debug Bacula (new chapter in the manual) -- Remove unneeded printing of error message in sql_get.c -- Free SD description config record (previous oversight) -- Bash spaces when sending Director names, and unbash them when - received. -- Ensure no divide by zero in rate computation in backup.c -- Implement WriteBootstrap in backup.c -- Allow tape reading to request volume information for any - volume. -- Create all Pool resources at startup. -- Show only Backup jobs in Restore listing of last 20 Jobs. -- Handle 64 bit stat packets in restore. -- Don't do shell expansion on store_dir in config if string - starts with |. This is used for piping the program for the - WriteBootstrap. -- Ignore SIGHUP -- DéjàGnu was triggering this. -- Implement autochanger for reading, many changes to - acquire_device_for_read() -- Implement callback for reading Volume. Implement in bextract, - bls, and bscan. -- Implement bscan -- Add count to bsr. -- Fix Volume in bsr. -- Move autochanger code to new subroutine in mount.c - -============================================================================= -2002-09-05 Version 1.25a (05Sep02) Released -- Fix unitialized stack variable in bextract so it - will always read the currently mounted tape. - -============================================================================= -2002-09-04 Version 1.25 (01Sep02) Released - General: -- Added .cvsignore files in each directory to cut down on the - CVS output when scanning directories and finding Makefiles - and such which are not part of the CVS tree. - - Changes submitted this submission: -- Cleaned up a lot of the error messages in Verify, including - indenting. -- Had to remove some of the "automatic" error message printing - in the DB because they are in fact things that come up - for Verify but not really errors. - - - 2002-08-30 Version 1.25 (30Aug02) Beta - From kes30Aug02 -- Fixed a bug where only the first file was restored if - it is hard linked. The other links were lost. -- In some cases of restoring to alternate directories, softlinks - were not properly restored. - - From kes28Aug02 - General: -- Bacula backups now run up to 12 times faster than version 1.24 -- Bacula can run multiple simultaneous Jobs. -- Had to turn off TRANSACTIONS in SQLite because it doesn't work - with multiple simultaneous jobs (I'm working on this). -- Added a better Job printout for Restore Jobs. -- Added a save/restore Rate to backup and restore jobs. This - does not yet subtract out operator wait time so it will be - underestimated it the Job waits on the tape (mount/label). -- Fixed a major bug caused by free()ing a buffer twice in - the Restore code. This made the SD more or less useless after - any restore Job. Arrggg! -- DIR - SD protocol changed, both must be updated at the same time. -- DIR - FD protocol changed in upward compatible way. Upgrade of - FD not required, but recommended. - - Changes submitted this submission: -- Added bell to "make" when errors are detected. -- Changed default compile option from -g to -g -O2 -- Additional documentation as usual -- much based on questions or - feedback from users. Thanks. -- Fixed example config files to use new syntax and to have a - Restore Job. -- Define ETIME to ETIMEOUT for Irix -- Added JCR filed to DB structure permitting direct printing error - messages from within the Database subroutines. - Some error messages may be printed twice as a consequence. - When I see them or someone reports them, I will remove the double. -- Added JCR to the bsock structure. This allows direct printing - of network errors from within the network code. -- Made most "trivial" debug messages have level 100 or greater. This - allows for easier debugging of new code using the range below 100. -- Began replacing all Emsg() with Jmsg() using a NULL as the JCR in - Jmsg() is the same as Emsg(). -- Fixed several crashes in the Director because of malformed config files. -- Added SpoolAttributes to Job resource. -- Pass CatalogFiles to SD. If set to no, the attributes are dropped - within the SD rather than being sent to the DIR. -- Cleaned up a number of information/error messages in user interface. - This includes eliminating the "pretty please" response in favor of - "yes/no" to delete volumes and pools. -- Cleaned up quite a number of uninitialized variables reported when going - to -O2, most were harmless, but a couple could cause problems. -- The cd command in restore was not working correctly (it didn't allow some - legal cds). -- Fixed a segmentation violation in the directory tree handling code in - the restore command. -- Handle a few error conditions in the restore command better. -- Permit "Where" to be set to nul in modification of a run command. -- Clarified the error message for Verify if an InitCatalog has not previously - been done -- thanks Chuck. -- Add MaximumConcurrentJobs to FD. -- Added code to mem_pool to die if a buffer is released twice. -- Lots of work done on SD for multiple simultaneous jobs. Split device.c - into device.c, mount.c and acquire.c -- Started writing new lock code for SD, but may back it out -- needs more - thought. Current code works, but is too complicated. Maybe can simplify it. -- Cleaned up the SD tools code quite a bit. Added bootstrap to all tools. -- Ensure that tape session labels are not split across two blocks. This makes - reading them back much easier. -- Fixed another restore bug concerning tape labels on multi-volume saves. - -============================================================================= -2002-08-14 Version 1.24 - From kes12Aug02 -- Made a new tools directory. -- Moved smtp into the tools directory. -- Created a dbcheck program in the tools directory that - checks for certain database errors and if requested fixes them. -- Put the database link flags on DB_LIBS so that it now only is - on binaries that actually need it. -- Document dbcheck and testfind programs. -- Move testfind to tools directory. -- Check for FileSet after getting Client name in Restore command. - Modify all necessary SQL commands to accept FileSetId. -- Add a db_get_fileset_record in cats directory. -- Correct list last 20 files concatenation to be MySQL - dependent. They aren't SQL standard. Use SQL standard || for - other SQL programs. -- Modify dir command in file selection to produce a long form - listing of the file/directory name. -- Add platforms/irix/*.in files to CVS -- Make Console command scanner accept quoted value fields. -- If after selecting Client to restore, there are multiple - FileSets, ask user to select one. -- After obtaining JobIds for restore, ensure that there is only - one MediaType, and select a Storage resource to be used. - - From kes11Aug02 -- Made restore actually work. -- Made console and gconsole be configured (requested by Chuck) -- Updated kernstodo -- changed fs in Job record to fileset for clarity -- The console run command was not properly picking up the command - line arguments. Fixed! -- Changed add/remove/rm to mark/unmark -- Volume keyword VolumeName was wrong, changed to Volume (in restore bsr). -- Pass jcr to parse_bsr, and if non-NULL, it will output error messages - to Job stream rather than Emsg. -- Modified lexical scanner to include caller context so that jcr can - be stored in lex context allowing error messages to be properly - routed. -- Renamed the Job message chain to be jcr_msgs. This eliminated the - previous confusion with the default value, now named jcr->messages. -- Implemented multi-volume bsr records. -- Implemented pm_strcat() and pm_strcpy() to cat/add to memory pool - buffers in same way as strcat/strcpy, but expanding buffer. -- Modified db_get_volume_names to handle arbitrarily long Volume list. - - From kes07Aug02 -- If the Console program terminated during the printing of messages, - the message file was left locked. This was corrected by using the - new read-write lock code. -- Implemented Pw() and Vw() for obtaining and releasing a write lock - using the rwl_xxx routines. -- Deleted some old pthread_mutex code from mysql.c -- In making the Irix port, I previously corrected the base64 routine so - they were not sensitive to the machine definition of char. This made - them incompatible with previous versions invalidating MD5 signatures - which are in base64 format. I have now corrected this, making the - routines compatible with the previous version but also insensitive - to the default definition of char. -- Removed some unnecessary NPRT() usage in signal.c (pointed out by - the Irix compiler). -- Add back BNET_NONO for compatibility with older File daemons. -- Implement runing a restore Job in the restore command. -- Make installation of query.sql unconditional. To prevent you own file - from being overwritten, give it a different name. -- Made parse_command_args() in ua take command from ua->cmd, this - simplifies it and allows usage in other places -- e.g. building - arguments for created run command in restore. -- Cleaned the naming of s_full_ctx to be s_jobids. -- Write the bsr created in restore to "working-directory"/restore.bsr -- Fix bugs in command line scanner in run command -- also some misplaced - breaks! -- Eliminate static cmd in ua_server.c -- Eliminate segmentation fault when using the Run command in the - Console -- forgot to init_msgs(). - - From kes06Aug02 -- Did a good amount of documentation. -- Added sql_cmds.c to CVS, forgot, pointed out by Chuck. -- Added new platforms/irix directory to CVS -- Turn off transaction debug code in sql.c -- Reworked the scheduler so that it handles the same Job starting - twice in the same hour. Previously it took one or the other. -- Tightened up the "slop" in the timings that I programmed to ensure - that the same job isn't run twice or that no job was missed. -- Increase the sleep time. -- Used job_type_to_str() in status so that Admin jobs are correctly reported. -- Add internationalization message chars to a number of routines - in util.c -- Make the watchdog timer clear the mutex when it exits. -- Some tweaks to the Restore command. It needs fixing when a Job spans - two or more volumes. - - From kes05Aug02 -- Initial cut at adding Irix File daemon support. -- Lots of work on the restore command. -- Take a stab at eliminating the "broken pipe message" - when the console program prematurely terminates. -- Reimplemented transactions for SQLite by keeping - them all in the same thread. -- quit in the Console program now waits for Bacula to - quit. To immediately quit, you must enter .quit -- Eliminated BNET_EOF -- this COULD have some negative consequences - on interdaemon communications. -- Define Job termination status for Admin jobs. -- Write new bstrncpy() function that guarantees that strcpy is - properly terminated. -- Fixed command input in ua_input.c to accept quoted items as a - single field. - - From kes01Aug02 -- The changes that added indexes to the SQLite database were - lost -- thanks to Chuck for pointing this out. Redone. -- Fixed a problem quoting strings in SQLite. This showed up - as database errors with files containing ' or " in the filename. -- Implemente restore command -- still in progress. -- Added indexes to all fields in SQLite that exist in MySQL. -- Moved unused immortal files from src/lib to src/immortal. - This will permit splitting depkgs. -- Started work on adding embedded MySQL. Cannot get the tables - to work for the moment. Please don't try to use this option. -- Convert to using single quotes for enclosing all strings. -- Implement correct quoting algorithm for SQLite strings. - Is dequoting needed? -- Started centralizing SQL statments in the Director in sql_cmds.c -- Changed a number of M_ABORTs to M_ERROR_TERM so that program terminates - but does not produce a dump. -- Allow wild-card matches in bsr for Client name, and Job. -- Change OflineOnUnmount=no as default. -- Fixed improper printing of filenames containing a space in bls.c - Thanks to Carlos for reporting this. - -=========================================================================== -2002-07-26 Release 1.23a -- Fix segmentation fault is FD status. -- Turn off TRANSACTIONs for SQLite. - -=========================================================================== -2002-07-23 Release 1.23 - From kes22Jul02 -- Updated Bacula to handle some minor differences in MySQL 4.0.2 - (still works with older MySQLs). -- Updated MySQL documentation to correct some minor errors. -- Added kernstodo to CVS -- Fixed create_mysql_database, which I recently accidently broke. -- Disallow zero length volume names in Console program. -- Create alter_mysql_tables and alter_sqlite_tables for conversion - from 1.22 table format to 1.23 table format. - - From kes20Jul02 -- Investigation of SQLite performace problems reported by Chuck. -- Updated ChangeLog -- Updated README -- made root@localhost the default email address because many smtp - servers reject root but accept root@localhost -- Added an autochangers chapter to the manual. -- Documented most of the new features in 1.23 -- Modified the SQLite interface code to start a transaction at the - beginning of a job and commit it at the end of the job. It - also commits it after 10000 changes. Hopefully this will - improve performance. -- Set the default cache pages from 2000 to 10000 for SQLite (i.e. - about 15Megs of memory) hoping to improve performance. -- Terminate last filename referenced in FD prior to copy to - avoid race problem with multiple threads and no locking. -- Enhanced the status output to include the JobType -- Print an error message if the email program terminates in error. -- If your machine has an MTUNLOCK, do it before doing an OFFLINE to - ensure that the door is unlocked. -- Added code to stored/append.c to spool attributes. This is in - a testing stage and must be explicitly enabled. -- Added a no_attributes variable to stored/append.c that prevents - the attributes from being sent to the Director. As yet, no way - to turn it on. -- Modified SQLite code so that after 10000 updates any transaction - is committed, then restarted. This keeps it from using too much - memory. -- Set the default cache size to 10000 pages (previously 2000). -- Fixed a segmentation fault on Sun due to no default value for - the JobStatus. -- Added the same indexes to SQLite that I exist in MySQL. This - VASTLY reduces CPU usage for lots of inserts. -- Added spooling to bnet_send(). - - From kes18Jul02 -- The following two changes were prompted by questions/suggestions - from A Morgan. -- If you have "AlwaysOpen = no" in your SD Device - resource, Bacula will free() the drive when it - is finished with the Job. -- If you have "Offline On Unmount = yes", in your - SD Device resource, Bacula will offline (or eject) - the tape prior to freeing it. -- Added Maximum Open Wait to allow open() to wait if drive is busy. -- Added RunBeforeJob and RunAfterJob records to Job records. - This permits running an external program with the following editing - codes: - %% = % - %c = Client's name - %d = Director's name - %i = JobId - %e = Job Exit - %j = Job - %l = Job Level - %n = Job name - %t = Job type - - From kes17Jul02 -- Added autochanger support to devices.c -- Allow user to change Slot in the Volume record. -- Implemented code in lib to run an external program - (tape changer) -- Implemented a changer script for mtx. -- Currently the changer commands used are: - loaded -- returns number of slot loaded or 0 - load -- loads a specified slot - unload -- unloads the device (returns casette to slot) -- Other changer commands defined but not yet used: - list -- returns list of slots containing a cassette - slots -- returns total number of slots -- Implemented ChangerCommand, specified in the SD Device - resource, permits editing of: - %% = % - %a = archive device name - %c = changer device name - %f = Client's name - %j = Job name - %o = command - %s = Slot base 0 - %S = Slot base 1 - %v = Volume name -- Implemented MaximumChangerWait default 120 seconds. It is - specified in the SD Device resource. - - From kes15Jul02 -- Moved techlogs from main directory to be subdirectory of doc -- Added code for strerror_r, and detection of gethostbyname_r(). -- The protocol between the Director and the SD has changed. -- Major rework of SD tape mounting to prepare for Changer commands. -- Separated Update Media record and Create JobMedia record. These - are done from the SD by calling the Director. Need separate Create - JobMedia so that when a Job spans a volume, all other Jobs writing - the same volume will also have JobMedia records created. -- Added message to user indicating selection aborted if he enters . - to a Console selection request. -- Create a jobstatus_to_ascii() routine for use in status commands. - This makes a single routine from three separate pieces of code. - Updated the code to properly handle more (all) termination statuses. -- Tried to fix the gnome-console to handle history a bit better. There - are still some problems with focus not being properly set to the edit - box after history replacement. -- Removed the shutdown() from bnet_close() hoping to fix Console termination - errors that are occassionally seen -- no luck. -- Moved add_str() to lib/util and renamed it add_str_to_pool_mem() so that - it can be used to edit Job termination codes and Changer command codes. -- Reworked how the SD mounts tapes (in device.c) so that control passes through - only a single routine. The logic is much simpler than previously, and now - adding AutoChanger code is straight forward. -- Made SD tape mounting much more fault tolerant -- more cases retry instead - of terminating the Job. -- Wrote code to edit_device_codes() for Changer commands. Not yet fully - implemented. -- Added a ChangerDevice directive to the Device resource. Still need to add - ChangerCommand. - - From kes07Jul02 -- This documents what I did while on vacation. -- A fair amount of documentation. -- Implemented Verify Volume to Catalog (needs renaming) -- Modified the database to include new MarkId field as - well as Counters. Database level is incremented from 1 to 2. -- Added first cut of managing autochangers by implementing Slot in DB. -- Fixed a good number of M_ERROR messages to be M_FATAL where appropriate. - Also converted a number of Emsg() to Jmsg() permitting better Job error - messages. -- First cut at implementing a general packet passing mechanism for bsock - to replace printf and sscanf for passing data. -- Made make_xxx_tables and drop_xxx_tables and create_xxx_database - for bdb as well as sqlite. With this each database has the - same set of scripts (with the exception that MySQL has grant_privileges). -- Modified Makefile to only install the database scripts for the - database that you are using. -- Updated the pdf script to include all the html files. -- Did quite a lot of documentation. -- Made Bacula compile correctly with DEBUG turned off. -- Implemented Pmsg() macros that permit using the debug print - routines even with DEBUG off. -- Updated job_cancelled() macro to handle JS_FatalError. -- Changed db_find_last_full_verify() to db_find_last_jobid(). This - permits working with Verify Volume to Catalog. -- Removed TRANSACTION code from incrementing NextId for SQLite. -- Implemented quick and dirty (not fully functional code) so that - console program does not die if ctl-Z is entered. -- Cleaned up backup.c a bit adding a bail_out goto to ensure proper - handling of errors with minimum code. -- Added passing Slot back and forth to Storage daemon with Volume info. -- Implemented Slot in Media record in DB. -- Implemented first cut of Counter resource in dird_conf.c. A counter - resource is part of the Pool resource. -- Implemented necessary database record. However, the resource doesn't - yet create a DB record. -- Implemented onefs (One File System) and recurse options on Include - resource. -- Implemented autopruning of Verify and Restore Jobs. -- Did a better job of calculating thread_concurrency() for Sun systems. - This permits better multi-threading allowing all the threads to run - at the same time. -- Implemented a wait_for_storage_daemon_termination(), which is used by - backup and verify volume. -- Clarified a number of UA prompts, and add feedback where certain commands - completed but printed nothing. (More work to be done here). -- Added a pile of new code to implement Verify Volume to Catalog. It is sort - of a hybrid of "restore" and "verify" in that it actually reads the tape, - then compares it to the catalog. Need Verify Volume to Client. -- Added a good number of checks for job_cancelled() this should permit - quicker and more reliable cancelling of jobs. -- Fixed one bug in restore where I used ofile instead of lname, which means - that if the lname was too long, the memory was not properly reallocated. -- Cleaned up find_one.c in findlib quite a bit. -- Link smtp static so that it works even if the libraries are messed up. -- If mail host is not found, retry with local host in smtp. -- Added slot and stream to the bootstrap record processing. -- Do offline on tape cartrige for unmount command. This can be turned off - by the user in the config file. OffLineOnUnmount in Device resource. -- Implemented AutoChanger = yes/no in Device resource. - -=========================================================================== -2002-07-07 Release 1.22 -- All the basic Restore code to handle the boostrap file is - now implemented with the exception of the Console Restore command. -- Retained compatibility with previous Restore providing no - bootstrap file is specified. However, the old code (JobId based) - will go away in a future release. -- Fixed a number of segmentation faults in the Console program due - to printing of NULL pointers -- thanks to Chuck and his Sun for - finding and reporting them -- mostly in ua_output.c. - - From kes25Jun02 -- Null pointers now are printed as *None* if NPRT() is used. -- At the request of Phil, all resources are now chained in in the - order they appear in the config file. -- Implement Bootstrap record in the Director's config file, which - allows you to specify a predefined bootstrap file for Restore Jobs. -- Allow Bootstrap on the Restore record. This is deprecated. -- Implemented code to pass the Bootstrap file, if defined, to the - File daemon, then from the File daemon to the Storage daemon. -- Added ability to set Bootstrap file in the Console when running a Restore. -- Allow scan_error() routine to be passed to lex_open_file(). This permits - using lex in the Storage daemon without worrying that it will ABORT on - a syntax error. More work is needed to direct the error messages correctly. -- Improved error messages a bit when config syntax errors are found. -- Tested and corrected some errors in match_bsr.c -- Removed askdir.c from bls and bextract by defining dummy entry points. -- bextract now has bootstrap pretty well integrated. -- Changed bextract ABORTs into FATAL and exit(1) or ERROR_TERMINATE. - More user friendly. -- Eliminated at least one lld and replaced it by edit_uint64() -- Eliminated a few more _PROTO()s. -- Corrected a problem with the SQL for in query.sql for - Listing Volumes to Restore All Files - - From kes22Jun02 -- Additional documentation. -- Reduce the time the jcr mutex is locked in lib/jcr.c -- More null pointer printing fixes in lib/parse_conf.c (debug output only). -- Added daemon filename to Kaboom message so I know what daemon died. -- Fix big bad bug introduced in watchdog.c last update that caused - a segmentation violation (forgot to check for NULL pointer). -- Add a bit more info to bad returns from Stored when starting - a job fails. - - From kes21Jun02 -- Fixed scan_to_eol -- Fixed backup scanning forgot one T_STRING -> T_UNQUOTED_STRING -- changed all rwlock_t to brwlock_t to avoid conflicts with - Solaris library. -- Added NPRT() macro to allow printing of NULL pointers, which - segment fault on Solaris. -- Cast printing of pid_t to int for Solaris compiler. - - From kes20Jun02 -- Added expect argment to lex_get_token(). -- Added tree.c and tree.h to lib directory. - - From kes19Jun02 -- Improvements to the bootstrap compiler -- Implemented first cut of bootstrap code in the Storage daemon -- Modified the authentication code to be more explicit during - failures. -- Added a few more debug message numbers with more arguments (Dmsg10, ...) -- Added more and more precise error messages when authentication fails. -- Implemented new "expect" codes in the lexical scanner that allows - the caller to specify what he wants. -- Added integer, positive integer, 64 bit integer, and integer ranges, - and name scanning to lex. -- Implemented new lex code in parse_conf.c, this reduces significantly - the code. -- Hopefully fixed a watchdog race bug that caused the watchdog to time - out a line after 1 hour rather than 6 days. - - From kes15Jun02 -- Implemented a Bootstrap file parser and matcher. -- Implemented first cut of bootstrap code in bextract -- Started clarifying different termination codes. -- Added M_ERROR_TERM to immediately terminate the daemon -- no dump. - Also changed a few termination codes as appropriate. -- Fixed create_jobmedia_record() to include all the fields such as - StartFile/EndFile, StartBlock/EndBlock. -- Print user friendly message when query mode ends. -- Fixed ls style print routines (bextract, bls, restore) to check - buffer size, to print the link if any, and to used edit_uint64() - instead of %lld. -- Moved scan_to_eol() and s_err() to lex.c to avoid dragging in - parse_conf.c for new bsr scanning code. -- New files: bsr.h, parse_bsr.c and match_bsr.c. parse_bsr.c parses - a Bootstrap file, and match_bsr.c matches a bsr against a tape. -- use strcasecmp() in several places instead of lcase(). -- Add first cut of bootstrap to bextract. -- Added File Size limit -- writes EOF after limit exeeded. - -=========================================================================== -2002-06-12 Release 1.21 -- Fixed several problems with filenames being truncated if - they contain spaces. Thanks to the user that reported this. -- N.B. To get the new queries, after the "make" and - "make install" you must explicitly replace the - existing query.sql by query.sql.new. query.sql is a - user configuration file, so it is not overwritten. -- Added GZIP compression of Included files. -- Added additional fields to tape SOS record permitting better - recovery with no database. -- Be sure to remove any !terminate statements you may have - in your config files. -- MUST UPDATE ALL DAEMONS due to protocol change to handle new - tape format. - - From kes11Jun02: -- Updated examples directory with my most recent config files. -- Modified the M_TERM meaning to mean that Bacula has - terminated in error without producing a dump. Previously, - it meant that Bacula terminate (with or without error). - You should remove any !terminate from your messages - resources. -- Changed the order of the libraries in the link so that - tcp wrappers link properly. Thanks Phil for reporting this. -- A user reported that filenames containing spaces were truncated - in bextract. This was indeed the case. They were also truncated - in Restore as well as in Verify. They are, hopefully, all fixed - now. -- Made a few error conditions in Verify non-fatal. -- Modified the Console "query" command to permit multiple SQL - statements per command. -- Implemented three new "query" options: - List last 10 Full Backups for a Client - List Volumes used by selected JobId - List Volumes to Restore All Files - To use them, simply type "query" to the Console program, and - select the one you want. -- Modified bextract to default to extracting all files (i.e. /). -- Cleaned up the code in bextract a bit. - - From kes03Jun02: -- Improve Verify command to include files examined. -- Eliminate fcntl() locking of the console file and replaced - it with a pthreads mutex. -- Note Director - SD protocol is changed to handle new tape - information (Fileset, JobType, JobLevel). -- Create config.out that contains a summary of ./configure - to see what you previously configured: "cat config.out" -- Implemented GZIP compression. Added addition syntax to - Include { } resource to permit setting of any GZIP compression - level: - compression=GZIP - compression=GZIP1 - ... - compression=GZIP9 - - Level 1 is minimum compression and level 9 is maximum. Using just - GZIP gives the default (level 6). -- Enhanced the tape format to include the unique Job name, FileSetName, - JobType, and JobLevel in the Start/End of Session records. The code - detects that tape level difference and acts accordingly. You can - add data in the new format to old tapes. -- Fixed an incorrect display message in the prune command. -- Began implementation of Verify Volume and Verify Data. -- Cleaned up File daemon restore.c a bit ensuring that termination - cleanup is done and all possible Emsgs are converted to Jmsgs. -- Modify bls.c to use common setup routines. This reduced the big - code duplication that creeped in when I added different listing - options. Also, changing tapes is now handled uniformily in a subroutine. - -=========================================================================== -2002-05-27 Release 1.20 -- Started documenting Catalog Pruning and Recycling. - Added catmaintenance.html and recycling.html -- Fixed the query command bug. -- Implemented PID files to prevent two copies of Bacula - from running at the same time. Be sure you --with-pid-dir - points to a working directory. -- Modified ASSERT() to cause a segmentation violation. This - permits a core dump. -- Worked on gnome-console. It paints better, it tells you if it - is ready to accept a command or processing one, and it is - almost entirely GTK+ (rather than GNOME, I'm removing GNOME - a bit at a time). -- Limit to 100 the number of tape labeling errors in a single Job. -- Add some additional ASSERT()s to the database routines. I don't - like ASSERTs but they do catch bugs. -- Tested and debugged recycling of Volumes. Needed to change - the Director-SD protocol slightly. -- Removed the experimental SIGHUP in the Director as it is a - potential source of errors. -- Added Level, Pool, Messages, and Storage keyword/value scanning - to the Schedule Run record. -- Improved printing of Schedule resources with "show schedules" -- Do not autoprune Jobs/Files if the Job errs. -- Updated newvol() to pass back the updated Media record. -- Fixed the "update pool" command, which was broken during a much - earlier code reorganization. -- Improved a few of the pruning messages. -- Removed readline inclusions from gnome-console (hang over from console). -- Make Jmsg use daemon message handler if no message handler is defined. - This is always the case in the SD and FD. -- Started removing __PROTO(). With C++ prototypes are manditory, so why - keep around legacy code. -- Added a good deal of message internationalization -- more to be done. -- Move cached Path into mdb structure and use POOLMEM. -- Fix verify bug introduced last update causing incorrect diffs - by turning off autopruning. -- Started adding code to distinguish Errors from Fatal Errors. -- Errors are now counted in message.c for a Job. -- More POOLMEM cleanups. -- Implemented Automatic pruning. -- Implemented Automatic recycling of Volumes. -- Added PruneJobs/Files/Volumes=yes or no to Job resource. If set, - it forces the specified pruning. -- Modified rwlock to accept multiple nested write lock - requests. -- Modified the cats directory to use the new rwlock mechanism - in place of P() and V(). -- Defined db_lock(mdb) and db_unlock(mdb). They are in effect - transaction locks. -- Add CVS Id's to most files. -- Made first cut at AutoPrune -- Added new autoprune file that is called at the end of - each Job. It then decides when and what to prune and - calls the UA prune routines. -- Modified Run (in Schedule resource) to permit overrides of - Level, Pool, Storage, and Messages. (not tested). -- Added more POOLMEM in place of char. -- Implemented daemon pid files. This prevents multiple - daemons from running simultaneously. You can run multiple - daemons if they listen on different ports. -- Documented the Schedule resource a bit better. -- Began gently adding a POOLMEM type (perviously void). - For the moment it is a #define to char, but long term - it should be its own typedef. -- Corrected a bit of spacing on the status bar of gnome-console -- Added Admin and Archive Job types. -- Implemented multiple Messages resources. Each daemon has - its own message resource, which defaults if not defined. - Jobs may now have different message handlers. -- Cleaned up a bit of duplicate code in backup, verify, and - restore by creating appropriate subroutines in job.c -- Added Type, Client, FileSet, and Level resource record - definitions to the Director. These can be used in place - of the Backup = ..., Verify = ..., ... commands. This needs - documenting. -- Corrected an incorrect message in the prune code and added - the number of Files pruned in the message. -- Corrected several paint problems with gnome-console. -- Added a bit of printout in signal handler during traceback. -- Cleaned up most of sm_check() to be turned on/off by define - in version.h - -=========================================================================== -2002-05-10 Release 1.19 -- Allow the user to select a new period for pruning. -- Lots of additions to the manual -- prune and purge - commands documented. -- Applied Phil's configure.in fix for --prefix, ... -- Fixed bug found by Phil (patch supplied) in updating - MD5 signatures (revert to 32 bit FileId, move "static" - variables into JCR) (catreq.c fd-cmds.c). -- Reverted to using INTEGER for FileId in make_sql_tables - due to a bug in MySQL. -- Change editing code to %d for FileId. -- Remove sqlite in make distclean in cats directory. -- Remove console.conf in console during make distclean. -- Remove gnome-console.conf during make distclean. -- Remove bacula-dir.conf during make distclean. -- Set default level when using Console if none specified. - Bug reported by Phil. -- A simple . command from Console is ignored. -- Change program named from filed to bacual-fd in winmain.cpp -- Change default config file for Win32 in winmain.cpp -- Free namebuf on early return from find_one.c. Bug reported by Phil. -- Modify testfind.c to dump orphaned buffers. -- Removed terabytes from parse_conf.c because of problems with - older gcc compilers. -- Turn off gnome options in gnome-console by constructing empty argv. -- Fixes to Verify when only MD5 differs. -- Insert 0 for MD5 as default rather than space. -- Allow .messages "transparent" command while reading input - in UserAgent server. -- In dird/verify.c ensure that correct filename is printed if only - the MD5 differs. Minor reindenting caused large diff. -- Delete unused code from backup.c -- In filed/verify.c ensure that same algorithm as backup.c is used - to pass back MD5 signatures -- especially for directories and files - that cannot be read. Change dummy filename from X to *MD5-id*. - This dummy value should never be printed. -- Make gnome-console poll Director every 5 seconds for output. - This means that queued up messages are displayed at reasonable - intervals. Delete some unused code hanging around from the tty - console program. -- Begin implementation of prune commands. -- Add command line history to gnome-console. Not yet saved across sessions. -- Fixed some broken URLs in the manual. -- Added JobId type. -- Wrote first cut of "prune files" and "prune jobs". -- Added command line history to gnome-console 2500 lines max. -- Widened store_time() and associated variables to 64 bits using - new btime_t definition. -- Removed GNOME about box and replaced it with - a somewhat crude Gtk+ about box in the gnome-console. -- Widened StartDay in the Job DB record to be 64 bits. -- Changed edit_uint_ to edit_uint64_ everywhere. Much more - descriptive of what is done. -- Removed most llds and replaced them with %s and edit_uint64. - This makes the code a bit easier to read for beginners. -- Added a btime_t typedef which is 64 bits wide. -- Added most of the code needed to do Purge and Prune of - database. Not yet tested. Please do not use. -- Additional config options for Console. -- Started adding code for Automatic Recycling of Volumes. -- Allow arbitrary length filenames in Verify code. -- Fix incorrect filename in Verify code. -- Significant enhancement to number scanning in config parser. -- Requires initializing MySQL tables, or applying cats/alter.sql - to modify Media table. -- Modified Makefile to printer a much more visible - message if the make ends in error. -- Added the Purge value to the VolStatus in the Media table. - This value is set if the Volume is purged. -- Enhanced the db_delete_media_record() routine to delete - all associated records in the database. -- Modified Console to always write to the variable "output" - rather than stdout. This will permit directing output to a file. -- Enhanced the Console configuration file to have a Console - resource. This will allow us to add an rcfile and history file. -- Modified Find_next_vol in catreq.c to search for "Recycle" - volumes if there are none marked Append. Also made Get_Vol_info - return the VolStatus to the Storage daemon. -- Allow upper/lower case match on job level names. -- Added another warning message to the Console "delete media" command. -- Corrected a number of FileId types from uint64_t to FileId_t in - ua_retention.c. -- In ua server close database before freeing JCR (because pointer is - kept in ua and jcr structures). -- parse all numbers as doubles. Do lots of checking for valid number - formats. Allow numbers in scientific form (e.g. 1.5e+10). -- Remove terabyte modifier as it doesn't work in some compilers. -- Fix bug in handling some modifiers. -- Added all necessary code for Recycle to Storage daemon. A Volume - marked Recycle will now be overwritten. -- Filled out the prune command a bit and did some testing. -- Make console accept redirected input. -- Altered the Table definitions to include Recycle, - FileRetention, JobRetention, and AutoPrune. -- Widened StartDay to 64 bits. -- Use JobId_t in more places. -- Added the new table fields to the database record definitions. -- Changed Recycle from string to a binary quantity. -- Added a Version table with a VersionId to detect. - future changes in the database. This should prevent - a Bacula from working with a database that is not in sync. -- Modify Console to accept input from a file. This will permit - the .read command and allow reading a .rc file. -- Added new retention and recycle variables to the Director's configuration. -- The UA subroutines or commands can now be called from core - code because the output routines detect the absence of a - UA socket and direct output to the Job. -- Added a verbose flage to the ua packet to permit reduction of - output while running a UA command (prune) from a Job. -- Did a fair amount of work on the prune command. Prune Volume now works. -- Purge Volume now works. -- Made last changes for integrating prune and purge commands. -- Add -ltermcap to CONS_LIBS when readline is configured. - More work to be done to search for termcap. -- Added cats/drop_sqlite_tables.in, which will delete the SQLite database. -- Got CWEB working so that we can compile filesys.w and immortal.w -- Modified depkgs to include cweb. -- Note, CWEB is not yet used by the core Bacula code. -- Made cats/alter.sql, which alters an old database to bring it - up to the new format. This only works with MySQL since SQLite does - not have the ALTER SQL command. -- Changed the old StartDay field in the db to be JobTDate, which is - the latest time/date in widened Unix time format that the Job ran. - This value is used when doing pruning. -- Added code in cats/sql.c to verify that the database internal version - corresponds to the db version compiled in Bacula. It is set to 1 currently. -- Lots of changes to cats to bring the SQL up to date with the new - retention period changes. -- Added Console command code to permit changing a Volume's retention period. -- Removed old code that used date_encode() and replaced it with widened - Unix time(). -- Started modifying Message resource scanner so that we can have multiple - message resources. Much more work to be done. -- Moved scanning for time into new library routine string_to_btime(). - -=========================================================================== -2002-04-22 Release 1.18 -- Applied Phil's configure.in fix for --prefix, ... -- Fixed bug found by Phil (patch supplied) in updating - MD5 signatures (revert to 32 bit FileId, move "static" - variables into JCR) (catreq.c fd-cmds.c). -- Reverted to using INTEGER for FileId in make_sql_tables - due to a bug in MySQL. -- Change editing code to %d for FileId. -- Remove sqlite in make distclean in cats directory. -- Remove console.conf in console during make distclean -- Remove gnome-console.conf during make distclean -- Remove bacula-dir.conf during make distclean -- Set default level when using Console if none specified. - Bug reported by Phil. -- A simple . command from Console is ignored. -- Change program named from filed to bacual-fd in winmain.cpp -- Change default config file for Win32 in winmain.cpp -- Free namebuf on early return from find_one.c. Bug reported by - Phil. -- Modify testfind.c to dump orphaned buffers. -- Removed terabytes from parse_conf.c because of problems with - older gcc compilers. -- Turn off gnome options in gnome-console by constructing empty - argv. - -=========================================================================== -2002-04-18 Release 1.17 Kern Sibbald -- Ensure that platforms Makefiles are called for clean - and distclean. -- Hide a lot of Makefile messages with @ -- Applied Phil's configure.in patch. Thanks. -- Doc updates, many to clarify points brought up by Phil. -- Applied Phil's make_mysql_tables.in patch. Thanks. -- Made authenticate.c in dird test bnet_send status. -- Make label a bit more friendly with extra info message. -- Add level 200 to debug info in run command. -- Remove old code from findlib/testfind.c so that it compiles. -- Add two minute max wait to cram-md5 authentication. Hopefully, - this will catch non-responding WinNT daemons. -- Allow time and size modifiers to be upper or lower case. -- Turn off old CYGWIN patch for pthread_cond_timedwait() bug that - now causes File daemon hangs on WinNT. -- Fix mount messages for restore. Previous updates to save - broke the restore code. -- By default write fixed block sizes rather than variable block - sizes. My Sony DAT simply does not work (reread failures) with - variable block sizes. -- Data split across tapes was not being correctly restored - (at least on DAT tapes). -- Implement MaximumBlockSize and MinumBlockSize statements in - Storage daemon so user can specify variable block sizes if - desired. -- Return error if block checksum error on read (previously - ignored). -- Fixed some error messages in bls, and in some cases exit(1) - rather than ABORT. There remain ABORTs to be examined. -- Made a local copy of tcpd.h and corrected the function - prototype problem for C++. - -=========================================================================== -2002-04-14 First public release 1.16 Kern Sibbald - - Many intervening changes/updates. - -2001-09-29 Release 1.0 Kern Sibbald - - Fixes to problems found at John's installation. - - See techlogs/kes25Sep01 for details - -2001-09-25 Release 1.0 Kern Sibbald - - Helped John install at his site. - He is backing up one Linux machine and - one Win2000 machine. - -2001-mm-dd Many releases - - Released internally. - -2000-04-09 Release 0.4 Kern Sibbald - - Added a lot of Director configuration code. In - part (a small part), the Director now uses the - bacula.conf file to know what to do. There still - remains a lot to do. - - The file search code is now integrated into the - MySQL database routines, and Bacula is now hooked - into the MySQL database (if so configured). Thus - all the database records are being created, though - there still remains some work in getting all the - details into the records (such as the Storage - coordinates). - - I've defined how Volume pools work (see manual). - - I've defined error message handling though no code - is yet written. - - The following resources and records are implemented - in the Director configuration file (bacula.conf): - - Director - Name (passed to Storage daemon) - Client - Name, Address, Port - Password (not yet used) - Storage - Name, Address, Port, Password, MediaType - Job - Name - Type (not yet used) - Backup (only one permitted) - Client, FileSet - Storage - Schedule, Messages, Pool (not used) - FileSet - Name - Include (options ignored) - Exclude (no options) - Schedule (not used) - Name - Messages (not used) - Name - Debug, syslog, mail, append (not used) - Catalog - Name - Address, Port, Password (not used) - Pool (not used) - Name - PoolType, MediaType (not used) - - - Added Storage configuration routines. - Director - Name, password (verified against those sent by Director) - Storage - Name, Address, Port (address, port must correspond to Director's values) - Password, MediaType - Device - Name, MediaType (must correspond to those sent by Director) - Archive Device (defines device name) - - -2000-03-10 Release 0.3 Kern Sibbald - - Implemented new base64 encoding for attributes. - This eliminates some of the error messages in the - sprintfs on the Solaris due to different stat() sizes. - - Implemented the first cut of the file search routines for - the File daemon. The exclusion lists work including wild - cards. There is a lot of work to be done, but the basic - structure is now in place (wild cards do not yet work for - the include). - - Completed writing the memory pool code. Now I must - implement it in the daemons. - - Modified the bacula start/stop script so that it has a - better chance of working on SGI and Solaris. - - The catalog code has not been converted to the new file - search code. - -2000-03-06 Release 0.2 Kern Sibbald - - Integrated John's fixes. - - Made Makefiles self configuring when Makefile.in is changed. - - Added a runit script in the top level that runs bacula - - Added a "bacula" script in the top level directory that - starts and stops the File daemon and the Storage daemon. - -2000-03-03 Release 0.1 Kern Sibbald - - Basic Director, File, and Storage daemons. - Standalone Catalog services using MySQL - -2000-01-22 Kern Sibbald - * Setup basic file structure with ./configure + +Release Version 5.0.1 + +17Feb10 +- Apply MacOSX installer patch from bug #1509 +- Add debug code for FreeBSD regress failures +- Reduce debug output + +16Feb10 +- Regress test Branch-5.0 prior to release +- Add more debug for three-pool regress failure +- Backport duplicate-job-test +- Make dup jobs regress test work +- Eliminate error message in regress setup if get not present +- Avoid error message if git not installed + +15Feb10 +- Apply fix to previous fix of Copy problem. Fix proposed by reporter o + #1476 +- Set default Allow Duplicate Jobs = yes +- Fix Allow Duplicates bug + +14Feb10 +- Fix duplicate job bug +- Update date +- Fix infinite wait on error when restore started +- Make undocking work +- update configure +- Add check for sqlite3_threadsafe() in configure +- Add debug to testls + +13Feb10 +- Updates for 5.0.1. +- Clean up termcap requirements. +- Add dependency information. +- Changes to run bat as nonroot user. +- Refix version. +- Fix client only build. +- Add code to check and prevent setting StorageId to zero + +12Feb10 +- Lets call the Ingres version of the tables also version 12 as it alre + all the new tables introduced in version 12 on the other backends. +- Fix library versions from 5.1.0 to 5.0.1 so things are inline with th + numbering scheme +- First cut at fixing AllowDuplicateJobs bugs +- Fix bug #1501 -t does not print errors +- Add more doc in sample-query.sql + +12Feb10 +- Lets call the Ingres version of the tables also version 12 as it alre + all the new tables introduced in version 12 on the other backends. +- Fix library versions from 5.1.0 to 5.0.1 so things are inline with th + numbering scheme +- First cut at fixing AllowDuplicateJobs bugs +- Fix bug #1501 -t does not print errors +- Add more doc in sample-query.sql + +11Feb10 +- Apply SQLite3 update fix from bug #1497 +- Apply bashism fix for diskchanger.in script from bug #1499 +- Apply Philipp Storz fix on bconsole history file +- Apply rpm fix for Sci Linux from bug #1494 +- Update po files +- Take most recent Ukranian po from bug #1448 +- Fix pages not in focus + +10Feb10 +- Work around SQLite3 bug in bat submitted by Andreas Piesk a.piesk@gmx +- Move shared object numbers into version.h + use -release for libtool + than -version-info +- Make mtx-changer errors clearer +- Check for existence of mtx-changer.conf in mtx-changer script + +09Feb10 +- Probable fix for Copy/Migration bug #1476 +- Fix SQL that fails on SQLite3 in bat reported by Andreas Piesk a.pies +- Make master run with DEVELOPER set + +08Feb10 +- Make bsnprintf test program compile +- Rename directory +- Reorganize spec files +- Fix bat bug that consumes connections + add braces on ifs + rename su +- Fix compiling gigaslam.c whith $(CFLAGS) for OpenSuse Build service +- Fix Mysql database upgrade. + +07Feb10 +- Fix bug #1488 -- create delivery_error() subroutine to avoid recursio + race conditions in messages.c +- Upgrade cats library also to 5.0.0 + +06Feb10 +- Fix missing console page in bat +- Move msg trace into subroutine +- Move bat help files into help subdirectory +- Add bat help files to Win64 installer +- Win -- add help files to installer + stop any running bacula-fd befor + install +- Fix bug #1481 -- bat consumes all console file descriptors +- Update date on win32 rc file + +04Feb10 +- Backport truncate on purge from 5.1.x +- Fix bug #1486 -- bat doesn't show any errors on command-line +- Update the bsock error url + +03Feb10 +- Correct .my.cnf umask in make_catalog_backup.pl + +02Feb10 +- Apply Philipp's fix for dbcheck use by make_catalog_backup.pl + +01Feb10 +- Backout patch that should not be in Branch-5.0 +- Backup patch that should not be in Branch-5.0 +- Free db_list when not used +- Fix seg fault in bscan from new comment field +- Remove qmake-qt4 code so tht alternate qt4 build works. Fixes build p + in bug #1468 +- Patch from checks multple CNs when using TLS + +31Jan10 +- Commit spec+rpm build files from Scott + +30Jan10 +- Fix seg fault in SQlite driver + +28Jan10 +- Make versions of shared libs inline with the software version. +- Remove file_index sequential check -- reported by Graham + +27Jan10 +- Disabled ActionOnPurge waiting for a fix +- Check pool memory size for truncate op + +26Jan10 +- Fix #1467 about ActionOnPurge with Devices having space +- Fix #1466 about Bogus pruning message + +25Jan10 +- update configure +- Fix make_catalog_backup.pl warning + + + + + +Release Version 5.0.0 + +21Jan10 +- Remove double secs in pruning output + +20Jan10 +- Fix priority mgnt in lock manager +- Fix FD crash when plugin running and cancel given +- Stop backup sooner after cancel +- Make a missing plugin during backup fatal +- Update sample-query.sql +- Use make_catalog_backup.pl by default + +19Jan10 +- Update makeall and add README to release directory +- Remove debug code +- Add more authors +- Fix possible memory leak +- Fix bscan bug introduced with serialization change +- Add a few status client commands +- Make Ukraine po to compile +- Update po files +- More spec improvements from bug #1455 +- Enhance FD status to have level + +18Jan10 +- Fix logwatch install in bacula.spec. Patch from bug #1454 +- Remove /etc/logwatch directories from spec file. Patch supplied by bug + #1456 +- Don't remove spec files -- fixes bug #1458 +- Remove FI sanity check code that does not apply after a VirtualFull +- Make Attr/record FI non-fatal if different -- possibly temp + add new session + record types +- Keep serial from overruning with bad data + +17Jan10 +- Add info message on how to stop the file relocation test + +15Jan10 +- Add new Path tables to grant and drop scripts +- Fix #1450 about FirstWritten not updated with bscan +- Fix error message in grant_postgresql_privileges + +12Jan10 +- Fix SQLite table creation script + +11Jan10 +- Add Job.Reviewed field +- Enable priority checks in lockmanager +- Change DB version from 11 to 12 +- Fix Win64 build +- Fix Win32 build + +10Jan10 +- Fix the subject to something easy to delete +- Turn off messages test -- it creates tons of emails + +09Jan10 +- Optimize strtok usage in ua_cmds + +08Jan10 +- Remove old code requiring different storages for migration +- More checking for OpenSSL in configure + +06Jan10 +- Add make_catalog_backup.pl script that uses env variables and disk file to + pass database password for backup +- Modify the sql query to get alphabetical order of clients when selecting the + most recent backup for a client + +05Jan10 +- Remove warning about make_catalog_backup.pl + +04Jan10 +- Add Ingres configuration +- Fix Ingres ID definition that caused seg fault +- Add commit from Stefan Reddig + +03Jan10 +- Simplify initgroups definition for AIX +- initgroups definition is ok on aix >= 5 + +31Dec09 +- Ignore scripts/bacula_config +- Remove QWT from configure -- not used + +28Dec09 +- Revert to configure with C due to old prototypes on some systems +- Make ioctl_req_t test less g++ dependent +- Make ioctl test more exact +- Try to force configure compiles to be more exact +- Rebuild configure to handle Marco's changes +- Clean old configure + +27Dec09 +- Let --enable-libtool and --disable-libtool determine if we build plugins and + drop the extra configure option + +26Dec09 +- Lets use a xattr specific constant and not the stdio BUFSIZ which is kind of + platform dependend. +- Attempt to autoconfigure ioctl_req_t +- Lets not mix initialized stack variable with uninitialized ones in the same + definition. +- Added some handling of EPERM and EOPNOTSUPP which seem to be returned when + you try to retrieve the system extended attributes a non root user. +- Lets not orphan the buffer returned by extattr_namespace_to_string as it + seems by looking at the code it strdups the string it returns so no need to + bstrdup it ourself. + +25Dec09 +- Show that plugins are enabled or not in configure output. + +24Dec09 +- Plugins are dependable on libtool now so cleaned the Makefiles and the fd + plugins are only build when --enable-plugins is set and libtool is used. +- Clarify catalog grant permissions message + +23Dec09 +- Fix depend for changes to SRC variables. +- Drop the usage of macros within macros as it seems some platforms native + makes don't support that. While converting the Makefiles also made things + somewhat more uniform in naming the lib objects. + +22Dec09 +- Add scripts/bacula_config script that displays configure options and results +- Continue to support Batch Mode with PostgreSQL < 8.2 + +21Dec09 +- M_ABORT Bacula If batch insert is turned on when we try to open a connection + and thread safe is not enabled +- Try to fix problem on FreeBSD with unsupported extended attributes which + gives lots of orphaned buffers as seen in regression testing. + +20Dec09 +- Fix thread safe detection in ./configure + +19Dec09 +- Update bweb deb +- Fix breload make_catalog_backup.pl rights + +17Dec09 +- LSBize Debian init scripts + +15Dec09 +- Fix #undef of lock manager + +13Dec09 +- Remove checkout master +- Add more debug for Solaris regression timeouts +- Make SUN C++ compiler stop complaining about enum definition. +- Use %c and %n in bootstrap in default bacula-dir.conf + +11Dec09 +- remove a ref to sqlite +- Remove ua_prune.c debug code +- Print any traceback or bactrace +- Fix old stuff in Makefile +- Allow deadlock manager on FreeBSD, MacOSX and SunOs +- Add allowcompress-test +- Add test for AllowCompress option + +10Dec09 +- Eliminate compiler warning +- Rework Mac OS 10.6 mtio.h fix +- Attempt to fix mtio.h problem on Mac 10.6 +- Allow mount to wake job waiting for op +- Make wait longer for better recycling +- Fix another volume_lock dlock order problem +- Fix and add ASSERT debug +- Fix compilation problem with lockmgr + +09Dec09 +- Fix misnamed variable +- Reorder lock_volumes and dlock in SD to avoid race conditions +- - five more updates to manpages options I had forgotten in a corner, - a + reformated and edited page for bsmtp - a brand new one for btraceback, based + on the Problem Resolution Guide and discussions (to be continued?) on this + list. +- Fix compilation pb +- Add mutex some priority info for SD +- Add info in dump about lock priority +- Fix CentOS/RHEL detection +- Fix #defines when lock manager turned off +- Add USE_LOCKMGR_PRIORITY switch to enable new priority management +- Add Macro BTHREAD_MUTEX_PRIORITY(p) and lib/mutex_list.h to manage locks +- Make pthread_mutex_init/destroy compatible with bthread_mutex_t +- Fix SD Vol+dev lock race bug + +08Dec09 +- Add init/destroy function for both p/bthread_mutex_t object +- Add new bthread_mutex_t object that check mutex priority order +- Add test for reload command +- More bstrncat doc +- Add bstrncat comments +- Fix bug #1431 about bad reload command. Still an object to free in this + case. +- Fix bug in bstrncat +- Temp fix for prune crash + +07Dec09 +- Update win32 testing +- Add new test for win32 +- Add cleandir option +- Add tool to edit configuration file remotely +- Add more sm_check debug +- Add memory corruption checks + +06Dec09 +- Fix CentOS/RedHat test in regress +- Add win32 regress helper +- Attempt to fix SQLite seg fault when listing fields +- Allow Dir to come up before use +- Fix python plugin to use the new get functions instead of the get_ functions. +- Fix seg fault in new AllowCompression code +- Use restore count from write_bsr +- Add some doc of Win32 stuff +- Update prototype.conf to have latest stuff +- Update techdoc + notes +- Add AllowCompression feature + +05Dec09 +- Remove debug +- Fix #1403 about windows directory attributes not well restored +- Change old get_Jobxxx to getJobxxx +- Fix Win32 build after adding Base Job code +- Fix backup-bacula-test +- Add new idea to kernstodo +- Improved database warning message + +04Dec09 +- Init lmgr in btape + +03Dec09 +- Disable SQLite2 code in cats.h +- Remove SQLite from configure +- Remove SQLite2 scripts +- Fix configure.in + +02Dec09 +- Remove JobMedia.Copy references +- bvfs: update bvfs_test +- update +- Remove brestore_ from bvfs table, use Job::HasCache instead of knownjobid + table +- Update po files +- Finally... the 100% of bacula spanish !!! ;-) +- Apply Postgres 8.4 SQL_ASCII fix +- Ignore bweb.conf in gui/bweb +- Apply manpage patches + +01Dec09 +- Fix backup-bacula regression +- Remove support for SQLite 2 +- Fix rpm spec files bug #1428 + #1420 +- Fix include MySQL libs to use shared object. Fixes bug #1427 +- Fix search to include 64 bit libs for --with-dbi option +- Change all log.d to logwatch in RedHat specs + +30Nov09 +- Add config doc in INSTALL + +23Nov09 +- Add another project to the projects file +- don't follow packagemaker permission recommendations +- OSX Installer: update README +- OSX installer: fix for a bug in 10.5 packagemaker, --id argument required +- OSX installer: switch to new pmdoc packagemaker format +- Add another project to the projects file +- Add new project + +22Nov09 +- Add error count to Fatal job errors + +21Nov09 +- Attempt to keep tls_shutdown from hanging + +16Nov09 +- Add completion for unmark + +15Nov09 +- Add Job and File Retention to Pool +- Remove version id +- Change some console.c socket calls into class calls +- Revert "Reduce diff output in weird-files-test" +- Reduce diff output in weird-files-test + +14Nov09 +- Fix bug #1367 by creating an empty query.sql file + +13Nov09 +- update +- Display only backups when running a new job +- Add list_backup, list_restore functions +- update +- Add optional type= argument to .jobs command. You can list only Backup, + Restore,... jobs. + +12Nov09 +- autocomplete restore mode + +11Nov09 +- update +- Fix segfault on basejob code +- Replace POOL_MEM by POOLMEM to avoid segfaults +- Fix base-job-test with Mysql +- Remove extra _ of _dbg_print_db func +- Update BDATE +- fix segfault on redhat4 + +10Nov09 +- Add base-job-test to regress +- update + +09Nov09 +- Optimize SQL to determine file selection with directories. It is enabled for + ascii path. + +07Nov09 +- Drop svn Id + +06Nov09 +- Add Solaris regress comments + +05Nov09 +- More debug when test fails +- Add SITE_NAME and EMAIL to cdash report +- Display a message if catalog max_connections setting is too low + +04Nov09 +- Apply James' conio patches +- Update po +- A small changes on bacula-es translate. Now, we go on ~90% !!! +- Fix double send of attributes introduced in 84aabba7cee82f0c1f6dae8882a2ee0bb26306ca +- Check pthread_mutex_lock return code in lockmgr + +03Nov09 +- Remove debug code in concurrent-jobs-test +- Remove debug code in encrypt-bug-test +- Remove annoying debug messages in four-jobs-test + +02Nov09 +- Increase width of ls size. Fixes bug #1409 +- Fix buffer clobber when editing SQL error +- Fix false zombie errors in FD during regression +- Merge branches 'master' and 'kaboom' +- Add -m option to DIR,FD,SD to dump kaboom output +- avoid orphan memory in testls + +01Nov09 +- tab-completion ok +- When using .help item=, we display only usage part +- Add bat to Win32 build and install +- Add more debug for zombie jobs +- Get regress bacula stop messages when debug on +- Fix SD DCR race condition that causes seg faults +- Stop regression tests after 30 minutes +- Commit configure +- Add more debug on failed source-addr regression +- Set use_libtool expicitly to yes so our other checks work for static tools. + +30Oct09 +- Rework bat so that Win32 version works better + +29Oct09 +- Make bat win32 build use /home/kern/bacula +- Make non-win32 build stop on failure +- Make win32/64 build stop on failure +- Remove definition of unused subroutine in ua_dotcmds.c +- Revert James' patch to simplify the Win32/64 build process + +28Oct09 +- disable debug in win32 revision +- update bat on win32 project file + +27Oct09 +- Small fix to Eric great patch for readline commandcompletion so it also + compiles on non gcc compilers. +- Add readline completion for commands and argument + +26Oct09 +- Fix another messages error problem pointed out by Eric + +25Oct09 +- Disable messages-test in automatic +- Show an other deadlock in messages.c +- Change W/G to Wanted/Granted in lock dump +- fix multi-console problem for bat on win32 +- change Jmsg to Qmsg in low level routine +- Set tries to 1 for a non-timeout mount or unmount operation. +- Fix comment +- bat: change info order in Job view +- Use Qmsg instead of Jmsg when fides_mutex is locked in close_msg() +- simplify the link process for win32/win64 + +24Oct09 +- initialize lmgr in bat +- add messages-test to regression suite +- update tools with lmgr +- force lock manger init +- add lmgr to bconsole +- Fix deadlock detection to work in daemon mode +- Implement syslog on Windows +- Make all ABORT and ERROR_EXIT msgs go to syslog +- Fix ref to dequeuing_msgs + +23Oct09 +- Disallow Qmsg when despooling +- Fix Qmsg race condition reported by Eric +- add test for bad messages ressource +- bat: Display a nice graphic on media usage depending on the average size for + this mediatype. + +22Oct09 +- bat: add volume capacity estimation in mediaview +- bat: try to center InChanger bullet +- bat: Use green/red bullet for InChanger in mediview +- bat: Don't set Expire field unless LastWritten is ok + +21Oct09 +- Make new configure per Marco's request +- bat: add new Expired button in MediaView +- fix vtape test +- Redirect errors to /dev/null and only run uname -p on Linux where we know it + works. This is probably the most portable way of doing things. + +20Oct09 +- Add MediaView form that displays the Media list in a QTableWidget. It permits + to search and sort media. Rename current "Media" tab to "Pool" as it displays + Pools +- Permit to use MediaId or VolumeName in MediaEdit panel +- add StringList to handle locations, volstatus and mediatypes +- add dot functions to list volstatus, locations and mediatypes +- update bacula32.def +- Add .volstatus command +- Add new MediaView +- permits "update slot(s)" and "label barcodes slot(s)" command + +19Oct09 +- Don't use uname -i but uname -p +- Added support for selecting the correct libdir on Linux +- fix status slots command when SD slots are mixed +- Test only master now + +18Oct09 +- update fr.po +- Added acl and xattr regression tests for FreeBSD +- Use getfattr and setfattr on Linux not attr as that is a XFS tool which works + too but is not native. +- Don't enable SUN compiler by default and make the configdir configurable. +- Add test when ActionOnPurge=None Add test for update volume=xxx actiononpurge=yyy +- fix crash on exchange restore fail +- Update project 5 (ActionOnPurge) with current status +- chmod new regress script +- update regress + +17Oct09 +- Ensure that Ubuntu /var/run is created in init.d scripts suggested by nick + +- Implement Dan's suggestion to avoid IPv6 problems +- Add makeall for release +- On release, make only a simple tag +- Fix Windows build + +16Oct09 +- Don't download and build fakeroot as part of make -C platforms/osx +- More Win installer changes +- Update installer +- Do some additional checks. +- Add Marco's run regression wrapper script +- Possible fix for problem with Volume in another drive +- Make new configure from Marco's configure.in +- Try to unmount by running the unmount command specified in the config on file + and dvd devices. +- Fix switching read device reported by Nicolae Mihalache + +15Oct09 +- Lets free the variable in the right part of the loop. +- Use bfree_and_null +- Change bsnprintf to normal strncpy +- Add comments to fileregexp test +- Add more debug in filregexp test +- Eliminate compiler warning +- Fix bug #1391 Job status improperly set due to subtle variable overload + problem + +14Oct09 +- Add release scripts +- add regress variables to functions.pm + +13Oct09 +- Update date +- Fix stupid error +- Avoid error when git-version doesn't exist +- Convert some old %x into %p for pointers +- Fix #1352 about double free with regexp and big filenames on windows + +11Oct09 +- Small update to cache the current attrspace we are saving and make a private + copy of that string representation. +- Change acl and xattr errors from Qmsg to Jmsg +- Add comment +- Recursively call fix_device_block_write_error on error +- Fix changing read device during VirtualFull in SD +- Eliminate possible false error message +- Fixed ifdefs + +10Oct09 +- Add posix acls stored in xattrs on FreeBSD +- Removed last direct message output by replacing Qmsg by Mmsg + +09Oct09 +- Add comment on OpenBSD not supporting the extattr functions (anymore ?) +- Add new Feature Requests to projects file +- Fix ifdefs +- Change strcmp to bstrcmp +- fix bash/sh problem in disk-changer.in +- Fix some comments +- remove old db_get_int_handler() +- Add support when extattr_get_file is supported but extattr_get_link is + not. +- Regenerated config.h.in + +08Oct09 +- Implement transfer and listall command in mtx-changer and disk-changer + scripts +- Add new autochanger command to get all information about content + +07Oct09 +- As things are no longer as generic rename the generic to the linux interface + (b.t.w. OSX also implements this interface) +- Just as with serializing first unserialize all xattr structures in memory and + then walk that list for restoring them. +- delete the alist in the destroy function +- Implement the extattr xBSD interface Moved some code around to be able to + reuse the encoding and decoding for both the extattr and xattr interface Use + an alist for storing the xattr list so we don't have to count the number of + xattr first +- Use extattr interface for all xBSD filesystems. Added OpenBSD also to the + mix. +- As it seems FreeBSD doesn't have the llistxattr or listxattr interface as + Linux, OSX and NetBSD have but has an interface named extattr. This is a + first breakdown to implement that interface. + +05Oct09 +- Make Checksum as default when not using FileSet->Include->Options->BaseJob +- Change debug level +- Fix postgresql MD5 missing field +- Fix unwanted printout in strip test +- Fix concurrent Job recycle bug #1288 +- Fixed inverted logic +- Remove useless ScratchPool refs from Bat media list + +03Oct09 +- Little fixes for the action_on_purge command +- Remove obsolete truncate_on_purge settings +- Implement action_on_purge command +- Implement the ActionOnPurge setting for pools and individual volumes +- Implement truncate on purge setting +- Add a MaxVolBytes test that create over 100 Vols +- Add some error messages in insane buffer size cases +- Fix bug #1382 newly created disk volumes -> file not found warning + +01Oct09 +- Cause the tree widget selected to keep up with the tab widget selected + +30Sep09 +- Send checksum only when the FD will use it +- remove debug +- Allow for external CFLAGS to overwrite the CFLAGS in this script. + +29Sep09 +- Change grep -e to egrep and use -c instead of using wc. +- Implement console 'timeout' feature using bacula socket timers +- revert the update_bacula_table script change with bad indexes +- Add index modification in update_sqlite/sqlite3/postgresql scripts +- Remove the inx4 index for SQLite2/3 (FilenameId, PathId) on File table. + Replace it by an index over (JobId, PathId, FilenameId). + +28Sep09 +- Attempt to fix MySQL SQL error + +27Sep09 +- Make sure we use the right chmod for Solaris +- Fix Win32 build +- Fix compiler warning + +26Sep09 +- Remove gnome-console +- Update man pages +- Implement store_size32 and store_size64 +- Correct regression tests to use Pool 'File' + +25Sep09 +- Up max vol size +- Define File Pool and limit size to 5G +- Fix Alpha ifdefing -- should fix bug #1359 + +22Sep09 +- Remove the file_fp_idx index for Postgresql (FilenameId, PathId) on File + table. It is useless for common usage, and causes performance issues. This + index fragments over the time and the update cost grows very quickly. (This + index is not present on Mysql schema) + +21Sep09 +- update speed-test +- update speedtest +- speed-test: small fix + +20Sep09 +- Update to slightly newer config.guess and config.sub +- Fix compile error on Mac +- Generate new configure +- Reorder configure test for cleaner print output + +19Sep09 +- Implement support of keeping readall capabilities after UID/GID switch + +18Sep09 +- Remove redundant includes of pwd.h and grp.h headers +- find_one_file: Remove unreliable and redundant access(2) directory check +- Fix link rules +- Force nightly-disk regress to 3.0.3 + +17Sep09 +- speed-test: small fix +- speed-test: Add basejob argument to test basejob speed +- Add new test +- Fix conf to use make as requested by Martin Simmons a long time ago +- Restore comments +- Fix for sqlite, now it works +- Fix seg fault in ignoredir code +- more mkdir -p changes +- small fix +- Restrict Join using JobTDate to a selection of JobIds +- Fix for sqlite +- Make several dir names unique to avoid test collisions +- Fix and document new queries +- Use new query for Mysql and Sqlite for basejob + accurate +- update sql query for basefile+accurate +- Change regression scripts to use mkdir -p to avoid spurious errors +- Fix some job-start changes +- more job-restart code + +16Sep09 +- Fix sql query for mysql +- Fix sql query +- Fix sqlite3 syntax +- fix sql +- update db_get_file_list() to use StartTime instead of FileIndex + +15Sep09 +- Update restore menu 12 explanation + +12Sep09 +- Try to distinguish CentOS/RHEL + +11Sep09 +- Modify tools to be able to correctly install testls for regress +- Create bigendian() inline to simplify code +- Set Volume Poll Interval to 5 mins by default +- Apply Frank's slash patch + +10Sep09 +- Reduce runscript wait times +- Update Win32 README.mingw +- Add patch for more SD info fix +- Add patch for bug #1371 +- Fix seg fault in SD bug #1371 +- Add append log to tape SD tests +- Add more info when SD connection refused +- Fix possible termination problem + +09Sep09 +- Keep valgrind happy +- Fix Exclude Dir Containing ignored when scanning the top_level dir +- Update the new exclude-dir-test with multiple Include {} section and different + Exclude Dir Contain directive. +- Add patch for #1370 +- Fix #1370 about the implementation of the "Exclude Dir Containing" option on + FD. +- Add new exclude-dir-test +- Add patch for 3.0.2 release +- Fix #1369 about segfault when using ExcludeDirContaining before defining + Options{} block. +- Verify if the Exclude Dir Containing directive does his job +- Add a regress script for Exclude Dir Containing option + +08Sep09 +- Remove bigendian check from autoconfig system +- check endianness at runtime in md5.c +- Fix minor issues in the osx installer package builder. +- Fix -p/-P in bscan.8 man page + +07Sep09 +- fix compilation warning +- Make output of new commands .lsdir/.lsfile more usable. Fix Bvfs with new + db_list object +- Fix header defines +- Remove some #ifdef-ed code and make it just as the acl and xattr code use a + const bool to enable the code. +- Redone comments +- Move restore struct defintions to seperate include file. Small change to + acl.h and xattr.h to use define inline with other header files. +- Move finderinfo restore into seperate function so we can use cleaner coding + in the restore loop. +- Loose #ifdef and use const bool wrapper for some cleaner coding. +- Added support for acl and xattr regression test on Solaris +- Apply Marco's git format-patch patches for bugs #1365 and #1366 +- This patch should fix bug #1366 +- This patch should fix bug #1365 + +06Sep09 +- Commit Mac pathlen patch +- Increment minor version to avoid future conflict +- Fix bug #1368. Increase default path/file length to 2048 + +05Sep09 +- Add acl script code for Mac +- Up timeout for rewind and changer on btest script +- Try to fix zombies in next-vol-test + +04Sep09 +- Fix broken editing code +- Use edit routine instead of %f for rates +- Implement BlockChecksum in Device +- btape: Add speed command and test drive speed with Bacula blocks + +03Sep09 +- btape: Add speed command +- btape: Add speed information on qfill and raw command +- Commit patch for: Fix bug #1355 Director crashes with double free in Accurate + SQL query +- Include file,blk in btape fill output +- Create exit_code for fill with multiple tapes +- Fix #1364 and #1363 about compression buffer error. + +02Sep09 +- fix variable name +- Work on certification scripts +- Eliminate DDS-4 in favor of tape + create btape-test-changer test + +01Sep09 +- Many debug code fixes in regression scripts +- Attempt to fix SQLite3 seg fault in list routines +- Merge master with SF +- Update tape tests for hardware certification +- Rename .lsdirs/.lsfiles/.update to .bvfs_xxx to avoid confusion with future + commands +- Update tape tests for hardware certification +- Eliminate xattr.c compiler warning + +31Aug09 +- Prohibit copy and assignment in db_list_ctx +- Use new db_list_ctx class instead of bad POOLMEM* +- Exclude OSX resource forks from saving using the xattr code Exclude OSX acl + data from saving using the xattr code when normal acl mode is also enabled. + Make excluding certain xattr in the generic functions somewhat easier for + certain OS specific attributes. +- Fix Win32/64 build + +30Aug09 +- Remove old subroutine prototype +- prohibe copy and assignment in Bvfs module +- Fix bug #1355 Director crashes with double free in Accurate SQL query + +29Aug09 +- Fix bug #1357 Verify jobs fail when job has zero files +- Rework verify-voltocat-test and add to normal tests + +26Aug09 +- Release orphanned buffers in accurate code +- Fix possible seg fault in db_get_int_handler in accurate code +- Update JobBytes only for Verify jobs when computing checksum +- Add BaseJob option to fileset + +25Aug09 +- Suppress some error messages generated after cancelling a job + +24Aug09 +- Apply and commit Lorenz Schori patch for OSX +- Apply Lorenz' OSX patch +- update basejob code to use checksum during accurate check +- Close bug #1351 SQLite2 to SQLite3 conversion +- Remove unnecessary subroutine import definition + +23Aug09 +- Test of git commit. +- bat: fix variable name +- bat: Simplify the code to make TableWidget in read-only +- Free Volume in several places. Fixes virtual-changer problem and possibly bug + #1346. +- Add SD Volume debug code + +22Aug09 +- Don't print different filesystem. Will not descend message if directory + explicitly excluded +- capitalize bytes in message + +21Aug09 +- Prune a few dev tests +- Made shorter developers test +- Rework the bsock.h class to put public structures last +- Update AUTHORS file +- Integrate patch for building dmg on OSX from Lorenz Schori +- Add commas in num files for estimate command + +20Aug09 +- in status slots command, unlock db just after sql query + +19Aug09 +- Add BWEBCONF env variable to specify the bweb.conf path without touching the + Bweb.pm file with lighttpd +- Fix bat crash due to alignment diff in bat and core code +- Fix acl-xattr-test by using attr +- Add BWEBCONF env variable to specify the bweb.conf path without touching the + Bweb.pm file with lighttpd +- Ensure that timestamp put in SQL log + +15Aug09 +- prevent status page from requesting status before it has been brought to the + front +- Move global acquire lock to lock by device +- Restrict acquire to one job at a time +- Fix acquire.c locking +- Try to fix acquire not to block during despooling +- Add fullname parameter to btime in order to debug regress script. +- No need to flush the members of the xattr link cache as they are not dynamically + created. Small oversight from my side, was thinking I had a memory leak. +- fix couple of segfault in acl/xattr code +- Eliminate git pull in config_dart +- Some small fixes to the counting and some small relayout of small code + sniplets. +- Lets first output statistics before freeing them. Saves a rather stupid + segmentation fault. +- Fix merge conflict leftover +- Add all acl and xattr related variables which are either global or already + part of the JCR into a simple structure and reference that from the JCR + structure. + +14Aug09 +- Some small fixes to the counting and some small relayout of small code + sniplets. +- Lets first output statistics before freeing them. Saves a rather stupid + segmentation fault. +- Ignore regress time.out file +- Fix merge conflict leftover +- Add all acl and xattr related variables which are either global or already + part of the JCR into a simple structure and reference that from the JCR + structure. +- fix compilation problem reported by Dan +- Correct spelling of writing -- reported by Dan +- Loose void pointer and use C++ supported declaration elsewhere defined + structure. +- Move global variables into jcr private xattr data structure so we can have + parallel saves of xattr on solaris. + +13Aug09 +- update lock manager to get better traces +- Fix files wiped out by merge +- Missed commiting one file last time +- bat: Add a re-run button on job info page, that allows to run the selected + job with the same properties (level, pool, etc...) +- bat: small fix on hrule +- fix missing copyright + +12Aug09 +- Make new big-virtual-changer test. Test concurrency +- fix offset in new lsdirs/lsfiles command +- add comments and list special dirs in .lsdirs +- Add .lsfiles, .lsdirs, .update command to interface user with bvfs object +- More comments +- Update virtual regress comments +- bat: fix sql with volreadtime volwritetime bat: add drive=0 in update slots + command +- bat: Put the content panel as a child of the Storage item bat: use slot + selection in update slots command and in label command + +11Aug09 +- bat: fix volreadtime/volwritetime and messages in stderr about unknown + slots +- Change backup-acl to acl-xattr-test and make it skip if acl/xattr not installed +- Use tmp instead of /tmp + fix strip-test so diff works +- Make regexwhere use tmp rather than /tmp +- Remove non-portable i option on sed + create tmp dir +- connect button callback +- display content on doubleclick only if storage and autochanger +- bat: Make new autochanger content working + +10Aug09 +- bat: display a Warning icon when having Errors>0 and Status=T +- Pull Philipp Storz' bacula.spec changes for OpenSuSE build service +- try to make content table work!! +- Implement MaximumConcurrentJobs for SD devices +- try to insert data on table content +- update content interface + +09Aug09 +- continue storage content panel +- Fix bug #1344 show pool displayed wrong variable for maxvolbytes +- Fix compiler warnings in acl and xattr code +- Fix screw up with setting JobLevel and JobType +- Change version +- Fixed references to xattr_link_cache_entry to use xattr_link_cache_entry_t +- Changes due to code review by Kern added. +- Move enum from protos.h to filed.h and move defines to top of filed.h +- Added some more ENOENT supressing. +- Small indent change +- Small change to comments +- Added comment on entry points +- Added missing ENOENT switch case. +- Fix problem with counting xattr and returning a non-ok on count 0, also added + some extra comment and make sure the xattr_value_list is initialized to NULL + and checked on bail_out. +- Loose default_stream parameter. +- Changed snprintf to bsnprintf +- Use bstrncpy instead of strncpy +- Fixed Jmsg4 to Mmsg4 +- Added support for counting xattr errors and only print a limited set of + errors but count all. The lower level functions now store there error message + in jcr->errmsg so the upper level routines have access to them. +- Added support for counting acl errors and only print a limited set of errors + but count all. The lower level functions now store there error message in + jcr->errmsg so the upper level routines have access to them. +- Small changes to ifdef layout. +- Drop unneeded target for libbacfind.a +- Moved the berrno as a local variable of the function and not a local context + variable. Same as previous change for acl.c +- Make sure it compiles and moved the berrno as a local variable of the function + and not a local context variable. Moved tri-state enum to protos.h +- Moved list of supported xattr to start of per OS implementation like in + acl.c +- Imported patch from older git tree. +- bat: init storage content view + +08Aug09 +- Fix cats.h date +- Start adding Incomplete Job status +- bat: display a Warning symbole when having Errors>0 and Status=T +- Add data end tracking an attribute spooling +- Fix compiler warning in bvfs code +- Use 64 bit ftell and fseek in send_bootstrap_file +- Turn of some debug code +- Ignore src/tools/bvfs_test + +07Aug09 +- bvfs: Add example to list files versions bvfs: Fix directory listing bvfs: + Add limit/offset implementation to save resources on director bvfs: Create + cache tables on the fly when using Bvfs object (for testing) +- Bvfs: Create cache tables when updating the cache if they don't exist + +06Aug09 +- fix makefile for bvfs_test +- add option to truncate cache table during startup for bvfs_test +- add user handler to print directory add -j, -p to bvfs_test tool +- Document FT_DELETED FileIndex=0 special value in database Schema +- Add the rest of files for new Bvfs +- Add a new Bvfs class that implements brestore instant navigation cache inside + Bacula. Works for Mysql, Postgresql and Sqlite3 +- bat: fix compiler warning for unreferenced argument +- fix mysql case problem in bweb/bresto +- Use the sqlite3_changes to implement sql_affected_rows() +- remove QFormLayout, and use QGridLayout instead + +05Aug09 +- in bweb, fix warning +- add a default bconsole command to bweb starthttp script. + +04Aug09 +- remove Page Selector keyword from main bat screen +- fix small pb in bweb starthttp script +- document bweb+lighttpd +- update display_log to display a message if no logs are found +- Apply patch for regress from Frank Sweester +- connect button from mediainfo to real actions +- bat fill mediainfo fields +- bat: Go to the media info panel when double-click on job page or media + list + +03Aug09 +- Add new mediainfo panel to bat +- update windows bat.pro +- small fix for bresto +- update doc +- don't reset bstat, rstat, dstat in stop_bacula +- add test for list basefiles and new list files +- don't reset bstat, rstat, dstat in stop_bacula +- add list basefiles command make list files compatible with basefiles +- fix the basefile catalog update +- work on stats, fix bug with batch connection +- enable FileSet { Options { accurate = 'pm5' } } +- add variables for stats +- display a message with basejobids +- stop copy/migration using basejobs +- replace free&NULL by free_and_null +- fix +- display base jobs during restore +- fix segfault +- check size also replace mtime/ctime by lstat field +- check for purge job +- purge basefiles at the same time than files +- make regression ok +- use batch connection +- fix update_job_end +- update HasBase in catalog +- remove some debug +- seems to work:!!! +- make base backup work +- update +- init base file +- compile +- fix sql for postgresql +- make sql part +- take ideas from previous try +- Remove useless title +- fix layout, now ok +- remove list volume menu from joblist +- make double click work with joblist +- add refresh and delete event +- fix script name + +02Aug09 +- Remove old sqlite3 build from bacula.spec +- Move bat from bacula.spec to bacula-bat.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat from bacula.spec to bacula-bat.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat from bacula.spec to bacula-bat.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat from bacula.spec to bacula-bat.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat from bacula.spec to bacula-bat.spec +- Remove installing gconsole start script from Makefile.in +- Split mtx into its own spec file +- Move bat and mtx to their own spec files +- Remove docs from spec +- Split docs into bacula-docs.spec +- Move bat and mtx to their own spec files +- found a bug. Joblist page would not come up unless dockPage was called when + page was opened with initial paramaters. + +01Aug09 +- Remove docs from spec +- Split docs into bacula-docs.spec +- Add bacula-docs.spec.in +- Add new form to see job details +- Add bacula-docs.spec +- Remove bacula-docs.spec +- Split docs into bacula-docs.spec +- Remobe bacula-docs.spec +- Split docs into bacula-docs.spec +- missing less than beforehistory | grep svn :D + +31Jul09 +- Split docs out of bacula.spec +- Insert the tabbed widgets as opposed to adding to the end. +- Don't dock the page for dirstat and restore tree until the page selector tree + widget is clicked. +- I like this sorting method better. +- Update bacula.spec +- Apply quick fix from Ulrich about the last feature. +- Continue work on bacula.spec + +30Jul09 +- rename the free_and_null macro +- fix test name +- update new features +- chmod +x regress/tests/multi-storage-test +- Allow restore from multiple storage +- Update News +- update tool +- Modify enable/disable commands to show only appropriate Jobs. + +29Jul09 +- Add ACL check for client in estimate command +- Change time_t by utime_t in accurate function +- Start reworking 3.0.2 bacula.spec file + +28Jul09 +- Display the job_zoom view when backup is finished + +27Jul09 +- Add DESTDIR to Makefile +- Add file to build html doc +- add changelog link +- Add changelog on the main menu +- update doc +- add downloads pages for all lang +- Remove the Patch section and add the new Download area +- Link to new downloads.php +- Add tool to convert nasty sourceforge download page to a simple one +- Update +- Update README for binary install tests + +25Jul09 +- change free_and_null function to a macro +- Add Spanish files translated + +24Jul09 +- Add format to a fprintf +- Attempt to fix SQLite seg fault problem +- Fix Expired option in media list to select Used media +- Set selection items on top. +- this should resolve issues that people are having with this splitter. If you + try to make it too large, it just snaps back. + +23Jul09 +- Fix int/int32_t problem in accurate_add_file +- Permit to filter on the directory name as for file +- fix bad english sentence +- add function to simplify free and null operation on pointers +- Remove Qt 4.4 code so it compiles on 4.3 (setHeaderHidden) + +22Jul09 +- Apply idea of part of Graham's tidy-bsr-source.patch, but modified +- Fix bug #1337 Console tries to build with SSL when libssl-dev not installed +- Modify setJobStatus so cancel has same priority as fatal errors +- Fix Solaris compiler warning in signal.c +- Change selection behavior in the director status screen. +- Do not restore spliiter settings if the settings do not contain settings for + that splitter. +- This is committing most of the patch received from Eric. + +21Jul09 +- Merge branch 'bwebII' +- use $conf, $tmp, $script, $rscript in accurate test +- Fix Spanish files translated + +20Jul09 +- es.po merged with bacula.pot 3.0.2 + +19Jul09 +- This is the change that may be used in the future to resolve the issue with + text input required during a console communication. +- Final changes +- Add es lingua +- Fix Spanish build +- Final changes +- Add first cut bsys spec +- update bweb INSTALL +- update INSTALL + +18Jul09 +- Add info on bweb + lighttpd +- Fix bat command line input bug +- Don't show the connection message after first connection is made + +17Jul09 +- update copyright year +- Optimize a bit the running job view +- Fix bresto file relocation box +- Update copyrights +- Put back old status icon +- Fix sql query for sqlite on suse10 on copy job +- Fix Spanish files translated + +16Jul09 +- Remove print and save menu +- Simplify the main screen, removing the status dir console icon and the "go + back" one +- fix spell +- fix case problem in field name +- update for status slots +- Replace info_msg by send_msg in status_slots for bat +- update ChangeLog for 3.0.2 +- document @help +- Ignore TAGS +- +x the test file +- test with file instead of vtape +- Add test for bug 1288 +- Add slot field in storage operations Update update volume page +- Use BUILD_DIR in default conf +- Fix #1323 about a problem when mounting a requested volume during a restore. +- Use the read as primary color in bweb +- Fix script for vtape tests +- Fix graph_font parameter to work with graph module Avoid warning messages in + apache log with graph module +- Update +- update INSTALL file +- update apache section in INSTALL file and try to choose better color for + graphs. +- Fix Spanish files translated + +15Jul09 +- Parameterize depkgs directory +- Add back bootstrap to FD +- Make CONF::init header and .c file agree about types +- update +- update cloud project +- Force the client_encoding to SQL_ASCII when database is already using this + mode. +- Fix #1335 about postgresql error message during copy session +- Add documentation about new restore menu +- remove non-essential directories +- Fix Win64 build +- Add more example SD Device configurations + +14Jul09 +- Apply patch in bug #1315 by McMichaeli that fixes scripts/logwatch +- Add more output when spooling and no space left +- fix next-vol-test +- Fix postgresql driver bug that displayed rows from time to time. +- Small fix on accurate code for new restore menu option +- Change default save dir to sbindir in bacula-dir.conf +- update project files for project 2 +- Should fix #1323 +- Implement project 2, about new restore menu +- Update date +- Remove some whitespace +- Send bootstrap directly from DIR to SD + +13Jul09 +- add -u to diff +- revert changes +- Update new features +- Create build scripts for Win64 somewhat equilavent to the Win32 ones + +10Jul09 +- Print correct JobId in bls, should fix #1331 +- Rebuild configure +- Apply python detect patch from Bastian Friedrich +- Add --with-hostname to ./configure + +09Jul09 +- More changes in es.po (37%) +- add --with-hostname to ./configure +- Changed ACL_OTHER into ACL_OTHER_OBJ as IRIX doesn't seem to have ACL_OTHER. + Fixes bug #1333 + +06Jul09 +- Remove non-portable reference to pthread mutex +- Display command output by default +- Add new Spanish files translated + +05Jul09 +- Turn off bat debug code +- Fix compilation bug +- Small change to allow the compiler to optimize it easier due to the constant. + +04Jul09 +- Add new Spanish files translated + +03Jul09 +- Correct registered trademark notice +- Should fix the first part #1323 about the restore option "List Jobs where a + given File is saved" wich display deleted files + +02Jul09 +- Add estimate accurate doc +- add accurate=yes/no test for estimate +- Update help page with accurate=yes/no +- Add estimate accurate=yes/no ebl Change the code to check jcr->accurate and + not jcr->job->accurate +- Add estimate test +- Make estimate command accurate compatible. Should fix #1318 +- Fix es concepts compile problem +- Update for Spanish +- Another fix for bug #1311 to get the correct last_full_time +- Add new Spanish files translated +- Update +- Add base of Spanish manual +- Add directory to Spanish docs; Spanish (es.po) 25% translated + +01Jul09 +- Fix false zombie detection in next-vol-test +- Add test with accurate mode (it shows the #1323 bug) +- Fix bug #1317 Allow duplicate jobs = no does not work +- Eliminate double job report when do_xxx_init() returns failure +- Fix regress tests to handle new default job name +- fix copy-volume-test +- update Item 2 +- Add debug code to MaxDiffInterval + +29Jun09 +- Change bacula-dir.conf default job name from Client1 to BackupClient1 +- Document #1318 about estimate and accurate mode + +28Jun09 +- Add a column for job type to the jobs table +- Fix missing case for NetBSD xattr restores. + +27Jun09 +- Fix Win32 build -- turn off lockmgr and remove lockmgr defs +- Added symbols required for win32 build + +25Jun09 +- Modify xattr.c and acl.c not to fail the job on errors. This should fix bug + #1305. + +23Jun09 +- Fix 2 rather big bugs in the xattr and acl code and fix a small memory leak + on a particular code path for Linux xattr/acl handling. +- update newfeature with project 37 +- Update FileSetId when initializing job. +- fix compilation problem +- add a note about /sys/class/scsi_tape/nst0/default_compression, fix #1314 +- Add '*' when volume is online when displaying volume list in restore. Should + complete project 31. + +21Jun09 +- remove bnet_fsend and use class call +- Re-fix bug #1311 if MaxDiffInterval exceeded ensure job upgraded + +20Jun09 +- Fix bat install for 3.x + +19Jun09 +- Add a boolean to console class to allow for the warning popup, except in + cases where I want to prevent the popup. So far this is only for purging + jobs. +- Correct a misspelling in a relatively trivial spot. +- Add job type and first volume of the job to the 4th pane the version table. + This is so that when looking at what version to restore with copy jobs the + user can make a better decision as to which job to restore from + +18Jun09 +- Back out previous maxdiff patch, which is broken +- Add all Job Types to job_type_to_str() for bat +- Commit maxdiff patch +- Fix bug #1311 if MaxDiffInterval exceeded ensure job upgraded + +17Jun09 +- Fix bug #1305 make errors obtaining acl during backup non-fatal +- Commit btape fill patch +- Fix bug #1309 inappropriate error message during btape fill command +- Fix bug #1307 AllowHigherDuplicates=no prevents automatic job escalation + +16Jun09 +- Update VirtualFull doc + BSys course dates + +14Jun09 +- move 3.0.0 patches to 3.0.x dir +- Add 3.0.x patches dir +- Update with 2009 Vote +- Forgot to add the images for the new button. +- Add a previous page button to the button bar. + +13Jun09 +- Add feature in pages to have a console command that does not set the console + current. Then also use that feature in joblist to purge or delete a job. +- Add a stringlist and a foreach after populating to at least acknowledge to + the user that a new fileset. Bat would not show the fileset until the database + table had the fileset which was not until used. + +12Jun09 +- Remove non-portable code referencing pthread_t fixes bug #1308. +- Remove non-portable code referencing pthread_t +- Create patch that may fix bug #1298 and bug #1304, which causes an SD crash + after canceling a job. + +11Jun09 +- When looking at what got backed up from a windows differential, found a bug + where it would create many "Bases". This fixes it subtly. + +09Jun09 +- Add checkbox widgets to filter out copy and migration jobs. + +08Jun09 +- Attempt to get bat conf file installation to work with DESTDIR +- Commit migrate patch for bug #1303 + +05Jun09 +- Improve error messages when a migration sql query is used and correct the + problem identified in bug #1303 with starting Job names containing spaces. +- Fix #1306 when building static bconsole + +04Jun09 +- Did not intend to leave those debugging lines there. +- fix vtape test to work with the latest trunk +- Reorder project file with poll result + +03Jun09 +- update + +01Jun09 +- Setting actions up like this I think is better. No restore from job or time + if more than one job selected. +- Add columns for first media and volume count. Change some semantics of how + signals execute functions when a selection list is changed. +- Prevent warnings from showing as dialog boxes that can interupt multiple + operations performed in a foreach. + +31May09 +- Sort the lists after population so that drop downs are sorted. + +30May09 +- A fix for mysql database sql syntax. +- Add columns to the tree to show read/write time, scratch pool, recycle + count. +- Somehow I was losing the refresh jobs action. This should keep it in. + +29May09 +- untabify +- Add ids on command.tpl to fix #1300 + +28May09 +- Correct incorrect placement of trap for m_firstpopulated. +- There was an issue with empty directories. The director would print node xxx + has no children and bat would interpret that as a directory. This fixes it + but it may not be the best solution. +- update + +27May09 +- Make sure that vtape directory is created during -tape tests ebl change grep + -e to grep -E to make source-addr-test working as expected +- Simplify mysql bresto part. Should be faster, but need tests + +26May09 +- On vacation I am having a little fun !! +- Add documentation for new directives DirSourceAddress and FDSourceAddress +- Apply Steve Polyack patch to add DirSourceAddress and FDSourceAddress directives. + That permits to choose the outgoing interface. +- make fileregexp-test working with git repository + +25May09 +- Apply Marco's patch: mvw Allow acl and xattr to be explicitly enabled and + fail the configure if we are asked to enable acl or xattr support and the OS + doesn't support acls or xattrs. +- Add more Spanish site modifications + +24May09 +- Commit changes for Spanish site + +23May09 +- Create Client record in database at startup -- makes bat work better +- Disable scratchpool-pool-test because it hangs +- Rework printed message when files are purged on restore +- Turn off useless End of file message during restore. +- When doing a tree selection restore, look at the PurgedFiles column in the + first JobId, and if non-zero, the Job was purged, so do not do selection +- Yet another try to get qmake to install bat correctly + +21May09 +- Add Catalog = all to the default Messages resource + +20May09 +- Add Spanish directory +- Fix race in director job start which was allowing the number of concurrent + jobs to exceed the maximum + +19May09 +- Comment out broken fake-autochanger change +- Speed up media list generation when using "compute with directories" option +- fix dates +- update +- Fix #1029 about resolution address order. Thanks to David. +- Add patch for #1029 +- During jcr destruction hold jcr_chaing lock only for minimum time necessary. + This should fix the SD deadlock in bug #1287. +- Simplify messages printed by SD when reserve fails. This should fix bug + #1285 +- Add sleep in vtape changer to simulate real hardware + +17May09 +- speed up mysql to compute restore table ebl speed up mysql when computing + media list ebl fix media list display ebl fix bresto problem with drag&drop + +16May09 +- Fix libxml dependency for rh7 per Pasi Kärkkäinen . +- Create archivedir + +15May09 +- Back out unwanted change. Should fix problem reported by Yuri +- add index on temporary table to speed up mysql part during restore +- Fix display of / on bfileview +- Yet another attempt to get qmake to generate valid Makefiles that installs + the binaries. It seems to require the binary to exist at qmake time +- Apply fix to sql_cmds.c suggested by Ulrich Leodolter which prevents restore by file selection from using Copy jobs. +- fix drag&drop + +14May09 +- Add new nagios_plugin_check_bacula.tgz from Masopust, Christian +- Reduce bconsole help to fit in 80 columns kes Add bconsole @help command kes + Fix Show FileSet command to handle spaces +- Allow specification of base daemon resource name. --with-basename= +- Fix bat to automatically use installed bat.conf +- bat not installed even if configured. Fix by working around apparent bug in + qmake + +13May09 +- update +- Turn on lockmanager when using DEVELOPER flag + +10May09 +- note that vtape is not ready for production +- remove unused file +- More scripting stuff + +09May09 +- More scripting parameterization +- More parameterization of scripts +- First cut parameterize better regression tests + +07May09 +- fix mysql problem with the restore query +- rename JobHistory to JobHisto + +06May09 +- update os table +- ebl update german version +- update supported os table +- change the ugly grey background on symbole and images to white +- small fix + +05May09 +- ebl Make working the "compute with directories" option --This line, and those + below, will be ignored-- + +04May09 +- Updates +- add screenshots +- Add screenshot and update french main page +- add screenshots +- update +- Add new images +- Fix ldconfig problem in client only build. +- don't display copies like in bconsole +- Added extra logging to determine the exchange server in use + +03May09 +- Fixes for client build. +- Update main page +- Update +- update +- Only define winapi's for 32 bit build. Already defined for 64 bit apparently... +- Change GetComputerName to GetComputerNameEx so that in a cluster we get the + name of the vserver instead of the local machine. Added prototypes for + GetComputerNameEx which appear to be missing. + +02May09 +- 3.0.1 +- Don't run backup at same time as restore to avoid deadlock in concurrent + test + +01May09 +- update +- Update documentation + +30Apr09 +- Ran into a problem deleting a volume. This fixes it. +- Update News +- Fix purged restore prompting +- Final changes + +29Apr09 +- update +- Add bypool option +- add bypool option +- Fix error message +- Fix bug #1282 Setting job.Priority in python crashes director by checking if + string addr is NULL. Not tested. +- Fix bug #1281 allow all on restore command line to restore pruned JobIds + without prompting. +- Add vectorized bat image + +28Apr09 +- Check for job_canceled() in fd_plugin code +- Update Win32/64 table creation to have new DB version 11 format +- Remove illegal Options in Exclude of default Win32/64 bacula-dir.conf +- This is the fix to http://bugs.bacula.org/view.php?id=1276. The select class + was just not working with the new requirements of setting and clearing the + notify. + +27Apr09 +- Fix bug #1274 where a migration job can be canceled like the original job by + the MaxRunTime directive. +- Added fix for bug #1275 where acl or xattr data is saved for virtual filenames + generated by filed plugins. + +26Apr09 +- Set slot max to 60 +- Permits to eject Used tape +- update ScriptAlias +- Remove Reposition info message +- Fix platform scripts not to clean configured files during 'make clean' use + 'make distclean' to clean everything. + +25Apr09 +- Add build tag for distribution name. + +21Apr09 +- Fix copyright + trademark name +- add doc for new VerId option + +20Apr09 +- Fix suggested in bug 1273 + +16Apr09 +- Add additional mysql connection debug code +- Fix bug #1246 Sometimes access denied with VSS enabled. UCS conversion cache + was not properly flushed at the end of a Job + +15Apr09 +- Update +- add missing BACULA define + +14Apr09 +- update +- Fix bug #1268 Full Max Run Time cancels jobs (when Max Run Time = 0). +- Ignore scripts/bacula-dir.conf.maxruntime +- revert pool changes and correct the problem + +13Apr09 +- Add new maxruntime test -- not yet working +- more fixes about pool=defaults +- more fixes +- fix more pool problem +- fix pool problem + +12Apr09 +- specify pool in label process to avoid problem +- use scripts/bacula-dir.conf instead of bin/bacula-dir.conf +- Add debug message when checking database encoding +- Test postgresql encoding at the start of the test + +11Apr09 +- Modify insertion of read Volumes in SD to be done before the drive reservation. + This ensures that a Volume to be read will not be reserved for writing. +- Clean old patchnotes +- Turn developer back on + +13Oct09 +Release Version 3.0.3: +16Jul09 +Release Version 3.0.2: +29Apr09 +Release Version 3.0.1: +05Apr09 +Release Version 3.0.0: +28Dec08 +Release Version 2.4.4 +27Oct08 +Release Version 2.4.3 +26Jul08 +Release Version 2.4.2 +07Jul08 +Release Version 2.4.1 +04Jun08 +Release Version 2.4.0 +25Jan08 +Release Version 2.2.8