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