]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/kes-1.39
Add clean of BUILD directory.
[bacula/bacula] / bacula / kes-1.39
index 5f3add35036f05597f671dfa8a5a52aa93198a4d..06aa058c641a6836419937e6132f2fa5177193ca 100644 (file)
                         Kern Sibbald
 
 General:
+10Jul06
+- Add Enabled column to Location, correct some typos in DB schemas.
+- Correct bug I introduced into RunScripts enum.
+- Add log table to Catalog
+- Purge original job migrated if the migration terminates normally.
+- Cleanup purging of files/jobs so that it is done only in a 
+  single subroutine.
+- Add new VOLMGMT message class.
+- Add Catalog message destination (user conf code remains to be written).
+09Jul06
+- Modify read_record and friends to properly deal with migration      
+  needs.
+- Update debug code in read_record.    
+08Jul06
+  ======================= Warning ==========================
+  Separate read and write storage in Jobs in the Director. This
+  is a major rewrite of some of the low level code and hence has
+  a high probability of introducing bugs.
+  ==========================================================
 
+- Move the job init code up to *before* the job is put into
+  the job queue (resource allocation queue). This permits the
+  job to establish whether it will read or write or do both.
+- Add name() methods to all the resource classes.
+- Implement separate read and write storage resource 
+  allocation/deallocation in jobq.c
+
+  ======================= Warning ==========================
+  Implemented new method of getting the default Storage from the Media
+  record rather than from the MediaType for restore.  As a fall
+  back, if no Storage is defined, use the MediaType.  This
+  eliminates most all prompts if there are multiple MediaTypes
+  used. This is an important and fundamental change.
+  ==========================================================
+
+- Add more detail (Storage, Device) to list of volumes printed
+  for restore.
+- More code in migrate. In particular start multiple jobs if
+  migrating a volume.
+- Probably overkill, but ensure that the bsr is unique even within a 
+  job in FD and SD.
+- Rework bsys.c drop() so that it now should work as expected.
+- Update a bunch of old copyrights -- particularly in .h files.
+- Remove src/lib/bshm.c/h
+05Jul06
+- Migration fixes
+04Jul06
+  ======================= Warning ==========================
+     All hash codes in the database are now kept in world
+     compatible base64 format (no = filling). This means that
+     all FileSets will be updated and if you are running
+     verify jobs, you must do an InitCatalog.
+     Authentication uses the new algorithm, but should be
+     backward compatible with 1.38.x
+  ===========================================================
+
+- Modify the authentication routines so that the 1.39.15 Director
+  always runs with the compatible binary to base64 code (same as
+  the rest of the world).  It will however detect if an SD or
+  FD is running the old code and if that is the case, will use
+  the old algorithm for authentication.  However, all consoles must
+  use the compatible algorithm, and all data entered into the database
+  (all hash signatures, MD5, SHA1, ..., and all FileSet hashes) will
+  use the compatible algorithm.
+- Rename the cram_md5 routine names to be slightly more appropriate
+  to what they are doing (challenge and respond).
+- Robert committed his #ifdef and header cleanup.
+30Jun06
+- Fix a complier warning in files/backup.c
+- Cleanup NOT NULL vs DEFALT 0 in database creation.
+- Tweak btape.
+- Robert committed his low impact changes.
+- I removed a size_t from the jcr.h definition.
+- Update the tape regression scripts (still to be tested).
+- Add gcc and gcc-c++ requires to srm as suggested by a user.
+- Require done or quit to exit from in memory tree restore.
+26Jun06
+- Write install/uninstall of new manpages. There are now a
+  pile of man pages. Some of which need a lot of work.
+
+  ======================= Warning ==========================
+     The --mandir ./configure option now points to the top level
+     man directory.  The man files will be installed under
+     mandir/man8 and mandir/man1 as appropriate.
+  ==========================================================
+
+- Add complete text of GPL to LICENSE.
+- Implement job report that indicates where Storage and Pool
+  came from -- with overrides and Pool storage and NextPool,
+  it is all very complicated.
+- Create a few common subroutines for backup.c and migrate.c
+- Eliminate warning messages from tray-monitor.c
+25Jun06
+- Apply fix for scheduler for missing unlock_jobs().
+- Clean out autoconf caches before rebuilding configure
+- Fix the FreeBSD pthreads lib define updated by Dan.
+- Add missing semicolon in src/console/console.c
+- Add Robert's enhanced version of build-win32-cross-tools
+  as well as his patch file.
+- Note, the new gcc options are likely to break building of
+  wx-console or the tray-monitor ...
+24Jun06
+- Implement Robert's suggestion to suppress printing compile lines.
+- Detect GCC correctly (I hope)
+- If using GCC (actually g++) add the following compiler flags
+  -fno-strict-aliasing -fno-exceptions -fno-rtti
+
+  ===================== Warning =============================
+  Turn on new bsnprintf() code.  This could cause print output
+  to look different.
+  ===========================================================
+
+- Fix crypto when not using openssl. I previously overlooked this.
+- Eliminate crypto type punning problems by eliminating void * and
+  using uint8_t * instead.
+- Harden authentication failure in FD by single threading errors
+  and forcing a 6 second wait.
+
+  ===================== Warning =============================
+       Removed  "Accept Any Volume" directive.
+  ===========================================================
+
+- Major cleanup and simplification of regress using shell functions
+  (more tests to be converted to new format)   
+- Add detection of 64 bit Irix as indicated by user.
+- Increment catalog database id from 9 to 10.
+- Add a few of the new database fields to the various C++
+  structures.
+- Implement code to fill in the most important new fields (e.g.
+  Media Enable).
+- Ensure that most of the new fields are in create/get/insert/update.
+  More work to be done.
+22Jun06
+- Update some very old licenses in src/cats.
+- Modify the database format for handling Migration jobs:
+   Add PriorJobId, RealEndTime to Job table
+   Delete MAC table
+   Remove Stripe from JobMedia record (not used, wasting space)
+   Add ScratchPoolId, RecyclePoolId, Enabled to Media record
+   Add Cost to Location table.
+- Delete mac_record subroutines.
+- Add new table values to create/update/get routines as appropriate.
+- Update the update_tables and make_tables scripts.
+- Make a first cut in using a union where multiple pointers (actually
+  pointers to pointers) are stored.
+- Make some changes to base64.c suggested by Robert and others and add
+  a small amount of documentation.
+- Add some changes suggested by Peter for Solaris (bregex...)
+- Make runscript.h always built because it needs to be pulled into
+  more places.  In particular its RES was left out of a union.
+- Renumber the enum{} list in runscript.h to avoid starting from zero.
+  This makes it slightly easier to detect uninitialized variables.
+14Jun06
+- Remove xpg4 lib from FreeBSD build as it is no longer needed and
+  sometimes creates install problems.
+- Change a couple of %T in strftime to %H:%M:%S as seen in Robert
+  Nelson's code.  More to do.
+- Convert a few store_bit to store_bool in filed_conf.c.    
+- DVD tweak to block.c as supplied by Uwe Muessel.
+04Jun06
+- Modify configure.in to check for typeof().
+- In findlib/attribs.c use typeof instead of templates if possible.
+01Jun06
+- Implement partial error messages for src/filed/acl.c
+- Fix return code to fail when doing update barcodes and
+  Pool resource is not found. This previously caused Volumes
+  to be labeled as cleaning tapes.
+- Small updates to projects.
+27May06
+- Add Eric Bollengier patch for new RunScript directive. It breaks
+  compatibility between dird and fd.
+26May06
+- Prevent DVD code from rewriting label if the device cannot be
+  opened read/write.
+- Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to
+  fix Debian build bug.
+- Fix Dir/SD run race in migrate.c, verify.c, and restore.c
+- Integrate manpages contributed by Jose Luis.
+- Update projects file.
+- Add manpages Makefile.in to configure.in
+- Remove installation of bacula.8 in scripts directory.
+24May06
+- Implement patch submitted by cesarb in bug #606 to implement O_NOATIME
+  support.
+    O_NOATIME is a open() flag which makes it possible to read a file without
+    updating the inode atime (and also without the inode ctime update which
+    happens if you try to set the atime back to its previous value). It also
+    prevents a race condition when two programs are reading the same file, but
+    only one does not want to change the atime. It's most useful for backup
+    programs and file integrity checkers (and bacula can fit on both
+    categories).
+
+    Recent versions of the Linux kernel and glibc have support for it (the
+    glibc support being mostly copying the O_NOATIME definition to
+    bits/fcntl.h). If there's no support for it on the kernel, trying to use
+    it does nothing (since the kernel ignores unknown flags).
+
+    If the kernel has support for it, trying to use it either works, fails
+    silently (mostly in remote filesystems), or returns errno=EPERM (if you
+    are not either the owner of the file or root). A simple way to prevent the
+    failure is to open the file without the flag and set it later with
+    fcntl(F_SETFL), ignoring any EPERM errors.
+- Applied patch posted by Jaime Ventura to bug #570 to correct failure
+  of restarted jobs to complete (due to a destroyed pthreads conditional
+  variable used by the message thread).
+- Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
+  set to zero. 
+- Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
+- Apply patch from Rudolf Cejka bug #614 to removed trailing
+  colons in query.sql file.
+- Apply patch from Rudolf Cejka bug #613 to correct prunning of files
+  not to create orphans.
+- Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
+  in restore long listing.
+- Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
+  of incorrect MarkedId.
+- Apply patch from adioso bug #616 to correct text in manual (replace
+  Director with File daemon).
+- Rework a few of the zlib changes so that they build properly.
+
+21May06
+- Move DIR "run" command to SD before starting the message thread
+  as suggested by Cristopher Hull to avoid a race deadlock from
+  two threads using the bsock structure.
+- Modify LICENSE to correct some problems pointed out by Debian.
+05May06
+- Correct EOF with no \n lex.c problem.
+- Tweak compat.h compat.cpp and merge with apcupsd
+- Add additional INFO messages if autochanger cannot be used.
+
+02May06
+- Simplify Win32 Makefile
+- Correct count of buffers/bytes used by smartall.c
+- Updated compat.h after porting apcupsd to MinGW.
+01May06
+- Work on getting wx-console building on MinGW. wxWidgets now builds
+  started adding Makefile ...
+- Moved MinGW library objects to src/win32/lib to reduce clutter.
+30Apr06
+- Reloading a bad configuration file doesn't kill director any more.
+  Thanks to fix from Eric Bollengier.
+29Apr06
+- Fix problem of accents with new Win32 code.
+- Integrate Howard's VSS patch. Tweak it a bit. VSS now
+  works in the MinGW build with the exception that there
+  is a problem with accented characters -- i.e. there is
+  some mapping problem with wide characters.
+- The code no longer compiles with Microsoft VC++.
+28Apr06
+- Start implementing Christopher's St.Bernard code.
+- Add Christopher's mods for opening files.
+- Strip \r \n from Win32 error messages (Christopher)
+- Add more info about Win32 system if unknown (Christopher)
+- Use bstrn(cpy, cat) routines to avoid overrun in compat.cpp
+- Fix a number of incorrect strings marked for translation, when
+  they should not be (e.g. commands).
+- Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
+  Patches supplied by user in bugs #608 and #599.
+- Use most recent of st_ctime and st_mtime in restore tree DIR
+  listing. This fixes some problems with Win32 printing incorrect
+  values.
+- Correct the clock shift comm time calculation between the DIR
+  and the FD. It was added rather than subtracted.
+- Strip all backslashes in filenames to be restored on Win32
+  machines -- the names should all be in Unix format, and if
+  there are any backslashes it is most likely due to an improper
+  FileSet definition, and the files will not otherwise be 
+  restorable.
+- Remove lib/regex.c (replaced by bregex.c).
+- Delete src/win32/License.txt
+- Modify installer to install LICENSE
+26Apr06
+- Fix bug in build-win32-cross-tools script reported by Howard
+- Implement cross compiled bconsole
+25Apr06
+- Fix barcode test, eliminate BOOL (doesn't exist on Linux).
+- Write first cut of README.mingw32
+- Add back ua_label barcode fix from Rufolf Cejka.
+- Integrate the majority of the Mingw cross-tools submission
+  made by Howard Thomson. Everything compiles, with zlib, openssl,
+  and VSS turned off. Linking needs a pthreads library ...
+23Apr06
+- Add 'Dir Status' button to the gnome console.
+- More work on migration.
+- Restore non-compatible base64 coding to permit compatibility.
+- Display heap stats in Storage daemon without debug level.
+22Apr06
+- Integrate most of the MinGW changes -- more to do.
+21Apr06
+- Implement using pg_config for finding PostgreSQL files.
+  Fixes bug #600. Patch supplied by user.
+- Remove -t option from mktemp in mtx_changer.in and use
+  working directory. Fixes bug #578.
+- Update job start time after the any run before job so that
+  files created by the script are only backed up once. Fixes
+  bug #599.
+- Strip trailing newline only from filenames entered in
+  the restore command when reading a file. This permits
+  the user to enter filenames with trailing spaces. Fixes
+  bug #549. The user supplied a patch that I modified slightly.
+- Use the most recent time (st_mtime, st_ctime) in the dir
+  command in restore. This gives the user a better idea of what
+  the newest file really is. This fixes bug #574. The fix
+  was suggested by the user.
+- Implement a compatible version of base64. This permits external
+  programs to duplicate Bacula's base64 algorithm using standard
+  routines. This fixes bugs #296, and 565. Patch submitted by   
+  author of bug #565.  
+  ================= Note ========================
+  Previous Signatures stored in the database are no longer
+  compatible with this. The main downside is for Verify jobs,
+  and doing an InitCatalog run will fix the problem. Also, the
+  authentication between the deamons is changed, so all daemons
+  must be simultaneously upgraded.
+  ==============================================
+  If you don't like this fix, set:
+    const bool compatible = true;
+  to
+    const bool compatible = false;
+  in src/lib/base64.c
+20Apr06
+- Ensure that DB signature is never NULL.
+- Ensure that DB table names are not translated.
+- Fix scheduler to handle time skew (eg daylight savings).
+- Fix scheduler to use lock_jobs() to avoid most problems
+  with reload. Window is now milliseconds.
+19Apr06
+- Apply patch from Christopher Hull
+  - Allow multiple connections to database with different
+    parameters.
+  - Invalidate the scheduler when doing a reload. Fixes seg
+    fault, but still 60 second window.
+  - Additional info in Reschedule message.
+  - Use set_jcr_job_status() everywhere to prevent loss of
+    cancel, error.
+  - Display peer IP in FD if error from connecting DIR.
+  - Don't increment file count for DIRBEGIN.
+  - Replace illegal characters in Win32 filename by _.
+  - Add SE_CREATE_PERMANENT_NAME privilege in Win32.
+  - Hash hard link filenames rather than linked list.
+  - Fix for security failure in chdir on Win32.
+  - Add CreateDirectoryA/W win32 API entry points.
+- Add /silent option to Win32 FD for Install/Remove service.
+- Always print Heap statistics in FD.
+18Apr06
+- Remove the -f option from the chown in Makefile.in for more
+  portability.
+- Change setting the group in Makefile.in to use chgrp for
+  more portability.
+- Implement a write_store and read_store to replace
+  dirstore in reserve.c
+- Implement a Bacula read/write lock for Python rather
+  than using the Python lock to avoid recursive problems.
+- Correct the uninstall directory names in filed/Makefile.in
+  as reported by a user.
+17Apr06
+- Correct some problems with database creation (new tables).
+- Replace a bunch of old 0x%x by %p.
+- Get first cut of Migration with Job selection working.
+16Apr06
+- Change store_bit() to store_bool() for the Spooling in 
+  dird_conf.c -- bug reported by Robert Nelson.
+15Apr06
+- Correct Makefile bug found by Dan Langille.
+14Apr06
+- Correct Makefile for Solaris /bin/sh
+- Correct mtx-changer.in for Solaris /bin/sh
+- Abort if a conf resource does not have a Name =
+12Apr06
+- Change the name of the regex program to bregex.
+- Add the bwild program to the tools directory. It is similar
+  to the bregex program.
+- Implement create bregex.h and bregex.c in src/lib from the
+  Python regexp program.  
+- Use the new bregex.c to implement Regex expressions on Win32.
+11Apr06
+- More work on migration.
+- Implement wild program in tools directory for testing
+  wild-cards. Almost identical to the regex program.
+- Up port VSS single thread locking code.
+- Replace N_(..) by NT_(...) to inhibit translation of
+  commands.
+- Modify Makefile to change the permissions on Working Directory
+  to 770 if the directory is created.
+- Do not fail the Makefile if changing the permissions or 
+  owner/group on WorkingDir fails.
+- Remove early selection of Scratch Volumes in the recycling
+  algorithm.
+- Correct the old recycling algorithm so that Scratch Volumes
+  are selected when looking for a Volume in the changer.
+- Correct a typo in the Verify SQL reported by Joe Park.
+10Apr06
+- Remove automatic case folding on Windows FDs. You must
+  explictly use the 'Ignore Case = yes' option.
+- Remove the code added to 1.38.6 and 1.38.7 that pulls a
+  scratch volume in an Autochanger early in the 'recycling'
+  algorithm.  
+09Apr06
+- Make weof() and clrerror() methods of class DEVICE.
+08Apr06
+- Tweak license to include Microsoft restrictions.
+- Move mysql.reconnect to after real_connect().  Thanks to
+  Frank Sweetser for the patch.
+- Disallow a backslash in a File = directive (Windows junk)
+  unless the string is quoted.                     
+- Apply Eric's patch to ua_label.c so that daemon protocol
+  is not translated.
+- Add NT_ definition for strings that should not be translated.
+- Apply NT_() to ua_label.c
+
+- Remove timed wait for VSS on Win2K3 as it is not yet
+  implemented.
+- Correct bacula.in script to reference bacula-ctl-xx in the
+  sysconfig directory rather than the bin directory.
+26Mar06
+- Fix a long standing bug in the bacula start/stop scripts.
+- Attempt to add the new bacula-ctl-* files to the rpm.
+- Switch to using typeof() for list traversing to avoid
+  as many FC5 g++ compiler warnings as possible.
+25Mar06
+- Split the bacula start/start script into four files:
+   bacula         -- starts and stops calling other scripts
+   bacula-ctl-dir -- starts/stops the director
+   bacula-ctl-fd  -- starts/stops the File daemon
+   bacula-ctl-sd  -- starts/stops the Storage daemon
+24Mar06
+- Create datestyle fix for PostgreSQL. Fixes bug #574.
+- Correct editing of JobId from int to int64 in fd_cmds.c
+- Eliminate FileSet name race with bash_spaces() and multiple
+  threads by bashing in a local.
+- Fix error return from 'use storage' to print a correct error
+  message rather than nothing.
+- Correct false re-read last block error message when two jobs 
+  are simultaneously writing at the end of a tape.
+- Simplify exit conditions in the reserve.c code to avoid  
+  possible non-release of reservation_lock().
+- Suffle lock order in reserve to avoid deadlock between
+  reservation lock and device mutex.
+21Mar06
+- Initialize jcr mutex before first use. Thanks to Thorsten for
+  tracking this down for me !!!! as it broke the Win32 build.
+20Mar06
+- Integrate addition of line count limitation to bsmtp -l from
+  Sebastian Stark <stark at tuebingen.mpg.de>
+17Mar06
+- Implement regex test program in tools directory.
+- Attempt to fix time problem with bsmtp with foreign langs.
+- Add strip_trailing_newline() submitted by user.
+- Implement regex matching in migrate.c
+16Mar06
+- Fix bug #537 to allow arbitrary time to mount a volume for
+  restore, if polling is turned on.     
+- If dir_user or dir-group is specified in ./configure apply it to
+  the working-dir. Fixes bug #533.
+- If rescheduling a job cancel the previous incarnation with the SD.
+  Fixes bugs #566 and 557.
+- Fix bug #567 do_message() definition type conflict.
+
+14Mar06
+- Add more jcr methods and make mutex and use_count private.
+- Create lock/unlock methods for jcr.
+- Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
+  records to get to seek position.
+- Integrate patch from bug #561 to correct conio.c signal definitions.
+- Fix Rescheduling failed Jobs. Ensure that SD message thread 
+  terminates correctly by doing pthread_kill(). Do not destroy
+  SD cond wait variable between executions of the job. Use local
+  mutex for cond variable to avoid blocking jcr chain. Fix poor 
+  use of jcr use count in jobq.c for restarted jobs.
+- Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
+  lib/jcr.c -- prevents locking the jcr chaing.
+- Apply patch from bug #564, which corrects listing volumes with
+  multiple autochangers. Apply same fix to next volume list.
+- Fix bug #562 where restore bootstrap file is not unique.
+- More details in implementing David's migration syntax proposal.
+- Save and restore dcr when swapping drives so that if we have
+  a write dcr it is not lost.
+- Use new routine lock_reservations() to lock the reservations
+  system, and call it while looking for a volume in askdir.c.
+  This could possibly fix bug #543.
+- Stop SD command loop if job is canceled.
+
+08Mar06
+- Remove old code from findlib/create_file.c
+- Rename mac.c migrate.c
+- Add user friendly display of VolBytes in job report.
+- Rename target... to previous... to make it a bit easier to
+  understand.
+- Add selection type and selection pattern to Migration (idea
+  given by David Boyes). 
+
+04Mar06
+- The po files should now be current.
+- Fix new sql_use_result() code to properly release the
+  buffers in all cases.
+- Use the keyword ujobid to mean the unique job id; job or jobname
+  to mean the Job name given on the Name directive, and jobid to
+  be the numeric (non-unique) job id.
+- Allow listing by any of the above.
+- Add the user friendly job report code for reporting job elapsed time
+  and rates with suffexes from John Kodis <kodis at comcast.net>.
+- Add Priority and JobLevel as Python settable items.
+- Use TEMPORARY table creation where the table is created by
+  Bacula.
+- Add new code submitted by Eric for waiting on specific jobid.
+- Add ACL checking for the dot commands.
+- Fix restore of writable FIFOs.
+- Fix a bug in bpipe where the string was freed too early.
 27Feb06
 - Modify the Python class examples to inherit object -- new way
-  of defining classes. Patch from Felix Schwartz.
+  of defining classes. Patch from Felix Schwarz.
 - Implement jobuid to replace old usage of job in keywords as
   suggested by Eric Bollengier.
 - Apply patch for enhancing wait from Eric Bollengier. On can now:
@@ -15,11 +522,9 @@ General:
    wait job=job-name
 - Implement write variables for Python to set Priority (anytime), and
   Job Level, only during JobInit event.
-
 26Feb06
 - Fix the block listing bug pointed out by Arno.
 - Update the po files at Eric's request.
-
 24Feb06
 - Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to 
   accept time qualifiers.
@@ -101,12 +606,13 @@ Changes to 1.39.5
 - Move updating bootstrap code in backup.c to subroutine
   update_bootstrap_file().
 - Add new job status elapsed time and bytes written user
-  friendly job report output patch sent by a user.
+  friendly job report output patch sent by John Kodis
+  <kodis at comcast.ne>.
 - Implement a storage list in Pools.
 - Separate out setup_job() code from run_job().
 - Get migration working -- lots of changes in mac.c in both
   DIR and SD.
-- Apply patch from user (Eric Bollinger I think) that fixes a  
+- Apply patch from user (Eric Bollengier I think) that fixes a  
   DIR crash when no arguments are supplied to a dot command.
 - Fix typo (strcpy->strcmp) in ua_prune.c as reported by Martin.
 - Fix command arg name->volume in label command of gnome-console.
@@ -389,9 +895,9 @@ Changes to 1.39.0:
 - Fix copyright date and URL typo -- bug #468.
 - Change autostart install for FreeBSD to look for rc.conf  
   rather than rc.local as suggested fix for bug #466.
-- Apply patch supplied by Eric Bollinger to fix PostgreSQL    
+- Apply patch supplied by Eric Bollengier to fix PostgreSQL    
   grant on status. Bug #465
-- Apply patch supplied by Eric Bollinger to fix PostgreSQL
+- Apply patch supplied by Eric Bollengier to fix PostgreSQL
   update script. Bug #464
 - Tweak #ifdefing a bit in new Win32 stream code.
 - Fix #ifdeffing for FD_NO_SEND_TEST.