- Technical notes on version 1.39
+ Technical notes on version 2.1
General:
-Version 1.39.20 Beta released:
-20Aug06
-kes Add -n option to bconsole to turn off conio.
-kes Print JobIds to be migrated in Job Report.
-kes Add additional user supplied notes to the messages part of
- bacula-dir.conf concerning multiple email addresses.
-kes Fix an incorrect comment pointed out by a user in dvd_handler.in
-kes Add more recent Feature requests to Projects file.
-19Aug06
-kes Apply Maritn's fix to src/win32/Makefile.
-kes Apply Martin's fix to configure.in for pthreads on FreeBSD 4.x
-kes Implement pruning for Migration and migrated jobs.
-kes Implement PoolOccupancy migration.
-kes Implement PoolTime migration.
-16Aug06
-kes If doing a mount, look for a slot, and if specified pass it to
- the SD so that it can load the autochanger.
-kes Return DVD=1 flag if a label command is done to a DVD. This
- permits setting VolParts to 1.
-kes Apply DVD patch from Richard Mortimer <richm@oldelvet.org.uk>, but
- rework ua_label code based on DVD media type to use DVD flag returned.
-15Aug06
-kes Eliminate some compile warnings in dird_conf.c
-kes Format the bytes field in the terminated jobs part of the status
- command for the three daemons with suffixes to reduce print size
- of backup bytes. Suggested by a user.
-kes When not descending into a directory, print the File= name that
- triggered it -- makes why not descending a bit clearer.
-kes Do not unload autochanger when doing a list command -- basic code
- from Eric Bollengier.
-07Aug06
-kes Fix bug #462 incorrect error message printed when client script called
- from File= was not found.
-kes Fix bug #558 (waiting for feedback) where Bacula needs too much time to
- do a rewind on Solaris when no tape is in the drive (Solaris does not
- have the detailed errno found on Linux). Added Solaris specific code.
- Note, this may apply to other OSes as well.
-06Aug06
-kes Defined BUILDING_CATS in src/cats/cats.h so that *nix builds.
-dsb Updated rpm spec for 1.39 - updatedb 9 to 10, add new man pages,
- fix bug 648 - update sqlite script patches, lock out gnome2console
- builds for platforms with gtk+ < 2.4.
- Updated build_rpm.sh - add remote source directory, add switch for
- signing, refine file names.
- Updated spec file again for Mandriva build as they have this curious
- custom of silently converting all manpages to bzip2 format just before
- the final packaging step.
-05Aug06
-rbn Fixed the Windows Makefiles so that they won't accidently try and
- pickup binaries for the Unix build. This allows both the Unix
- build and the Windows build to be built in the same tree without
- interfering with each other.
-rbn Fixed error handling and cleaned up mtx-changer.cmd.
-rbn Added the rest of the database scripts. These are installed but are
- not yet editted for variable replacement.
-rbn Broke out the cats functionality from bacula.dll and put into new
- separate dlls for each database type. At installation time the
- correct one is copied to bacula_cats.dll.
-rbn Eliminate the need to install the mysql.dll on client only builds.
-rbn Moved dird/sql_cmds.c into the cats directory so all the database
- specific #ifdefs were in the cats directory.
-rbn Added a new sql_cmds.h with all the declarations for the variables
- exported from sql_cmds.c.
-rbn Moved catalog_db[] from lib/message.c to a new routine db_get_type()
- which is implemented in bdb.c, mysql.c, postgresql.c and sqlite.c in
- src/cats.
-kes Correct improperly formated list command output reported by Dan.
-Version 1.39.18 Beta released:
-04Aug06
-kes Correct despool time calculation.
-03Aug06
-kes Remove previous changes to compat.cpp as they create problems.
-kes Use old style MD5 for FileSets to avoid Full saves on every Job.
-kes Attempt to fix problems with the msg_queue crashing on Solaris
- when Bacula is terminating, but problems remain.
-kes Add WIN32_VSS to HAVES in src/Makefile.inc.in to correct VSS
- name editing problems with too many \\?\es.
-kes Fix some Bacula source code stlye problems in compat.cpp.
-kes Add debug code to compat.cpp and convert non-Bacula debug code
- to Bacula style.
-02Aug06
-kes Change the name of the technical notes file from kes-1.39 to
- technotes-1.39. Prefix my messages with 'kes '.
-kes Allow dequeue_messages() to be called twice. Should fix bug
- # 649.
-kes Add Job type to bscan Job information output.
-01Aug06
-kes Update copyright date in program files, and for the most part
- put it on a #define.
-kes Implement %q in bsnprintf.c apparently I forgot it.
-31Jul06
-kes Make disk-changer sed command compatible with FreeBSD.
-kes Make a first cut at a ReleaseNotes and ChangeLog for a
- beta release.
-kes Make make clean decend into the src/win32 directory.
-kes Fix some #ifdefing so that Solaris and FreeBSD compile
- sys/stat.h was turned off.
-kes Use suffix editing for new transfer rate messages.
-kes Attempt to come up with a workaround which seems to be an OS
- bug where write() returns EBUSY. IMO this should not happen.
- It triggered in truncatebug test. The workaround retries using
- a 100 ms wait.
-kes Eliminate a strerror() call in a class method that failed with
- older C++ compilers.
-kes Use rm -rf rather than rmdir to delete the src/win32/release
- directory during make clean.
-30Jul06
-kes Make bscan ignore ACL streams.
-kes Update projects files with new Feature Requests.
-kes Generate current English and French manuals and upload
- them to the site.
-kes Update the home page to include the new British/French flags to
- switch between translations. Work done by Alexandre Baron.
-kes Make disk-changer script print an error message if the changer
- directory is not defined.
-kes Create a generic DB routine for getting an int (32/64 bit) from
- the DB.
-kes Add more migration code.
-kes Add a few more files to .cvsignore here and there.
-kes Minor fixes for SD write rate and despooling rate.
-kes Turn off new test code in src/console.c
-
-Version 1.39.18
-29Jul06
-kes Incremented the version number to signify that all of Robert's code
- for Win32 that was in the branch is now integrated into the HEAD,
- and that Eric has submitted code that we hope will provide limited
- backward compatibility with 1.38 file daemons (more testing to be
- done).
-kes I rationalized a few of the names of the variables (mainly jcr names)
- that are used during migration as keeping three different jcrs at the
- same time clear in one's head is not easy.
-
-Version 1.39.17
-28Jul06
-eb Tweak new runscript feature to work with 1.38.x FDs.
-eb Correct crypto.c to fix segfault when restoring an encrypted stream
- on fd which don't use rsa keys.
-eb Add yes/no english keywords on localised yes/no questions.
-27Jul06
-kes Several important commits from Robert Nelson for code cleanup and
- Win32 build.
-kes Modify console.c so that when conio is enabled, it converts \n to
- \n\r before outputting to the console. Hopefully this will fix
- the problems with expect in Perl that Eric saw.
-24Jul06
-kes Change cats/sql.c to elimate %-*s format, which I think is turned
- off in bsnprintf.
-kes Add Comment field to llist of a volume.
-kes Allow true/false in some yes/no questions.
-kes Implement update volume enable=(on|off|true|false|archived|0|1|2)
-kes Remove a few /n's when scanning commands from another daemon. This
- permits adding additional fields later.
-kes Modify dbcheck to handle ctl-d and to delete Log table entries.
-kes Update README.mingw
-22Jul06
-kes Tweak authentication to work with 1.38.x FDs.
-kes Tweak catalog make scripts.
-kes Fix catalog upgrade scripts so that they work.
-kes Correct despooling debug code to eliminate race condition.
-19Jul06
-kes Add additional fields as specified by Arno to LocationLog.
-kes Add comment field to the Media record.
-kes Add Time field to the Log record.
-kes Correct migration SQL (thanks to Bill Moran) so that it
- runs with PostgreSQL also.
-kes Add spooling/despooling info in status output of SD.
-17Jul06
-kes Spend a lot of time integrating mkcdrec with the rescue disk.
-kes Add VOLMGMT message class for volume management messages (none yet).
-kes Add CATALOG as a destination. It goes into the LOG table.
-kes Implement the Log table in the DB.
-kes Implement the Location Log table in the DB (for user use).
-kes At Eric's request add a run_scripts() just after blast_data in
- src/filed/job.c
-10Jul06
-kes Add Enabled column to Location, correct some typos in DB schemas.
-kes Correct bug I introduced into RunScripts enum.
-kes Add log table to Catalog
-kes Purge original job migrated if the migration terminates normally.
-kes Cleanup purging of files/jobs so that it is done only in a
- single subroutine.
-kes Add new VOLMGMT message class.
-kes Add Catalog message destination (user conf code remains to be written).
-09Jul06
-kes Modify read_record and friends to properly deal with migration
- needs.
-kes 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.
- ==========================================================
-
-kes 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.
-kes Add name() methods to all the resource classes.
-kes 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.
- ==========================================================
-
-kes Add more detail (Storage, Device) to list of volumes printed
- for restore.
-kes More code in migrate. In particular start multiple jobs if
- migrating a volume.
-kes Probably overkill, but ensure that the bsr is unique even within a
- job in FD and SD.
-kes Rework bsys.c drop() so that it now should work as expected.
-kes Update a bunch of old copyrights -kes particularly in .h files.
-kes Remove src/lib/bshm.c/h
-05Jul06
-kes 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
- ===========================================================
-
-kes 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.
-kes Rename the cram_md5 routine names to be slightly more appropriate
- to what they are doing (challenge and respond).
-kes Robert committed his #ifdef and header cleanup.
-30Jun06
-kes Fix a complier warning in files/backup.c
-kes Cleanup NOT NULL vs DEFALT 0 in database creation.
-kes Tweak btape.
-kes Robert committed his low impact changes.
-kes I removed a size_t from the jcr.h definition.
-kes Update the tape regression scripts (still to be tested).
-kes Add gcc and gcc-c++ requires to srm as suggested by a user.
-kes Require done or quit to exit from in memory tree restore.
-26Jun06
-kes 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.
- ==========================================================
-
-kes Add complete text of GPL to LICENSE.
-kes Implement job report that indicates where Storage and Pool
- came from -kes with overrides and Pool storage and NextPool,
- it is all very complicated.
-kes Create a few common subroutines for backup.c and migrate.c
-kes Eliminate warning messages from tray-monitor.c
-25Jun06
-kes Apply fix for scheduler for missing unlock_jobs().
-kes Clean out autoconf caches before rebuilding configure
-kes Fix the FreeBSD pthreads lib define updated by Dan.
-kes Add missing semicolon in src/console/console.c
-kes Add Robert's enhanced version of build-win32-cross-tools
- as well as his patch file.
-kes Note, the new gcc options are likely to break building of
- wx-console or the tray-monitor ...
-24Jun06
-kes Implement Robert's suggestion to suppress printing compile lines.
-kes Detect GCC correctly (I hope)
-kes 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.
- ===========================================================
-
-kes Fix crypto when not using openssl. I previously overlooked this.
-kes Eliminate crypto type punning problems by eliminating void * and
- using uint8_t * instead.
-kes Harden authentication failure in FD by single threading errors
- and forcing a 6 second wait.
-
- ===================== Warning =============================
- Removed "Accept Any Volume" directive.
- ===========================================================
-
-kes Major cleanup and simplification of regress using shell functions
- (more tests to be converted to new format)
-kes Add detection of 64 bit Irix as indicated by user.
-kes Increment catalog database id from 9 to 10.
-kes Add a few of the new database fields to the various C++
- structures.
-kes Implement code to fill in the most important new fields (e.g.
- Media Enable).
-kes Ensure that most of the new fields are in create/get/insert/update.
- More work to be done.
-22Jun06
-kes Update some very old licenses in src/cats.
-kes 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.
-kes Delete mac_record subroutines.
-kes Add new table values to create/update/get routines as appropriate.
-kes Update the update_tables and make_tables scripts.
-kes Make a first cut in using a union where multiple pointers (actually
- pointers to pointers) are stored.
-kes Make some changes to base64.c suggested by Robert and others and add
- a small amount of documentation.
-kes Add some changes suggested by Peter for Solaris (bregex...)
-kes Make runscript.h always built because it needs to be pulled into
- more places. In particular its RES was left out of a union.
-kes Renumber the enum{} list in runscript.h to avoid starting from zero.
- This makes it slightly easier to detect uninitialized variables.
-14Jun06
-kes Remove xpg4 lib from FreeBSD build as it is no longer needed and
- sometimes creates install problems.
-kes Change a couple of %T in strftime to %H:%M:%S as seen in Robert
- Nelson's code. More to do.
-kes Convert a few store_bit to store_bool in filed_conf.c.
-kes DVD tweak to block.c as supplied by Uwe Muessel.
-04Jun06
-kes Modify configure.in to check for typeof().
-kes In findlib/attribs.c use typeof instead of templates if possible.
-01Jun06
-kes Implement partial error messages for src/filed/acl.c
-kes 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.
-kes Small updates to projects.
-27May06
-kes Add Eric Bollengier patch for new RunScript directive. It breaks
- compatibility between dird and fd.
-26May06
-kes Prevent DVD code from rewriting label if the device cannot be
- opened read/write.
-kes Used __GNUC__ to detect GNU g++ as suggested by John Goerzen to
- fix Debian build bug.
-kes Fix Dir/SD run race in migrate.c, verify.c, and restore.c
-kes Integrate manpages contributed by Jose Luis.
-kes Update projects file.
-kes Add manpages Makefile.in to configure.in
-kes Remove installation of bacula.8 in scripts directory.
-24May06
-kes 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.
-kes 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).
-kes Fixed bug #619 where Bacula would not restart jobs with MaxRestartTimes
- set to zero.
-kes Apply patch from John Goerzen bug #611 to fix bad manual links in the code.
-kes Apply patch from Rudolf Cejka bug #614 to removed trailing
- colons in query.sql file.
-kes Apply patch from Rudolf Cejka bug #613 to correct prunning of files
- not to create orphans.
-kes Apply patch from Rudolf Cejka bug #617 to use mtime instead of ctime
- in restore long listing.
-kes Apply patch from Rudolf Cejka bug #609 to use MarkId in verify.c instead
- of incorrect MarkedId.
-kes Apply patch from adioso bug #616 to correct text in manual (replace
- Director with File daemon).
-kes Rework a few of the zlib changes so that they build properly.
-
-21May06
-kes 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.
-kes Modify LICENSE to correct some problems pointed out by Debian.
-05May06
-kes Correct EOF with no \n lex.c problem.
-kes Tweak compat.h compat.cpp and merge with apcupsd
-kes Add additional INFO messages if autochanger cannot be used.
-
-02May06
-kes Simplify Win32 Makefile
-kes Correct count of buffers/bytes used by smartall.c
-kes Updated compat.h after porting apcupsd to MinGW.
-01May06
-kes Work on getting wx-console building on MinGW. wxWidgets now builds
- started adding Makefile ...
-kes Moved MinGW library objects to src/win32/lib to reduce clutter.
-30Apr06
-kes Reloading a bad configuration file doesn't kill director any more.
- Thanks to fix from Eric Bollengier.
-29Apr06
-kes Fix problem of accents with new Win32 code.
-kes 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 -kes i.e. there is
- some mapping problem with wide characters.
-kes The code no longer compiles with Microsoft VC++.
-28Apr06
-kes Start implementing Christopher's St.Bernard code.
-kes Add Christopher's mods for opening files.
-kes Strip \r \n from Win32 error messages (Christopher)
-kes Add more info about Win32 system if unknown (Christopher)
-kes Use bstrn(cpy, cat) routines to avoid overrun in compat.cpp
-kes Fix a number of incorrect strings marked for translation, when
- they should not be (e.g. commands).
-kes Fix StartTime bug reported for ClientRunBeforeJob and RunBeforeJob
- Patches supplied by user in bugs #608 and #599.
-kes Use most recent of st_ctime and st_mtime in restore tree DIR
- listing. This fixes some problems with Win32 printing incorrect
- values.
-kes Correct the clock shift comm time calculation between the DIR
- and the FD. It was added rather than subtracted.
-kes Strip all backslashes in filenames to be restored on Win32
- machines -kes 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.
-kes Remove lib/regex.c (replaced by bregex.c).
-kes Delete src/win32/License.txt
-kes Modify installer to install LICENSE
-26Apr06
-kes Fix bug in build-win32-cross-tools script reported by Howard
-kes Implement cross compiled bconsole
-25Apr06
-kes Fix barcode test, eliminate BOOL (doesn't exist on Linux).
-kes Write first cut of README.mingw32
-kes Add back ua_label barcode fix from Rufolf Cejka.
-kes 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
-kes Add 'Dir Status' button to the gnome console.
-kes More work on migration.
-kes Restore non-compatible base64 coding to permit compatibility.
-kes Display heap stats in Storage daemon without debug level.
-22Apr06
-kes Integrate most of the MinGW changes -kes more to do.
-21Apr06
-kes Implement using pg_config for finding PostgreSQL files.
- Fixes bug #600. Patch supplied by user.
-kes Remove -t option from mktemp in mtx_changer.in and use
- working directory. Fixes bug #578.
-kes 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.
-kes 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.
-kes 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.
-kes 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
-kes Ensure that DB signature is never NULL.
-kes Ensure that DB table names are not translated.
-kes Fix scheduler to handle time skew (eg daylight savings).
-kes Fix scheduler to use lock_jobs() to avoid most problems
- with reload. Window is now milliseconds.
-19Apr06
-kes Apply patch from Christopher Hull
- kes Allow multiple connections to database with different
- parameters.
- kes Invalidate the scheduler when doing a reload. Fixes seg
- fault, but still 60 second window.
- kes Additional info in Reschedule message.
- kes Use set_jcr_job_status() everywhere to prevent loss of
- cancel, error.
- kes Display peer IP in FD if error from connecting DIR.
- kes Don't increment file count for DIRBEGIN.
- kes Replace illegal characters in Win32 filename by _.
- kes Add SE_CREATE_PERMANENT_NAME privilege in Win32.
- kes Hash hard link filenames rather than linked list.
- kes Fix for security failure in chdir on Win32.
- kes Add CreateDirectoryA/W win32 API entry points.
-kes Add /silent option to Win32 FD for Install/Remove service.
-kes Always print Heap statistics in FD.
-18Apr06
-kes Remove the -f option from the chown in Makefile.in for more
- portability.
-kes Change setting the group in Makefile.in to use chgrp for
- more portability.
-kes Implement a write_store and read_store to replace
- dirstore in reserve.c
-kes Implement a Bacula read/write lock for Python rather
- than using the Python lock to avoid recursive problems.
-kes Correct the uninstall directory names in filed/Makefile.in
- as reported by a user.
-17Apr06
-kes Correct some problems with database creation (new tables).
-kes Replace a bunch of old 0x%x by %p.
-kes Get first cut of Migration with Job selection working.
-16Apr06
-kes Change store_bit() to store_bool() for the Spooling in
- dird_conf.c -kes bug reported by Robert Nelson.
-15Apr06
-kes Correct Makefile bug found by Dan Langille.
-14Apr06
-kes Correct Makefile for Solaris /bin/sh
-kes Correct mtx-changer.in for Solaris /bin/sh
-kes Abort if a conf resource does not have a Name =
-12Apr06
-kes Change the name of the regex program to bregex.
-kes Add the bwild program to the tools directory. It is similar
- to the bregex program.
-kes Implement create bregex.h and bregex.c in src/lib from the
- Python regexp program.
-kes Use the new bregex.c to implement Regex expressions on Win32.
-11Apr06
-kes More work on migration.
-kes Implement wild program in tools directory for testing
- wild-cards. Almost identical to the regex program.
-kes Up port VSS single thread locking code.
-kes Replace N_(..) by NT_(...) to inhibit translation of
- commands.
-kes Modify Makefile to change the permissions on Working Directory
- to 770 if the directory is created.
-kes Do not fail the Makefile if changing the permissions or
- owner/group on WorkingDir fails.
-kes Remove early selection of Scratch Volumes in the recycling
- algorithm.
-kes Correct the old recycling algorithm so that Scratch Volumes
- are selected when looking for a Volume in the changer.
-kes Correct a typo in the Verify SQL reported by Joe Park.
-10Apr06
-kes Remove automatic case folding on Windows FDs. You must
- explictly use the 'Ignore Case = yes' option.
-kes 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
-kes Make weof() and clrerror() methods of class DEVICE.
-08Apr06
-kes Tweak license to include Microsoft restrictions.
-kes Move mysql.reconnect to after real_connect(). Thanks to
- Frank Sweetser for the patch.
-kes Disallow a backslash in a File = directive (Windows junk)
- unless the string is quoted.
-kes Apply Eric's patch to ua_label.c so that daemon protocol
- is not translated.
-kes Add NT_ definition for strings that should not be translated.
-kes Apply NT_() to ua_label.c
-kes Remove timed wait for VSS on Win2K3 as it is not yet
+08May07
+kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
+ the original jobb's FileSetId.
+kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
+ spooling in migration jobs. Not yet tested.
+kes Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
+ reading conf file from a pipe. However, do it with open_bpipe()
+ rather than popen. Not yet tested.
+07May07
+kes Fix an ugly bug where the VolCatBytes were getting updated
+ during a restore.
+kes Implement bconsole memory command that prints current memory
+ usage, plus smartalloc dump.
+kes Clarify some error messages in backup, admin, and migrate.
+kes Shrink label dialog to smaller size.
+kes Invert Cancel OK buttons on restore to be OK Cancel.
+kes More strerror() to bstrerror() conversions.
+06May07
+kes Start implementing bstrerror() in place of strerror().
+kes First cut at stripping path -- seems to work.
+04May07
+kes Prevent door and port files from being restored (mostly
+ Solaris stuff).
+kes Free an unreleased buffer in compat code.
+kes Change console Job name from *Console* to -Console- to eliminate
+ Win32 filename problems. Put Win32 path separator when creating
+ Console file. This fixes bug #846.
+kes Change berrno::strerror() to berrno::bstrerror(). Not yet full
implemented.
-kes Correct bacula.in script to reference bacula-ctl-xx in the
- sysconfig directory rather than the bin directory.
-26Mar06
-kes Fix a long standing bug in the bacula start/stop scripts.
-kes Attempt to add the new bacula-ctl-* files to the rpm.
-kes Switch to using typeof() for list traversing to avoid
- as many FC5 g++ compiler warnings as possible.
-25Mar06
-kes Split the bacula start/start script into four files:
- bacula -kes starts and stops calling other scripts
- bacula-ctl-dir -kes starts/stops the director
- bacula-ctl-fd -kes starts/stops the File daemon
- bacula-ctl-sd -kes starts/stops the Storage daemon
-24Mar06
-kes Create datestyle fix for PostgreSQL. Fixes bug #574.
-kes Correct editing of JobId from int to int64 in fd_cmds.c
-kes Eliminate FileSet name race with bash_spaces() and multiple
- threads by bashing in a local.
-kes Fix error return from 'use storage' to print a correct error
- message rather than nothing.
-kes Correct false re-read last block error message when two jobs
- are simultaneously writing at the end of a tape.
-kes Simplify exit conditions in the reserve.c code to avoid
- possible non-release of reservation_lock().
-kes Suffle lock order in reserve to avoid deadlock between
- reservation lock and device mutex.
-21Mar06
-kes Initialize jcr mutex before first use. Thanks to Thorsten for
- tracking this down for me !!!! as it broke the Win32 build.
-20Mar06
-kes Integrate addition of line count limitation to bsmtp -l from
- Sebastian Stark <stark at tuebingen.mpg.de>
-17Mar06
-kes Implement regex test program in tools directory.
-kes Attempt to fix time problem with bsmtp with foreign langs.
-kes Add strip_trailing_newline() submitted by user.
-kes Implement regex matching in migrate.c
-16Mar06
-kes Fix bug #537 to allow arbitrary time to mount a volume for
- restore, if polling is turned on.
-kes If dir_user or dir-group is specified in ./configure apply it to
- the working-dir. Fixes bug #533.
-kes If rescheduling a job cancel the previous incarnation with the SD.
- Fixes bugs #566 and 557.
-kes Fix bug #567 do_message() definition type conflict.
-
-14Mar06
-kes Add more jcr methods and make mutex and use_count private.
-kes Create lock/unlock methods for jcr.
-kes Fix PostgreSQL bug doing sql_data_seeek() by explicitly reading
- records to get to seek position.
-kes Integrate patch from bug #561 to correct conio.c signal definitions.
-kes 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.
-kes Fix obsolete usage of foreach_dlist() to use foreach_jcr() in
- lib/jcr.c -kes prevents locking the jcr chaing.
-kes Apply patch from bug #564, which corrects listing volumes with
- multiple autochangers. Apply same fix to next volume list.
-kes Fix bug #562 where restore bootstrap file is not unique.
-kes More details in implementing David's migration syntax proposal.
-kes Save and restore dcr when swapping drives so that if we have
- a write dcr it is not lost.
-kes 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.
-kes Stop SD command loop if job is canceled.
-
-08Mar06
-kes Remove old code from findlib/create_file.c
-kes Rename mac.c migrate.c
-kes Add user friendly display of VolBytes in job report.
-kes Rename target... to previous... to make it a bit easier to
- understand.
-kes Add selection type and selection pattern to Migration (idea
- given by David Boyes).
-
-04Mar06
-kes The po files should now be current.
-kes Fix new sql_use_result() code to properly release the
- buffers in all cases.
-kes 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.
-kes Allow listing by any of the above.
-kes Add the user friendly job report code for reporting job elapsed time
- and rates with suffexes from John Kodis <kodis at comcast.net>.
-kes Add Priority and JobLevel as Python settable items.
-kes Use TEMPORARY table creation where the table is created by
- Bacula.
-kes Add new code submitted by Eric for waiting on specific jobid.
-kes Add ACL checking for the dot commands.
-kes Fix restore of writable FIFOs.
-kes Fix a bug in bpipe where the string was freed too early.
-27Feb06
-kes Modify the Python class examples to inherit object -kes new way
- of defining classes. Patch from Felix Schwarz.
-kes Implement jobuid to replace old usage of job in keywords as
- suggested by Eric Bollengier.
-kes Apply patch for enhancing wait from Eric Bollengier. On can now:
- wait (wait for all jobs to stop)
- wait jobid=nn
- wait jobuid=unique id
- wait job=job-name
-kes Implement write variables for Python to set Priority (anytime), and
- Job Level, only during JobInit event.
-26Feb06
-kes Fix the block listing bug pointed out by Arno.
-kes Update the po files at Eric's request.
-24Feb06
-kes Fix Maximum Changer Wait, Maximum Open Wait, Maximum Rewind Wait to
- accept time qualifiers.
-kes Make catalog respect ACL.
-kes Add recycle count to Media record.
-
-Changes to 1.39.6-beta1 24Feb04
-23Feb06
-kes Add Rudolf Cejka's new rc-chio-changer.
-kes Implement pulling Volume from Scratch Pool if the
- Volume is in the autochanger.
-kes Implement additional command arguments for update Volume.
-
-Changes to 1.39.5
-22Feb06
-kes Back port changes to 1.38.5
-kes Fix recycle SQL for StorageId.
-kes Fix misplaced quote in mtx-changer script.
-20Feb06
-kes Note. Your database must be updated, or you must create
- a new database. I have not yet incremented the database level.
-kes Add Location table.
-kes Add LocationId, DeviceId, and MediaTypeId to Media record.
-18Feb06
-kes Implement create/get mac record in database for adding extended
- Migration data to the job record.
-kes Add new MAC table to update/make database scripts.
-kes Return Storage name used when getting VolumeNames for a job.
-kes Change bsr file keyword Storage to Device, which is more accurate.
-kes Ensure that Mac records are pruned/purged.
-kes Tweak SD tools to deal with changing media type.
-kes Integrate more dev.c subroutines as methods (e.g. strerror, bsr, ...)
-kes Pass pointer to dcr pointer to acquire_device_for_read() so
- that the subroutine can switch devices, and hence dcrs.
-kes Modify the multiple MediaType read code to re-use the same
- dcr when switching devices. This makes the code much more
- robust.
-kes Integrate patch from Karl Hakimian that reads JobIds, FileIndexes
- from a table for restore.
-kes Add Storage name to VolParams, but it really should be Device.
-14Feb06
-kes Add disk-changer to scripts directory + configure/Makefile
-kes Eliminate PoolId from jcr -kes it is in jcr->jr.PoolId
-kes Implement store_bit scanner to replace store_yesno. Mostly done.
-kes Implement new store_bool that stores in a bool.
-kes Add true/false to yes/no conf directives.
-kes Make first cut at changing appropriate store_yesno to store_bool.
-kes Complete implementation of Pool storage devices.
-kes Move starting clones to job.c
-kes Move create_restore_bootstrap_file() to job.c
-kes Make copy_storage() more general to be able to handle
- Pool storage.
-kes Cleanup a lot of migration code for manual running, including
- using Pool storage.
-kes Move getting a scratch Volume into a subroutine.
-kes Make all places a Volume that is added to a pool to
- respect max vols.
-kes Fix bug in autochanger recycle code (improper edit 64 bit).
-kes Fix segfault in restore command when no value specified.
-kes Start adding code to handle multiple MediaTypes in restore.
-kes Eliminate race condition in getting Volume name for
- two drive autochanger.
-kes More debug code in autochanger.
-kes Add storage keyword to bootstrap file, add parsing.
-kes Move slot in bsr file into Volume record as there will be
- a different slot for each Volume.
-kes Create reserve.h
-07Feb06
-kes Implement Pool storage overrides.
-06Feb06
-kes Implement first cut of Migration.
-kes Implement mysql_use_result() from patch by Karl Hakimian.
- This reduces significantly the memory consumption during
- the restore tree building, and hence runs faster too.
-kes Implement StorageId patch supplied by user (reggie) in bug
- #536. This should permit Bacula to work correctly with two
- autochangers.
-kes Implement Job listing variations suggested by a user.
-kes Move updating bootstrap code in backup.c to subroutine
- update_bootstrap_file().
-kes Add new job status elapsed time and bytes written user
- friendly job report output patch sent by John Kodis
- <kodis at comcast.ne>.
-kes Implement a storage list in Pools.
-kes Separate out setup_job() code from run_job().
-kes Get migration working -kes lots of changes in mac.c in both
- DIR and SD.
-kes Apply patch from user (Eric Bollengier I think) that fixes a
- DIR crash when no arguments are supplied to a dot command.
-kes Fix typo (strcpy->strcmp) in ua_prune.c as reported by Martin.
-kes Fix command arg name->volume in label command of gnome-console.
-kes Fix SD acquire.c to release correct DCR by explicitly testing
- on the dcr address rather than trying to devine if it is a read
- or write dcr. This failed in error conditions when the device was
- not fully setup.
-
-30Jan06
-kes Apply user supplied patch for more readable rate output
- in job report.
-kes Continue implementing migration.
-kes Implement support for removable filesystems in SD.
-kes Ensure that btraceback scripts can be read by anyone.
-kes Replace dvd-freespace and dvd-writepart by dvd-handler.
-kes Correct bug where canceling restore before the FD contacts
- the SD causes the drive to be left in read mode.
-kes Move ofline_or_rewind into DEVICE::close().
-kes Eliminate close_device.
-kes Convert several dev subroutines to methods (e.g. bsf,
- eod, ...)
-kes Eliminate force_close_device().
-kes Implement Device Type directive in Device resource that
- can have values File, Tape, Fifo, DVD, or Prog.
-kes Add has_cap() method to Device.
-Changes to 1.39.4
-17Jan06
-kes Add patch from bug #527 to allow RedHat user to specify
- options/user/group for starting each daemon in
- /etc/sysconf/bacula.
-16Jan06
-kes Add two new queries to query.sql provided by Arno. One
- list volumes known to the Storage device, and the other
- lists volumes possibly needing replacement (error, ...).
-15Jan06
-kes Add periodic (every 24 hours) garbage collection of memory
- pool by releasing free buffers.
-14Jan06
-kes Correct bug counting sized (for display only) in smartall.c
-kes Print FD mempool stats if debug > 0 rather than 5.
-12Jan06
-kes Make db_lock() mutex error fail the job rather than abort
- Bacula. Canceling the job caused the mutex to fail.
-kes Correct bug in alist.c that re-allocated the list if the
- number of items goes to zero.
-kes Move the reservation system thread locking to the top level
- so that one job at a time tries all possible drives before
- waiting.
-kes Implement a reservation 'fail' message queue that is built
- and destroyed on each pass through the reservation system.
- These messages are displayed in a 'Jobs waiting to reserve
- a drive' list during a 'status storage='. Note, multiple
- messages will generally print for each JobId because they
- represent the different problems with either the same drive
- or different drives. If this output proves too confusing
- of voluminous, I will display it only when debug level 1
- or greater is enabled in the SD.
-11Jan06
-kes Add enable/disable job=<job-name>. This command prevents
- the specified job from being scheduled. Even when disabled,
- the job can be manually started from the console.
-kes During 'update slots' clear all InChanger flags where the
- StorageId is zero (old Media records).
-
-Beta release 1.38.4:
-09Jan06
-kes Fix autochanger code to strip leading spaces from returned
- slots number. Remove bc from chio-changer.
-kes Back port a bit of 1.39 crypto code to reduce diffs.
-kes Fix first call to autochanger that missed close()ing the
- drive. Put close() just before each run_program(). Fixes
- Arno's changer bug.
-07Jan06
-kes Add PoolId to Job record when updating it at job start time.
-06Jan06
-kes Pull in more code from 1.39 so that there are fewer file
- differences (the new ua_dotcmds.c, base64.h, crypto.h
- hmac.c jcr.c (dird and lib) lib.h md5.h parse_conf.c
- util.c. Aside from ua_dotcmds.c these are mostly crypto
- upgrades.
-kes Implement new method of walking the jcr chain. The
- incr/dec of the use_count is done within the walking
- routines. This should prevent a jcr from being freed
- from under the walk routines.
-
-
-Changes to 1.39.3:
-04Jan06
-kes Start implementing Verify list output.
-kes Move the suitable_drive flag to a better place to prevent
- premature termination of the reservation if all drives
- are busy -kes should fix Arno's diff/inc pool failures.
-26Dec05
-kes Add mutex to single thread VSS code in Win32.
-22Dec05
-kes Simplify code in askdir.c that waits for creating an appendable
- volume so that it can handle multiple returns from the wait
+kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
+ structure.
+kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in
+ to force Win32 error message.
+03May07
+kes First cut strip path. The data should be passed to the FD,
+ but nothing is done with it yet.
+kes Enhance the digest and signature routines in the crypto
+ library to accept a JCR and to use it to print error messages
+ so that they will go in the Job report rather than the daemon's
+ messages.
+kes Simplify some of the verify signature code.
+kes Simplify a few of the alternative returns in the signature
code.
-kes Modify the wait code to permit multiple returns.
-kes Return a zero when "autochanger drives" is called and
- it is not an autochanger.
-kes Make rewind_dev() a method taking a DCR as an argument.
- This permits closing and reopening the drive if the
- rewind fails as happens if the drive was loaded while the
- file descriptor was open. This refreshes the file descriptor.
-kes Remove the ST_OPENED flag and always rely on fd < 0 for knowing
- if the device is open or not. This should eliminate
- Arnos problem.
-kes Return error if reserve cannot find at least one suitable device.
-kes Make wait_for_sysop() return correct state information.
-kes Fix Win32 state file problem. write was not using compat
- code. This should fix bug #500.
-21Dec05
-kes Modify gui on command to set only GUI mode and not batch.
-kes Modify .messages command to always print messages regardless
- of the mode.
-kes If GUI mode is on, suppress automatic printing of
- You have messages.
-kes Delete old bnet packet code.
-kes Ignore new BNET_START_SELECT and BNET_END_SELECT signals in
- wx-console. -kes not implemented because bconsole must be updated.
-kes Modify restore command in wx-console to set gui on and to use
- only .messages instead of messages. Hopefully this fixes bug
- #514.
-kes Fix seg fault in exit of acquire when canceling a job --
- reported by Wolfgang Denk
-kes Pull in latest reservation system changes from 1.38
-kes Make .messages command always print messages regardless
- of the automessages flag.
-17Dec05
-kes Fix seg fault if user labels a drive directory bug #513
-kes Remove quotes around Version as it breaks things.
-16Dec05
-kes Merge in Aleksandar Milivojevic's mods to the spec file.
-kes Apply sparse code fix for raw drives and fifos. Bug 506
-kes Thorsten fixed Unicode cd problem with wx-console bug 505.
-14Dec05
-kes Correct reservation system to do a last ditch try
- for any mounted volume, then anyone anywhere.
-kes Add quotes around table Version because of
- error in MySQL 4.1.15 -kes bug report submitted.
-kes Correct some minor problems with btape in the fill
- command.
-kes Updates to ssh-tunnel from Joshua Kugler.
-kes Added a report.pl program from Jonas Bjorklund.
-kes Simplify the O_NONBLOCK open() code for tape drives,
- and always open nonblocking.
-kes Do not wait for open() if EIO returned (shouldn't happen).
-kes Eliminate 3 argument to tape open().
-kes Correct the slot # edited in the 3995 Bad autochanger unload
- message.
-kes With -S on bscan (show progress) do not divide by zero.
-13Dec05
-kes Make cancel pthread_cond_signal() pthread_cond_broadcast().
-kes When dcr is freed, also broadcast dev->wait_next_vol signal.
-kes Remove unused code in wait_for_device.
-kes Make wait_for_device() always return after 60 seconds of wait.
+02May07
+ebl Use only POSIX regex instead of GNU regex in breg.c for
+ File relocation. It fix broken freebsd compilation.
+kes Convert all other Dir files to use ne ua class message
+ routines for bat.
+kes Tentative fix for missing digest signature in bug 807.
+kes Correct handle problem in new win32_ftruncate routine.
+kes Convert ua_purge.c and ua_update.c to use new ua class
+ message routines for bat.
+29Apr07
+kes Correct incorrect installation of LICENSE in Win32 installer.
+kes Display LICENSE at the beginning of the Win32 install.
+kes Attempt to correct the need for the png files to be installed
+ for bat.
+kes Reapply my bat.conf install script in qt-console. I think I
+ editted bat.pro instead of bat.pro.in and it was lost.
+kes Apply CentOS patches someone sent me. Checks for /var/run/subsys,
+ the /var/lock/subsys for subsysdir. Also corrects typos in the
+ doc.
+28Apr07
+kes First cut update job.
+kes Correct configure to include qmake of src/qt-console directory.
+26Apr07
+kes Make restore job yes/mod/no print in one command so GUI works.
+kes First cut implementing backup and restore client.
+kes Correct editing in Verify output that caused a seg fault.
+25Apr07
+kes Insure that bat.conf is not overwritten during installation.
+kes Fix important bug in db_sql_query() in mysql.c. It was introduced
+ while I was implementing migration in March 2006 !
+24Apr07
+ebl Cleanup file relocation, using char *RegexWhere instead of
+ char *where + bool where_use_regexp
+kes Update some manpages and add bat manpage.
+kes Make a first cut at converting bacula.spec.in for bwx-console
+ and bgnome-console.
+kes Apply patch from John Goerzen to add hostname as fourth argument
+ to make_catalog_backup script.
+kes Fix typos I introduced into bsmtp.c
+kes Make pm_strxxx() routines handle input of NULL pointer. This
+ is to protect from NULL pointers returned from SQL databases.
+kes Correct typo in bacula-sd manpage as pointed out by John Goerzen.
+kes Add more debug to FIFO code -- fix fifo regression test.
+23Apr07
+kes Implement posix_fadvise in FD, and for reading spool files in SD.
+kes Add thread timer to bnet_connect() to break from OS if wait time
+ expires.
+22Apr07
+kes Update Win32 build to include new files, new symbols, and
+ renamed files.
+kes Implement socket level heartbeat (tcp_keepidle)
+ebl Commit File relocation patch
+kes Make bat have 'make install' target.
+kes Warn during install if old gnome-console binary found.
+kes Warn during install if old wx-console binary found.
+kes Add -8 option to bsmtp command line to add content type utf-8.
+ Fixes bug #809. (Character coding problem in bsmtp).
+kes If < is found in target (from, to, cc) then do not enclose the
+ target in < > in bsmtp. Fixes bug #772 (malformed address).
+kes When printing certain items in dbcheck, stop after 300000.
+ Fixes bug #822. (dbcheck loops).
+kes Incorrect status in Dir after waiting for mount with poll set.
+ Fixes bug #825.
+21Apr07
+kes Extend idea of Prefer Mounted Volumes to mean a volume about
+ to be mounted.
+kes Print waiting to reserve a device every 5 mins.
+20Apr07
+kes Don't call close_part in label.c if tape and relabel.
+kes Don't free volume if busy in close() -- should help with
+ bug 801.
+ebl Fix #824 RunScript bug (After script could be execute twice)
+ Now, Before Script can use RunsOnSuccess and RunsOnFailure options
+ By default (like before) RunsOnSuccess=true and RunsOnFailure=false
+ Add a regression script to test RunScript
+19Apr07
+kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors
+ on Solaris.
+18Apr07
+kes The bgnome-console (gnome-console) and bwx-console (wx-console) are
+ deprecated. No additional bugs will be fixed, and they will be dropped
+ in a future release (probably 2.4.0).
+kes Change name of wx-console to bwx-console to make it more Bacula
+ unique.
+kes Change the name of gnome-console to bgnome-console to make it
+ more Bacula unique.
+14Apr07
+kes Some time in March, a Feature Request with patch from Jorj Bauer
+ <jorj@seas.upenn.edu> was committed by Landon (with my approval).
+ It implements:
+ The ability for the director to validate a Client (FD) CN against
+ an arbitrary set of patterns rather than the hostname, with
+ A new 'TLS Allowed CN' set of directives which are implemented
+ in the Client resource. Then pattern matching is used in place
+ of hostname matching against the Certificate's CN. As an example, we
+ have certificates which (a) use a local CA, and (b) have a CN of the
+ form client_123.
+kes Add new/changed entry points to Win32 build
+kes Create unaccepted-projects for projects that are not accepted.
+kes Simplify locking in the reservations system.
+kes Add more debug code in reservations.
+kes Make sure error condition on reserving a volume is handled correctly.
+kes Correct handling of volume_in_use.
+kes Correct handling of initializing a device.
+kes Move handling of broadcasting releasing a device into release_device().
+kes Correct attaching dcr to dev so that it is only done if device
+ is properly initiated.
+12Apr07
+kes Locking debug level tweaks in SD.
+kes Tweak new Volume code.
+11Apr07
+kes Add exec external-command [wait-seconds] to bconsole. This
+ executes the external-command. Note! normally external-command
+ should be enclosed in double quotes.
+kes Turn the .die command on only if DEVELOPER is defined -- i.e.
+ it should normally be off in a production system.
+10Apr07
+kes Implement die command for SD so that we can force it to dump.
+kes Implement SD lock debug code.
+kes Implement new algorithm for keeping Volume list in SD. It
+ is now owned by the device.
+04Apr07
+kes Implement new code for freeing in use volumes that should
+ resolve if not all, some of the problems of multiple drive
+ tape conflicts described in bug 801.
+03Apr07
+kes Fix gui/bacula-web/images files in svn.
+kes Turn on FreeBSD/OpenBSD code to set EOT model on tape.
+02Apr07
+ebl Fix a bug in batch mode (in string escape)
+kes Correct migration prune SQL typo that crept in in a
+ recent 2.1.x change.
+01Apr07
+kes Move bnet_despool() into class in bsock.c
+kes Modify job report to include director name and Build OS.
+kes Move drop root privilege and check_catalog() before fork.
+kes Add update database scripts (version 9 to 10) to updatedb directory.
+31Mar07
+ebl Check size and age of each file after its backup to see if
+ it has changed during backup, if 'checkfilechanges' is set.
+ The FD will do an extra check (stat(2)) after
+ each file backup. mtime, ctime and size are compared with
+ 'before backup' information. If time or size mismatch, an
+ error message will be generated. You must upgrade FD to use it.
+30Mar07
+kes Make database name and user configurable
+ --with-db-name=xxx --with-db-user=xxx
+kes Add back database type to message.c for debugging.
+29Mar07
+kes Implement dir_sql() which issues an SQL query.
+kes Modify bat medialist to use dir_sql() and do some minor C++
+ formatting as well as eliminating a number of pointers, simplifing
+ the code.
+28Mar07
+kes Fix some of the mtx-changer grep commands for tape label readers.
+kes Convert a number of bsendmsg into the appropriate send/warning/error
+ message class calls.
+kes Suppress the using database message in the .sql command.
+kes Correct an incorrect bnet_tls_client prototype -- patch from Martin.
+27Mar07
+kes Add context menu for floating a window.
+kes Some minor cleanup and name changes in qt-console
+kes Add doing mt setblk 0 in Win32 mtx-changer.
+kes Apply Martin's bug fix to move definition of ENODATA for
+ FreeBSD to bsock.c
+ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with
+ sqlite2 and sqlite3.
+26Mar07
+kes More pruning cleanup.
+kes Turn on wait_for_drive by default in mtx-changer.
+kes Turn on Batch insert code by default as it now passes regression.
+kes Add ./configure --enable-bat to enable building of Bat.
+ No install yet though.
+25Mar07
+kes Implement a new .sql command for bat.
+kes Implement code to turn off pruning in obtaining the next volume.
+ Pruning is turned off for the status dir command, but turned on
+ for SD requests and for the list nextvolume command.
+24Mar07
+kes Correct Qmsg() that was not updated correctly when committing a
+ previous change (probably the recent TLS patch).
+23Mar07
+kes Write new subroutine is_volume_purged() that explicitly checks
+ if the Volume is purged, and if so marks it as such. This should
+ resolve problems reported about needing to mount twice to recycle
+ volumes.
+kes Rewrite pruning algorithm to do more work in the SQL engine, and
+ to pass a list of JobIds to be deleted to SQL. Also, minimize the
+ amount of duplicated code.
+kes Do volume pruning only for the Media Type desired (reduces pruning time
+ if multiple Media Types are in the same pool).
+kes Implement more detailed info in the Job report for the Bacula version
+ and architecture.
+kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
+ ua_purge.c.
+ebl Add bbatch tool to bench database and insert mode.
+ Fix sql quote stuff in batch mode
+ Fix sql stuff for mysql
+22Mar07
+kes Correct problems with am/pm scheduling. Fixes bug #808.
+kes Implement new prunning code that prunes up to 1000 jobs at
+ the same time. The same technique can be applied to a number
+ of other prune/purge subroutines.
+kes Add an insanity check when starting a new tape job to ensure
+ that the tape position has not been changed. If so fail the
+ job.
+kes Fix Win32 build for dlls to add the folllowing:
+ src/lib/bsock.c -- new file with new entry points
+ src/lib/dlist.c -- new entry points
+ src/cats/sql_create.c -- new entry point
+ src/cats/sql_cmds.c -- new DATA item exported
+21Mar07
+ebl batch mode cleanup bscan-test is ok now.
+kes Implement SD code to check length of disk volume before appending.
+18Mar07
+kes Correct return status on db_batch... routines.
+kes Add call to db_write_batch_file_records() to migration code.
+ebl Fix AfterJob timing
+kes Move the checking of the database in initializion of the Director
+ to after we drop privileges. This avoids the need for both root
+ and bacula access to the DB.
+kes Correct a misplaced variable definition in src/filed/backup.c
+kes Correct how the new batch insert db_create_attributes_record()
+ uses the arguments. Caused a seg fault in bscan.
+kes Implement lock() and unlock() methods in DEVICE class.
+ Implement block() and set_block(xx) methods in DEVICE class.
+kes Modify bnet_connect() so that it uses time() to check for the
+ wait time expiring (on some OSes, some system calls may not
+ return immediately).
+kes Modify Verify to obtain the previous JobId when it is actually
+ running rather than at schedule time (as it was in 1.38.x).
+kes Fix src/job.c to handle MaxWaitTime correctly. This should
+ fix bug #802.
+kes When checking pid in pid file, continue running if the pid is
+ the same as ours. This occurs on IRIX after a system crash.
+ Fixes bug #797.
+10Mar07
+kes Extend new GUI API.
+kes Make the ua structure a class, and implement send_msg(),
+ error_msg(), warning_msg(), and info_msg().
+08Mar07
+kes Apply fix from for building wx-console on the Mac from
+ bug #798.
+kes Implement new select mechanism for GUI programs.
+kes Reorganize initialization of stackedWidgets in bat.
+07Mar07
+kes Add updated nagios plugin supplied by Christian Masopust.
+05Mar07
+kes More bat implementation.
+kes File migrate bug with Pool Occupancy using mediaid instead
+ of jobids. Fixes bug #795.
+kes Fix orphaned buffers in filed backup and verify due to
+ crypto buffers not freed during errors. Fixes bug #789.
+kes Extend new GUI api code to tree commands.
+kes Ensure that tree and dot commands check console ACLs.
+kes Permit marking directory with trailing slash.
+kes Allow 20 console connections (instead of only 10).
+04Mar07
+kes Add smartctl call to bacula-sd.conf as an example of getting
+ tape alert info.
+02Mar07
+kes Modify jobq.c to let simultaneous restore jobs run. This may
+ cause them to fail if they cannot get a drive.
+kes Add Client Connect Wait to Storage daemon to permit users to
+ modify the time the SD waits for a FD connection.
+29Feb07
+kes Correct virtual changer check which was backwards. This caused
+ volumes to be unloaded into slots already occupied.
+28Feb07
+kes Apply Command ACL filter to JobId list in restore command.
+kes Correct typeo in var.c patch.
+27Feb07
+kes Don't let Bacula prune File or Job records for the current Job.
+kes Fix variable substitution pad + inc bug reported (with patch)
+ in bug #791.
+26Feb07
+kes Correct SQLite log table index as reported by Luca Berra.
+24Feb07
+ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
+22Feb07
+kes Begin implementing new comm signals for API.
+kes Fix a few places in lib/message.c where the open fd may
+ not be zeroed.
+kes Continue implementing lib/bsock.c (real class). Make jcr,
+ who, host, and port private. There are new methods to access
+ them for non-class use. This required touching a number of files.
+21Feb07
+kes Add LANG=C to autoconf/randpass so it works with languages other
+ than English. Fixes bug #788.
+20Feb07
+ebl Revert ClientRunBeforeJob to old position as in 1.38.X.
+ This fixes bug #780
+ You will not be able to generate Include/Exclude list any more.
+ It will be fixed soon.
+ If you want to use this, you can apply
+ trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
+19Feb07
+kes Restore of sockets created false error messages because Bacula
+ no longer restores sockets, but the code was still trying to
+ set the attributes on a non-existent file. Reported by a user.
+ebl finish RecyclePool feature
+ Media will takes Pool.RecyclePool
+ when moving from Scratch to a Pool or when user will do
+ update volume=xxx frompool
+ To use it, add RecyclePool = aPool to your Pool resource
+ Pool {
+ Name = Default
+ RecyclePool = Scratch
+ ...
+ }
+ TODO: update manual
+kes Expand new BSOCK class adding signal() and new BNET signals.
+kes Begin enhancing the dot commands adding a new API function
+ that returns more information and will make it easier
+ to interface to the Director from a program.
+18Feb07
+kes Make DEVICE fd private. Its new name is m_fd, and can be
+ obtained with dev->fd() outside the class. This is the
+ first of many DEVICE members to be made private.
+kes Implement Michael Renner's idea on having a virtual disk
+ changer. I made some minor modifications (e.g. I did not
+ implement the Virtual Changer directive, but simply set
+ the Changer Command to an empty string.
+17Feb07
+kes Implement a BSOCK send() method that writes the whole record
+ in a single write() request rather than in two.
+ebl add update volume=xxx recyclepool=yyyy
+ volume takes recyclepool from pool when using update volume=xxx from pool
+16Feb07
+kes Fix encryption deblocking bug, which caused some restored files
+ to be truncated. This fixes bug #763.
+kes Add FD event sequence order prepared by Eric -- for RunScripts.
+kes Fix 12am/pm bug as reported in bug #782.
+13Feb07
+kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
+ebl Use btime_t instead of uint64_t in media patch.
+11Feb07
+kes Optimize the use of the database a bit in the Status dir command.
+ Only open it when needed, ensure that if any previous database
+ was opened, it is closed.
+10Feb07
+kes Correct VolCatBytes bug from media patch.
+kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning
+ in the case of orphaned records.
+kes Modify dbcheck to handle orphaned JobMedia, Path, Filename,
+ and File records in 300K chunks to be more efficient. This
+ idea came from Juan Luis Frances (if I remember right).
+kes Apply Eric's scratch patch that moves a purged Volume to
+ the RecyclePool. Question: how is RecyclePool set? what
+ happens to the ScratchPool?
+kes Apply Eric's media patch that collects read/write media
+ times as well as byte counts. This patch requires a
+ simultaneous upgrade of the DIR and SD. Note, there
+ should be some way to turn off timing. I'm not sure
+ times are in Bacula units.
+kes Apply Eric's batch-insert patch.
+09Feb07
+kes Update projects list.
+08Feb07
+kes Implement Include/Exclude file lists in FD as dlists using
+ the new dlistString class. This permits efficiently having
+ large include/exclude lists and completes project Item 25.
+kes Fix dird/ua_cmds.c so that a cancel command checks if the
+ console is authorized to cancel the job. This fixes bug
+ #767.
+kes Modify SD so that the VolCatJobs medium record is updated
+ at the beginning of a Job rather than the end. This
+ fixes bug #775 where exceeding MaxVolJobs caused jobs
+ to fail.
+kes Added a mutex around getting and setting Volume information
+ so that multiple simultaneous jobs will single thread.
+07Feb07
+ Switch to using Subversion
+kes Remove src/pygtk-console/ from configure
+06Feb07
+kes Delete src/lib/btree.c from win32 build, then add rblist.c
+ plus the entrypoints.
+kes Apply patch supplied that corrects debug print
+ in canceling jobs for max run time. Supplied as
+ part of bug #621, which was previously fixed.
+05Feb07
+kes Test on job_canceled() and sd_msg_thread_done inside
+ loop starting the message thread to avoid a race condition.
+ Fixes bug #771.
+kes Remove rl_catch_signal from console.c as it conflicted
+ with the header definition. Fixes bug #765.
+ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive)
+04Feb07
+kes Clarify some stored/acquire messages to indicate if the
+ problem is with read or append.
+02Feb07
+kes Fix memory leak with storage ids in cats/sql_get.c
+kes Terminate watchdog earlier to avoid reference to released
+ memory -- reported by Jason Austin.
+kes Move closing the database from jobq.c to the director daemon
+ termination routine. This fixes memory leaks for shadow jobs
+ (i.e. migration jobs).
+kes Free up the unique jobid chain items in migrate.c. This fixes
+ a memory leak problem.
+kes Convert some ugly looking for statements to use foreach_alist
+ in findlib/find.c. This will facilitate converting the structures
+ to use dlist (for large include/exclude lists).
+kes Fix a bug in the btree.c and btree.h routines, then rename them
+ rblist and add them to be built in src/lib. Include some new
+ methods written by Rudolf Cejka that make the code more readable
+ (hides some of the ugly casting).
+kes Add set_next() and set_prev() methods which make the code much more
+ readable. Also add a new dlistString class that facilitates storing
+ strings in dlists. To be used in the large include/exclude lists.
+kes Make some trivial modifications to lib/tree.h that use rblist
+ rather than dlist for storing the tree links. This was suggested
+ by Rudolf Cejka. The result of this is that the restore tree now
+ uses red-black binary trees rather than simple linked lists. This
+ should give rather dramatic speed improvements for directories
+ contining large numbers of directories/files (more than 10000).
+28Jan07
+kes Fix maxruntime bug #621.
+26Jan07
+ebl Implement the include JobID in spool file name project.
+kes Reorder projects file in order determined by Jan 2007 vote.
+kes Implement item #12 on project list -- quick release of FD by
+ the SD.
+kes Fix open of SQLite3 db where user does not have write permission
+ so that DIR does not crash. Fixes bug #761.
+25Jan07
+kes Add back missing @ in Win32 Makefile.
+kes Change 'Device not configured to autolabel' from INFO
+ to WARNING.
+kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
+ which should restart an indefinite # of times.
+kes Fix configure --help to print --with-mysql[=DIR]. Same for
+ other DIR specifications.
+23Jan07
+rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
+ Fix path quoting in SQLite scripts.
+ Fix problems with SHGetFolderPath.
+19Jan07
+kes Create patches/2.0.1-restart.patch. Fixes bug #755.
+18Jan07
+kes Fix Job restart on error bug that promotes an Inc to a Full
+ backup. This should fix bug #755.
+kes Add qt-console and first cut of code.
-Changes to 1.39.2:
-13Dec05
-kes Add stubs for non-crypto build.
-12Dec05
-kes Use localhost if no network configured
-11Dec05
-kes Eliminated duplicate MaxVolBytes in cat update -kes bug 509.
-kes Remove debug print.
-kes Add bail_out in error during state file reading.
-10Dec05
-kes Merge changes made to 1.38.3 into HEAD
-kes Add stubs for pygtk-console code
-kes Create Makefile.in for pygtk-console code
-09Dec05
-kes Merge updates into 1.38 branch
-kes Update specs to include mysql4 define.
-kes Fix when attributes are sent, must be after binit().
-kes Stop read_record() if status not ok in second loop.
-kes Return rec->FileIndex in dcr->VolLastIndex for normal
- and partial records in read_record(). This allows bscan
- to get FileIndex at EOT correct.
-kes Fix butil.c to correctly set dcr -kes fixes seg fault in bls.
-08Dec05
-kes Fix Win32 built to work with new crypto code.
-kes Apply patch supplied by user (slightly modified) to fix
- correct detection of holes in block devices and FIFOs.
- Bug # 506.
-kes Apply patch supplied by user (slightly modified)
- to fix SD hang with multiple pools and bad client
- IP. Fixes bug # 508.
-07Dec05
-kes Add nagios plugin to the examples directory. Submitted by
- Christian Masopust.
-kes Remove warning message about multiple saves of hardlinked files
- from find_one.c as it can generate too many warning messages.
-kes Modify most restore error messages to be queued so that they
- appear at the end of the job rather than mixted with the restore
- listing where they could be "lost".
-06Dec05
-kes Reset timeout values before select() per patch from
- Frank Sweetser for problems with non-blocking sockets.
-kes Unlink the state file if either reading or writing it gets
- errors. Hopefully this will fix Win32 exit problems.
-kes Add sanity check in append.c to ensure that dcr is not NULL.
- This can happen if multiple drive autochanger SCSI control
- channel and drive indicies do not correspond.
-05Dec05
-kes Get next volume from Scratch pool before creating a volume.
-kes Set new Pool defaults in Vol when moved from Scratch Pool.
-kes Remove argument from create_bacula_database for SQLite as it
- caused an error.
-kes Add back index code so that two drive autochangers can get
- a second tape.
-kes Change a bunch of debug levels to aid debugging autochangers.
-kes Fix reservation so that mutexes are properly applied.
-kes Rework reservation algorithm so that two drives can be used
- at the same time.
-04Dec05
-kes Landon merged his data encription changes into the HEAD
-kes Apply days keyword patch from Alexander.Bergolth at wu-wien.ac.at
- If this patch is applied, the number of days can be specified with
- "list nextvol days=xx"
- or
- "status dir days=xx"
- My use case is to be able to preview the next scheduled job (and the
- next tape to be used) on fridays if there are no scheduled jobs during
- the weekend.
-Changes to 1.39.1:
-03Dec05
-kes Fix font code in gnome2 console user patch. Fixes bug #501.
-kes Fix malformatted bnet error message that caused seg fault
- fixes bug 502
-kes Applied user patch to improve README.vc8 in src/win32.
-29Nov05
-kes Add Migrate, Copy, Archive Job types (some where there)
-kes Correct some more editing of JobId's (for 64 bit compatibility).
-kes Ensure that StorageId is stored in Media record when ever possible.
-kes Add Migration Job to Job.
-kes Add Migration Time, Migration High Bytes, Migration Low Bytes
- Next Pool to Pool resource.
-kes Add more code to mac.c (migration archive copy).
-kes Change Start Storage daemon job to require read and write storage
- pointers.
-kes Pass read storage data to SD as well as write storage data.
-kes Remove old code from winservice.cpp
-kes Break on error in scan.
-kes Fix typo in signal.c
-kes Separate read/write DCR in SD. Add jcr->read_dcr.
-kes Cleanup how find_device() works.
-kes Add read output to Status in SD.
-Changes to 1.39.0:
-23Nov05
-kes Add red-black btree routines
-21Nov05
-kes Remove abs() in bfile.c so that it compiles on Solaris.
- Bug #491.
-20Nov05
-kes Fix crash in tray-monitor when daemon disconnects. Bug #479.
-kes Fix bnet-server bug found on OpenBSD. Bug #486
-kes Fix cancel failure bug. Bug #481
-kes Fix failure when Pool name has spaces. Bug #487
-kes Fix SD crash in autochanger code. Mutex failure. Bug #488
-kes Fix a couple of free()s in src/filed/acl.c
-kes Fix memory overrun in bfile.c in building OS X resource
- fork filename. Bug #489
-kes Add Pool name to SD status output.
-14Nov05
-kes Apply SunOS patch for ACLs submitted by David Duchscher.
-kes Make sure to set storage before trying to set drive.
-kes Add bacula_mail_summary.sh to examples directory. It makes
- a single email summary of any number of jobs. Submitted
- by Adrew J. Millar.
-kes Make sure when we do a mount to unblock the device even
- if the drive could not be opened.
-13Nov05
-kes Remove the USE_WIN32STREAMEXTRACTION #defines (always on)
- and correct a few minor problems to make it build on Linux.
-10Nov05
-kes Remove delete of CVS from all Makefiles
-kes Fix seg fault when clicking on Add button in wx-console
- restore panel. Bug #470.
-kes Fix copyright date and URL typo -kes bug #468.
-kes Change autostart install for FreeBSD to look for rc.conf
- rather than rc.local as suggested fix for bug #466.
-kes Apply patch supplied by Eric Bollengier to fix PostgreSQL
- grant on status. Bug #465
-kes Apply patch supplied by Eric Bollengier to fix PostgreSQL
- update script. Bug #464
-kes Tweak #ifdefing a bit in new Win32 stream code.
-kes Fix #ifdeffing for FD_NO_SEND_TEST.
-kes Add documentation of performance #defines
+Version 2.0.1
+12Jan07
+kes Fix Bacula->Documentation link on Win32 to point to index.html
+ instead of bacula.html. Fixed bug #750.
+kes Return JobId in db_get_job_record() when JobId==0. This should
+ fix bug #741.
+kes Do not release source pointers when restarting a failed job.
+11Jan07
+kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
+ This *should* fix bug #747.
+kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
+ bug #742.
+09Jan07
+kes Modify USTORE constructor to set an empty store_source string,
+ and don't copy the store_source string in a cancel. Hopefully
+ this will fix Arno's seg fault, bug #744.
+kes Add back code to disable conio in configure. Fixes bug #743.
+kes Correct the Options scanner in the FD to correctly handle
+ SHA1 option, which was eating the next option. Reported by
+ Sebastien Guilbaud.
+kes Add code to indicate when the SD is spooling, spool wait, and
+ despooling as requested by Alan Brown.
+Version 2.0.0 released: 4 January 2007
-Release 1.38.11 (28Jun06) released 28JunO6