]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/ChangeLog
Server address binding + bscan updates -- see kes25Sep02
[bacula/bacula] / bacula / ChangeLog
index 58e869fd75260b722ee0105c7f8aae0c5df2e12b..9dafa5c9e60635eccdbdb3f5011094e544b71c55 100644 (file)
@@ -1,4 +1,342 @@
-2002-mm-dd Release 1.23
+
+2002-xx-xx Version 1.26 (xxOct02)
+General: From kes25Sep02
+- Added means to bind servers to specific address.
+- Documentation
+
+Changes submitted this submission:
+- Added DirAddress, FDAddress, and SDAddress records to the corresponding
+  resources that allow the server to bind to a specific address 
+  rather than any address.  This security improvement was suggested by
+  a user -- thank you.
+- Eliminated deprecated "Address" record from all sample Storage resources.
+- Made quite a lot of improvements to the bscan program. Much more
+  to do. Aside from details, it is able to recreate a database
+  from which you can do a restore.
+- The s option is not accepted on all versions of ar, so replaced it
+  by an explicit ranlib call.
+- Fixed a bug that caused the Director to crash if you rudely bring
+  down the console program in the middle of an SQL command.
+- Fixed a bug (missing break) that caused scheduled Admin jobs to
+  be listed as "Unknown type".
+- Removed old code from Storage daemon that used a separate FD port.
+
+General:  From kes14Sep02
+- Better key generation on non OpenSSL systems.
+- 64 bit file address support if available.
+- Implement autochanger for reading
+- Lots of cleanup of tape reading code.
+- Automatically create all Pool resources when Bacula starts.
+- Implement bscan.c
+- Implement autochanger use via the Console commands "add" and "label"
+- Begin implementation of a regression script 
+- Write bootstrap after ever job
+
+Changes submitted this submission:
+- After noticing that the non OpenSSL random key generator was
+  not good on Solaris, John wrote a very nice randpass generator.
+- Integrated John's makeSessionKey for generating the FD->SD
+  authorization.
+- Statically link tools (doesn't work on Solaris).
+- Document how to debug Bacula (new chapter in the manual)
+- Remove unneeded printing of error message in sql_get.c
+- Free SD description config record (previous oversight)
+- Bash spaces when sending Director names, and unbash them when 
+  received.
+- Ensure no divide by zero in rate computation in backup.c
+- Implement WriteBootstrap in backup.c
+- Allow tape reading to request volume information for any
+  volume.
+- Create all Pool resources at startup.
+- Show only Backup jobs in Restore listing of last 20 Jobs.
+- Handle 64 bit stat packets in restore.
+- Don't do shell expansion on store_dir in config if string 
+  starts with |.  This is used for piping the program for the
+  WriteBootstrap.
+- Ignore SIGHUP -- DéjàGnu was triggering this. 
+- Implement autochanger for reading, many changes to 
+  acquire_device_for_read()
+- Implement callback for reading Volume. Implement in bextract,
+  bls, and bscan.
+- Implement bscan
+- Add count to bsr.
+- Fix Volume in bsr.
+- Move autochanger code to new subroutine in mount.c
+
+
+2002-09-05 Version 1.25a (05Sep02) Released
+- Fix unitialized stack variable in bextract so it
+  will always read the currently mounted tape.
+
+2002-09-04 Version 1.25 (01Sep02) Released
+  General:
+- Added .cvsignore files in each directory to cut down on the
+  CVS output when scanning directories and finding Makefiles
+  and such which are not part of the CVS tree.
+
+  Changes submitted this submission:
+- Cleaned up a lot of the error messages in Verify, including
+  indenting.
+- Had to remove some of the "automatic" error message printing
+  in the DB because they are in fact things that come up 
+  for Verify but not really errors.
+
+
+  2002-08-30 Version 1.25 (30Aug02) Beta
+  From kes30Aug02
+- Fixed a bug where only the first file was restored if
+  it is hard linked. The other links were lost.
+- In some cases of restoring to alternate directories, softlinks
+  were not properly restored.
+
+  From kes28Aug02
+  General:
+- Bacula backups now run up to 12 times faster than version 1.24
+- Bacula can run multiple simultaneous Jobs.
+- Had to turn off TRANSACTIONS in SQLite because it doesn't work
+  with multiple simultaneous jobs (I'm working on this).
+- Added a better Job printout for Restore Jobs.
+- Added a save/restore Rate to backup and restore jobs. This
+  does not yet subtract out operator wait time so it will be
+  underestimated it the Job waits on the tape (mount/label).
+- Fixed a major bug caused by free()ing a buffer twice in
+  the Restore code. This made the SD more or less useless after
+  any restore Job. Arrggg!
+- DIR - SD protocol changed, both must be updated at the same time.
+- DIR - FD protocol changed in upward compatible way. Upgrade of   
+  FD not required, but recommended.
+
+  Changes submitted this submission:
+- Added bell to "make" when errors are detected.
+- Changed default compile option from -g to -g -O2
+- Additional documentation as usual -- much based on questions or
+  feedback from users. Thanks.
+- Fixed example config files to use new syntax and to have a 
+  Restore Job.
+- Define ETIME to ETIMEOUT for Irix
+- Added JCR filed to DB structure permitting direct printing error
+  messages from within the Database subroutines.
+  Some error messages may be printed twice as a consequence.
+  When I see them or someone reports them, I will remove the double.
+- Added JCR to the bsock structure. This allows direct printing
+  of network errors from within the network code.
+- Made most "trivial" debug messages have level 100 or greater. This
+  allows for easier debugging of new code using the range below 100.
+- Began replacing all Emsg() with Jmsg() using a NULL as the JCR in    
+  Jmsg() is the same as Emsg().
+- Fixed several crashes in the Director because of malformed config files.
+- Added SpoolAttributes to Job resource.
+- Pass CatalogFiles to SD. If set to no, the attributes are dropped 
+  within the SD rather than being sent to the DIR.
+- Cleaned up a number of information/error messages in user interface.
+  This includes eliminating the "pretty please" response in favor of
+  "yes/no" to delete volumes and pools.
+- Cleaned up quite a number of uninitialized variables reported when going
+  to -O2, most were harmless, but a couple could cause problems.
+- The cd command in restore was not working correctly (it didn't allow some
+  legal cds).
+- Fixed a segmentation violation in the directory tree handling code in 
+  the restore command.
+- Handle a few error conditions in the restore command better.
+- Permit "Where" to be set to nul in modification of a run command.
+- Clarified the error message for Verify if an InitCatalog has not previously
+  been done -- thanks Chuck.
+- Add MaximumConcurrentJobs to FD.
+- Added code to mem_pool to die if a buffer is released twice.
+- Lots of work done on SD for multiple simultaneous jobs. Split device.c
+  into device.c, mount.c and acquire.c
+- Started writing new lock code for SD, but may back it out -- needs more
+  thought. Current code works, but is too complicated. Maybe can simplify it.
+- Cleaned up the SD tools code quite a bit. Added bootstrap to all tools.
+- Ensure that tape session labels are not split across two blocks. This makes
+  reading them back much easier.
+- Fixed another restore bug concerning tape labels on multi-volume saves.
+
+=============================================================================
+2002-08-14 Version 1.24
+  From kes12Aug02
+- Made a new tools directory.
+- Moved smtp into the tools directory.
+- Created a dbcheck program in the tools directory that
+  checks for certain database errors and if requested fixes them.
+- Put the database link flags on DB_LIBS so that it now only is
+  on binaries that actually need it.
+- Document dbcheck and testfind programs.
+- Move testfind to tools directory.
+- Check for FileSet after getting Client name in Restore command.
+  Modify all necessary SQL commands to accept FileSetId.
+- Add a db_get_fileset_record in cats directory.
+- Correct list last 20 files concatenation to be MySQL 
+  dependent. They aren't SQL standard. Use SQL standard || for
+  other SQL programs.
+- Modify dir command in file selection to produce a long form
+  listing of the file/directory name.
+- Add platforms/irix/*.in files to CVS
+- Make Console command scanner accept quoted value fields.
+- If after selecting Client to restore, there are multiple
+  FileSets, ask user to select one.
+- After obtaining JobIds for restore, ensure that there is only
+  one MediaType, and select a Storage resource to be used.
+
+  From kes11Aug02
+- Made restore actually work.
+- Made console and gconsole be configured (requested by Chuck)
+- Updated kernstodo
+- changed fs in Job record to fileset for clarity
+- The console run command was not properly picking up the command
+  line arguments.  Fixed!
+- Changed add/remove/rm to mark/unmark
+- Volume keyword VolumeName was wrong, changed to Volume (in restore bsr).
+- Pass jcr to parse_bsr, and if non-NULL, it will output error messages
+  to Job stream rather than Emsg.
+- Modified lexical scanner to include caller context so that jcr can
+  be stored in lex context allowing error messages to be properly 
+  routed.
+- Renamed the Job message chain to be jcr_msgs. This eliminated the      
+  previous confusion with the default value, now named jcr->messages.
+- Implemented multi-volume bsr records.    
+- Implemented pm_strcat() and pm_strcpy() to cat/add to memory pool
+  buffers in same way as strcat/strcpy, but expanding buffer.
+- Modified db_get_volume_names to handle arbitrarily long Volume list.
+
+  From kes07Aug02
+- If the Console program terminated during the printing of messages,
+  the message file was left locked. This was corrected by using the
+  new read-write lock code.  
+- Implemented Pw() and Vw() for obtaining and releasing a write lock
+  using the rwl_xxx routines.
+- Deleted some old pthread_mutex code from mysql.c
+- In making the Irix port, I previously corrected the base64 routine so 
+  they were not sensitive to the machine definition of char. This made
+  them incompatible with previous versions invalidating MD5 signatures
+  which are in base64 format. I have now corrected this, making the
+  routines compatible with the previous version but also insensitive
+  to the default definition of char.
+- Removed some unnecessary NPRT() usage in signal.c (pointed out by
+  the Irix compiler).
+- Add back BNET_NONO for compatibility with older File daemons.
+- Implement runing a restore Job in the restore command.
+- Make installation of query.sql unconditional. To prevent you own file
+  from being overwritten, give it a different name.
+- Made parse_command_args() in ua take command from ua->cmd, this
+  simplifies it and allows usage in other places -- e.g. building
+  arguments for created run command in restore.
+- Cleaned the naming of s_full_ctx to be s_jobids.
+- Write the bsr created in restore to "working-directory"/restore.bsr
+- Fix bugs in command line scanner in run command -- also some misplaced
+  breaks!
+- Eliminate static cmd in ua_server.c
+- Eliminate segmentation fault when using the Run command in the
+  Console -- forgot to init_msgs().
+
+  From kes06Aug02
+- Did a good amount of documentation.
+- Added sql_cmds.c to CVS, forgot, pointed out by Chuck.
+- Added new platforms/irix directory to CVS
+- Turn off transaction debug code in sql.c
+- Reworked the scheduler so that it handles the same Job starting
+  twice in the same hour. Previously it took one or the other.
+- Tightened up the "slop" in the timings that I programmed to ensure
+  that the same job isn't run twice or that no job was missed.
+- Increase the sleep time.
+- Used job_type_to_str() in status so that Admin jobs are correctly reported.
+- Add internationalization message chars to a number of routines
+  in util.c
+- Make the watchdog timer clear the mutex when it exits.
+- Some tweaks to the Restore command. It needs fixing when a Job spans
+  two or more volumes.
+
+  From kes05Aug02
+- Initial cut at adding Irix File daemon support.
+- Lots of work on the restore command.
+- Take a stab at eliminating the "broken pipe message"
+  when the console program prematurely terminates.
+- Reimplemented transactions for SQLite by keeping
+  them all in the same thread.
+- quit in the Console program now waits for Bacula to
+  quit. To immediately quit, you must enter .quit
+- Eliminated BNET_EOF -- this COULD have some negative consequences
+  on interdaemon communications.
+- Define Job termination status for Admin jobs.
+- Write new bstrncpy() function that guarantees that strcpy is
+  properly terminated.
+- Fixed command input in ua_input.c to accept quoted items as a
+  single field. 
+
+  From kes01Aug02
+- The changes that added indexes to the SQLite database were
+  lost -- thanks to Chuck for pointing this out. Redone.
+- Fixed a problem quoting strings in SQLite. This showed up
+  as database errors with files containing ' or " in the filename.
+- Implemente restore command -- still in progress.
+- Added indexes to all fields in SQLite that exist in MySQL.
+- Moved unused immortal files from src/lib to src/immortal.
+  This will permit splitting depkgs.
+- Started work on adding embedded MySQL. Cannot get the tables
+  to work for the moment. Please don't try to use this option.
+- Convert to using single quotes for enclosing all strings.
+- Implement correct quoting algorithm for SQLite strings.
+  Is dequoting needed?
+- Started centralizing SQL statments in the Director in sql_cmds.c
+- Changed a number of M_ABORTs to M_ERROR_TERM so that program terminates
+  but does not produce a dump.
+- Allow wild-card matches in bsr for Client name, and Job.
+- Change OflineOnUnmount=no as default.
+- Fixed improper printing of filenames containing a space in bls.c
+  Thanks to Carlos for reporting this.
+
+===========================================================================
+2002-07-26 Release 1.23a
+- Fix segmentation fault is FD status.
+- Turn off TRANSACTIONs for SQLite.                        
+
+===========================================================================
+2002-07-23 Release 1.23
+  From kes22Jul02
+- Updated Bacula to handle some minor differences in MySQL 4.0.2
+  (still works with older MySQLs).
+- Updated MySQL documentation to correct some minor errors.
+- Added kernstodo to CVS
+- Fixed create_mysql_database, which I recently accidently broke.
+- Disallow zero length volume names in Console program.
+- Create alter_mysql_tables and alter_sqlite_tables for conversion
+  from 1.22 table format to 1.23 table format.
+
+  From kes20Jul02
+- Investigation of SQLite performace problems reported by Chuck.
+- Updated ChangeLog
+- Updated README
+- made root@localhost the default email address because many smtp
+  servers reject root but accept root@localhost
+- Added an autochangers chapter to the manual.
+- Documented most of the new features in 1.23
+- Modified the SQLite interface code to start a transaction at the
+  beginning of a job and commit it at the end of the job. It
+  also commits it after 10000 changes. Hopefully this will
+  improve performance.
+- Set the default cache pages from 2000 to 10000 for SQLite (i.e.
+  about 15Megs of memory) hoping to improve performance.
+- Terminate last filename referenced in FD prior to copy to
+  avoid race problem with multiple threads and no locking.
+- Enhanced the status output to include the JobType                
+- Print an error message if the email program terminates in error.
+- If your machine has an MTUNLOCK, do it before doing an OFFLINE to
+  ensure that the door is unlocked.
+- Added code to stored/append.c to spool attributes. This is in
+  a testing stage and must be explicitly enabled.
+- Added a no_attributes variable to stored/append.c that prevents
+  the attributes from being sent to the Director. As yet, no way
+  to turn it on.
+- Modified SQLite code so that after 10000 updates any transaction
+  is committed, then restarted. This keeps it from using too much
+  memory.
+- Set the default cache size to 10000 pages (previously 2000).
+- Fixed a segmentation fault on Sun due to no default value for
+  the JobStatus.
+- Added the same indexes to SQLite that I exist in MySQL. This
+  VASTLY reduces CPU usage for lots of inserts.
+- Added spooling to bnet_send().
+
   From kes18Jul02
 - The following two changes were prompted by questions/suggestions
   from A Morgan.
   by the user in the config file. OffLineOnUnmount in Device resource.
 - Implemented AutoChanger = yes/no in Device resource.
 
-
+===========================================================================
 2002-07-07 Release 1.22
 - All the basic Restore code to handle the boostrap file is
   now implemented with the exception of the Console Restore command.
 - Add first cut of bootstrap to bextract.
 - Added File Size limit -- writes EOF after limit exeeded.
 
+===========================================================================
 2002-06-12 Release 1.21
 - Fixed several problems with filenames being truncated if
   they contain spaces. Thanks to the user that reported this.
   code duplication that creeped in when I added different listing
   options. Also, changing tapes is now handled uniformily in a subroutine.
 
-
+===========================================================================
 2002-05-27 Release 1.20
 - Started documenting Catalog Pruning and Recycling.
   Added catmaintenance.html and recycling.html
 - Cleaned up most of sm_check() to be turned on/off by define
   in version.h
 
+===========================================================================
 2002-05-10 Release 1.19
 - Allow the user to select a new period for pruning.
 - Lots of additions to the manual -- prune and purge
   message resources. Much more work to be done.
 - Moved scanning for time into new library routine string_to_btime().
 
+===========================================================================
 2002-04-22 Release 1.18
 - Applied Phil's configure.in fix for --prefix, ...
 - Fixed bug found by Phil (patch supplied) in updating
 - Turn off gnome options in gnome-console by constructing empty
   argv.
 
+===========================================================================
 2002-04-18 Release 1.17 Kern Sibbald
 - Ensure that platforms Makefiles are called for clean  
   and distclean.
 - Made a local copy of tcpd.h and corrected the function 
   prototype problem for C++.
 
+===========================================================================
 2002-04-14 First public release 1.16 Kern Sibbald
  - Many intervening changes/updates.