X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fkes-1.39;h=06aa058c641a6836419937e6132f2fa5177193ca;hb=287cbab0072a36c5393cc884d3043392734343a4;hp=5da536694b337f2ff8f3018d6a8b5e6d23ebbf3b;hpb=d80239d6233f0a35e25da93aea23af2ceb5b3ed5;p=bacula%2Fbacula diff --git a/bacula/kes-1.39 b/bacula/kes-1.39 index 5da536694b..06aa058c64 100644 --- a/bacula/kes-1.39 +++ b/bacula/kes-1.39 @@ -2,6 +2,488 @@ 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 +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 @@ -130,7 +612,7 @@ Changes to 1.39.5 - 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. @@ -413,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.