Technical notes on version 2.3
General:
+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.
+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.
+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
+ using ++x in the argument to a #define.
+kes Make SD protocol backward compatible with version 2.2.x.
+19Dec07
+ebl Fixes bug #1015 where bacula failed to restore acl to a socket
+ because Bacula no longer restores sockets.
+ebl Always use ignorecase fileset option on win32 FD.
+14Dec07
+kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
+ that implements double quoting include names in conf files,
+ and also allows piping input by having the first character
+ be a vertical bar (|).
+kes Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
+ that implement %f in RunScripts to pass the FileSet name.
+kes Skip leading | when lex input comes from a pipe as suggested
+ by Michael Stapelberg <michael@stapelberg.de>.
+13Dec07
+kes Apply patch for bsmtp Win32 daylight savings time fix supplied by
+ Nerijus Baliunas <nerijus@users.sourceforge.net>
+12Dec07
+kes Implement Plugin Directory and plugin events.
+11Dec07
+kes Implement a security enhancement: TLS authentication but no
+ encryption. Enabled by setting 'TLS Authentication = yes'.
+ Note when this is on, TLS encryption is turned OFF!
+10Dec07
+kes This patch corrects a problem where the maximum concurrent storage
+ jobs counter gets out of sync during restore jobs causing jobs to
+ 'wait on max Storage jobs'. This patch fixes bug #1009.
+03Dec07
+kes This patch fixes bcopy so that it produces correct Volumes.
+ It fixes bug #1022.
+kes This patch eliminates spurious output to the console during a VerifyVolume
+ job that contains encrypted data. It fixes bug #1024.
+02Dec07
+kes This patch prevents the 'status dir' command from trying to use a scratch
+ volume and possibly moving it from one pool to another. This patch fixes
+ bug #1019.
+01Dec07
+kes Add new include to postgresql.c suggested by Marc Cousins so
+ that it compiles correctly with pgre version 8.3.
+30Nov07
+kes Fix --archivedir addition to configure. Replace it with
+ --with-archivedir in configure.in This fixes the regression
+ test builds.
+kes This patch fixes bug #1012 where the job is canceled because
+ of Max Run Time exceeded when the job has not yet started.
+29Nov07
+ebl Apply Richard Mortimer patch that fixes #1016 when there are more than
+ one 'part' to write. Instead of each part being stored on disk,
+ written to DVD, then deleted from disk, all parts are written to disk,
+ and only the last is written and deleted from disk.
+kes This patch fixes the status command to include the formating string for
+ JS_AttrInsterting. It fixes bug #1021.
+kes This patch should fix the Mac OS X build problem on the latest
+ Darwin, where sys/types.h was not included correctly (apparently
+ due to a change in the Mac headers). The solution was to explicitly
+ ensure that it is defined for the ./configure.
+ This patch also has a rebuild of configure that includes the Debian
+ qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
+kes This patch should ensure that queued messages to the console are
+ displayed as soon as possible. It should fix bug 1007, but has been
+ reported not to work.
+14Nov07
+kes This patch fixes the infinite loop when trying to increase the
+ maximum number of volumes in a Pool during the add command.
+ This patch fixes bug #1008.
+
+Release Version 2.2.6
+09Nov07
+db Remove extra data on estimate command in joblist for bat.
+04Nov07
+kes Cleanup of code in SD that sets the LastWritten date. This doesn't
+ really change anything, but is the beginning of doing it *right*.
+ To do it completely right the LastWritten date must be passed to
+ the SD, but it is not yet done.
+kes Minor tweaks to some bat restore SQL.
+kes This patch fixes bug #1003 where putting the message output from
+ a Verify job into the catalog results in a recursive loop. The problem
+ seems to show up only with postgresql (to be verified).
+kes Correct %x to %p in postgresql debug statement.
+02Nov07
+kes Fix bug #942 where lots of emails where generated when the heartbeat
+ interval was low and Bacula wanted a different tape from the one in
+ the drive.
+25Oct07
+ebl Add new SD despooling attributes and Dir inserting attributes
+ job status codes in the catalog (Status table).
+24Oct07
+ebl Use qmake-qt4 instead of qmake when available (debian system).
+22Oct07
+kes Add a security warning to src/cats/make_catalog_backup.in indicating
+ that passing the password via the command line (arg 3) is insecure.
+ This responds to bug #990 (it doesn't fix it).
+19Oct07
+kes Set default debug_level to zero. This corrects bugs #991 and #993.
+kes Fix a crash in bat when it cannot connect to the Director for example
+ if the Director is not running.
+kes Remove redundant INDEX (JobId) from File table in the trunk.
+ This fixes bug #992.
+kes Make explicit exception to GPL in LICENSE to permit linking
+ the Win32 FD with Microsoft VSS code.
+kes Apply the Solaris package patch from
+ Masopust, Christian <christian.masopust@siemens.com>
+kes Apply the patch to optionally add a timestamp in the debug output
+ submitted by Mariusz Czulada <manieq@wp.eu>.
+18Oct07
+ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql
+ backend (sql_strerror). Fixes bug #989
+16Oct07
+kes Apply Michael Short's <mdshort@gmail.com> Win32 regress patch.
+ It applied with no problems.
+kes Add PATH command to SunOS part of mtx-changer.in so that sed and
+ awk are on the path.
+kes Redirect stderror to stdin on mt status command in mtx-changer.in
+ since the status is returned on stderr on Solaris.
+kes Activate Close button on tray-monitor window. This fixes
+ bug #986.
+kes Check for NULL item in parse_conf.c before calling it. In the
+ case of Device, there is no item and this caused a seg fault when
+ Device appears in the conf file.
+kes Add a #define __CONFIG_H when including config.h in bacula.h. This
+ avoids pulling in config.h multiple times in some new code.
+12Oct07
+kes Fix spurious warning message printed when creating a volume with
+ a LabelFormat. This fixes bug #976.
+
+Release Version 2.2.5
+09Oct07
+kes Add JobId in place of Job name in all the Jmsg() output.
+kes Correct the APP_DESC for the Win32 storage service (remove an e).
+07Oct07
+kes Make maxvol-test and new more strict maxvol2-test work.
+kes Print JobId in all Jmsg() job output.
+06Oct07
+kes Add new SD despooling attributes and Dir inserting attributes
+ job status codes. This fixes bug 961.
+kes Fix Win32 drive display in bat version browser. Fixes bug #962.
+05Oct07
+kes Fix doc issue. This fixes bug #963.
+kes Fix listing performance problems in bat. Pointed out by
+ Chris Howells.
+kes Remove old debug code.
+kes Fix bat code that tests for Win32. This should fix bug #968
+kes Query 5 list wrong Vol after migration. This fixes bug #960
+04Oct07
+ebl Fix #969 where user can't change Replace option in restore menu.
+5ASep07
+kes Save jcr in thread specific data (tsd) for each thread.
+kes Make Dmsg() print JobId as -%u.
+kes Make Jmsg, Emsg, and others automatically pickup the jobid
+ for the thread if it exists.
+kes Remove old reservation debug jid code.
+kes Remove get_jcr_from_tid() from OpenSSL and tls code.
+ebl Add an option that permit to specify spool size in job
+ definition. (Applying patches/testing/spoolsize_per_job.patch).
+ You must upgrade SD and DIR at the same time.
+dvl Add new configuration item --archivedir
+dvl Adjust regression tests to use tmp not /tmp. This will allow
+ multiple concurrent runs of the regression tests.
+28Sep07
+kes Fix race condition that drops final block written to volume.
+ This happens in rare cases with multiple simultaneous jobs
+ when the Volume fills. This fixes bug #964. May be related
+ to bug #935 and possibly #903.
+kes Eliminate more strerror() and replace with bstrerror().
+kes Remove BSD getopt and replace with unrestricted IBM version.
+kes Fix Win32 build for changed calling sequences.
+kes More tweaks to the mount volume routines to get everything
+ right. Changed variable name from find to have_vol, which is
+ much easier to understand.
+kes Enhance btimer debug code.
+27Sep07
+kes Fix FD->SD authorization failure, which was due to spurious
+ wakeups from a pthread_cond_timedwait(). Simply check the
+ predicate before continuing. This fixes bug #953.
+kes Add const char where needed (more to do). Remove temp debug code.
+26Sep07
+kes Setup SQLite busy handler before doing queries. Fixes bug #967.
+kes Don't overwrite error message in check_tables_version.
+ Fixes bug #966.
+kes Unlock batch insert tables with same calls used elsewhere.
+kes Allow starting 59 jobs a second.
+kes Make SD session key more random.
+kes Add retry for SQLite opening db if it fails. Probably helps
+ for bug #967.
+kes Suppress extra error messages during batch insert failure.
+ Fixes bug #966.
+kes Add jcr to timer packets so if killed message can be sent to job.
+kes Add JobId to all Dmsg() output.
+kes Put some FD auth code on dbglvl rather than fixed.
+kes Return insert attributes error message in db msg buffer to avoid
+ false error messages. Helps fix bug #966.
+kes Separate batch init error messages. Probably helps fix bug #966.
+kes Make SD code that contructs attribute insert check string lengths
+ more carefully.
+kes If Dir gets an error during inserting attributes, cancel SD.
+ This reduces unnecessary error messages.
+24Sep07
+kes Correct search boolean for getting Volume info
+ebl Cleanup batch insert code. Probably fixes bug #965.
+kes Back out one small change to the reservation system (reserving a volume).
+kes Rework how a Volume is mounted. It is now much more intelligent and
+ will always attempt to use any mounted volume if possible and reduces
+ calls to the Director asking about volumes.
+23Sep07
+kes Turn off some code when batch insert not enabled.
+kes Edit FD name in connect error messages.
+kes Rework the reservation system to take into account that the Director
+ might give us a Volume that is different from the current one being
+ used, and to ensure that we don't exceed Maximum Volume Jobs.
+ This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces
+ fatal error with multiple jobs running'
+kes Add more debug code in reservation system.
+kes Implement maxvol-test to check bug #947.
+22Sep07
+kes Add code to handle tray monitor separated from Win32 FD.
+kes Fix display of Win32 tray monitor after reboot. Fixes bug #952.
+20Sep07
+kes Add missed return in fixing verify bug -- trunk only.
+ebl Fix a command parser issue causing a director segfault.
+kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes.
+ This fixes bug #954.
+kes Increase the max block size to 4MB fixes bug #957.
+kes ERABT if user sets min block size > max block size. Fixes bug #956.
+kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
+ is not properly mounted (recognized) during a poll.
+kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
+ Job that has differences reports Verify OK.
+ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation.
+17Sep07
+ebl Add an option to operate on all pools with update vol parameters.
+ This complete the project 20. Patch from Nigel Stepp.
+ebl Add history support to bconsole when using readline.
+ Using Ctrl-D to exit doesn't update .bconsole_history
+kes Modify new volume algorithm to use max MediaId for generating next
+ volume number rather than the count of Volumes. This should essentially
+ eliminate the failure rate if some volumes were deleted. Bug #921.
+kes Begin implemention of Optimize Job Scheduling.
+kes Implement restore callback that Dirk and I agreed on for bat
+ restore. This fixes bug #928. Restore of backup of zero files fails.
+kes Fix SQL Catalog logging which broke with new db_escape_string
+ calling sequence.
+
+Release Version 2.2.4
+14Sep07
+kes Fix bacula_cats.def for new db_escape_string().
+kes Increase size of name string when FD making connection to SD.
+ May fix bug #953. FD->SD connection failure.
+13Sep07
+kes Add code to help Dan debug 2drive-incremental-2disk test.
+kes Add code to try to fix bug #908.
+kes Add waits to multiple exit detection code to try to force pid
+ file to always be deleted.
+kes Restore good dev.tar.gz to rescue set appropriate binary property.
+ This fixes bug #950.
+kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
+ trying to switch drives by checking for blocking before unblocking.
+ Fixes bug #906.
+kes Cancel storage daemon in all cases where FD reports error. This
+ should fix virtually all cases of bug #920.
+kes Fix db_escape_string() for MySQL which did not compile.
+12Sep07
+kes Fix error message that was clobbered when Dir tells SD it does not
+ have write permission on Volume. This should fix a minor point
+ in bug #942, but not the main problem.
+kes Add code to cancel job in SD if FD connection fails. This should
+ fix bug #920.
+kes Add code in FD exit to prevent loops and a crash on FreeBSD.
+dvl Pass jcr and db into db_escape_string() to enable better escaping
+ of strings
+kes Fix migration code to get correct Volume name with multiple volumes
+ by skipping |. Fixes bug #936.
+kes Implement patch supplied by Landon to fix bug #944 where using
+ TLS with bconsole uses 99+% of the CPU.
+kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+ program.
+kes Move patches into patches directory.
11Sep07
-ebl Fix bug #946 about "bacula-dir -t" witch doesn't works
+ebl Fix bug #946 about 'bacula-dir -t' which doesn't works
as expected.
09Sep07
-ebl Using "m" in bconsole will show messages like before,
+ebl Using 'm' in bconsole will show messages like before,
and not memory usage.
kes Fix bug #935, and probably also bug #903 where files were not
restored. MediaId was not properly set in JobMedia record after
kes Suppress chown and chmod error messages if the FD is not running
as root.
07Sep07
-kes Apply Martin Simmons patch that should turn off the new API usage
+kes Apply Martin Simmons' patch that should turn off the new API usage
when batch insert is turned off allowing building on older
PostgreSQLs.
kes Add ./configure search in qwt-qt4 for qwt package
kes Remove enh_fnmatch.c. Make code that references it use fnmatch.c
04Sep07
ebl Detect if new PosgreSQL batch insert API is present.
-kes Correct incorrect mempool call causing Director crash.
+kes Correct incorrect mempool call causing Director crash. Occurs on
+ systems without va_copy().
sb Update spec files for 2.2.1 release
03Sep07
kes Fix memory pool call in ua_output.c. bug #934.