X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2FChangeLog;h=9f7b7306ff14c4e14bd8c86e17b4998e2800e1c5;hb=548b1440e5ca1d97e941b368543aef315af8a3f0;hp=96b7fe95c2b6f5d6157475a66fc607c2bb41b70b;hpb=a271d263dc39d66664c8b47402a59bba217360e1;p=bacula%2Fbacula diff --git a/bacula/ChangeLog b/bacula/ChangeLog index 96b7fe95c2..9f7b7306ff 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,3 +1,1742 @@ +Changes to 1.35.2 +01Sep04 +- Fix logic error in resolution of names on IPv4 systems. +30Aug04 +- Inhibit printing of FileSet for a restore as it is misleading. +- Cleaned up a number of minor scripting problems with the CDROM + creation. +- Fixed a race condition causing a Director crash on termination, + if a large number of SIGHUPs were sent during a multiple concurrent + set of backups. +28Aug04 +- Completed integration of Rescue CD scripts with Bacula source. +28Aug04 +- Added Ignore FileSet Changes = yes +- Added more error checking to the spooling code. +24Aug04 +- Applied a patch from Peter Eriksson that removes a dynamic stack + allocation (replaced by alloca) and fixes some const problems. +- Fixed a free() of a static variable in the new IP code bnet.c +- Got the new Bacula Rescue CDROM booting. +- Replaced a dynamic template by a simple store when using the + native C compiler. +- Reworked some of the block.c error handling. +- Changed a Dmsgx(000, to Dmsgx(100 in dev.c that was dumping + debug output on a user. +- Integrated patch from 1.34.6 block.c to 1.35 +17Aug04 +- Fix conio.c problem on Solaris. +- Add debug code to lock_jcr_chain(). +- Lock jcr chain around less code. +- Implement call by reference for Mmsg() and pm_strxxx() to + simplify calls. +- New IP address specification is used as follows: + [sdaddresses|diraddresses|fdaddresses] = { [[ip|ipv4|ipv6] = { + [[addr|port] = [^ ]+[\n;]+] }] } + + so it could look for example like this: + SDaddresses = { ip = { + addr = 1.2.3.4; port = 1205; } + ipv4 = { + addr = 1.2.3.4; port = http; } + ipv6 = { + addr = 1.2.3.4; + port = 1205; + } + ip = { + addr = 1.2.3.4 + port = 1205 + } + ip = { + addr = 1.2.3.4 + } + ip = { + addr = 2001:220:222::2 + } + ip = { + addr = bluedot.thun.net + } + } + as a consequence, you can now specify multiple IP addresses and + ports to be used. In the case of a server, it will listen on + all those that you specify. In the case of connecting to the server, + Bacula will attempt connecting to one at a time until it succeeds. + And, in a few other special cases, Bacula will use only the first + address specified. + + The default port numbers are still the same and the services and hosts + are also resolved by name. So now you could use the real names for the + port numbers. + +Changes to 1.35.1: +14Aug04 +- Print error message if Alert Command fails in bpipe_open(). +- Doc Alert command. +- Eliminate unnecessary class in findlib/attribs.c +- Add necessary empty files to new tray-monitor directory. +13Aug04 +- Implement Class with template in findlib/attribs.c to do casting + of uint64_t into stat packet types to avoid compiler warnings. + Thanks to Meno for this idea. +- Make some modifications to satisfy VC++. +- Apply Martin Simmons' second patch to compat.cpp to fix the line + I previously missed. +- Apply Meno's fix to bnet that corrects use of ipaddr after free_addresses, + back out my kludges, and it works. +- Modified configure.in to by default add -Wall. +12Aug04 +- Found some problems with printing IP addresses -- will notify Meno. +- Added printing Pool to Job report. +- Fixed several places where dlists were not being released + (term_job_server, ...) +- Started implementing New() for dlists. Spent a lot of time, + but could not get it to work. +- Fixed a mutex deadlock between the job queue scheduler and the + watchdog. +- Made add_address() static. +- Added bsnprintf to address_conf.c +10Aug04 +- Apply Marin Simmons patch to inet_aton() in compat. +06Aug04 +- Build on Win32 -- required a few changes because of new IP code. +- Implement program reader code in Dir and FD -- not tested, and + a few corrections for writer code are needed in FD. +- Rework SQL for pruning. Add Admin pruning. Prune failed + jobs in Verify and Restore. +- Don't put commas in listing produced in restore so that users + can cut and past JobIds without having commas in the way. +- Change size_t to socklen_t in filed.c -- reindent a bit. +- Remove addr_list->size from buf size definition in bnet.c +- Create a Developer's document. +- Add prompt for Update volume from pool and update all + Volumes from pool. +05Aug04 +- Implement user friendly time duration input editing. +- Add buf len argument to edit_utime(). +- Added eliminate orphaned Client records to dbcheck. +04Aug04 +- Implement Alert Command in SD Device conf. +- Fix updating a Volume from the pool record -- it never changed + anything. +- Implement updating all Volumes from pool record. +- Add patch by Denis Shaposhnikov that fixes excludes of directories + in new style FileSets. +03Aug04 +- Merge Meno's IPv6-1 code. +- Update License to terminate rights of anyone suing a GPL licensor. +- Add Pruning doc sent by Bryce Denney +- Correct inconsistencies in restore command doc pointed out by user. +- Don't edit commas in SQL intergers if they are not stricly integer. +30Jul04 +- Update all pools in all DBs when starting the Director. +28Jul04 +- Implement final cut of berrno and update Win32 code. +- Update copyright to include a termination clause. Add copyright to + binaries. +- Implement .backups client=xxx for Nicolas. +27Jul04 +- Make first cut at implementing berrno class to handle Unix, Win32 + and bpipe errors. Bpipe still needs to be implemented. + This fixes (not yet tested) the Win32 errno problems in the compat lib. +- Fix btape compile problem reported by Martin Simmons -- thanks. +- Add ./configure detection of sys/tape.h +26Jul04 +- Apply two fixes to recent changes to dev.c submitted by + Martin Simmons. +24Jul04 +- Add checks in btape for correct size of off_t, and correct editing + of 32 and 64 bit values. +- Move supported OS/hardware into a chapter by itself. +- Fix bscan, which did not handle walking dcr list. +- Remove old attach_jcr_to_device() code. +- Fix config from Andy Wettstein's patch to use bitypes.h and detect + uint32_t, ... definitions. +- Fix a few compiler warnings because of casting pointers to int and + vise versa. +- Do some minor cosmetics to query.sql. nothing changed. +- Don't call stop_thread_timer() in backup.c if timer not started. +- Fix bug with out of order JobIds on restore. +- Make watchdog examine queues once every 10 seconds instead of once + a second. +22Jul04 +- Add more bools to dev.c +- Fix walking attached DCRs in bscan.c +21Jul04 +- Doc updates +- Start work on rescue files. Integrated RAID changes. +- Print a message when query.sql moved to query.sql.old during install. +- Move setting of FreeBSD chflags() to after utime() to avoid error + messages is immutable bit is set. +18Jul04 +- Turn off heartbeat in FD when -s is given so that we can + debug without a flood of signals. +- Close and reopen the device during an append test in + btape. This better tests appending as if Bacula stops/restarts. +- Remove old attach/detach_jcr_to_device() code +- Add new attached_dcrs code. +- Remove unnecessary subroutine for bsnprintf. +- Replace sprintf() by home-grown code in edit_uint64 ... +- Begin implementation of dev->attached_dcrs. +17Jul04 +- Remove scripts/fd.in from configure.in +- Add printing of JobId when a Job is started from the console. +16Jul04 +- Remove fd/fd.in from scripts directory. +- Fix a number of bugs in dbcheck concerning the -c option + (i.e. with a config file). +- Made RH start scripts use -u and -g options. +- Many more DCR changes. +- Add job message indicating that the job has been rescheduled + and when. +- Fix job end time so that it is always updated. Previously it + was not updated when a job was rescheduled. +- Correct SQL for restoring job by path/name. It could sometimes + pickup the wrong JobId -- submitted by a user. +- Add a number of "%s" in editing database errors -- security issue. +- Ensure that the NumVols is incremented and decremented in the + pool record when Volumes are created or deleted. +- Cleanup error handling when labeling a tape. If vol was read-only, + the device would still be marked as having found a label. +09Jul04 +- Put ftCreationTime into st_ctime of stat packet. Hopefully + this will fix the problem of noticing files have been moved + into the save path after a Full save. +- Fix bug in "status dir" where not all entries are listed. +- Cleanup some improper result printing in configure. +- Optimize a couple of insertions in binary_insert of dlists. + +Release 1.35.0 08 July 2004: +08Jul04 +- Apply Christopher Hull's const patch for PostgreSQL +- Add code to block.c to detect if block header is destroyed. +- Add debug code for memset checking for zeroing 1900-3000 bytes + which is what happened to the block headers. +- If block header is destroyed, read the next block. Probably + should return with new status similar to the SHORT block + return. +- Add more debug info to bls for bad blocks. +- More implementation of DCRs. +07Jul04 +- Eliminate argument passing in SD by using dcr. +- More int->bool conversions. +- Add file:block to a number of read/write error messages. +04Jul04 +- More int -> bool conversions. +- Modify the SD piece by piece to use DCRs everywhere. +- Cleanup some printout for query command. +- Fix typo in cats/mysql.c +- Work on cleaning up tape driver a bit (use bools, better calling + sequences). +- Attempt to fix multi-Volume disk backup. Needs to be tested. +01Jul04 +- Add Regular expressions to FileSet options. +- Correct configure.in to use ${MAKE} for doing the dependencies. +- Make MySQL and PostgreSQL try for 30 seconds to connect before + giving up. +- Correct Gnome 1.4 Makefile to build without cats library. +- Correct a crash reported (with patch) by Jonathan Soong + when attempting to backup an ACL on a symlinked file. +27Jun04 +- Fixed an off by one bug in the new resources pointer code. + res_head array was one too small. +- Added Errors to last_job list. This allows detecting jobs + that terminated in a warning. +- Implement setting the Win32 icon to yellow instead of red + when the job terminated OK but with warnings. +- Fix the Win32 makefile and VC project file. The links were + not including the Win32 dlls. +- Delete some old Win32 code that was turned off. +- Eliminate a few more Win32 compiler warnings. +- Reduce the output produced by NIS (Win32 install builder). +- Simplify some of the #ifdefing in compat.h +26Jun04 +- Rewrite spooling error handling when I/O error occurs. It is + a bit tricky, requiring to truncate the file so that a despooling + will work correctly. Needs to be tested. +- Make better subroutines for setting up for a new job. +- Start putting all DB ids on #defines (going to 64 bits). +- Fix gnome-console Makefile.in to work again. +- All "level=Incremental/Decremental" to the estimate command. This + required some re-arrangement of subroutines at a fairly low level. +25Jun04 +- Apply Piotr Jaworski's patch (patch-r-status.diff) to update the + catalog status when a backup job starts running. +24Jun04 +- Add (char*) cast to readline call in console.c for old readlines. +- Copy Makefile.in from gnome2-console to gnome-console (to eliminate + need for cats library). +- Modify spooling code to handle write error (e.g. spooling disk full) + more gracefully. Previously despooling would fail. +22Jun04 +- Reduce casting in smartall.c a bit and add counters for + bytes, max_bytes, buffers and max_buffers. +- Fixed reload algorithm to stack both job end callback and the + table id. +- Fixed the orphaned buffer after reload (job_end_push had to be + destroyed. +- Destroy cond var (jcr->term_wait) only if initialized. +21Jun04 +- Sort the Scheduled Jobs list by start-time, priority. +- Implement resources on a pointer. +- Fix Gnome console crash on up/down arrow with no history. +19Jun04 +- Finish first cut of SIGHUP code. To make really work need res + on a single pointer rather than in fixed memory. +- Fix a number of places in query.sql where multiple JobIds are + printed (due to JobMedia records). +- Add new query: List jobs on Volume given Volume name. +- Correct socket close on Win32 in bnet.c (in addition to compat.cpp). + Caused fd leak in Win32 for each connection. +- Remove vol labeled test in askdir update_volume_info so that non-labeled + Volume in catalog can be marked in error. +- Close socket in SD when connection rejected. Caused fd leaks. +- Initialize job_start_wait cond variable after every new_jcr() otherwise + NetBSD gets error in library when trying to delete it without being inited. +- Fix typo (9 instead of 0) return status in write_new_volume_label. +- Fix mount.c to call routine that correctly marks a volume in error. +- Move code to rewrite volume label to subroutine -- a bit cleaner. +18Jun04 +- Finish implementation and testing of new restore tree code. +- Implement feedback while tree is loading. +- Eliminate printing INFO message in UpdateDB (cats) -- it generates + "false" error messages. +- Eliminate some GTK error messages when running the Gnome2 console. +16Jun04 +- Begin restructuring tree.c for inclusion of the binary_insert() + routine. +- Apply Peter Eriksson's lib file order changes in linking for IRIX. +- Abort configure if Internal is selected as the database. +- Add testimonials to the Web page +- Add the bugs list to the Web page "lists". +- Clarify the English in SuSE and Slackware when SD not running. +15Jun04 +- Applied another extern "C" patch from Peter Eriksson. +- Fixed a bunch of VC warning messages. +- Applied the patches sent by Andreas Jellinghaus: build Gnome and + wx-console in client-only build if configured; add ./configure option + to permit setting of sbin modes -- default is 0745 as before; remove + cats library from Gnome console build; remove old version from Gnome + About box. Thanks Andreas. +14Jun04 +- Applied Peter Eriksson's const changes to the source code. Thanks Peter. +- Implemented a binary_insert() method for dlists -- intended to be used + in the restore tree routines. +- Turned on my bsscanf() code, which replaces sscanf() by my routines, which + are a subset of sscanf() used by Bacula, but which have known 32/64 bit + behavior rather than vendor dependent !@#$%*. + +2004-07-30 Version 1.34.6 28Jul04 Release +28Jul04 +- Fix a restore bug where the backups could be + applied out of proper order possibly restoring an old version + of a modified file. +- Fix for restore selection of a file by name, where it was + possible to select a file from the wrong Client. +- Fix segmentation fault during backup of a symbolic link + with ACLs turned on. +- Fix a minor compile error in wx-console. +- Fix a bug in despooling when the spooling disk partition becomes + totally filed or gets I/O errors. +- Fix a memory leak in PostgreSQL, and make Bacula retry 5 times if + connecting to the DB fails. +- Retry 5 times if connect to MySQL failes. +- Fix linking the gnome-console + +2004-06-22 Version 1.34.5 21Jun04 Release +21Jun04 +- Fixed Gnome crash on up/down arrow with no history. +- Fixed btape "fill" crash with multiple tape option. +19Jun04 +- Fix a number of places in query.sql where multiple JobIds are + printed (due to JobMedia records). +- Add new query: List jobs on Volume given Volume name. +- Correct socket close on Win32 in bnet.c (in addition to compat.cpp). + Caused fd leak in Win32 for each connection. +- Remove vol labeled test in askdir update_volume_info so that non-labeled + Volume in catalog can be marked in error. +- Close socket in SD when connection rejected. Caused fd leaks. +- Initialize job_start_wait cond variable after every new_jcr() otherwise + NetBSD gets error in library when trying to delete it without being inited. +- Fix typo (9 instead of 0) return status in write_new_volume_label. +- Fix mount.c to call routine that correctly marks a volume in error. +18Jun04 +- Eliminate printing INFO message in UpdateDB (cats) -- it generates + "false" error messages. +- Eliminate some GTK error messages when running the Gnome2 console. +16Jun04 +- Apply Peter Eriksson's lib file order changes in linking for IRIX. +- Abort configure if Internal is selected as the database. +- Add testimonials to the Web page +- Add the bugs list to the Web page "lists". +- Clarify the English in SuSE and Slackware when SD not running. +15Jun04 +- Applied the patches sent by Andreas Jellinghaus: build Gnome and + wx-console in client-only build if configured; add ./configure option + to permit setting of sbin modes -- default is 0745 as before; remove + cats library from Gnome console build; remove old version from Gnome + About box. Thanks Andreas. + +2004-06-09 Version 1.34.3 09Jun04 Release +12Jun04 +- Enhance regression scripts. +- Apply Tim Oberfoell's ACL patch. +11Jun04 +- Implement bsscanf() because sscanf on FreeBSD amd64 stores + in 64 bit words for %ld. Turned on for the moment only for + FreeBSD amd64. +- Fix all conversions of ptr to int to use (long unsigned) this + works on i386 and amd64. +- Add mtimeonly and keepatime to new Options list -- omitted before. +- Add a bit more authentication debug code. +- Start variable name/overload cleanup in SD +- Fix sscanf() in askdir.c scanning into bool to use local int. +- Make max_spool_size int to allow proper arithmetic. +- Remove trailing junk on sscanf() of "Hello Start Job" in SD. +- Make ask_sysop_to_mount_volume() always ask sysop. +- In SD mount.c, if get I/O error or read label error on non-removable + Volume, mark the volume in error and retry. +- In SD mount.c, if non-removable volume, never ask sysop to mount. We + ask sysop if there are no appendable Volumes though. +- The above 3 items fix the looping error Bacula would get if the + Volume was in the catalog but didn't exist -- or was zero bytes + long. +10Jun04 +- Implement | and < in FD for new FileSet files. +- Implement simplistic attribute spooling statistics in status. +- Make storage=xxx on restore override the restore default. +- Fix an uninitialized stack variable in append.c that caused data + corruption on amd64 machines and *could* cause the same on other + machines. +- Fix a seg fault in automatic tape labeling. +- Eliminate a PoolId=nn when zeroing the InChanger flag for a Volume. +- Add a bit more debug info to bls.c +- Clear InChanger flag during "update barcodes" if no VolName present, + i.e. no Volume in Changer. +- An update pulled in Christopher Hull's fixes to the client program + execution on Win32 to search the path and use COMSPEC. New rules + apply! +- Fix UpdateDB to complain if mum_rows < 1 rather than != 1. + + +2004-06-09 Version 1.34.3 09Jun04 Release +09Jun04 +- Add missing FT codes in new FileSet callback, which caused error + return on unchanged directories. +08Jun04 +- Fix "update volumes" move from one pool to another. +- Change default search location for PostgreSQL -- thanks + to Hans-Ulrich Schaefer. +06Jun04 +- Zero Slot if not autochanger in stored/mount.c +- As a last ditch effort to mount the next tape in mount.c, zero slot + and ask sysop. +- Win32 status was picking up the first status in the list job terminated + jobs instead of the last. +05Jun04 +- Add additional fields to llist pools +- Correct some minor label scan problems with update slots +- Ensure correct Pool is used with tape cleaning prefixes. +- Eliminate false error message in update slots (slots taken as + Storage device). +02Jun04 +- Print "Unimplemented" message if user does reload command in Console. +- Add DISTINCT to Volumes for restore in query message (user supplied fix). +- Fix crash in btape during read after fill -- important bug. +- Turn config parse ABORTs into ERROR_TERM in Storage daemon. +- Add dbcheck enhancements submitted by Mano Abels and + Jose Luis Tallon. +- Update autoconf files to latest version. +01Jun04 +- Modify jobq scheduler to require exclusive use of the Storage device + before starting it. +31May04 +- Eliminate a few compiler warnings on Win32 +- Change Win32 to use btimers instead of timers. +- Remove two returns in void subroutines in wxbconfigpanel.cpp +30May04 +- Apply Christopher Hull's check for error return from open_bpipe() + in filed/job.c +- Be sure to clear *all* bits in hourly when an hour is given. +- Apply a user fix to query.sql +- Check status code returned from _open_osfhandle in compat +28May04 +- Apply Peter Eriksson's bug fixes. +- Add Alpha (tru64) submitted by Scott Bailey. +- Update manual +- Add new Autochanger to list supported +- Cleanup src dir better after glade trashes it with junk +- Make another attempt to get hourly, daily, ... keywords working + intuitively and correctly. +- Prevent seg fault when no job name specified on "status job" +- Rename timers.h/.c in lib to prevent conflict on some machines +- Trap NULL DCR in block.c +- Add additional info to failed btape test pointing user to manual. +- Undefine DCR, which is defined on some stupid systems. +- Fix stored/dircmd.c not to quote Volume name on label query so that + "update slots scan" works right (the quotes confused it). +- Fix autochanger.c not to attempt to unload a slot if the prior loaded + request returned -1. +01May04 +- In testing for Mike Acar's problem. I *finally* found and nailed + the mount command that did not release a waiting job. The return + of a stolen lock forgot to broadcast. +- In examining Mike Acar's problems, it appears that the Bacula + block size is not always set to a multiple of 1024. I've modified + block.c to do so. +30Apr04 +- Add Excludes to new FileSet handling. +- Fix bsmtp.c to correspond to RFC-2821 by removing extra spaces. +29Apr04 +- Implement new style FileSets in both the Director and in the + File daemon. No filters yet. Both old and new styles work. +28Apr04 +- Apply the fixes Chris Hanson sent for mtx-changer and for detecting + PostgreSQL on debian. +- Rework File Options document +- Re-begin work on File Options. +- Add define for nl_langinfo in configure +- Add additional tape drives sent by Jesse. +27Apr04 +- Modify syslog in win32/compat to throw up a MessageBox(). +- Inhibit sending daemon messages to stdout if Win32 is set. +- PostgreSQL performance updates from Volker Goetz +- DB script updates suggested by Dan +- Doc updates + + +2004-04-26 Version 1.34.2 24Apr04 Release +24Apr04 +- Get production build on Win32 of wx-console working -- mostly a problem + of getting the paths right and installing and building wxWidgets. +23Apr04 +- Make SD utility programs accept device name as well as archive device + on command line. +- Update docs +22Apr04 +- Fix one off bug in StartBlock in bscan -- thanks to Gregory Brauer for + reporting this. +- Remove old debug code from Win32 FD. + +2004-04-20 Version 1.34.1 20Apr04 Release +18Apr04 +- Found and fixed SD crash during restore. +- Added FreeBSD Bare Metal Recovery documentation by Alex Torres + Molina and others. +- Added nice graphics produced by Aristedes Maniatis giving an + overall view of Bacula. +- Changed textdomain to be "bacula" in all progs. +- Fixed a major race condition in the job scheduler when multiple + simultaneous jobs is enabled. This occurred only when on job had + blocked another because of resource usage. This caused a deadlock + and CPU usage. Reported by Michel Meyers. +- Changed the backup report to indicate "Backup OK -- with warnings + if any warning messages were generated. +- Change output of restore report to indicate: + "Restore OK -- warning file count mismatch" +- Make backup report say "Backup OK with warnings" if either FD or SD + report any non-fatal errors. +- Modify bscan to print some elementary statistics (#Jobs, #Files, ...) + added to catalog. +16Apr04 +- Modify bscan to print some elementary statistics (#Jobs, #Files, ...) + added to catalog. +15Apr04 +- Added --enable-wx-console and updated Makefile.in +- Fix mtx-changer so that the calling sequence is compatible + with the previous version (the new one required arguments that + were not necessarily used). +- Document how to use stunnel with Bacula. +13Apr04 +- Fix crash in query command. +- Remove schedule from the default restore job. +- Fix data spooler to use min/max tape blocking factors. +- Automatically turn of conio if library not found instead of bombing. +- Cleaned up a lot of copyright dates. +- Try to keep spool statistics from going negative. +- Integrated wx-console code from Nicolas Boichat. +09Apr04 +- Added new Pools chapter. Doc about using two disks. +- Attempt to keep the spool file statistics size from going + negative. +-8Apr04 +- Fix the Director's Scheduled Jobs: list to have a === + termination. +- Fixed ./configure to disable readline rather than stop if + readline.h is not found +- Fixed a typo in the SQLite database update script as reported + by Robert J. Clark - thanks. +07Apr04 +- Removed src/win32/pthreads and src/win32/zlib from the source + tree. +- Created a new depkgs-win32 that has the pthreads and zlib source + code. +- Removed the JobDefs from the default Restore job as it has a + schedule. Thanks to Matt Howard for this. + + +2004-04-06 Version 1.34.0 06Apr04 Release +06Apr04 +- Turn off SIGQUIT in console. +05Apr04 +- A good number of document updates. +- Fixed the order which multiple files are accepted for + inclusion in the restore tree due to the fact that PostgreSQL + returns files in a different order from their insertion. +02Apr04 +- Fix autochanger test in btape. It used old editing routines. +- Fix run_program to return 0 if program runs and no output. +- Add more debug to run_program. +- Make signal debug print signal string. +01Apr04 +- Build console with client-only build. +- Add better error messages to some of the db_xxx routines. +- Apply Christopher Hull's patches for proper Win32 shutdown. +- Eliminate True and False in favor of true and false. +- Put correct thread id in jcr once the correct thread is running. +- Zap head and tail pointers in dlist when everything is removed. +- Rework sm_dump() so that it won't overrun a buffer when editing + and error message. +- Fix watchdog to properly remove entries while walking the + dlist chain. +- Fix termination of last_jobs list by removing broken code. +31Mar04 +- Update dbcheck to fix Paths without a trailing slash and Filenames + with a trailing slash. +30Mar04 +- Add -p option to all SD programs including bacula-sd. It causes + Bacula to proceed or forge on in case of I/O errors. It is unlikely + this will help, and it is strongly recommended against running + the daemon with this option in production. +- Tweaked the Makefile not to create the gnome directories except + when doing a gnome install. +28Mar04 +- Implement Qmsg() queuing of messages to prevent recursion especially + for bnet.c where recursion is fatal. +- Add detection of ncurses if the termcap lib is not found. +- Tweak winabout -- start cleanup. +- Fix dlist again, when list is destroyed, be sure to null head and + tail pointers. +27Mar04 +- Make the default for restore to have nothing marked. +- The "all" keyword on the restore command marks everything by + default. +- The "done" keyword on the restore command prevents user interaction + with the tree routines -- used mainly for scripting (regression ...). +- Correct a bug in the last_sibling code. +- Add alphabetic sorting of siblings so the "dir" and "ls" commands + during restore show files in alphabetic order. +25Mar04 +- Based on Mike Acar's suggestions rework tree insert routines. Improve + performance by using a last_sibling link for inserts. +24Mar04 +- Apply corrected SQL to sql_get.c supplied by Dan Langille. +- Implement "delete job jobid=xxx jobid=yyy ..." +- Implement "purge volume=xxx volume=yyy ..." +- Fix buffer overrun in query string substitution. +22Mar04 +- Fix bad format %s instead of %d for editing new slot in update volume. + Reported by Vadim Zotov. +- Better error diagnostics in ./configure for detecting termcap library. +20Mar04 +- Restore old sql.c split_path and file name since it seems to have + broken the Verify stuff. +19Mar04 +- Hunt down missing free_locked_jcr() in SD that caused zombies. +- Modify status outputs to be more consistent for zombie checking. +- Add tests to regression script for zombie jobs. +- Set EIO in dev_errno for all error returns when bad data found. This + fixes ERR=Success messages. +- Make error messages all contain ERROR for easy regression testing. +- Add sanity check in DIR for VolFiles becoming smaller. +18Mar04 +- Second cut GTK+ restore GUI. Ready for testing but much more to do. +- Phil reported an sql path length=0 message. This broke saves of + / -- fixed in scan.c +- Fixed seg fault in btape "test" due to missing allocation of dcr. +- Tweaked some btape messages. +- Sort Volume names in Job report according to the order they were + written -- user request. +17Mar04 +- First cut GTK+ restore GUI. +- Applied bsmtp patch supplied by a user. Thanks. +- Made a new split_path_and_filename() subroutine -- in lib/scan.c +15Mar04 +- Fix "typos" in RedHat install-autostart Makefile.in +13Mar04 +- Added two tar files that Phil sent for adding slackware support. + Thanks Phil and Matt Howard. +- Fix relabel command -- || should have been &&. +- Correct once more the scheduling algorithm -- this time it should + be much better. +12Mar04 +- Implement simple spool statistics printed by "status sd". +- Cleanup/add spool error messages. +- On multiple ctl-c, exit from console quickly. +- Implement code to select a different Volume in the SD if the + current Volume is busy -- requested by Patrick Cole. +- Change postgreSQL make tables to use bigint instead of integer + for StartBlock and EndBlock because + there is no unsigned integer in postgreSQL and these fields use 32 bits. +- Implement multiple drive autochanger support -- prompted by email of + Patrick Cole. +11Mar04 +- Update version and date in Win32 build. +- Fix bug in run_conf with month range zapping wday and wom. +- Correct editing of port for PQsetdbLogin in postgresql.c as reported + by J. Conroy, and do a second try. +10Mar04 +- Integrate Phil's Makefile patch. +- Add SpoolDirectory to SD Device resource. +- Add MaximumJobSpoolSize to SD Device resource. +- Add MaximumSpoolSize to SD Device resource. +- Implement the above. +- Make despooling lock the device so only it writes + to the device during despooling. +09Mar04 +- Data spooling now passes the regression tests. +- Added "Files Expected" to the restore job report. +- Implemented SpoolData = yes/no in the Job resource +- Implemented SpoolData = yes/no in the Run overrides. +- Note, you must have a 1.33.4-09Mar05 SD or later with the Director since + the DIR->SD protocol has changed to support data spooling. +- Remove the confusing "Which DBMS do you want to use (please select only one):" + messages from ./configure. +- Fix broken Jmsg with missing argument in find_one.c +08Mar04 +- Second cut data spooling code. +- Fix missing piece of yesterday's patch. +07Mar04 +- Integrate patches supplied by Jason Conroy that fix Slot numbers + getting lost. +06Mar04 +- This version contains a *major* addition to the SD structures. + Many variables have been moved out of the JCR into a new DCR + (Device Context Record). This required quite a few changes, and + introduced a bit of instability. In the end, after a few more + rounds of changes, the DCR will replace virtually all arguments + to the low level SD read/write routines. This change permits + (with a bit more code) the SD to write to multiple devices at + the same time for a single Job. It also facilitates adding the + data spooling code. +- Added a patch that fixed the port specification for postgresql. +- Fixed findlib/find_one.c so that it will complain about backing + up a hard linked file twice, which makes a restore impossible. +- Tighten up permissions on pid file. +- Attempt to avoid warnings when casting 64 bit pointers to an + integer. +- Added skeleton code for data spooling. +- Make sure spooled attributes are discarded on error. +03Mar04 +- Updated getdiskinfo in rescue/linux to handle the fact that the + sfdisk -s option now includes info on partitions. Also, before + creating the diskinfo files, clean out the old ones. +02Mar04 +- Add debug and error output to jobq.c +- Fix some minor errors in debug output of scheduler.c +- Add "trace on/off" command and modify trace code in message.c + to work off trace flag rather than #defines. +01Mar04 +- If console is found during install warn user (new name is bconsole). +- On install copy console.conf to bconsole.conf if it exists. +- Make RunAfterJob error non-fatal. +- Rework minor details in status output. +- Attempt to define all values for "consoles" in JCR to avoid + confusion. +28Feb04 +- Use net start bacula to start Bacula on WinXP/NT/2K + systems after installation. +- Change a few strcpy()s to bstrncpy()s in signal. +- Add "gui on/off" command to console to turn on gui mode, + which will adapt Bacula better to batch or gui programs. + Currently, it prevents commas from being inserted into + numbers in the list command. +- Tweak some of the Makefiles so that the install is done with + the right program (nothing really changed). +- Install logrotate in the "make autostart" of Bacula on RedHat. +- Implement SIGHUP while jobs are running. It *seems* to work but is + a bit fragile and still crashes if you push it. More work needed. +- Applied Phil's GNOME 1.4 patch. Very clean. Thanks Phil. +- Major updates to the native Win32 installer. +27Feb04 +- Restructure free of conf resources to handle job_end_push() + and SIGHUP. Lots of changes little substance. +26Feb04 +- Add mtimeonly=yes/no and keepatime=yes/no to Include list + 1.33 style. +- Allow no modifier in time and size specifications. +- Attempt to implement disk seeking. More work needed. +- Implement more in win32 installer and test it. +25Feb04 +- Implement kb, mb, and gb modifiers for size, which mean + 1,000 bytes, 1,000,000, ... bytes. +- Add Makefile to src/win32 to allow building the full + release -- it calls nmake where appropriate. +- Remove the rsi directory from win32 as suggested by Christopher +- Add Michel Meyers' nsi file to win32 and integrate it with + the build. +24Feb04 +- Add the frigging _O_BINARY to the right variable. Win32 works! +- Add debug code to state file. There is a problem with Win32 read + returning one byte less than it should. +- Implement a number of new functions for alist so that it has + equivalent functionality to dlist. It will be used for + job_end_push(). +- More work on state file. +- Added a popup message box on Windows if Bacula Aborts. +- Attempt to shutdown the FD server, but doesn't work on Windows. This + would have given a cleaner shutdown, no problem. +23Feb04 +- Update projects +- Attempt to fix state file on Win32 -- no luck. +- Add HPUX tweaks to configure.in +- Update quickstart and install.wml of doc. +- Eliminate extern int h_errno from bnet.c by including netdb.h +- Eliminate NumJobs from last_job structure so that FD and SD + correctly report what is in the state file. +22Feb04 +- Implement daemon state file, and save/restore last_jobs list. +- Fix time routines in win32 compat.cpp +- Fix a bug of not checking the bpipe_open() status in do_shell_expansion(). +21Feb04 +- Add Volker's bacula script to the SuSE directory and convert it + to bacula.in +- Make LockRes() and UnlockRes() use read/write locks and have + debug info to trace locking and unlocking. +- Begin work of implementing SIGHUP. It is now enabled for + the Director and works only if there are no jobs running, + in addition, if the new conf file is incorrect, it will + terminate Bacula. Much more work to be done. I've figured + out a scheme to implement it with running jobs without + adding individual semaphores or use counts. +- Sort "list jobs" by StartTime rather than JobId, which can + be random. +16Feb04 +- Add a lot of "const" to char * arguments to keep the native + Sun compiler happy. +- Added first cut of message queuing to prevent recursion in + low level routines. This code is not yet working. +- Spent a *huge* amount of time looking at the tape driver + code in the wake of several reports of tape labels getting + trashed. The code looks fine. +- Created a tape with an error (by writing a block at the + beginning of a tape that had valid data), and found that + Under Linux there is no way to read past an I/O error. + I tried mt; I tried my own program (btape); and I tried + using scsitape, which talks directly to the scsi driver. + This is *VERY BAD* news. +- I spent an *enormous* amount of time enhancing the btape + test program as well as making the fill command work with + both one and two tapes and the autochanger if configured. + The multiple tape fill test is now quite comprehensive. + It checks the last block on the first tape, the first block + on the second tape, and the last block (11) on the second + tape. +- Teaked the tape driver for several functions to use the + OS driver's notion of mt_file if there is an error. +13Feb04 +- Add DB update scripts retrieved by Scott to a new updatedb + directory at the top level. +- Add -p option to bcopy to allow ignoring errors on input. +- COALESCE(xx,0) does not work on PostgreSQL because the 0 is not a + correct time. Replaced by adding LastWritten IS NULL to the sort + line as was first suggested by JML. +12Feb04 +- Use COALESCE(LastWritten, 0) in sql_find.c to get NULLs to sort last. + See note above. +- Add write/read and positioning test to btape "test" program. +10Feb04 +- Fix bad printf of InChanger flag reported by Pascal Pederiva. +- Fix bad indexing off stack in authenticate.c reported by + Pascal Pederiva. +09Feb04 +- Add \n to hosts.access reject message. +- Implement security message class and make hosts.access message use + that class. +08Feb04 +- Fix check_memory bug in ua_query.c, which gives a bus error on Solaris. + This affected only the query command. +07Feb04 +- Added backup to cdwriter script to examples provided by Johan Decock. +- Fixed a bug where ls really did lsmark (just invert command table + entries). +- Fix bug where a soft linked file and a directory had the same name + by treating the soft link as a directory and putting the entries under + it. This fixes the bug reported by Alexander Mueller. +- Fix a deadlock situation in the new watchdog code where the + watchdog locks its semaphore, and attempts to lock the jcr_chain, + but another thread has locked the jcr_chain and wants to free a + watchdog, which tries to lock the watchdog semaphore -- deadlock! + Used read/write locks to solve the problem. +- Improved the error messages when I/O errors or buffer id errors + are detected, and prevent non-sense errors from being printed. +- Fix some incorrect messages in restore if no name is supplied + on the command line (e.g. pool= ). +- Add the third digit to the release version number. +04Feb04 +- Add -l option to bls that causes it to ignore tape label errors. +03Feb04 +- Correct problems with jobs scheduled at a later time by hand. + Missing unlock(), backward test on pthread_create status. +- Fix setip crash reported by Alan Brown. +- Create bacula.spec.in in SuSE directory from Scott. +- Fix missing unlock() in ua_status on access denial. +- Lots of little cleanups, improving jcr use_count debug printing. +- Add EMSG to mem_pool utilization statistics. +01Feb04 +- New bacula.spec.in file from Scott +- Add Scott's spec file to the platforms/suse directory +- Modify configure.in to make platforms/suse/bacula.spec +- Do not allow a resource name to be specified twice. + +2004-01-30 Version 1.33-30Jan04 Release +30Jan04 +- Apply Jess Guardiani's second fix to list autochanger volumes without + opening the drive (necessary on FreeBSD if no tape is in the drive). +- Added Postgresql configure search libraries recommended by Alan Brown. +29Jan04 +- Reworked the command line handler in restore to walk through the + arguments one at a time. This makes the file= entries work correctly. + Also reworked the code that takes the MediaType and finds a + storage device. +26Jan04 +- I've noticed that the backups of Rufus, my development machine, can be + "stuck" for about 12 hours, then suddenly they run. In running the + debugger, I see that it was stuck on the select() statement waiting + for the Hello. Why this happens I am not sure. I re-organized the code + a bit because it didn't seem to be as robust as it could, but I cannot + explain the problem. +- As a consequence of the above, I have implemented a new bsock timer that + can be started and stopped. This is based on Nic Bellamy's new watchdog + code. The timer is set with start_bsock_timer(bsock, timeout); If the + timeout expires, the bsock will be marked as timed_out and interrupted + with a pthread_kill() on the current thread. +- Added 5 minute bsock timers to all the opening Hello/authentication + exchanges between the various daemons. +24Jan04 +- New spec file from Scott. +- New patch file from Scott for create_sqlite_database +- Fix crash in run command if invalid pool specified on the command line + and then the user cancels the Pool prompt. +- Separate Console and ConsoleFont resources in gnome2 conf files. +- Remove possibly bad ASSERTs from bnet.c +- Remove open() of device in dircmd.c, which fails on FreeBSD with + an autoloader -- thanks to Jesse Guardiani for this fix. +20Jan04 +- Remove all "hostname -s" from configure except for RedHat. Use uname -n instead. +- Implement SetIP command. +- Implement Close On Poll in Device resource on SD. +- Implement Full, Inc, and Diff Pools. +- Implement Access control lists for Consoles. +18Jan04 +- Define default working_dir as /var/bacula/working. +- Implement setip console command to set new IP address for a Client. +17Jan04 +- Implement maximum network buffer size directives. +- Good first cut at access control lists for the console. +- Optimize restore to select only latest Differential backup after + the Full, and then all following Incremental backups. Previously + everything after Full was selected. +16Jan04 +- Organize kernstodo a bit (more to be done). +- Add client IP address to BSOCK structure. +- Use bit fields where appropriate in BSOCK structure. +- Pass UAContext to ua authenticate in Director, and make it + set the appropriate console (or NULL for none). +- Tweak restore "run" argument handling and add "files" keyword. +- Add device name or Volume name to some SD messages. +15Jan04 +- First cut multiple consoles. +14Jan04 +- Update kernstodo +- Add quit command to restore tree handler. +- Make restore tree handler remember if a hard link is present, and + in doing a mark, only get database entry if there is a hard link. + mark commands thus run at least 2 orders of magnitude faster. +- Add files=xxx field to run command submitted for restore. +- Add yes to restore run command if either yes or run is command line + argument. +- Make "yes" on command line argument skip prompt for modification of + run job. +- Add markdir and unmarkdir -- both affect only the directory in + question and do not do a recursive descent. +- Make tree command automatically mark all higher level directories to + be restored when a directory or a file is selected. Such directories + are indicated by preceding the name with a + to indicate that only + the directory entry is selected and not the whole directory tree. +- Modify a few tree commands to walk through all arguments rather than + just taking the first one. +13Jan04 +- Update copyright date on changed files. +- Make mark command in restore tree run *much* faster by accessing database only + if the file actually is hard linked -- determined at time tree it built by + keeping a has_link bit in the tree entry. +12Jan04 +- Modify findlib/makepath.c to create all parent directories with full permissions. + This should solve the access problems on restoring files on Win32 systems. +- Modify restore to report **** Restore Error **** if any error are found. + I.e. a file could not be created. +- Change a few errors into warnings -- e.g. if permissions could not be set, but + the file is actually restored. +11Jan04 +- Replace bsd_queue with dlist in lib/watchdog.c +- Add Date: header to bsmtp. Thanks to Meno Abels (abels) on SourceForge + for reporting this. +- Remove ap==NULL check in src/lib/var.c as suggested by Christoph Barbian + because ap (va_list) is a struct on the Alpha, so the code does not + compile. +10Jan04 +- Implement first cut of polling for a Volume. New Device directive + "Volume Poll Interval = xxx" where xxx is a time specification + (e.g. 5min). Default is off. +- Call pthread_cancel on SD msgchan only if the threadid is non-zero. +07Jan04 +- Change RH autostart scripts to start in Dan's order. + +2004-01-06 Version 1.33-06Jan04 Release +06Jan04 +- Correct calculation of week of month in scheduler and in scheduled + listing. +04Jan04 +- Fix cancel of job waiting on mount to be a bit cleaner. +03Jan04 +- Fix seg fault -- don't close db in db_open_database(). It must explicitly + be called. +- Doc updates +- Allow purge of a single JobId from a Volume (code untested) +- Implement fix to keep SD from looping complaining about the wrong volume + at the end of a tape -- reported by Phil, and fix confirmed by him. I cannot + seem to reproduce the bug here. +- Clean up a few more strcpy()s. +01Jan04 +- Fix configure.in FD User print per Lars. +- Doc update. +- New bacula.spec.in from Scott. Nice! +- Make RunAfterJob non-fatal if it errs since the Job has really + already completed the save. +- Replace sprintf with bsnprintf in message.c +31Dec03 +- Note, this change affects only the Win32 FD. +- Fixed Win32 FD crash due to missing argument in status command. It + always crashed if there was a job that had previously run. Thanks to + Christopher Hull for finding and diagnosing this problem. +29Dec03 +- Fix SELECT as indicated by Dan in sql_get.c for returning Volume names. +- Fix last_jobs list crash for utility programs (btape, ...). +- Correct editing of FileSet name into SQL command. +- Allow calling watchdog stop without initialization for utility programs. +- Enhance btape test by attempting to forward space past the end of the tape. +- Detect CAP_FASTFSF in btape test as possible reason for failure. +- Attempt to prevent infinite loops in fsf_dev() if device not properly + configured. +- Attempt to get correct file number on tape after backspacing at EOM. The + correction should resolve differences in OS tape driver implementations. +- Add ctl-c detection to bconsole. When reading from tty, interrupts any + output from Bacula, when reading from a file, it terminates the reading + and returns possibly exiting if it is a batch job. +- Create devel_bacula.in script and make it configure itself. Very similar + to the new bacula.in. +- Modify bacula.in to have separate file locations for each daemon -- makes + it easier to make a new devel_bacula.in when there are changes. +- Remove old config files when rebuilding configure to avoid error msgs. +- Fix btape "test" to respect TWO EOF. +- Fix fsf_dev() to use system notion of file if it is valid after bsf_dev(). +- Move btraceback.gdb to scripts directory on installl. +- Add new mandrake bacula.spec.in +28Dec03 +- Find commonset of c_iflags that work with FreeBSD tcsetattr on terminals. +- Remove comments from string concatenation -- doesn't work on FreeBSD + compiler. +- Moderately improve bpipe_close() errors. Must rethink status return. +- Eliminate some Emsgs in favor of Jmsgs. +27Dec03 +- Add optional Pool keyword on restore command line. If specified, the pool + used will be restricted to the specified pool. +- "Finish" implementation of JobDefs. +- Fix directory for chmod of cats scripts. +26Dec03 +- Implement foreach_res() #define and start replacing old code. +- Work some more on jobdefs -- more to be done. +- Implement bstrftime_nc() bstrftime with no century. +- Fix static console problem in gnome2 and gnome directories reported by Alan + Brown. +- Add code to test for valid Resource Names. Permitted characters are now + alpha, numeric, colon, period, minus, underscore, space. +- Turnoff some unused code in timers.c +- Start adding code to dev.c to prevent infinite loops if fast forward space + file (MTFSF) is configured on but not properly supported by OS. +24Nov03 +- Sort FileSet selection list by CreateTime. +- Add "lsmark", and "estimate" to tree routines. +- Doing a mark or unmark now prints how many entries were changed. +- Add command argument parsing to btape.c +- Enhance EOT to print file:block on message. +- Add repeat counts on btape bsf, fsf, bsr, fsr, and weof commands. +- Enhance btape's fill command to be much clearer and more reliable. +- Add state file to btape so that unfill command can be done any time + after a fill command. +- Use reposition_dev() to position for read back of last block. +22Nov03 +- Zap InChanger flag only if setting Slot to non-zero. +- Added new SD directive TwoEOF, default off, that tells Bacula whether + to write one or two EOFs for EOM. For the OnStream driver it must + be off, otherwise an empty file will be created. +- Cleaned up the btape "fill" command to compare the last block written + and read rather than just printing them. +21Nov03 +- Implement btape test for autochanger. +- Implement btape test for Fast Forward Space File. +- Moved up to cygwin 1.5.5-1 +- Implemented Fast Forward Space File +20Nov03 +- Add support for selecting volumes from InChanger list first, then + selecting from all available volumes. +- Ensure that Volumes are selected from oldest LastWritten data/time. +- A couple of bug fixes ensuring the proper ordering of volumes. +19Nov03 +- Return oldest LastWritten for find_next_volume. +- Remove ASSERT from stored/acquire.c that could trip when it shouldn't. +- Enhance SD status if debug_level > 1 to show details of dev status. +18Nov03 +- Create update_bacula_tables, ... scripts and modify configure and Makefiles +- Eliminate is_num() and use is_an_integer(). +- Add user slot selection code "slots=1,2-3,5,10, ..." +- Start daemons at level 90 rather than 20 so that MySQL will already + be started. +- Write alter_mysql_tables.in and alter_sqlite_tables.in +- Add Drive and InChanger to Media record. +- Update database level to 7. +- Add db_make_inchanger_unique() and call it when creating and updating + the Media record. +- Add Drive and InChanger to database code for Media record. +- Allow changing InChanger flag in update command. +- First cut at allowing the user to specify slots for updating autochanger. +- Add scan to "update slots scan". +- Add command in SD to readlabel. +15Nov03 +- In the bacula start/stop script, ordered the stop: FD SD Dir to + give the SD the best chances of updating the catalog before dying. +- Add Drive and InChanger to MEDIA_DBR record and to Volume update + from the SD. +- Reorganize the Volume info update from SD so that the Dir sends back the + current information in case the Volume status has changed by expiring. + The DIR-SD protocol is not backward compatible (must update). +- Fixed the signal handler to pass the signal to the exit_handler() + previously it passed 1. +- Modified SD so that on normal shutdown, it walks through all jcrs and + cancels them so that the Volume status will be updated in the catalog. +- Found and fixed a bug where ST_LABEL was not set in append mode + (when a different tape was accepted other than the original one + proposed by the DIR. +- Update the catalog Volume info after dev->file is incremented rather + than waiting for end of job. +12Nov03 +- Change getdomainname() prototype for Darwin. +- Add gethost_strerror() to create correct error message for + gethostbyname(). +- After doing a kill() of a stalled connection in watchdog, turn off + the timer to prevent an infinite loop. +- Allow Bacula to rewrite the label on a disk volume. +- Correct usage report printed by bsmtp. +11Nov03 +- Complete changing references to bsmtp from smtp. +- Add L_NONE for Admin and Restore jobs and update level_to_str() +- Fix segfault from double free of RestoreBootstrap in job.c +10Nov03 +- Change console to bconsole +- Change console.conf to bconsole.conf +- Change smtp to bsmtp +- Implement .bconsolerc +- Check if volume has expired when doing an update media for the SD +09Nov03 +- Implement new code that assures that a non-zero Slot is unique within + a given Pool. When setting a non-zero Slot, the Slot of all other + Volumes with the same Slot is set to zero. Redone later to add + InChanger flag +07Nov03 +- Fix bug reported by Lars where an incorrect Volume name was printed + by the "status dir" command. +06Nov03 +- Pretty up a few error messages printed by smtp. +- Make btime_t int64_t so that one can do arithmetic. +- Implement since as utime (64 bit UTC). +- Compute clock diff between Dir and FD, and adjust since time. +- Apply SQL fix from Nic Bellamy (thanks). +- Apply John's zlib #ifdefing fix. +05Nov03 +- Add Dan's with-sd-user, ... to configure.in. +- Add Dan's userid and group modifications to bacula.in +- Lots of documentation updates. +- Make console print "Enter a period to cancel a command" when starting. +- Fix the "list nextvol" command so that it doesn't try to close the + database twice, giving a segfault. +- Fix (hopefully) to dircmd.c so that a mount request does a pthread_cond_signal. + There was one path were the signal was not sent. This should fix the bug + that requires you to do two "mount" commands to free a job waiting on a mount. +- Make dir_ask_sysop_to_mount_next_volume() return immediately if a slot is + specified. +- Correct some of the messages in testfind.c (pointed out by Dan -- thanks). +- Alias fd to client, sd to storage. +- Changed order of Console commands so that short commands such as q (quit) + are more logical. + +2003-11-03 Version 1.32d 02Nov03 Release +02Nov03 +- Mainly a bug fix release. +- Do a clean of both Gnome directories. +- Require that FileSet id match when finding an Incremental + previous job. This was already the case for a Full. +- Print message if no status returned from FD. +- Correct "Do not forget to mount the drive" message. Test was + backward. +- "status dir" stopped scanning the run records on the first + one that matched giving an incomplete listing. +- Edit commas in Bytes on "estimate" command output. + +2003-10-30 Version 1.32c 30Oct03 Release +29Oct03 +- Add %v to job edit codes. It edits in the VolumeName(s). +- Add code to ensure that fds 0,1, and 2 are defined by dup'ing them + to /dev/null if necessary. Mostly for Windows that does not have them. +- Error check dir_create_jobmedia_record() 2 places in acquire.c +26Oct03 +- More doc fixes. +- Make message buffer longer for a status message that was + truncated. +- Put termination on varargs calls in gnome2-console. +- Scroll only if text sent and not for status update. +- Add all possible Status codes the jobstatus_to_ascii() +25Oct03 +- Add new spec file and cats patch from Scott. +- Optimize tree.c a bit -- turn off debug code, keep node fname + length for fast rejection, add some statistics, allocate + in 100K and 1Meg chunks, use bool, uint16_t and uint8_t to + reduce node packet size. +24Oct03 +- Eliminate ua_retention.c that was not used. +- Improve error message when closing brace missing in conf file. +- More doc updates. +- Eliminate Don't forget to mount if it is a disk file. +- Fix Gnome2 scrolling and blank screen problems. +- Eliminate multiple JobIds in restore selection list. +- Fix non-portable varargs code in var.c +- Make doc fixes/changes suggested by Dan Languille +23Oct03 +- Document new features. +- Implement mod of Verify Job at the run prompt. +- Correct SQL table definitions so that MySQL and SQLite + have all the values in the same position. +- Correct a typo in configure.in when configuring GNOME. +- In doing a "status dir" make it loop over all the run + commands in the Schedule rather than doing on the first one. +- Close all unused file descriptors in bpipe.c otherwise if + a daemon is started, it will keep our TCP/IP port open. +22Oct03 +- Print block read error (checksum, I/O, BB01, ...) once then + the number found at the end of the reading. +- Implement RunAfterFailedJob +- Change db_find_job_start_time() to require a Full save before + running an Incremental or Differential job. +- Remove has_volume_expired from code that updates vol info +21Oct03 +- Implement "delete job" +20Oct03 +- More documentation, add Marc Brueckner's tips to manual. +- Tweak gnome2-console scroll window. +- Turn off some debug info. +18Oct03 +- Modify Verify to accept VerifyJob = xx, where the last backup job + of job xxx will be verified. +- Add changing the Pool name for a Volume to "update volume" +- Write most of the code for Verify Disk to Catalog. +- Recreate the src/gnome2-console directory. +- Change all the text handling code to the Gnome 2.0 way. +- Correct the way verify filenames are returned to the Director so + that directories are in canonical form (i.e. trailing /). +- Handle casting bug in glade-2 by sed'ing support.c in gnome2-console. + +2003-10-15 Version 1.32b 14Oct03 Release +14Oct03 +- Modify configure so that if threaded MySQL client library + is not present, Bacula will link with the non-threaded + version. +- Updates to the Web pages and to the manual. +- Remove trademark symbol from title. Phil pointed out that it + does not display correctly in a title. +11Oct03 +- Implement restore by file before date. +- Change restore arguments a bit so that you can feed it + multiple jobid= specifications or multiple file= specifications. +- Pass restore with run option on to run_cmd. +- Make run-cmd not prompt if it has a "run" on the command line. +10Oct03 +- When pruning, select only old orphanned jobs to delete so that + the current job is not pruned too. +09Oct03 +- Corrected return status for bsf_dev and bsr_dev in block.c and btape.c +- dev.c used incorrect ruturn status for bsf_dev in the BSF at EOM + code. This caused all appends on FreeBSD to fail. +- Turn on fast block rejection code. +08Oct03 +- Optimize file index searches by adding a count to the bootstrap. +- Write single files/blocks to bootstrap without the second part. +- Add current Volume status to the cannot use this Volume message. +- Zero the rx->bsr in ua_restore when freeing so it doesn't get + freed twice. +- Lots of testing on the restore +- I noticed that SD and FD bootstrap files were not always + deleted, so delete them as soon as possible. +- Restore by file (or by selecting files) created some + horrible looking bsr files that defeated the forward + spacing code, so fix write_findex to work right. +- Add zlib_strerror() routine in filed/restore in case + of zlib errors. +- In filed/restore.c make sure all error returns cleanup + and close the open file descriptor. +- Make sure to set *non* over filename in attr packet + after file is found, so error messages that print the + filename don't print an old, incorrect name. +- Allow bclose() to be called after closing the file. +- Fix a number of unclear help messages, ... reported by + Phil in btape. +- Retweak stored/read_record.c so that it does forward + spacing at the beginning of every tape, not just the + first one. +- Print repositioning message if verbose is set. + +2003-10-01 Version 1.32a 03Oct03 Release +04Oct03 +- Combine the code in ua_output and ua_status that searches + the run records. +03Oct03 +- Fixed "list nextvol" to search for the correct pool in the + Schedule Run records. +- Correct an error in is_block_zero. It found a false + match if the first 1016 bytes of a 32K buffer and + the last 248 bytes are zero. Broke the sparse option. +01Oct03 +- More documentation. +- Test if multiple mail addresses works. Yes. +- Add debug Jmsg() to trigger if the file I/O packet is + not closed in the FD, i.e file descriptor leaks. +- When error occurs reading label in mount.c, start from + the very top so that the retry count is in effect. +- Zap the mode in soft links in testls.c for regression + testing. + +2003-10-01 Version 1.32 30Sep03 Release +28Sep03 +- Enhance manual faq, regression ... +- Make FreeBSD read sizes always be a multiple of 512. Needed + to read raw disks. +- Make FreeBSD accept block AND character devices for raw + disk reads. On FreeBSD there are no block devices. +27Sep03 +- Fix printing of EndTime on job report after rescheduling. +- Fix jobq.c error returns to clean up before returning. +- Make Cleaning tape aware of "unlabeled" volumes. +- If a job is rescheduled, ensure that old job is + removed from SD's jcr queue -- i.e. it is still waiting + for FD connection. +- Test rescheduling code. +- Change ./configure to detect Cygwin enviornments. + +2003-09-26 Version 1.32 26Sep03 Beta +- Add regression and GUI-interface chapters to the manual. +- Fix "label" of a volume that is already in the catalog, + but not yet labeled. +- Correct the test for spooling attributes which was backward. + This caused the creation of a spool file in the working + directory for every job run. +- Print to the job output stream when block checksum errors + occur, but continue processing. If more than one occurs, + print number at end of job. +- Remove a few unneeded tests from configure.in +- Modify configure to use -pthread on FreeBSD 4.8, + but nothing on FreeBSD 5.1 +- Clarify that bmicrosleep() takes sec and microsecs +- Apply Franc Carter's code to specify a DB host in + bscan. +- Fix sanity login length test in stored/dircmd.c +- remove old code fro stored/job.c +- Lots of work on regress so that it works on FreeBSD + and Solaris. +- Make the default gnome-console wider (console.c) +- Add \r to the items that terminate a token. + +2003-09-20 Version 1.32 20Sep03 Beta +- Replace a number strcpy() calls with bstrncpy(). +- Added code to ensure that the names for each resource + type are unique. Two resources of different types can + have the same name. +- More documentation +- Added new full length modifiers for time intervals. + Compatible with previous method EXCEPT a modifier is now + manditory. +- Completely restructured recycling. It should work now, but + in any case, the logic is much cleaner. A lot of new + code in next_vol.c +- Added a few pthread_xx_destroy() for items inited. +- Nic Bellamy pointed out that it wasn't necessary to do + destroy() of static initialized pthread variables -- fixed + watchdog. +- update VolStatus asked for the media and volume twice. +- Changed a few more strcpy() to bstrncpy(). +- Made VolBytes=1 as indicator that the Volume is labeled. +- Modified creation of Media record to include VolBytes, + same for sql_update - also set LabelDate if VolBytes = 1. +- Copy any statically linked programs to install directory. +- Change relabel flag to label in Update_media protocol Dir<->SD. +- Change a few strcpy to bstrncpy ... +- Update Media record after an automatic tape label. +- Added more debug code to bnet_server and bnet.c to attempt to + track down Alex's SD segfault (BSOCK==0) +- Add additional debug cod for authentication errors in cram-md5. +- Implement "list nextvol job=xx" and add Volume to Dir status. +- Retry waitpid if interrupted -- needed for FreeBSD! +- Move lex.c debug level to 900 +- Add new aliases SDAddress, ... +- Final changes for variable expansion +- Possible fix to Alex's SD crashes +- Correct incrementing counters not in catalog -- reported by + Chris Allen. +- Correct memory leak in core var.c code -- reported by + Chris Allen. +- Make documentation of variable substitution a bit clearer. +- Apply Nic Bellamy's patch to dbcheck.c to fix SQL to work + on both MySQL and SQLite. +- Finally fixed the .messages that was sent during prompts + in the console with no readline. +- Implement new Include/Exclude semantics. +- Fix a good number of segfaults reported by Chris Allen in + the variable expansion code. +- Print warning message if a job is blocked by user unmount. +- Fix additional variable expansion problem reported by Chris Allen. +- Fix pathconf() error status bug that caused a segfault on + a FreeBSD system -- reported by Gernot Hueber. +- Make sure the console sends ".messages" only when at the + command line prompt. +- Apply a patch from Nic Bellamy that corrects a file descriptor + leak in the Storage deamon when a job is canceled. (Thanks) +- Implement < and | in File daemon. +- Implement ClientRunBeforeJob and ClientRunAfterJob. +- Corrected BSRatEOF to be BSFatEOF in btape -- + reported by Lars Koller. +- Documented BSFatEof +- Eliminated save_level in FD replaced by JobLevel. +- Increased MAX_RES_ITEMS from 35 to 50 to handle + new ClientRunBeforeJob ... +- Add line number in error message for restore from file. +- Correct editing of jobids (misplaced comma). +- Implement restore files. +- Quickie patch to allow Purged Volumes to be mounted. + Must review algorithm. +- Eliminate a duplicated query from query.sql +- Restructure ua_restore.c so that I can add restore files. +- Correct positioning problem at beginning of a second volume + introduced with the new forward spacing code. +- Eliminated a sprintf() in the tree routines. +- Doc updates +- Added HOST_OS, DISTNAME, and DISTVER to the status output. +- Eliminated a few stray Dmsgn(000, messages making them either + debug_level 100, or Pmsg(). +- Made the default "Maximum File Size" 1Gbyte in SD. +- Cache path in tree.c to reduce calls to make_tree_path +- Documentation updates +- Implement forward space file and block when reading a bsr. +- Fixed a bug in db_find_next_volume() where the VolStatus was + not being returned. +- Rework some of the query.sql records that were incomplete. +- Fixed an ambigous SQL statement in restore. +- Fix proper sorting order in restore display last 20 jobs. +- Remove duplicate JobId's in feeding the directory tree. +- Fix an orphaned ua buffer due to a return that should have been + break so that cleanup code executed. +- Changed some strcats and sprintfs int bstrncat() ... to prevent + possible buffer overflows. +- Fix max file size code on tape so that after writing EOF, + an appropriate jobmedia record is created. +- Fix error messages in dev.c, which were copied into lots of + different subroutines without updating the text. +- Add reposition_dev(), and make more of the return statuses of + dev routine standard. +- Eliminate old semaphore and workq code. Keep only new jobq code. +- Try to get a better default size for the gnome-console +- Add code to avoid race conditions in starting/stoping the + heartbeat thread. +- Correct potential race condition in heartbeat_stop(). +- Correct segmentation fault in mysql.c if no password given. +- make pm_strcat and pm_strcpy return the string length +- Use Phil's code to get the unadorned job name. +- Move the MTIOCERRSTAT from just after a write() failure to + after writing the EOF marks on FreeBSD systems. +- Enhance packet too big error in bnet.c and add some + ASSERTs in the send code. +- Set heartbeat interval to zero by default. +- Add Recycle to list of Update Volume parameters. +- Use bget_dirmsg() wherever possible in Director. +- Split next_volume code from catreq.c to next_vol.c +- Consolidate editing job codes into a single routine. +- Add Job resource name +- Remove check for Win32 attributes in bls. It doesn't + need to read them, only print ls -l. +- Add SDConnectTimeout in FD. +- Add Scott's perlgui directory +- Upgrade from RH7.3 to RH9. New autoconf. +- Eliminate gnome2-console directory. +- Correct English in status command. +- Eliminate old shell expansion code and use BPIPE to call shell + with echo command. +- Documentation as usual. +- Add a new bacula.spec for Mandrake +- Add ownership to alist items. Default the list owns the items. +- Make record_cb return a status (preparation for internal use). +- Remove all clearing of remainder in read_record.c -- not necessary +- Write a tapetest program for FreeBSD end of tape testing. +- Modify read.c in Bacula to use read_record.c +- Implement multiple records in read_record.c. One for each session that + is open. Free the record with the EOS_LABEL is found (or at the + end of the scan). + +2003-08-02 Version 1.31a 02Aug03 Released +- Yifang Dai reported a case where he stress tested Bacula and + backed up to four volumes, but only two were selected for the + restore. This is because I forgot that the selection could + span a volume entirely. +- Added a missing CLIENT_FOUND_ROWS to the second attempt to open + the MySQL database -- this prevents UPDATE errors if nothing + actually changed. +- Applied corrections to the manual supplied by Bob Collins. Many thanks! + +2003-07-30 Version 1.31 Beta 30Jul03 +- Integrated Robert Mathews improved description of Priorities into + the manual. +- Chased down the "The data is not valid" bug on WinMe/98/95. +- Found an orphaned buffer in the set_attributs part of WinMe/98/95. +- Add sleep(1) to console when it gets a SIGTSTP signal + to prevent it from using 100% of the CPU. +- Improve description of Priorities. +- Add a bit more documentation to jobq.c +- Complete hash table routine htable.c htable.h +- Change M_INFO to M_ERROR in attribs.c for Windows errors. + +2003-07-23 Version 1.31 Beta 22Jul03 +- Apply a patch from Nic Bellamy that clarifies the error messages + during recycling volumes. +- Documentation. +- Clear VolCatInfo in askdir.c so that readbytes is zeroed. +- Add SD statistics to backup report. +- Removed old workq code. +- Fixed rescheduling after error. +- Fixed delayed starts which were not working. +- Added priority to values that can change when starting + a job. +- Complete implementation of new job scheduler. jobq.h jobq.c + This code is turned off unless specifically enabled in src/version.h +- Integrate code from Nic Bellamy to check for recycled volume in + mount.c in SD. +- Fix a couple of bugs in dlist.c +- Begin implementation of new job scheduler. +- Take serial.h provided by David Craigon, which corrects differences in + prototypes between serial.h and serial.c. +- Make db_get_media_ids() return Media Ids only for the current pool. +- Add new jobq.h and jobq.c drived from workq. +- Add JobPriority to jcr, and Priority to Job resource as well as + to the run line in a Schedule. +- Remove unused pool record from autoprune.c. +- Implement Nic Bellamy's RecycleCurrentVolume. +- Implement RecycleOldestVolume. +- Begin adding new JOB_QUEUE code to the Director. +- Create a single routine recycle_volume(). +- Retry accept(), bind() and socket() if EINTR occurs. +- Implement insert_before(), insert_after(), and empty() for dlist class. + Also require offset to be given by giving item and link address. +- Make error some messages in smtp.c a bit more explicit. + +2003-07-12 Version 1.31 Beta 14Jul03 +- Marc Brueckner reported a crash during restore (a missing tree->) +- Moved host.h.in file from filed to src. +- Update btraceback to include host os, distname, distver in output. +- Split list (in lib) into alist and dlist both with .h and .c. +- Update home page to include Project status page. + +2003-07-12 Version 1.31 Beta 10Jul03 +- Manual updates. +- Clean up some unused variables detected by the IRIX compiler. +- Test two directories on Win32 -- caused a crash. I forgot + to NULL the uid cache pointer after releasing it. +- Use bstrncpy() instead of strcpy() in find_files. +- Clear a few linked lists in the temp directory packed in find_one.c +- Eliminate an unnecessary variable in attr.c +- Clear the cache pointer after release in idcache.c +- Implement a new C++ doubly linked list class. + +2003-07-08 Version 1.31 Beta 08Jul03 +- Update document for Win32 stuff. +- Ensure VolStatus value for update is permitted. +- Fix cached_path so that it is local to the jcr, otherwise, there + are problems from job to job. +- Fixed idcache.c which was not thread safe and didn't release memory, + and didn't always edit the userid correctly. +- Correct missing pool memory allocation in update voluseduration. +- Release mutex in pool_mem.c before triggering ASSERT. +- Lock database while recycling. +- Fix a bug in editing since where I forgot to update to the new size. +- Implement all the command line update arguments. +- Modify label to use volume=xxx for the new volume and oldvolume=yyy + if doing a relable. +- Added yes to run command line arguments. +- Clear errno in editing a string to utime. +- In restore print only volumes that will actually be used. +- Fix bextract -- add appropriate breaks in new case code. +- Add a new test -- bsr-opt-test for testing bsr optimization. As usual, + it pointed out a bug where the directory tree handling code destroyed + the restore arg list. +- Many updates to the manual. +- Pass prefix links flag to FD. +- Sort list of commands for Console +- Set default FD and SD concurrent jobs to 10. +- Rework the find next volume code in catreq.c to correct some minor + but subtle logic errors and to eliminate a goto. +- Did spell check on manual. +- Removed bindtextdomain() as it conflicted with RH8.0 headers +- Fixed parse_args to pass address of POOLMEM struct. +- Constrain FileIndexes written to BSR to be within range of Volume. +- Suppress writing volumes to BSR if they are not actually referenced. +- Make FOPTS use alist for match and base entries. +- Pass prefix_links to SD. +- Add command line interface to most items in "update volume=xxx" +- Add command line interface to restore "jobid", "current", "before", "all". +- Add command line "yes" to run command to supress prompt. +- In new alist code, free only if allocated. +- Overload [] with get() code for alist. +- Fixed the code that wrote FirstIndex and LastIndex to the database. It + was not correct at the end of a volume (basically included indexes in + the second volume). +- Fixed bscan to work with the new code and to properly build JobMedia + records. +- Added code to the read end of block.c to properly track Volume bytes, + blocks, and files. I thought this was not necessary, but it is critical + for bscan to work correctly. +- Modified read_record to properly track First/LastIndex -- needed by + bscan. +- Eliminated some old Volume write code. +- Changed RecycleOldestVolume to PurgeOldestVolume +- Added what I hope are the "final" touches for Win32 stuff. There + are still a lot of annoying little problems. +- Added the "portable=yes/no" option to Include. If set, it disables + use of BackupRead/Write for Win32, so in principle, the data should + be portable. +- Pulled in more recent config.sub and config.guess from /usr/share/libtool +- Replaced the system fgets() by a Bacula version that ignores + interrupts (i.e. signals). This truncated output from child processes. +- Make file_index int32_t everywhere. +- Moved LinkFI into ATTR structure. Also integrated data_stream there too. +- Moved code that sets the stream for writing into create_file. +- Removed a signal(SIG_IGN, SIGCHLD) from dird.c that prevented getting + the status of child processes. This allowed removing the FreeBSD + kludge to bpipe.c -- the status is now obtained correctly. +- Hand scan the stream header that arrives in append.c to avoid machine + dependencies of sscanf(). +- Implemented code to put Data stream in Attributes record. +- Check if data stream is supported, if not, ignore. +- Fix crash when multiple Includes are given (missing parens). +- Clear WroteVol in askdir.c when JobMedia record is created. +- Implement simple array list class for use in Bacula. New files + are lib/list.c lib/list.h. Probably will not use until version 1.32. + +2003-06-24 Version 1.31 Beta 22Jun03 +- Change Purging Oldest Volume message to Recycling Oldest Volume. +- Limit results from find_oldest_volume to one. +- Fix possible buffer overrun in the restore tree handling routines. +- Fixed a crash in VerifyToVolume because I moved the close_db() + down into the free_ua_context() and should not have done so. +- At a "var" command in the Console that does variable expansion and + prints it. +- Implement first cut of estimate command. +- Change find_next_volume() for oldest to use LastWritten instead of + FirstWritten -- also add Append to volumes slected. +- Do normal recycling before checking for RecycleOldestVolume. +- Implemented block rejection on read. This should make restores run + much faster. Next release will have block positioning -- even faster. +- Very preliminary support for Gnome-2.0. Text does not yet work. +- Correct buffer corruption in find_one.c with long directory names (Win32). +- Make setting owner on directories M_ERROR rather than M_WARNING. +- Fix printing of JobId in run listing for restore job. +- Reduce heartbeat read check interval to every 10 seconds on Cygwin because + there is no working pthread_kill(). +- I finally designed a test for multiple simultaneous jobs, + and sure enough it broke when the jobs are split over multiple + volumes. Now fixed and working! +- Eliminated a few "duplicate" error messages by testing for canceled. +- Add ASSERT for device use count going negative. +- Fix BlockNumber checking in stored/read.c (got first one wrong). +- If socket is timed out, do a shutdown(fd,2) instead of close(). +- Fixed return status from SD to FD by setting JobStatus in append_end() +- Add arrays to Environment variables. Elements separated by |. +- Implement Reschedule On Error, Reschedule Interval, Reschedule Times. +- Add a new pool PM_NAME -- gets a name length buffer. +- Implement fast cancel of FD blocked on writing to SD by using + pthread_cancel(). Turned off on Cygwin due to bug. +- Add code to handle EAGAIN in writing (probably not necessary). Use + select(). +- Eliminate size_t from pool control buffers. +- Complete Counter resource. +- Complete LabelFormat (except for WrapCounter) plus counter + inrementation. +- This needs a database change to eliminate PoolId from counters. +- Made a more compact format for the document index. +- Add Phil's checkhost to examples directory (thanks Phil). +- Implement generalized LabelFormat (documentation to come). +- Implement Counter resource. +- Cleanup examples/kernsconfig +- Implement restore to a specific date. +- Fixed a but in automatic labeling (and use durations expiring) analysed + and reported by Rob Proffitt (thanks!). +- Cleaned up a few Cygwin compile problems. +- Made a 10Jun03 release (it is in production here) +- Finally took the big plunge and fixed restoration of links and other + files that have been changed between the backup and restore. Basically + if the file exists, it is deleted, then re-created. +- Purge only Volumes marked Append, Full, Used, or Error. +- Allow pruning of volumes marked Append, in addition to Full and Used. + + +2003-06-10 Version 1.31 Beta 10Jun03 +- Eliminated all plain email addresses and replaced them with " at " in + place of @ to reduce havesting by spammers. Doc + Web Site. +- Started working on making POOLMEM a struct rather than a char. Lots of + work to do. +- Fixed bscan to handle -V option. +- Fixed bscan to handle two File volumes. +- Corrected a misplaced comma it get_fileset() in cats pointed out by bscan. +- Added two Volume bscan test to regression scripts -- write two volumes, + purge and delete everything, bscan the tapes, and do a restore. It works! +- Reorganized the backup/restore code to move the attribute information into + an ATTR packet, which is passed in place of tons of arguments. Moved some + code into lib/attr.c and lib/attr.h. Then eliminated all the duplicate + attribute code. +- Moved FT_ types into baconfig.h. +- Defined FT_ types to use only 16 bits. The upper half of the word is + reserved for adding optional fields in the attributes packet. +- Moved jcr->where into common part of jcr and have it deleted in lib/jcr.c +- Put all attribute reading code on switch() with cases instead of a big + if (restore.c, bls.c, bextract.c, bscan.c, ...) +- set_attributes() now takes ATTR packet, and thus has much fewer args. +- moved print_ls_output() into lib/attr.c +- implemented is_stream_supported(). +- create_file() now takes ATTR packet so has many fewer args. +- add mtime_only code. +- Rewrote bnet.c read and write routines to quit if bsock->terminated is + set. This will allow setting non-blocking writes and then receiving + a termination message and terminating the Job immediately rather than + waiting 2 hours for the line to timeout. +- Put catalog db name in some error messages. +- Code for restore is now much cleaner, with much of it in lib/attr.c, + and it is now common for all readers. +- Add first cut of proper support for Win32 Backup code. +- Fix bug in restore Win95/98/Me. +- Pass mtime_only flag to FD. Needs config record. + 2003-06-04 Version 1.31 Beta 04Jun03 - Fix block.c to check errno only in case of return status -1 as suggested by Justin Gibbs (FreeBSD).