-2002-mm-dd Version 1.27 (22Oct02) not yet released
+
+=============================================================================
+2003-01-05 Version 1.28b released
+- Corrected a typo of working_directory in bacula-dir.conf
+ reported by James MacLean.
+- Fixed the fact that path and filenames in some cases were not
+ being quoted before going into the database. Many thanks to
+ James MacLean for reporting this.
+
+=============================================================================
+2003-01-05 Version 1.28a released
+- Corrected a missing quote in bacula-dir.conf reported by James MacLean
+
+=============================================================================
+2003-01-05 Version 1.28 released
+General:
+- Implemented Bare Metal Recovery for Linux and manual procedures for Solaris
+- Now using only a single technotes file kes-1.28 and will add to
+ it as the development goes on.
+- Wrote a general purpose bi-directional pipe command. This replaces
+ previous use of pipes as well as the run_program previously used.
+- Make BSRs stop if no more matches are possible.
+- Allow unliminted number of devices in Storage daemon.
+- Allow connections to Storage daemon before all devices are initialized.
+- Better documentation (and btape test command) on using fixed block
+ tape drivers.
+
+Changes submitted this submission:
+04Jan03
+- Add cygreadline5.dll to Win32 release -- needed for console
+03Jan03
+- Add scripts make_catalog_backup and delete_catalog_backup that makes and
+ deletes an ASCII copy of the catalog for backup. An example of how
+ to use it is in the <bacula-src/src/dird/bacula-dir.conf file.
+- Made a nicer column oriented listing of scheduled jobs for "status dir".
+02Jan03
+- Added backup/restore of raw partitions.
+- Corrected restoration of files in root directory (problem with
+ splitting path from file).
+01Jan03
+- Finally decided to cleanup handling of splitting path and filenames
+ in the cats directory. Now the code is in one place sql.c and it
+ is done using Pool memory, so there are no length restrictions.
+31Dec02
+- Add start of Solaris bare metal recovery
+- Add Site Visit usage statistics to Web page
+- Got Bacula listed on www.backupcentral.com
+30Dec02
+- Retest bare metal recovery on Linux 2 times with verify
+- Cleanup printout of verify differences using proper casting to
+ handle shorts and long longs.
+29Dec02
+- Added --enable-client-only to ./configure
+- Modified --enable-static-sd to work better and documented it.
+- Fixed Restore options (never,ifnewer, ...). They now work.
+- Moved the stored.c Resource lock into the allocation thread so
+ that the same thread sets/clears it. This created a problem on
+ FreeBSD.
+28Dec02
+- Added more rescue documentation.
+- Did a spell check of the Bacula doc.
+- Modified bscan to use the working directory as specified in the
+ configuration file as the default.
+25Dec02
+- Fixed an important bug reported by George Motter that caused only
+ the last option on an Include record to be used (all previous options
+ were lost).
+24Dec02
+- Chase down some inconsistencies in creating Media records from
+ the Pool defaults, and in updating/creating the Pool from the
+ resource. Also fixed the cats DB routines to include all
+ fileds (VolUseDuration was missing for example).
+21Dec02
+- Added building static versions of daemon static-bacula-dir, ...
+- Fine tuned the rescue (bare metal) code including support for grub.
+- Added skeleton freebsd rescue
+- Corrected SQL syntax error in autoprune code (JobType => Type).
+- Added error messages for SQL errors in autopruning.
+19Dec02
+- Documented Bare Metal Recovery
+- Create new "rescue" directory containg the Bare Metal Recovery code.
+- Fiddle with SQL a bit for pruning as apparently the last InitCatalog
+ was pruned after the expiration date eventhough it was the ONLY copy!
+ I'm not sure this is fixed yet.
+18Dec02
+- Allow Director to pass a NUL where string to FD (fix in FD).
+- Fix installation mv of query.sql.
+- Make sure btraceback.gdb is not wiped on "make distclean"
+- Corrected a bug in mod of replace options pointed out by Dave Anderson.
+16Dec02
+- Started adding FileOptions ...
+- Fixed and incorrect print out of the number of files restored (Jarif).
+- Finally fixed EndBlock (and file address for Files) in catalog!
+- Added hostname to tape header as always planned.
+- Removed Level code (will not implement unless strong demand exists).
+- Tweaked bscan to print number of errors ignored before first SOS.
+- Enhanced btape "fill" to permit using one tape and to dump last
+ block before writing and upon read back.
+- Make fsf_dev() return 0 on fail and 1 on success.
+- Use new db_get_job_volume_parameters() to enhance Write Bootstrap to
+ contain more info (start/end file/block, file indexes).
+- Added --enable-static-fd, sd, and dir to configuration to enable making
+ static versions of the daemons.
+13Dec02
+- The btape test program was indicating errors on Adrian's machine
+ using the ATAPI (ide-scsi) tape drive. It turns out that this
+ is a fixed block driver as a consequence, Bacula must be setup
+ to write fixed blocks. btape was not always using the fixed
+ blocks defined in the Bacula config, so that has been updated.
+ It now works fine. A lot of tips added to the Bacula test command
+ to help guide the user.
+- Documentation of the above significantly improved in the manual.
+12Dec02
+- Added code in watchdog to permit setting and clearing child timers. If
+ the timer expires, the child process is killed.
+- Modified restore to handle differential jobs.
+- Added a new test to the btape "test" command
+09Dec02
+- More documentation of new features (week position in scheduler, bsr).
+- Re-read last block written on full tape to verify it.
+- Fix segmentation fault with btape fill command due to missing FileSet MD5.
+07Dec02
+- Created better SQL input editing routines str_to_int64 and str_to_uint64()
+- Pull Client from database in Console restore command.
+- Create a Unique list of Volumes to be mounted (previously had repeats).
+- Made many of the SQL searches better by using the ClientId rather than the name
+ in the restore Console command.
+- Modified reading of a tape to include the VolFile info. Once the
+ tape is past the specified file, reading stops. The BSR now includes
+ both the VolFile and VolBlock. Currently VolBlock is not used.
+- Handle multiple volumes better by creating a real volume list with all
+ parameters in it.
+- Display "At prompt waiting for input" in gnome console when at subcommand
+ prompt.
+- Broke ascii to internal and internal to string editing routines out into
+ new lib/edit.c file.
+02Dec02
+- Added a readme and an afs-bacula script to the examples directory
+ that permits Bacula to backup an AFS filesystem. Thanks to
+ Lucas Mingarro for the submission.
+- Added A Sun-desktop autoloader script and Device definition to the
+ examples/devices subdirectory. Thanks to Lucas Mingarro for the
+ submission.
+- If the WriteBootStrap fails, the job will now be marked in error.
+- Added a week position to the scheduler syntax that allows you to
+ specify 1st, 2nd, 3rd, 4th, or 4th, or first, ... fifth as a week
+ position specification in front of a day. So if you say
+
+ 1st sun ...
+
+ the scheduler will start only on the first sunday of the month. The
+ day specification can also be a day range e.g. sun-fri.
+ This code is untested.
+- Implemented bpipe.h and bpipe.c in src/lib, which defines a bi-directional
+ pipe. This allows executing other programs and sending them information
+ as well as getting info from them.
+- Replaced the previous pipe usage with bpipes in RunBeforeJob and
+ RunAfterJob.
+- The mail program now uses bpipes rather than pipes, which means that any
+ error output will appear in the job output (truly bi-directional).
+- Modified BSR to handle counts and to stop when no more matches are possible.
+ This is untested.
+- Improved error messages in smtp.
+
+=============================================================================
+2002-12-12 Version 1.27d
+- This is a minor update that fixes a segmentation fault in btape
+ as well as reduces non-important error messages in bscan.
+
+2002-11-29 Version 1.27c
+- Yet another silly error duplicating a column name in the SQLite
+ make tables. No code change, just a make file.
+
+2002-11-29 Version 1.27b
+- Set DB version to 5 in DB make files.
+
+2002-11-28 Version 1.27a
+- Use g++ instead of gcc for testfind in tools
+
+2002-11-27 Version 1.27 (26Nov02) released 28 November 2002
+
+General: from kes25Nov02
+- Mostly Cygwin changes
+
+Changes submitted this submission:
+- Updated bdb_find.c to have new calling sequence for db_find_job_start_time
+- dird/catreq.c edit in Volume name in error messages to SD
+- attribs.c switch to using the cygwin API to convert from POSIX paths
+ to Win32 paths. This now permits Win32 path specifications in Include
+ statements (all combinations not yet tested). It also avoids the large
+ number of errors seen by Lutz if a Win32 path is specified in the Dir.
+- Update testfind help and remove set_attribsEx debug code.
+- Build testfind as default.
+- Turn off debug message in stored/askdir.c
+
+General: from kes21Nov02
+- Another change in the database. You MUST either re-initialize
+ your database or use the appropriate ./alter_xxx_tables in
+ the src/cats directory.
+
+Changes submitted this submission:
+- Additional documentation.
+- Added MaxVolFiles to the database (not yet implemented in code).
+- Increased the database version from 3 to 4.
+- Change VolMaxBytes to MaxVolBytes, which is much more descriptive.
+- Compressed unnecessary spaces out of a lot of SQL statements.
+- Changed many %d to %u where unsigned integers are used.
+- Added the Bacula version and build date to each backup output.
+ This will help knowing what version of Bacula was used.
+- Implemented VolUseDuration MaxVolBytes, MaxVolFiles, and MaxVolJobs
+ based on maximums set in the Volume (Media) record rather than in the
+ resource. This means the values can be individually set on a Volume basis.
+- Allow commas separating Include options (this was a subtle bug).
+- Added maximum string length argments to a number of subroutines to
+ prevent buffer overflows. Most notably was do_prompt().
+- Replaced MANY occurrences of strcpy() with bstrncpy(), which guarantees
+ both that the length is not exceeded and that the string is properly terminated.
+ This has a risk of a certain destabilization -- as does the changes to
+ the SQL noted above.
+- In cram-md5 routine use my_name if gethostname() returns an error.
+- Increase timeout from 2 minutes to 3 minutes in authorization code.
+- Check the full string including \n in authorization.
+- Throw away any response longer than MAXSTRING.
+- Added a number of additional error checks on subroutine return statuses.
+- Replaced as many lld's with edit_uint64 as I could find.
+22Nov02:
+- Added MaxVolBytes to Pool record - had forgotten it. Updated DB version.
+23Nov02
+- Update manual to document new Pool/Volume attributes
+- Correct make_sqlite_tables (typo, plus missing value in Pool)
+- Fix bizarre behavior in gnome-console and console when auth fails.
+- Add Pool attribute query
+- Add a few more error messages in askdir.c
+- More strcpy() conversions to bstrncpy().
+
+General: from kes18Nov02
+- Did a number of cleanups of string copying to limit the length
+ and prevent buffer overflows.
+
+Changes submitted this submission:
+- Added a mutex arount the gethostbyname() so that multiple simultaneous
+ jobs get the correct address.
+- Added the MaxVolJobs to the Media alter tables script for MySQL (forgot it).
+- Changed arg to db_find_job_start_time to be POOLMEM for returning the string.
+- Add the new VolUseDuration and MaxVolJobs to all the db_ routines.
+- Use bstrncpy() in most places in the db_ routines to prevent a bad
+ database from crashing Bacula (self protection).
+
+General: from kes13Nov02
+- You MUST either re-initialize your databases or use the
+ ./alter_mysql_tables
+ or
+ ./alter_sqlite_tables
+ in the <bacula-src>/src/cats directory to modify your database tables.
+- Major improvements to dbcheck including an interactive mode.
+
+Changes submitted this submission:
+- Implemented VolumeUseDuration and MaximumVolumeJobs which control
+ when a tape can be marked Used.
+- New tape status "Used" means it was used and cannot be used any more.
+- Defined utime_t which is 64 bit epoch time in seconds. btime_t is
+ 64 bit epoch time in microseconds.
+- Created alter_xxx_tables to add new columns (VolUseDuration, MaxVolJobs) to
+ database. Incremented db version.
+- Changed a few subroutine names concerning dates to be more descriptive.
+- Fixed several places where the last filename was not stored in JCR in
+ FD verify_vol.c and restore.c
+- Major update to dbcheck. Unfortunately I used subselects, which work
+ perfectly fine in SQLite, but not at all in MySQL. I must now rework
+ it for MySQL. What a pain!
+- Removed "Database found" from configure output. It was no longer used or valid.
+- Corrected doc --working-dir => --with-working-dir Thanks to Tuck for
+ reporting this.
+- Added the database name to the error message for mismatched DB version.
+- Commented out GMP and CWEB from configure as they are not currently used.
+
+General: from kes09Nov02
+- Converted the manual over to a new format written in wml. This
+ gives navigation buttons on the top and bottom of each page
+ as well as a standard page size.
+- Updated the main Web site, providing a menu bar to the left
+ and much better organization and presentation of the information.
+- Added code to recognize a Volume written with a larger block
+ size than specified. The code automatically adjusts.
+
+Changes submitted this submission:
+- Created a new scripts directory and moved most of the scripts
+ previously in the main directory there. This cleans things up
+ quite a bit.
+- Moved the randpass stuff into autoconf.
+- ensure that the generic make_bacula_tables and drop_bacula_tables
+ are installed.
+- Added code to filed to allow it to be run from inetd. Just add the
+ -i option. I have not tested it.
+
+General: from kes30Oct02
+- Alex found a problem with GZIP compression -- fixed.
+- bacula stript fixes.
+- Segment fault in Director fixed.
+- Added openbsd to platforms
+
+Changes submitted this submission:
+- GZIP compression was broken for large files due to a variable that
+ is changed during the compression. This was relatively easy to fix.
+ However, there were a number of fixes required to make GZIP and SPARSE
+ files work together. Found one more place in bextract where SPARSE_GZIP
+ testing was missing.
+- During testing of the above, I ran into the restore problem of multiple
+ FileSet records. Fixed by including the FileSetId and the MD5 on the
+ selection string, then always using the FileSetId. It is a bit
+ confusing for the user, but ...
+- Francis found a problem with bacula.in (fixed - thanks)
+- I found another problem with bacula.in, so now it REALLY should work
+ on most systems.
+- Added the Replace options code for restores. Not tested.
+- Fixed an ugly stack overrun bug in reading the config file
+ that has been in for a long time. I found this in testing on FreeBSD
+ where the Director seg faulted.
+
General: from kes29Oct02
- Major change to the bnet communications routines.