]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
Allow restore from stream device
[bacula/bacula] / bacula / ChangeLog
index cbd2c932295d098b9298dbd619bb2b3f38b06738..e9c2a77e65d8e2d63d336649e906dc71d4a8dd5a 100644 (file)
@@ -1,5 +1,323 @@
 
-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.