Technical notes on version 2.3
+
+New features:
+Accurate files
+TLS authentication
+bextract Win32 data
+Run afterVSS
+Multiple command/console per runscript
+console command in runscript
+Bat API
+Plugin API
+State file updated on job term
+PluginOptions
+FD Version
+Duplicate Job directives
+MaxFullInterval
+MaxDiffInterval
+Honor nodump flag
+Improved status commands for Bat
+Spooling/despooling status
+Implement ftruncate for NFS devices
+Add long term statistics job table
+
+
General:
+02Apr08
+kes Apply patch from bug #1069 that corrects spurious error messages
+ when ACLs enabled on SGI but no ACL exists.
+ebl Fix small segfault in bacula-sd when debug level is 500
+kes Modify run_program() and run_program_full_output() to use
+ call by reference for the results string. This corrects a long
+ standing problem where the address of the string may be changed
+ in the subroutine but not in the calling program.
+01Apr08
+kes Re-enable code to remember last volume mounted on a non-tape
+ Autochanger.
+kes Add patch supplied in bug #1068 that fixes a SD crash when using
+ a Virtual autochanger.
+kes Generate correct JobMedia records during spooling/despooling when
+ running concurrent jobs. Thanks to Tom Ivar Helbekkmo
+ <tih@hamartun.priv.no> for excellent analysis and testing.
+31Mar08
+kes Tweak hash algorithm for htable using Martin Simmons idea
+ for doing a circular shift.
+kes Remember what volume is in VTLs (previously turned off for
+ testing).
+kes Analysis of JobMedia records by Tom Ivar Helbekkmo <tih@hamartun.priv.no>
+ pointed out some problems in creating JobMedia records during
+ spooling with concurrent jobs. Fix the problem by updating the
+ start file position before despooling and generate a jobmedia
+ record at the end of despooling.
+28Mar08
+kes Fix handling of JobMedia records during spooling and when a
+ Volume is changed without actually writing data to the Volume.
+26Mar08
+kes Implement bsock code to permit locking. Use the new code in Verify
+ in the FD to prevent the heartbeat thread from disrupting the Verify
+ data sent to the Dir.
+kes Modify SD locking to eliminate locking the reservations system from
+ outside the system. Use the volume lock when getting media data
+ and reserving a new volume at end of media.
+kes Add Eric's volume_unused() fix to stored.c so that Volumes found
+ when SD starts are not locked into place.
+24Mar08
+kes Fix error compiling runscript code on 64 bit machines.
+kes Tweak Win32 mount point code.
+kes Fix a couple of bugs in the accurate code (bad sscanf, buffer not
+ cleared giving bad file estimate).
+kes Implement BIG_MALLOC in htable code. Runs 2.5 times faster for
+ 5 Million entries.
+22Mar08
+kes Keep Schedule run lists in order as suggested by
+ Bastian Friedrich.
+21Mar08
+kes Implement autostart scripts for Debian.
+ebl Implement upgrade catalog scripts.
+20Mar08
+ebl Apply jobstat patch for long term statistics. Have to implement
+ purge stats command and upgrade scripts.
+kes Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes Fix large number of JobMedia records reported by Eric Bollengier.
+18Mar08
+kes Apply doc fix from bug #1062.
+kes Resolve crash and improper restore wx-console Win32 restore
+ GUI. Fixes bug #1065.
+kes Update Win32 wxWidgets to latest version.
+kes Attempt to do correct handling of Win32 mount points. Should
+ fix bug #1046.
+kes Fix Win32 FD backup/restore memory leak due to improper termination
+ of BackupRead/Write. This fixes bug# 1038.
+16Mar08
+ebl Reduce memory usage for accurate backup, working only with ctime
+ and mtime. (not all Lstat field)
+ About 40MB for my linux system (400.000 files)
+14Mar08
+kes Add dcr->reserved_volume flag that allows us to release a volume
+ even if it is not vol->released. This allows maxvol2 to work when
+ Volumes expire and we are already writing to the device (i.e. a
+ volume is pulled out from under us by another job terminating after
+ we reserve the drive).
+13Mar08
+ebl Permit multiple command/console per runscript definition.
+ RunScript { command = /bin/true ; command = /bin/false ... }
+ebl Add RunsWhen = AfterVSS to runscript. You can execute a command
+ (restart an application) just after the VSS snapshot on windows.
+kes Don't zap dcr values during release_volume() as they might
+ have the next Volume to be mounted.
+kes Fix AIX prototype.
+12Mar08
+kes Second cut of drive switching during backup.
+11Mar08
+kes Fix Win32 build.
+kes Update Win32 version of wxWidgets to most recent version.
+kes Tweak Copy job details.
+kes Rework dir_find_next_appendable_volume to make a bit more effort
+ to find a suitable volume before giving up.
+10Mar08
+kes Make ask_sysop_to_create... to return if waken from wait.
+ This helps get out of blocked conditions.
+kes Experimental implementation of switch_device in reservations.
+kes Implement FD version to allow easier protocol changes.
+kes Add Plugin Options string -- not yet passed to FD.
+kes Implement PluginOptions ACL.
+09Mar08
+kes Attempt to correct problems with restores with autochangers and
+ use counts going negative
+kes Rework SD status command and implement API for bat. Implements
+ header, runing waitreservation, devices, volumes, spooling,
+ and terminated status keywords.
+ .status storage=xxx <keyword>
+kes Clarify TLS error message by adding double quotes around name.
+kes Simplify SD/FD status code by putting api flag in STATUS_PKT
+kes Pass jcr to tls routines so debug messages can be handled better.
+kes Rework jobq resource allocation code, and possibly fix a bug
+ that caused reference counts to get out of sync.
+08Mar08
+kes Rename fd/dir plugin to use Bacula standard underscore.
+kes Plugin work -- bring dir up to fd level.
+kes Start implementation of VTL code
+kes Fix Win32 build after adding new cats subroutine.
+06Mar08
+kes First cut at Duplicate Job implementation.
+05Mar08
+kes Fix bugs in MaxFullInterval and Implement MaxDiffInterval.
+kes Start PluginOptions string, and refactor a bit of ua_run.c
+ebl Apply Allan patch that permit to reset recyclepool.
+04Mar08
+kes Test patch -- possible fix or improvement for bug #1053
+kes Refactor FD and SD status commands to permit new API code in
+ SD, and to fix Win32 build.
+kes Win32 build is now working.
+03Mar08
+kes Implement 'MaxFullInterval' and start 'MaxDiffInterval' based on
+ some ideas in patch from Scott Bailey.
+kes Begin implementation of duplicate Job control.
+kes Fix some of Win32 build after recent additions.
+kes Apply patch from Frank Kardel that implements 'honor no dump flag',
+ which causes the FD to detect whether or not the OS has the
+ honor no dump bit (*BSD systems), and if so, to skip backing up
+ any file with this bit set. The feature is enabled by setting
+ 'honor no dump flag = yes' in the Options section of a FileSet.
+28Feb08
+kes Correct po warning message with datarootdir
+kes Implement more code in dird.c to put configuration parsing in
+ a class rather than use globals.
+kes Restructure SD status command for implementation of bat API
+ interface.
+27Feb08
+kes Suppress incorrect 'Will not descend from x into y' messages.
+kes Eliminate FORTIFY_CODE=2 bug, and make first cut at removing
+ daemon globals used by parser.
+kes Apply Joao's patch to separate DB_TYPE and DB_PROG in configure.
+26Feb08
+kes Fix free of plugin_list when none exists.
+25Feb08
+ebl Apply accurate project patch.
+24Feb08
+ebl Fix a segfault when using strip_path option. (Use of pm_strcpy
+ on non-mempool object)
+kes First cut of converting FD .status to work with bat API.
+ New form is:
+ .status client=XXX header
+ .status client=XXX running
+ .status client=XXX terminated
+kes Implement first cut of Copy Job.
+kes Implement Catalog in Pool resource. It overrides catalog specified
+ in the Client resource.
+22Feb08
+kes Apply patch (with some difficulties) from Joao Henrique Freitas
+ <joaohf@gmail.com>, which adds support for libdbi as a Bacula
+ database driver.
+kes Add patch from Martin Schmid scm@apsag.com that checks to see if
+ ftruncate() actually works. In the case of some (cheap) NAS devices,
+ it does not, and so recycling NAS Volumes does not work. The code
+ simply unlink()s the file, then recreates it. This fixes bug #1011.
+21Feb08
+kes First incomplete cut of big malloc blocks for htable.
+kes Tweak plugin code.
+17Feb08
+kes Plugin debug code + tweak a couple bat dialog layouts
+14Feb08
+kes Fix creating first JobMedia record during Migration to include
+ proper index. This caused slow restores of migrated jobs.
+kes Temp fix to plugin name file_index.
+kes Bacula backed up and restored a MySQL database.
+13Feb08
+kes Implement plugin restore.
+kes Implement parsing of db_driver to give db_type index.
+10Feb08
+kes First cut of plugin restore code.
+kes Fix bug #1047, which had a heap overrun when stripping certain paths,
+ and do not strip paths on symbolic links.
+kes Set catalog backup database and user name from values specified on
+ the ./configure line.
+ebl Fix #1031 about wrong pool source information in job report.
+09Feb08
+kes Fix Win32 build.
+kes Remove a redundant jcr argument to find_files, match_files, and
+ find_one_file.
+kes Implement '.status dir header|scheduled|running|terminated' that
+ prints the requested status section. With the exception of the
+ header, the other reports have fields separated by tabs (\t).
+08Feb08
+kes Apply patch from Peter Much <pmc@citylink.dinoex.sub.org> that fixes
+ a resource embedded run command to find a since time if no explicit
+ since time was supplied on the command line.
+kes Apply state-file.patch sent by Allan Black <Allan.Black@btconnect.com>
+ that updates the state file at job termination time in addition to
+ when the daemon terminates.
+05Feb08
+kes First version where a plugin did a backup.
+ bpipe-fd.so created a backup file, wrote a test
+ string to it, and Bacua could restore this fabricated file.
+02Feb08
+kes Implement DB Driver = string for the DBI driver.
+kes Remove all old bdb_xxx.c code. Add dummy routines to bdb.c
+kes First cut of code for loading Win32 plugin dlls. Implement
+ dlopen, dlsym, dlclose, and dlerror in src/win32/compat/compat.cpp
+ and implement a dlfcn.h file based on opengroup's definitions of
+ the functions.
+01Feb08
+kes First cut plugin directives.
+30Jan08
+kes Apply patch from bug #1049 to prevent stripping the path on a
+ symlink.
+kes Attempt to fix bug #1047 where stripping a path corrupts the
+ heap. Waiting for feedback.
+kes Correct the Mount message not to suggest labeling a new tape
+ when doing a restore. Submitted by email by John Stoffel.
+kes Attempt to work around gcc FORTIFY_SOURCE bug that crashes the
+ FD by using casting. Reported in bug #1042.
+28Jan08
+kes A bit of crypto cleanup. More later.
+
+Release Version 2.2.8
+25Jan08
+kes Apply patch from Martin to correct bug #1040, bscan sets existing
+ ClientId to zero.
+kes Fixed important spelling error in doc -- bug #1045.
+23Jan08
+ebl Fix bextract to be able to extract non-portable Win32 data to
+ Unix/Linux clients
+kes Move initialization of read/write res lock earlier in the code.
+ This fixes the crash with a null conf file. This fixes bug
+ #1030.
+kes Redefine CURES in lib/parse_conf to be URES and move it all
+ into lib/parse_conf.c -- this responds to bug #1042, but does
+ not fix it. The fix is not to compile with FORTIFY_SOURCE.
+kes Backport to 2.2.8 fix de-referencing a NULL pointer in the scanner from
+ the trunk SVN. I don't think this was reported as a bug.
+17Jan08
+ebl Fix a bug during tape initialization with MTSETDRVBUFFER.
+12Jan08
+kes Fix Win32 build with new .def files and DLL_IMP_EXP ...
+10Jan08
+kes Add DataDespooling and DataCommitting status (committing is
+ the last despooling).
+kes Finish implementation of new reservations code noted below.
+08Jan08
+kes Fix bsnprintf for float point numbers. I broke recently when
+ parameterizing some variables. This fixes bug #1036.
+kes Undo recent reservations changes ... will apply them later
+ when they work better.
+06Jan08
+ebl Fixes #1034 which cause mysql to hang the connection after 8h
+ebl Change default statistics target of filename.name and path.path
+ fields for PostgreSQL. This speeds lookup by indexes. Thanks
+ to Marc Cousin.
+kes A few more tweaks to new reservation code. Make sure to clear
+ vol released flag when retaking volume. When reading label and
+ label is bad mark volume unused. When recycling, mark volume
+ unused so it can be renamed.
+05Jan08
+kes Fix reserve_volume() so it doesn't release a volume in use
+ (i.e. a volume entry not marked released). This should be
+ the last part needed to fix bug #1018.
+03Jan08
+kes Move Heartbeat documentation from Job to Director resource.
+ This fixes bug #1033.
+02Jan08
+kes Fix existing switch drive SD code to call autochanger to release
+ any old volume. This must be done to keep the autochanger from
+ releasing subsequently newly reserved volumes in doing a close().
+ This should fix bug #1018.
+kes Fail if attempting to get console input in batch mode. This
+ should help fail RunScript console commands that are incomplete.
+kes First cut implementing switch_drive() in SD (not actually called).
+31Dec07
+kes Implement first cut running console commands in a RunScript.
+29Dec07
+ebl Fixes bug #1028 where 'Selection Type' option was not usable
+ with JobDefs.
+ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript
+ output in error.
+
+Release Version 2.2.7
24Dec07
+kes Add new free_tls() entry point so that Win32 builds.
+kes Fix compile warning in src/lib/util.c
+kes Fix entry point for edit_job_codes() so that Win32 builds.
kes Fix seg fault Frank Sweetser reports in regression testing
on his systems. The problem was that the original author of
bsnprintf.c did not take into account the side effects of