+++ /dev/null
-
- This patch automatically adds the Bacula database and user name to
- the default make_catalog_backup Run script call line in the bacula-dir.conf
- file.
-
- Apply it to version 2.2.8 or earlier with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-bacula-conf.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-Index: src/dird/bacula-dir.conf.in
-===================================================================
---- src/dird/bacula-dir.conf.in (revision 6327)
-+++ src/dird/bacula-dir.conf.in (working copy)
-@@ -61,7 +61,11 @@
- FileSet="Catalog"
- Schedule = "WeeklyCycleAfterBackup"
- # This creates an ASCII copy of the catalog
-- RunBeforeJob = "@scriptdir@/make_catalog_backup bacula bacula"
-+ # WARNING!!! Passing the password via the command line is insecure.
-+ # see comments in make_catalog_backup for details.
-+ # Arguments to make_catalog_backup are:
-+ # make_catalog_backup <database-name> <user-name> <password> <host>
-+ RunBeforeJob = "@scriptdir@/make_catalog_backup @db_name@ @db_user@"
- # This deletes the copy of the catalog
- RunAfterJob = "@scriptdir@/delete_catalog_backup"
- Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
+++ /dev/null
-
- This patch fixes two deadlock conditions that occur in Bacula.
- The first is caused by running simultaneous backup and restore jobs
- with an autochanger, and leads to use counts getting out of sync causing
- jobs in the Director to wait on resources.
- The second is a condition where the SD is unable to use a Volume that
- is currently mounted because it keeps wanting a different Volume. This
- condition seems to be relatively rare unless you are using
- "Prefer Mounted Volumes = no" in which case it occurs much more often.
-
- This patch can be applied to a fully patched 2.2.8 version with the
- following:
-
- cd <bacula-source>
- patch -p0 <2.2.8-deadlock.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-
-Index: src/dird/jobq.c
-===================================================================
---- src/dird/jobq.c (revision 6531)
-+++ src/dird/jobq.c (working copy)
-@@ -478,7 +478,7 @@
- */
- if (jcr->acquired_resource_locks) {
- if (jcr->rstore) {
-- jcr->rstore->NumConcurrentJobs = 0;
-+ jcr->rstore->NumConcurrentJobs--;
- Dmsg1(200, "Dec rncj=%d\n", jcr->rstore->NumConcurrentJobs);
- }
- if (jcr->wstore) {
-Index: src/stored/askdir.c
-===================================================================
---- src/stored/askdir.c (revision 6531)
-+++ src/stored/askdir.c (working copy)
-@@ -252,20 +252,19 @@
- {
- JCR *jcr = dcr->jcr;
- BSOCK *dir = jcr->dir_bsock;
-- bool found = false;
-
- Dmsg2(200, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n",
- dcr->reserved_device, dcr->VolumeName);
-
- /*
-- * Try the twenty oldest or most available volumes. Note,
-+ * Try the fourty oldest or most available volumes. Note,
- * the most available could already be mounted on another
- * drive, so we continue looking for a not in use Volume.
- */
- lock_reservations();
- P(vol_info_mutex);
- dcr->volume_in_use = false;
-- for (int vol_index=1; vol_index < 20; vol_index++) {
-+ for (int vol_index=1; vol_index < 40; vol_index++) {
- bash_spaces(dcr->media_type);
- bash_spaces(dcr->pool_name);
- dir->fsend(Find_media, jcr->Job, vol_index, dcr->pool_name, dcr->media_type);
-@@ -275,33 +274,26 @@
- bool ok = do_get_volume_info(dcr);
- if (ok) {
- if (!is_volume_in_use(dcr)) {
-- found = true;
-- break;
-+ Dmsg0(400, "dir_find_next_appendable_volume return true\n");
-+ if (reserve_volume(dcr, dcr->VolumeName) == 0) {
-+ Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
-+ dcr->dev->print_name());
-+ continue;
-+ }
-+ V(vol_info_mutex);
-+ unlock_reservations();
-+ return true;
- } else {
- Dmsg1(100, "Volume %s is in use.\n", dcr->VolumeName);
- dcr->volume_in_use = true;
- continue;
- }
-- } else {
-- Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
-- dcr->dev->print_name());
-- found = false;
-- break;
- }
-+ Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
-+ dcr->dev->print_name());
-+ break;
- }
-- if (found) {
-- Dmsg0(400, "dir_find_next_appendable_volume return true\n");
-- if (reserve_volume(dcr, dcr->VolumeName) == 0) {
-- Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
-- dcr->dev->print_name());
-- goto bail_out;
-- }
-- V(vol_info_mutex);
-- unlock_reservations();
-- return true;
-- }
-
--bail_out:
- dcr->VolumeName[0] = 0;
- V(vol_info_mutex);
- unlock_reservations();
-Index: src/stored/acquire.c
-===================================================================
---- src/stored/acquire.c (revision 6531)
-+++ src/stored/acquire.c (working copy)
-@@ -362,7 +362,10 @@
- strcmp(dev->VolHdr.VolumeName, dcr->VolumeName) == 0)) { /* wrong tape mounted */
- /* Wrong tape mounted, release it, then fall through to get correct one */
- Dmsg0(50, "Wrong tape mounted, release and try mount.\n");
-- release = true;
-+ /* Do not release if no Volume in drive */
-+ if (dev->VolHdr.VolumeName[0]) {
-+ release = true;
-+ }
- do_mount = true;
- } else {
- /*
+++ /dev/null
-
- This patch fixes bug #1091 about wrong output in estimate
- command.
-
- Apply the patch to 2.2.8 (and possibly any 2.2.x version with):
-
- cd <bacula-source>
- patch -p0 <2.2.8-estimate-output.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-Index: src/dird/ua_cmds.c
-===================================================================
---- src/dird/ua_cmds.c (révision 7010)
-+++ src/dird/ua_cmds.c (copie de travail)
-@@ -1158,7 +1158,7 @@
- get_level_since_time(ua->jcr, since, sizeof(since));
-
- ua->send_msg(_("Connecting to Client %s at %s:%d\n"),
-- job->client->name(), job->client->address, job->client->FDport);
-+ jcr->client->name(), jcr->client->address, jcr->client->FDport);
- if (!connect_to_file_daemon(jcr, 1, 15, 0)) {
- ua->error_msg(_("Failed to connect to Client.\n"));
- return 1;
+++ /dev/null
-
- This patch fixes a bug that cause storage to create JOBMEDIA records
- for every block written to tape.
-
- This Patch works with 2.2.8-jobmedia.patch
-
- Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-jobmedia-fix.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-Index: src/stored/block.c
-===================================================================
---- src/stored/block.c (revision 6531)
-+++ src/stored/block.c (working copy)
-@@ -374,7 +374,6 @@
- if (dcr->NewVol) {
- /* Note, setting a new volume also handles any pending new file */
- set_new_volume_parameters(dcr);
-- dcr->NewFile = false; /* this handled for new file too */
- } else {
- set_new_file_parameters(dcr);
- }
-Index: src/stored/device.c
-===================================================================
---- src/stored/device.c (revision 6531)
-+++ src/stored/device.c (working copy)
-@@ -226,6 +226,7 @@
- }
- set_new_file_parameters(dcr);
- jcr->NumWriteVolumes++;
-+ dcr->NewVol = false;
- }
-
- /*
+++ /dev/null
-
- This patch fixes a migration bug that always has a zero index entry
- (JobMedia record) as the first entry. This causes Bacula to search
- for the first record during a restore rather than seek directly to
- it.
-
- You have to apply 2.2.8-jobmedia-fix.patch too.
-
- Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-jobmedia.patch
- patch -p0 <2.2.8-jobmedia-fix.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-Index: src/stored/device.c
-===================================================================
---- src/stored/device.c (revision 6391)
-+++ src/stored/device.c (working copy)
-@@ -1,7 +1,7 @@
- /*
- Bacula® - The Network Backup Solution
-
-- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
-+ Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
-
- The main author of Bacula is Kern Sibbald, with contributions from
- many others, a complete list can be found in the file AUTHORS.
-@@ -200,6 +200,19 @@
- return ok; /* device locked */
- }
-
-+void set_start_vol_position(DCR *dcr)
-+{
-+ DEVICE *dev = dcr->dev;
-+ /* Set new start position */
-+ if (dev->is_tape()) {
-+ dcr->StartBlock = dev->block_num;
-+ dcr->StartFile = dev->file;
-+ } else {
-+ dcr->StartBlock = (uint32_t)dev->file_addr;
-+ dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
-+ }
-+}
-+
- /*
- * We have a new Volume mounted, so reset the Volume parameters
- * concerning this job. The global changes were made earlier
-@@ -208,24 +221,11 @@
- void set_new_volume_parameters(DCR *dcr)
- {
- JCR *jcr = dcr->jcr;
-- DEVICE *dev = dcr->dev;
- if (dcr->NewVol && !dir_get_volume_info(dcr, GET_VOL_INFO_FOR_WRITE)) {
- Jmsg1(jcr, M_ERROR, 0, "%s", jcr->errmsg);
- }
-- /* Set new start/end positions */
-- if (dev->is_tape()) {
-- dcr->StartBlock = dev->block_num;
-- dcr->StartFile = dev->file;
-- } else {
-- dcr->StartBlock = (uint32_t)dev->file_addr;
-- dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
-- }
-- /* Reset indicies */
-- dcr->VolFirstIndex = 0;
-- dcr->VolLastIndex = 0;
-+ set_new_file_parameters(dcr);
- jcr->NumWriteVolumes++;
-- dcr->NewVol = false;
-- dcr->WroteVol = false;
- }
-
- /*
-@@ -235,16 +235,8 @@
- */
- void set_new_file_parameters(DCR *dcr)
- {
-- DEVICE *dev = dcr->dev;
-+ set_start_vol_position(dcr);
-
-- /* Set new start/end positions */
-- if (dev->is_tape()) {
-- dcr->StartBlock = dev->block_num;
-- dcr->StartFile = dev->file;
-- } else {
-- dcr->StartBlock = (uint32_t)dev->file_addr;
-- dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
-- }
- /* Reset indicies */
- dcr->VolFirstIndex = 0;
- dcr->VolLastIndex = 0;
-Index: src/stored/mac.c
-===================================================================
---- src/stored/mac.c (revision 6391)
-+++ src/stored/mac.c (working copy)
-@@ -1,15 +1,7 @@
- /*
-- * SD -- mac.c -- responsible for doing
-- * migration, archive, and copy jobs.
-- *
-- * Kern Sibbald, January MMVI
-- *
-- * Version $Id$
-- */
--/*
- Bacula® - The Network Backup Solution
-
-- Copyright (C) 2006-2006 Free Software Foundation Europe e.V.
-+ Copyright (C) 2006-2008 Free Software Foundation Europe e.V.
-
- The main author of Bacula is Kern Sibbald, with contributions from
- many others, a complete list can be found in the file AUTHORS.
-@@ -33,6 +25,14 @@
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
- */
-+/*
-+ * SD -- mac.c -- responsible for doing
-+ * migration, archive, and copy jobs.
-+ *
-+ * Kern Sibbald, January MMVI
-+ *
-+ * Version $Id$
-+ */
-
- #include "bacula.h"
- #include "stored.h"
-@@ -108,6 +108,7 @@
-
- jcr->dcr->VolFirstIndex = jcr->dcr->VolLastIndex = 0;
- jcr->run_time = time(NULL);
-+ set_start_vol_position(jcr->dcr);
-
- ok = read_records(jcr->read_dcr, record_cb, mount_next_read_volume);
- goto ok_out;
-Index: src/stored/protos.h
-===================================================================
---- src/stored/protos.h (revision 6391)
-+++ src/stored/protos.h (working copy)
-@@ -126,6 +126,7 @@
- bool open_device(DCR *dcr);
- bool first_open_device(DCR *dcr);
- bool fixup_device_block_write_error(DCR *dcr);
-+void set_start_vol_position(DCR *dcr);
- void set_new_volume_parameters(DCR *dcr);
- void set_new_file_parameters(DCR *dcr);
- bool is_device_unmounted(DEVICE *dev);
+++ /dev/null
-
- This patch fixes bug #1031 about wrong pool source information
- in job report.
-
- Apply the patch to 2.2.8 (and possibly any 2.2.x version with):
-
- cd <bacula-source>
- patch -p0 <2.2.8-pool-source.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-
-Index: src/dird/ua_run.c
-===================================================================
---- src/dird/ua_run.c (révision 6388)
-+++ src/dird/ua_run.c (copie de travail)
-@@ -122,6 +122,9 @@
- jcr->verify_job = rc.verify_job;
- jcr->previous_job = rc.previous_job;
- jcr->pool = rc.pool;
-+ if (jcr->pool != jcr->job->pool) {
-+ pm_strcpy(jcr->pool_source, _("User input"));
-+ }
- set_rwstorage(jcr, rc.store);
- jcr->client = rc.client;
- pm_strcpy(jcr->client_name, rc.client->name());
+++ /dev/null
-
- This patch should fix bug #1047 -- heap corruption when using
- strippath on certain directories.
-
- Apply it to 2.2.8 (probably prior versions) with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-strip-path.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-Index: src/filed/backup.c
-===================================================================
---- src/filed/backup.c (revision 6390)
-+++ src/filed/backup.c (revision 6391)
-@@ -1146,20 +1146,21 @@
- /*
- * Strip path. If it doesn't succeed put it back. If
- * it does, and there is a different link string,
-- * attempt to strip the link. If it fails, but them
-+ * attempt to strip the link. If it fails, back them
- * both back.
-+ * Don't strip symlinks.
- * I.e. if either stripping fails don't strip anything.
- */
- if (do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
-- if (ff_pkt->fname != ff_pkt->link) {
-+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
- pm_strcpy(ff_pkt->link_save, ff_pkt->link);
- if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
-- strcpy(ff_pkt->link, ff_pkt->link_save);
-- strcpy(ff_pkt->fname, ff_pkt->fname_save);
-+ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
-+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
- }
- }
- } else {
-- strcpy(ff_pkt->fname, ff_pkt->fname_save);
-+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
- }
- Dmsg2(200, "fname=%s stripped=%s\n", ff_pkt->fname_save, ff_pkt->fname);
- }
-@@ -1169,8 +1170,8 @@
- if (!(ff_pkt->flags & FO_STRIPPATH) || ff_pkt->strip_path <= 0) {
- return;
- }
-- strcpy(ff_pkt->fname, ff_pkt->fname_save);
-- if (ff_pkt->fname != ff_pkt->link) {
-- strcpy(ff_pkt->link, ff_pkt->link_save);
-+ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
-+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
-+ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
- }
- }
+++ /dev/null
-
- This patch fixes the strippath bug that created a buffer overrun and thus
- a crash in the FD. It fixes bug #1078.
-
- Apply it to version 2.2.8 or higher with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-strippath.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/filed/backup.c
-===================================================================
---- src/filed/backup.c (revision 6843)
-+++ src/filed/backup.c (working copy)
-@@ -1102,9 +1102,9 @@
-
- /* Copy to first path separator -- Win32 might have c: ... */
- while (*in && !IsPathSeparator(*in)) {
-- *out++ = *in++;
-+ out++; in++;
- }
-- *out++ = *in++;
-+ out++; in++;
- numsep++; /* one separator seen */
- for (stripped=0; stripped<count && *in; stripped++) {
- while (*in && !IsPathSeparator(*in)) {
-@@ -1129,7 +1129,11 @@
- }
-
- /*
-- * If requested strip leading components of the path
-+ * If requested strip leading components of the path so that we can
-+ * save file as if it came from a subdirectory. This is most useful
-+ * for dealing with snapshots, by removing the snapshot directory, or
-+ * in handling vendor migrations where files have been restored with
-+ * a vendor product into a subdirectory.
- */
- static void strip_path(FF_PKT *ff_pkt)
- {
-@@ -1142,27 +1146,35 @@
- ff_pkt->link_save = get_pool_memory(PM_FNAME);
- }
- pm_strcpy(ff_pkt->fname_save, ff_pkt->fname);
-+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
-+ pm_strcpy(ff_pkt->link_save, ff_pkt->link);
-+ Dmsg2(500, "strcpy link_save=%d link=%d\n", strlen(ff_pkt->link_save),
-+ strlen(ff_pkt->link));
-+// sm_check(__FILE__, __LINE__, true);
-+ }
-
- /*
- * Strip path. If it doesn't succeed put it back. If
- * it does, and there is a different link string,
- * attempt to strip the link. If it fails, back them
- * both back.
-- * Don't strip symlinks.
-+ * Do not strip symlinks.
- * I.e. if either stripping fails don't strip anything.
- */
-- if (do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
-- if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
-- pm_strcpy(ff_pkt->link_save, ff_pkt->link);
-- if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
-- strcpy(ff_pkt->link, ff_pkt->link_save);
-- strcpy(ff_pkt->fname, ff_pkt->fname_save);
-- }
-+ if (!do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
-+ unstrip_path(ff_pkt);
-+ goto rtn;
-+ }
-+ /* Strip links but not symlinks */
-+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
-+ if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
-+ unstrip_path(ff_pkt);
- }
-- } else {
-- strcpy(ff_pkt->fname, ff_pkt->fname_save);
-- }
-- Dmsg2(200, "fname=%s stripped=%s\n", ff_pkt->fname_save, ff_pkt->fname);
-+ }
-+
-+rtn:
-+ Dmsg3(100, "fname=%s stripped=%s link=%s\n", ff_pkt->fname_save, ff_pkt->fname,
-+ ff_pkt->link);
- }
-
- static void unstrip_path(FF_PKT *ff_pkt)
-@@ -1172,6 +1184,11 @@
- }
- strcpy(ff_pkt->fname, ff_pkt->fname_save);
- if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
-+ Dmsg2(500, "strcpy link=%s link_save=%s\n", ff_pkt->link,
-+ ff_pkt->link_save);
- strcpy(ff_pkt->link, ff_pkt->link_save);
-+ Dmsg2(500, "strcpy link=%d link_save=%d\n", strlen(ff_pkt->link),
-+ strlen(ff_pkt->link_save));
-+// sm_check(__FILE__, __LINE__, true);
- }
- }
+++ /dev/null
-
- This patch avoid to store negative values in catalog for VolWriteTime and
- VolReadTime Media attributes.
-
- To fix errors in your catalog, you can use
-bconsole
-sql
-UPDATE Media SET VolWriteTime=0 WHERE VolWriteTime<0
-UPDATE Media SET VolReadTime=0 WHERE VolReadTime<0
-
-
- Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
-
- cd <bacula-source>
- patch -p0 <2.2.8-volstat2.patch
- ./configure <your-options>
- make
- ...
- make install
-
-
-
-
-Index: src/dird/catreq.c
-===================================================================
---- src/dird/catreq.c (revision 6765)
-+++ src/dird/catreq.c (working copy)
-@@ -281,10 +281,14 @@
- mr.VolWrites = sdmr.VolWrites;
- mr.Slot = sdmr.Slot;
- mr.InChanger = sdmr.InChanger;
-- mr.VolReadTime = sdmr.VolReadTime;
-- mr.VolWriteTime = sdmr.VolWriteTime;
- mr.VolParts = sdmr.VolParts;
- bstrncpy(mr.VolStatus, sdmr.VolStatus, sizeof(mr.VolStatus));
-+ if (sdmr.VolReadTime >= 0) {
-+ mr.VolReadTime = sdmr.VolReadTime;
-+ }
-+ if (sdmr.VolWriteTime >= 0) {
-+ mr.VolWriteTime = sdmr.VolWriteTime;
-+ }
- /*
- * Update to point to the last device used to write the Volume.
- * However, do so only if we are writing the tape, i.e.
-Index: src/cats/sql_update.c
-===================================================================
---- src/cats/sql_update.c (revision 6765)
-+++ src/cats/sql_update.c (working copy)
-@@ -350,6 +350,14 @@
- UPDATE_DB(jcr, mdb, mdb->cmd);
- }
-
-+ /* sanity checks for #1066 */
-+ if (mr->VolReadTime < 0) {
-+ mr->VolReadTime = 0;
-+ }
-+ if (mr->VolWriteTime < 0) {
-+ mr->VolWriteTime = 0;
-+ }
-+
- Mmsg(mdb->cmd, "UPDATE Media SET VolJobs=%u,"
- "VolFiles=%u,VolBlocks=%u,VolBytes=%s,VolMounts=%u,VolErrors=%u,"
- "VolWrites=%u,MaxVolBytes=%s,VolStatus='%s',"
-Index: src/stored/dev.c
-===================================================================
---- src/stored/dev.c (revision 6765)
-+++ src/stored/dev.c (working copy)
-@@ -2184,12 +2184,15 @@
- }
- }
-
--/* return the last timer interval (ms) */
-+/* return the last timer interval (ms)
-+ * or 0 if something goes wrong
-+ */
- btime_t DEVICE::get_timer_count()
- {
-- btime_t old = last_timer;
-+ btime_t temp = last_timer;
- last_timer = get_current_btime();
-- return last_timer - old;
-+ temp = last_timer - temp; /* get elapsed time */
-+ return (temp>0)?temp:0; /* take care of skewed clock */
- }
-
- /* read from fd */
--- /dev/null
+
+ This patch automatically adds the Bacula database and user name to
+ the default make_catalog_backup Run script call line in the bacula-dir.conf
+ file.
+
+ Apply it to version 2.2.8 or earlier with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-bacula-conf.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+Index: src/dird/bacula-dir.conf.in
+===================================================================
+--- src/dird/bacula-dir.conf.in (revision 6327)
++++ src/dird/bacula-dir.conf.in (working copy)
+@@ -61,7 +61,11 @@
+ FileSet="Catalog"
+ Schedule = "WeeklyCycleAfterBackup"
+ # This creates an ASCII copy of the catalog
+- RunBeforeJob = "@scriptdir@/make_catalog_backup bacula bacula"
++ # WARNING!!! Passing the password via the command line is insecure.
++ # see comments in make_catalog_backup for details.
++ # Arguments to make_catalog_backup are:
++ # make_catalog_backup <database-name> <user-name> <password> <host>
++ RunBeforeJob = "@scriptdir@/make_catalog_backup @db_name@ @db_user@"
+ # This deletes the copy of the catalog
+ RunAfterJob = "@scriptdir@/delete_catalog_backup"
+ Write Bootstrap = "@working_dir@/BackupCatalog.bsr"
--- /dev/null
+
+ This patch fixes two deadlock conditions that occur in Bacula.
+ The first is caused by running simultaneous backup and restore jobs
+ with an autochanger, and leads to use counts getting out of sync causing
+ jobs in the Director to wait on resources.
+ The second is a condition where the SD is unable to use a Volume that
+ is currently mounted because it keeps wanting a different Volume. This
+ condition seems to be relatively rare unless you are using
+ "Prefer Mounted Volumes = no" in which case it occurs much more often.
+
+ This patch can be applied to a fully patched 2.2.8 version with the
+ following:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-deadlock.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+
+Index: src/dird/jobq.c
+===================================================================
+--- src/dird/jobq.c (revision 6531)
++++ src/dird/jobq.c (working copy)
+@@ -478,7 +478,7 @@
+ */
+ if (jcr->acquired_resource_locks) {
+ if (jcr->rstore) {
+- jcr->rstore->NumConcurrentJobs = 0;
++ jcr->rstore->NumConcurrentJobs--;
+ Dmsg1(200, "Dec rncj=%d\n", jcr->rstore->NumConcurrentJobs);
+ }
+ if (jcr->wstore) {
+Index: src/stored/askdir.c
+===================================================================
+--- src/stored/askdir.c (revision 6531)
++++ src/stored/askdir.c (working copy)
+@@ -252,20 +252,19 @@
+ {
+ JCR *jcr = dcr->jcr;
+ BSOCK *dir = jcr->dir_bsock;
+- bool found = false;
+
+ Dmsg2(200, "dir_find_next_appendable_volume: reserved=%d Vol=%s\n",
+ dcr->reserved_device, dcr->VolumeName);
+
+ /*
+- * Try the twenty oldest or most available volumes. Note,
++ * Try the fourty oldest or most available volumes. Note,
+ * the most available could already be mounted on another
+ * drive, so we continue looking for a not in use Volume.
+ */
+ lock_reservations();
+ P(vol_info_mutex);
+ dcr->volume_in_use = false;
+- for (int vol_index=1; vol_index < 20; vol_index++) {
++ for (int vol_index=1; vol_index < 40; vol_index++) {
+ bash_spaces(dcr->media_type);
+ bash_spaces(dcr->pool_name);
+ dir->fsend(Find_media, jcr->Job, vol_index, dcr->pool_name, dcr->media_type);
+@@ -275,33 +274,26 @@
+ bool ok = do_get_volume_info(dcr);
+ if (ok) {
+ if (!is_volume_in_use(dcr)) {
+- found = true;
+- break;
++ Dmsg0(400, "dir_find_next_appendable_volume return true\n");
++ if (reserve_volume(dcr, dcr->VolumeName) == 0) {
++ Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
++ dcr->dev->print_name());
++ continue;
++ }
++ V(vol_info_mutex);
++ unlock_reservations();
++ return true;
+ } else {
+ Dmsg1(100, "Volume %s is in use.\n", dcr->VolumeName);
+ dcr->volume_in_use = true;
+ continue;
+ }
+- } else {
+- Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
+- dcr->dev->print_name());
+- found = false;
+- break;
+ }
++ Dmsg2(100, "No vol. index %d return false. dev=%s\n", vol_index,
++ dcr->dev->print_name());
++ break;
+ }
+- if (found) {
+- Dmsg0(400, "dir_find_next_appendable_volume return true\n");
+- if (reserve_volume(dcr, dcr->VolumeName) == 0) {
+- Dmsg2(100, "Could not reserve volume %s on %s\n", dcr->VolumeName,
+- dcr->dev->print_name());
+- goto bail_out;
+- }
+- V(vol_info_mutex);
+- unlock_reservations();
+- return true;
+- }
+
+-bail_out:
+ dcr->VolumeName[0] = 0;
+ V(vol_info_mutex);
+ unlock_reservations();
+Index: src/stored/acquire.c
+===================================================================
+--- src/stored/acquire.c (revision 6531)
++++ src/stored/acquire.c (working copy)
+@@ -362,7 +362,10 @@
+ strcmp(dev->VolHdr.VolumeName, dcr->VolumeName) == 0)) { /* wrong tape mounted */
+ /* Wrong tape mounted, release it, then fall through to get correct one */
+ Dmsg0(50, "Wrong tape mounted, release and try mount.\n");
+- release = true;
++ /* Do not release if no Volume in drive */
++ if (dev->VolHdr.VolumeName[0]) {
++ release = true;
++ }
+ do_mount = true;
+ } else {
+ /*
--- /dev/null
+
+ This patch fixes bug #1091 about wrong output in estimate
+ command.
+
+ Apply the patch to 2.2.8 (and possibly any 2.2.x version with):
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-estimate-output.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+Index: src/dird/ua_cmds.c
+===================================================================
+--- src/dird/ua_cmds.c (révision 7010)
++++ src/dird/ua_cmds.c (copie de travail)
+@@ -1158,7 +1158,7 @@
+ get_level_since_time(ua->jcr, since, sizeof(since));
+
+ ua->send_msg(_("Connecting to Client %s at %s:%d\n"),
+- job->client->name(), job->client->address, job->client->FDport);
++ jcr->client->name(), jcr->client->address, jcr->client->FDport);
+ if (!connect_to_file_daemon(jcr, 1, 15, 0)) {
+ ua->error_msg(_("Failed to connect to Client.\n"));
+ return 1;
--- /dev/null
+
+ This patch fixes a bug that cause storage to create JOBMEDIA records
+ for every block written to tape.
+
+ This Patch works with 2.2.8-jobmedia.patch
+
+ Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-jobmedia-fix.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+Index: src/stored/block.c
+===================================================================
+--- src/stored/block.c (revision 6531)
++++ src/stored/block.c (working copy)
+@@ -374,7 +374,6 @@
+ if (dcr->NewVol) {
+ /* Note, setting a new volume also handles any pending new file */
+ set_new_volume_parameters(dcr);
+- dcr->NewFile = false; /* this handled for new file too */
+ } else {
+ set_new_file_parameters(dcr);
+ }
+Index: src/stored/device.c
+===================================================================
+--- src/stored/device.c (revision 6531)
++++ src/stored/device.c (working copy)
+@@ -226,6 +226,7 @@
+ }
+ set_new_file_parameters(dcr);
+ jcr->NumWriteVolumes++;
++ dcr->NewVol = false;
+ }
+
+ /*
--- /dev/null
+
+ This patch fixes a migration bug that always has a zero index entry
+ (JobMedia record) as the first entry. This causes Bacula to search
+ for the first record during a restore rather than seek directly to
+ it.
+
+ You have to apply 2.2.8-jobmedia-fix.patch too.
+
+ Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-jobmedia.patch
+ patch -p0 <2.2.8-jobmedia-fix.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+Index: src/stored/device.c
+===================================================================
+--- src/stored/device.c (revision 6391)
++++ src/stored/device.c (working copy)
+@@ -1,7 +1,7 @@
+ /*
+ Bacula® - The Network Backup Solution
+
+- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
++ Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+@@ -200,6 +200,19 @@
+ return ok; /* device locked */
+ }
+
++void set_start_vol_position(DCR *dcr)
++{
++ DEVICE *dev = dcr->dev;
++ /* Set new start position */
++ if (dev->is_tape()) {
++ dcr->StartBlock = dev->block_num;
++ dcr->StartFile = dev->file;
++ } else {
++ dcr->StartBlock = (uint32_t)dev->file_addr;
++ dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
++ }
++}
++
+ /*
+ * We have a new Volume mounted, so reset the Volume parameters
+ * concerning this job. The global changes were made earlier
+@@ -208,24 +221,11 @@
+ void set_new_volume_parameters(DCR *dcr)
+ {
+ JCR *jcr = dcr->jcr;
+- DEVICE *dev = dcr->dev;
+ if (dcr->NewVol && !dir_get_volume_info(dcr, GET_VOL_INFO_FOR_WRITE)) {
+ Jmsg1(jcr, M_ERROR, 0, "%s", jcr->errmsg);
+ }
+- /* Set new start/end positions */
+- if (dev->is_tape()) {
+- dcr->StartBlock = dev->block_num;
+- dcr->StartFile = dev->file;
+- } else {
+- dcr->StartBlock = (uint32_t)dev->file_addr;
+- dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
+- }
+- /* Reset indicies */
+- dcr->VolFirstIndex = 0;
+- dcr->VolLastIndex = 0;
++ set_new_file_parameters(dcr);
+ jcr->NumWriteVolumes++;
+- dcr->NewVol = false;
+- dcr->WroteVol = false;
+ }
+
+ /*
+@@ -235,16 +235,8 @@
+ */
+ void set_new_file_parameters(DCR *dcr)
+ {
+- DEVICE *dev = dcr->dev;
++ set_start_vol_position(dcr);
+
+- /* Set new start/end positions */
+- if (dev->is_tape()) {
+- dcr->StartBlock = dev->block_num;
+- dcr->StartFile = dev->file;
+- } else {
+- dcr->StartBlock = (uint32_t)dev->file_addr;
+- dcr->StartFile = (uint32_t)(dev->file_addr >> 32);
+- }
+ /* Reset indicies */
+ dcr->VolFirstIndex = 0;
+ dcr->VolLastIndex = 0;
+Index: src/stored/mac.c
+===================================================================
+--- src/stored/mac.c (revision 6391)
++++ src/stored/mac.c (working copy)
+@@ -1,15 +1,7 @@
+ /*
+- * SD -- mac.c -- responsible for doing
+- * migration, archive, and copy jobs.
+- *
+- * Kern Sibbald, January MMVI
+- *
+- * Version $Id$
+- */
+-/*
+ Bacula® - The Network Backup Solution
+
+- Copyright (C) 2006-2006 Free Software Foundation Europe e.V.
++ Copyright (C) 2006-2008 Free Software Foundation Europe e.V.
+
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+@@ -33,6 +25,14 @@
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf@fsfeurope.org.
+ */
++/*
++ * SD -- mac.c -- responsible for doing
++ * migration, archive, and copy jobs.
++ *
++ * Kern Sibbald, January MMVI
++ *
++ * Version $Id$
++ */
+
+ #include "bacula.h"
+ #include "stored.h"
+@@ -108,6 +108,7 @@
+
+ jcr->dcr->VolFirstIndex = jcr->dcr->VolLastIndex = 0;
+ jcr->run_time = time(NULL);
++ set_start_vol_position(jcr->dcr);
+
+ ok = read_records(jcr->read_dcr, record_cb, mount_next_read_volume);
+ goto ok_out;
+Index: src/stored/protos.h
+===================================================================
+--- src/stored/protos.h (revision 6391)
++++ src/stored/protos.h (working copy)
+@@ -126,6 +126,7 @@
+ bool open_device(DCR *dcr);
+ bool first_open_device(DCR *dcr);
+ bool fixup_device_block_write_error(DCR *dcr);
++void set_start_vol_position(DCR *dcr);
+ void set_new_volume_parameters(DCR *dcr);
+ void set_new_file_parameters(DCR *dcr);
+ bool is_device_unmounted(DEVICE *dev);
--- /dev/null
+
+ This patch fixes bug #1031 about wrong pool source information
+ in job report.
+
+ Apply the patch to 2.2.8 (and possibly any 2.2.x version with):
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-pool-source.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+
+Index: src/dird/ua_run.c
+===================================================================
+--- src/dird/ua_run.c (révision 6388)
++++ src/dird/ua_run.c (copie de travail)
+@@ -122,6 +122,9 @@
+ jcr->verify_job = rc.verify_job;
+ jcr->previous_job = rc.previous_job;
+ jcr->pool = rc.pool;
++ if (jcr->pool != jcr->job->pool) {
++ pm_strcpy(jcr->pool_source, _("User input"));
++ }
+ set_rwstorage(jcr, rc.store);
+ jcr->client = rc.client;
+ pm_strcpy(jcr->client_name, rc.client->name());
--- /dev/null
+
+ This patch should fix bug #1047 -- heap corruption when using
+ strippath on certain directories.
+
+ Apply it to 2.2.8 (probably prior versions) with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-strip-path.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+Index: src/filed/backup.c
+===================================================================
+--- src/filed/backup.c (revision 6390)
++++ src/filed/backup.c (revision 6391)
+@@ -1146,20 +1146,21 @@
+ /*
+ * Strip path. If it doesn't succeed put it back. If
+ * it does, and there is a different link string,
+- * attempt to strip the link. If it fails, but them
++ * attempt to strip the link. If it fails, back them
+ * both back.
++ * Don't strip symlinks.
+ * I.e. if either stripping fails don't strip anything.
+ */
+ if (do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
+- if (ff_pkt->fname != ff_pkt->link) {
++ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
+ pm_strcpy(ff_pkt->link_save, ff_pkt->link);
+ if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
+- strcpy(ff_pkt->link, ff_pkt->link_save);
+- strcpy(ff_pkt->fname, ff_pkt->fname_save);
++ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
++ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ }
+ }
+ } else {
+- strcpy(ff_pkt->fname, ff_pkt->fname_save);
++ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ }
+ Dmsg2(200, "fname=%s stripped=%s\n", ff_pkt->fname_save, ff_pkt->fname);
+ }
+@@ -1169,8 +1170,8 @@
+ if (!(ff_pkt->flags & FO_STRIPPATH) || ff_pkt->strip_path <= 0) {
+ return;
+ }
+- strcpy(ff_pkt->fname, ff_pkt->fname_save);
+- if (ff_pkt->fname != ff_pkt->link) {
+- strcpy(ff_pkt->link, ff_pkt->link_save);
++ pm_strcpy(ff_pkt->fname, ff_pkt->fname_save);
++ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
++ pm_strcpy(ff_pkt->link, ff_pkt->link_save);
+ }
+ }
--- /dev/null
+
+ This patch fixes the strippath bug that created a buffer overrun and thus
+ a crash in the FD. It fixes bug #1078.
+
+ Apply it to version 2.2.8 or higher with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-strippath.patch
+ ./configure <your options>
+ make
+ ...
+ make install
+
+
+Index: src/filed/backup.c
+===================================================================
+--- src/filed/backup.c (revision 6843)
++++ src/filed/backup.c (working copy)
+@@ -1102,9 +1102,9 @@
+
+ /* Copy to first path separator -- Win32 might have c: ... */
+ while (*in && !IsPathSeparator(*in)) {
+- *out++ = *in++;
++ out++; in++;
+ }
+- *out++ = *in++;
++ out++; in++;
+ numsep++; /* one separator seen */
+ for (stripped=0; stripped<count && *in; stripped++) {
+ while (*in && !IsPathSeparator(*in)) {
+@@ -1129,7 +1129,11 @@
+ }
+
+ /*
+- * If requested strip leading components of the path
++ * If requested strip leading components of the path so that we can
++ * save file as if it came from a subdirectory. This is most useful
++ * for dealing with snapshots, by removing the snapshot directory, or
++ * in handling vendor migrations where files have been restored with
++ * a vendor product into a subdirectory.
+ */
+ static void strip_path(FF_PKT *ff_pkt)
+ {
+@@ -1142,27 +1146,35 @@
+ ff_pkt->link_save = get_pool_memory(PM_FNAME);
+ }
+ pm_strcpy(ff_pkt->fname_save, ff_pkt->fname);
++ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
++ pm_strcpy(ff_pkt->link_save, ff_pkt->link);
++ Dmsg2(500, "strcpy link_save=%d link=%d\n", strlen(ff_pkt->link_save),
++ strlen(ff_pkt->link));
++// sm_check(__FILE__, __LINE__, true);
++ }
+
+ /*
+ * Strip path. If it doesn't succeed put it back. If
+ * it does, and there is a different link string,
+ * attempt to strip the link. If it fails, back them
+ * both back.
+- * Don't strip symlinks.
++ * Do not strip symlinks.
+ * I.e. if either stripping fails don't strip anything.
+ */
+- if (do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
+- if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
+- pm_strcpy(ff_pkt->link_save, ff_pkt->link);
+- if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
+- strcpy(ff_pkt->link, ff_pkt->link_save);
+- strcpy(ff_pkt->fname, ff_pkt->fname_save);
+- }
++ if (!do_strip(ff_pkt->strip_path, ff_pkt->fname)) {
++ unstrip_path(ff_pkt);
++ goto rtn;
++ }
++ /* Strip links but not symlinks */
++ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
++ if (!do_strip(ff_pkt->strip_path, ff_pkt->link)) {
++ unstrip_path(ff_pkt);
+ }
+- } else {
+- strcpy(ff_pkt->fname, ff_pkt->fname_save);
+- }
+- Dmsg2(200, "fname=%s stripped=%s\n", ff_pkt->fname_save, ff_pkt->fname);
++ }
++
++rtn:
++ Dmsg3(100, "fname=%s stripped=%s link=%s\n", ff_pkt->fname_save, ff_pkt->fname,
++ ff_pkt->link);
+ }
+
+ static void unstrip_path(FF_PKT *ff_pkt)
+@@ -1172,6 +1184,11 @@
+ }
+ strcpy(ff_pkt->fname, ff_pkt->fname_save);
+ if (ff_pkt->type != FT_LNK && ff_pkt->fname != ff_pkt->link) {
++ Dmsg2(500, "strcpy link=%s link_save=%s\n", ff_pkt->link,
++ ff_pkt->link_save);
+ strcpy(ff_pkt->link, ff_pkt->link_save);
++ Dmsg2(500, "strcpy link=%d link_save=%d\n", strlen(ff_pkt->link),
++ strlen(ff_pkt->link_save));
++// sm_check(__FILE__, __LINE__, true);
+ }
+ }
--- /dev/null
+
+ This patch avoid to store negative values in catalog for VolWriteTime and
+ VolReadTime Media attributes.
+
+ To fix errors in your catalog, you can use
+bconsole
+sql
+UPDATE Media SET VolWriteTime=0 WHERE VolWriteTime<0
+UPDATE Media SET VolReadTime=0 WHERE VolReadTime<0
+
+
+ Apply this patch to Bacula 2.2.8 (and possibly any prior 2.2.x version) with:
+
+ cd <bacula-source>
+ patch -p0 <2.2.8-volstat2.patch
+ ./configure <your-options>
+ make
+ ...
+ make install
+
+
+
+
+Index: src/dird/catreq.c
+===================================================================
+--- src/dird/catreq.c (revision 6765)
++++ src/dird/catreq.c (working copy)
+@@ -281,10 +281,14 @@
+ mr.VolWrites = sdmr.VolWrites;
+ mr.Slot = sdmr.Slot;
+ mr.InChanger = sdmr.InChanger;
+- mr.VolReadTime = sdmr.VolReadTime;
+- mr.VolWriteTime = sdmr.VolWriteTime;
+ mr.VolParts = sdmr.VolParts;
+ bstrncpy(mr.VolStatus, sdmr.VolStatus, sizeof(mr.VolStatus));
++ if (sdmr.VolReadTime >= 0) {
++ mr.VolReadTime = sdmr.VolReadTime;
++ }
++ if (sdmr.VolWriteTime >= 0) {
++ mr.VolWriteTime = sdmr.VolWriteTime;
++ }
+ /*
+ * Update to point to the last device used to write the Volume.
+ * However, do so only if we are writing the tape, i.e.
+Index: src/cats/sql_update.c
+===================================================================
+--- src/cats/sql_update.c (revision 6765)
++++ src/cats/sql_update.c (working copy)
+@@ -350,6 +350,14 @@
+ UPDATE_DB(jcr, mdb, mdb->cmd);
+ }
+
++ /* sanity checks for #1066 */
++ if (mr->VolReadTime < 0) {
++ mr->VolReadTime = 0;
++ }
++ if (mr->VolWriteTime < 0) {
++ mr->VolWriteTime = 0;
++ }
++
+ Mmsg(mdb->cmd, "UPDATE Media SET VolJobs=%u,"
+ "VolFiles=%u,VolBlocks=%u,VolBytes=%s,VolMounts=%u,VolErrors=%u,"
+ "VolWrites=%u,MaxVolBytes=%s,VolStatus='%s',"
+Index: src/stored/dev.c
+===================================================================
+--- src/stored/dev.c (revision 6765)
++++ src/stored/dev.c (working copy)
+@@ -2184,12 +2184,15 @@
+ }
+ }
+
+-/* return the last timer interval (ms) */
++/* return the last timer interval (ms)
++ * or 0 if something goes wrong
++ */
+ btime_t DEVICE::get_timer_count()
+ {
+- btime_t old = last_timer;
++ btime_t temp = last_timer;
+ last_timer = get_current_btime();
+- return last_timer - old;
++ temp = last_timer - temp; /* get elapsed time */
++ return (temp>0)?temp:0; /* take care of skewed clock */
+ }
+
+ /* read from fd */
+++ /dev/null
- Technical notes on version 2.2
-
-General:
-Release Version 2.4.0
-04Jun08
-kes Update version to reflect the magnitude of the SD changes.
-03Jun08
-kes Make sure to clear JS_WaitMedia when operator mounts a Volume.
- This fixes bug #1095.
-31May08
-kes Add create_postgresql_database.sql to Win32 installer. Should
- fix problem reported by Juilio Monteiro.
-kes Get correct slot when auto unloading a device. This fixes bug
- #1086.
-30May08
-kes Fix multiple media restore.
-kes Make DEVICE Slot private and access it via a method.
- Allows better control over when it is set and cleared.
-kes Fix possible seg fault if SQL error.
-28May08
-kes Add debug code to SD.
-kes Fix renaming a Volume, which used the wrong Volume name.
-26May08
-kes If operator has rewind tape, print warning, release tape and
- try once more. If tape is positioned somewhere, something went
- wrong, so mark the tape in error and try once more. Previously
- this error was fatal, now it produces an error message.
-kes Ensure correct volume name displayed during restore
-kes Ensure that Volume is mounted for restore.
-25May08
-kes Fix a few more Coverity reported problems.
-
-Beta Release Version 2.2.10-b4
-24May08
-kes Enhance a couple of SD debug messages.
-kes Tweak unload flag setting and ensure it is set during swap.
-23May08
-ebl Fix #1091 about bad output in estimate command.
-21May08
-kes Modify autochanger locking to attempt to avoid race
- conditions.
-kes Make sure device not busy before doing label command.
-kes Display open() errors except when polling. Previously too
- many were suppressed. This should fix bug #1070.
-kes Fix Win32 reparse points. Bacula will not recurse into any
- reparse point directory, including mount points, unless the
- directory is explicitly mentioned at the top level (same as
- with Unix). A file that is linked to another file will be
- backed up -- much as Unix does for hardlinked files.
- This fixes bug #1041.
-20May08
-kes Remove double quotes from ChangeLog and ReleaseNotes
-kes Remove StorageId test when pruning and recycling (Eric's changes).
-kes Remove old form of locking when getting volumes -- causes deadlock.
-17May08
-kes Fix buffer overruns detected by Coverity.
-
-Beta Release Version 2.2.10-b3
-13May08
-kes Tweak joblog display.
-12May08
-kes Implement --without-qwt
-kes Fix layout of restore tree dialog
-kes Add configure bat QWT libraries, so that bat can be built
- with or without the QWT libaries.
-11May08
-kes Apply batfix bat cleanup patch from Riccardo.
-kes Make sure we unload the right slot when swapping.
-08May08
-kes Improve SD reserve debug code.
-kes Testing an improvement to free up volumes no longer in use.
-
-Beta Release Version 2.2.10-b2
-07May08
-03May08
-kes Rework SD acquire for read to handle autochanger Volume
- swapping.
-kes Implement regression that explicitly tests swapping a Volume
- from one drive to another.
-kes Enhance disk-changer to detect most error conditions.
-kes Fix SD code so that it properly swaps a Volume between drives.
- This fixes bug #1083.
-01May08
-kes Prevent a Volume that is being swapped from being freed from
- the volume list. This will most likely fix, at least partially,
- bug #1083.
-kes Fix strippath so that it does not get a buffer overrun and crash FD.
- This fixes bug #1078.
-kes Make inability to change owner/group when creating a dir only a
- warning rather than an error.
-28Apr08
-ebl Fix SQL query in migration code
-19Apr08
-kes Force unload of volume when wrong volume mounted in SD.
-17Apr08
-kes Fix bat seg fault at termination.
-kes Add Bacula generated version to bat about box.
-
-Beta Release Version 2.2.10-b1
-16Apr08
-kes Permit multiple simultaneous restores -- experiment.
-15Apr08
-kes Backport development stream SD reservation system changes.
- See below:
-16Apr08
-kes Move final volume swapping code to DCR method and
- call it from acquire_for_read().
-kes When wrong volume is mounted during read, unload_autochanger.
-14Apr08
-kes Stop searching for Volumes in SD askdir if DIR returns the
- same volume name twice in a row.
-13Apr08
-kes Tweak the swap Volume from one drive to another code so that
- it now seems to work.
-kes Resolve several problems with recycling that broke the new
- code (these problems are in 2.2.9 as well).
-kes Remove the volume lock when calling the sysop code.
-kes Don't mark a reserved volume with no writers as unused otherwise
- jobs fail.
-12Apr08
-kes Rework class structures for VOLRES, DCR, and DEVICE to make
- the method names a bit more logical, and for more logically
- handling the responsibilities.
-11Apr08
-kes Remove redundant code in terminating the scheduler that just
- causes a seg fault in many cases.
-kes Cleanup releasing a volume and make it a DCR method.
-kes Improve algorithm for detecting pre-reserved volume and
- swapping volumes.
-10Apr08
-kes Tweak volume swapping code so it works.
-kes Correct name overloading in mount.c
-kes Replace released flag in VOLRES with reserved and add access
- methods for the VOLRES class.
-kes Prevent volume from being released while being swapped.
-kes Refactor parts of stored/mount.c
-09Apr08
-ebl Add sanity checks for VolWriteTime and VolReadTime
-ebl Take care of bad clock changes while computing VolWriteTime
- and VolReadTime. This should fix or limit #1066
-kes Correct error string numbers in dird/catreq.c
-kes Restructure reserving, acquiring, and mounting volumes. Calls to
- autochanger are deferred for mount.c -- simplifes the code.
-08Apr08
-kes Do not prune any running job. It just fails the job.
-kes Lock the volumes when changing dev->reserved_device and marking
- the volume unused otherwise the device can get reserved by
- another job before the volume is released, thus blocking it.
-===
-
-Beta Release Version 2.2.9-b7
-14Apr08
-kes Close bat console windows first to eliminate error message
- from the notifier.
-kes Remove useless code in Scheduler that causes seg fault on
- termination.
-kes Correct some SD catalog request error messages.
-kes Don't allow pruning of any running job.
-kes Turn off code in read_record that causes a seg fault in the SD
- when reading past an EOS_LABEL.
-kes Turn off unloading the autochanger in reserve.c as it just
- causes problems.
-kes Lock volumes when unreserving a device.
-kes Do not mark volume unused when recycling.
-kes When acquiring, don't mark volume unused if it is reserved (busy).
-
-Beta Release Version 2.2.9-b6
-06Apr08
-kes Eliminate ./configure warning on po directory
-kes Fix bug #1063, reuse of freed ptr in list nextvol.
-kes Release regex compile buffer in filed/job.c
-kes Add proper type of const char in sql_create.c
-kes Turn off debug in daemon termination routines
-kes Move free_volume_list() before devices are freed in stored.c
-kes Fix reference to uninitalized stack variables in bregex.c.
- This should correct bug #1067.
-04Apr08
-kes Fix possible seg fault in SD when freeing a volume entry.
-02Apr08
-kes Apply patch from bug #1069 that corrects spurious error messages
- when ACLs enabled on SGI but no ACL exists.
-ebl Fix a storage deamon segfault at debug level 500.
-
-Beta Release Version 2.2.9-b5 -- not released
-
-Beta Release Version 2.2.9-b4
-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.
-
-Beta release Version 2.2.9-b3
-27Mar08
-kes Rework certain SD locking based on gdb tracebacks of deadlocks
- sent by Eric. This code now uses only the volume_lock() rather
- than the reservations lock when at EOM and acquiring a new
- volume.
-kes Ensure only one exit point in several subroutines.
-
-Beta release version 2.2.9-b2
-24Mar08
-kes Fix to initial tape drive open to release the volume name
-
-Beta release Version 2.2.9-b1
-22Mar08
-kes Fix to JobMedia fix.
-kes Fix bug pointed out by Peter Much that causes the StorageId to
- be updated when reading a tape (during migration, it could have
- been incorrectly set to the write StorageId).
-21Mar08
-kes Implement autostart scripts for Debian
-20Mar08
-kes Fix mtx-changer.in for broken Debian mt program.
-19Mar08
-kes Massive commit of all fixes and back ports to create 2.2.9
-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.
-kes Add const to AIX prototype for initgroups()
-27Feb08
-kes Undo bug #1047 heap overrun fix as it is not correct.
-14Feb08
-kes Fix creating first JobMedia record during Migration to include
- proper index. This caused slow restores of migrated jobs.
-10Feb08
-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 Apply patch to correct bug #1031, about wrong pool source information
- in job report.
-
-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
-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 fix de-referencing a NULL pointer in the scanner from
- the trunk SVN. I don't think this was reported as a bug.
-
-Beta release Version 2.2.8
-09Jan08
-kes Re-enable the new job code editing (%f).
-08Jan08
-kes Fix bsnprintf for float point numbers. I broke recently when
- parameterizing some variables. This fixes bug #1036.
-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 possibly fix bugs #1032 and #1018.
-kes Apply big backport of current SVN SD code that corrects a number
- of race conditions. This is a first step in fixing bug #1018.
-29Dec07
-ebl Fixes bug #1028 where "Selection Type" option was not usable
- with JobDefs.
-
-
-Release Version 2.2.7
-24Dec07
-kes Partial back out (disabled) %f job code editing because it
- does not build on Win32.
-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.
-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>
-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.
-08Dec07
-kes Add new include to postgresql.c suggested by Marc Cousins so
- that it compiles correctly with pgre version 8.3. Also fix
- misuse of %x with pointer (should be %p).
-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.
-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.
-27Nov07
-kes Correct typos in disk-changer.in
-25Nov07
-kes This patch fixes the status command to include the formating string for
- JS_AttrInserting. 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
-kes Get fix for joblist bug in bat from trunk.
-04Nov07
-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).
-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.
-26Oct07
-ebl Apply 2.2.5-lastwritten.patch to fix the LastWritten field
- which was updated during a restore (or a reading migration) bug #982
-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).
-kes Apply 2.2.5-postgresql-errors.patch
-kes Remove unneeded File table index on JobId, which is already
- present as the first index of another multi-index.
-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.
-16Oct07
-kes Activate Close button on tray-monitor window. This fixes
- bug #986.
-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).
-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.
-ebl Fix replace on restore. This fixes bug #969
-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
-kes Correct lib/Makefile.in to include enh_fnmatch.o that was removed
- in back porting from 2.3.x
-03Oct07
-kes Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
- The details are included in the notes in this file.
-28Sep07
-kes Backport 2.3 code that fixes: it fixes incorrect or incomplete error
- messages; it fixes a problem opening the SQLite3 database when multiple
- simultaneous jobs were running; it fixes a bug with certain versions of
- MySQL where batch inserts failed because of table name character case
- (upper/lower) differences.
-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.
-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
-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 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.
-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).
-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 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 If Dir gets an error during inserting attributes, cancel SD.
- This reduces unnecessary error messages.
-24Sep07
-ebl Cleanup batch insert code. Probably fixes bug #965.
-23Sep07
-kes Turn off some code when batch insert not enabled.
-kes Edit FD name in connect error messages.
-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 Fix ANSI tape labeling. This fixes bug #954.
-kes Increase the max block size to 4MB fixes bug #957.
-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.
-
-Release Version 2.2.4
-14Sep07
-kes Increase size of name string when FD making connection to SD.
- May fix bug #953.
-13Sep07
-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.
-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.
-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' which doesn't works
- as expected.
-09Sep07
-ebl Using 'm' in bconsole will show messages like before,
- and not memory usage.
-
-Release Version 2.2.3
-kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
- program.
-09Sep07
-kes Fix bug #935, and probably also bug #903 where files were not
- restored. MediaId was not properly set in JobMedia record after
- a Volume change.
-07Sep07
-kes Add ./configure search in qwt-qt4 for qwt package
-kes Apply Martin Simmons patch that should turn off the new API usage
- when batch insert is turned off allowing building on older
- PostgreSQLs.
-
-Release Version 2.2.2
-04Sep07
-ebl Detect if new PosgreSQL batch insert API is present.
-kes Correct incorrect mempool call causing Director crash.
-sb Update spec files for 2.2.1 release
-
-Release Version 2.2.1
-30Aug07
-kes Update POTFILES.in
-kes Cleanup a few underquoted AC_DEFUNs in configure
-kes Apply patch from Martin Simmons that adds a test for va_copy to
- ./configure
-29Aug07
-kes Fix bug #921 by increasing the number of tries to create a new volume
- from 11 to 100.
-kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
- can be called multiple times. Implement a version for machines
- without va_copy() that gets a big buffer.
-25Aug07
-kes Integrate more portable zone offset code into bsmtp.c
- Submitted by Attila Fülöp.
-24Aug07
-kes Fix bad SD->FD return status reported by
- (James Harper) <james.harper@bendigoit.com.au>
-ebl Fix a bug in read_close_session which return random status
- thanks to James Harper
-23Aug07
-kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
- and directory names during restore of single file/directories.
-kes Add sanity checks to .sql command when string is empty. Hopefully
- that will resolve Dirks Director crash.
-22Aug07
-kes Apply patch submitted by Martin Simmons that corrects a seg fault
- in the bsmtp chat subroutine when debug is >= 10.
-21Aug07
-kes Fix Director crash when running bat SQL queries.
-kes Add David's notes on Item 8: Copy pools.
-18Aug07
-kes Rework projects file to be current and ready for a vote.
-kes Enhance lex scanner error message.
-17Aug07
-kes Tweak LICENSE file to mention BSD code.
-kes Fix bat.pro.in so that it includes the OpenSSL libraries only
- if specified on the ./configure.
-kes Add first (not yet tested) cut of bcomm to the qt-console directory.
- This class is intended to allow us to open a second bsock to the
- Director while in the restore subdialog.
-16Aug07
-kes Fix configure to create bat Makefile before creating dependencies.
-kes Eliminate the egg files from the tray-monitor. Use gtk calls.
-kes Add a tooltip to the tray monitor.
-dvl Set the Director's PID file before dropping privs. This fixes
- bug #923.
-15Aug07
-kes Update AUTHORs file
-kes Increase the default max concurrent jobs to 20 in FD and SD to
- correspond with the default .conf files.
-kes Rewrite the Win32 service routines. This eliminates the 3 copies
- some different, of the same file created by RN when porting the
- Win32 SD and Dir.
-kes Rearrange some of the Win32 directories and the placement of the files
- in them.
-kes Set DEVELOPER flag in version.h
-
-========================================================================
-Release Version 2.2.0
-09Aug07
-kes Apply a second doc patch from Marc.
-kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
- improves the tips section that discusses how to setup multiple
- simultaneous jobs.
-08Aug07
-kes Update bat README file.
-kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
- corrects a typo in the Recycle status check in db_find_next_volume().
- This will probably fix a number of annoying problems with multiple
- Recycled volumes.
-kes Modify most of dird/msgchan.c to use bsock class calls rather than
- bnet calls -- no functionality change.
-07Aug07
-kes Modify the Verify output to specify if files are missing on
- the Volume(s) or disk. Fixes confusion in bug #916.
-kes When more than one Volume is read in a migration job, the last
- Volume bytes reported are from the last read volume rather than
- the last written volume. Fixed. This fixes bug #910.
-kes Fix display of Recycle flag after update volume=foo recycle=yes.
- It previously printed New Recyle flag is: no. This fixes bug
- #917.
-06Aug07
-kes Correct seg fault when switching tape drives during restore.
-kes Commit uid_gid_name.c (replacement for idcache.c), but will not
- be used until after 2.2.0 release.
-04Aug07
-kes Remove fnmatch() in SD that permitted wild card specifications.
- This fixes bug #914.
-31Jul07
-kes Fix %g in filename returned by SQL for browse tree reported by
- Dirk.
-kes Fix configure so that it puts config.out in the cwd rather than
- in src/qt-console
-kes Attempt to fix the locking problem reported by Eric in bug #906.
-kes Make berrno class to leave errno unchanged after constructor call.
-kes Make bnet_server use the heap rather than the stack to allocate
- its socket fd pointers to avoid a crash at termination. Problem
- reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
-30Jul07
-kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
- and putting it in depkgs-qt along with Qt4.3.
-29Jul07
-kes Rework code in acquire.c that switches drives for reading when
- the Media Type does not match. This should fix bug #906
-28Jul07
-ebl Fix a director segfault during job setup #907
-kes Correct seg fault in postgresql when first operation returns no
- rows. Fixes Dirks File browser problem seg fault with bat.
-25Jul07
-kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
- building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
- 2.6 as well).
-24Jul07
-kes Implement PopUp YES/NO dialog for bat.
-23Jul07
-ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
-22Jul07
-kes Correct RunScript to terminate job in FD on failure.
-kes Change abort_on_error and AbortJobOnError to fail_on_error
- and FailJobOnError in RunScripts.
-kes Minor tweaks of code formating in RunScripts, principally to
- avoid depassing 80 columns.
-21Jul07
-kes Eliminate one #ifdef Win32 in bsmtp
-kes Implement grow tool to grow a file for testing very large databases.
-kes Add big-vol-test to test Bacula seeking with > 5GB.
-Release 2.1.28 beta
-19Jul07
-kes Modify find_next_volume() to return all values in Media record.
-kes Ensure that we keep Recycle Pool when moving Scratch volumes.
-
-Release 2.1.28 beta
-18Jul07
-kes Update Release notes
-17Jul07
-ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
- Warning, in previous beta version, all media get from scratch keep their
- old retention.
-16Jul07
-kes Tweaked Win32 installer to remove temp conf files at uninstall time.
- This should fix bug #842. Made a note to look at removing the temp
- files at the end of the install.
-kes Add ability to mount and unmount a file device providing it is
- marked as being removable and has the appropriate mount and unmount
- commands defined in the Device resource. This fixes bug #830.
-kes When applying a storage override, release all previous storage
- definitions rather than just prepending the new storage.
- This should prevent a good deal of confusion.
-14Jul07
-kes Implement ./configure search for qwt libraries.
-13Jul07
-kes Disable posting the WM_CLOSE message in KillRunningCopy of the
- Win32 FD. This should fix bug #893.
-kes Remove an unnecessary beep in Win32 init code.
-kes Update copyright dates in Win32 executable about boxes.
-kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
- code with a BSD getopt.c and getopt.h.
-kes Remove sched.h from the Win32 compat directory -- not used.
-kes Remove the Exit menu item from the Win32 tray monitor. If you really
- need to shut it down, do it through the services panel or the command
- line.
-kes Remove some inappropriate Bacula FSFE copyrights.
-ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
-kes Fix regress config non-portable test as pointed out by
- Florian Heigl <florian.heigl@gmail.com>
-kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
- as pointed out by Florian Heigl <florian.heigl@gmail.com>
-12Jul07
-kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
- Reported by Frank Sweetser.
-
-Release 2.1.26 beta
-12Jul07
-kes Fix client-only build.
-kes Integrate client-only fixes for bsys (initgroups) and conio from
- Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
-kes Make arguments to get_scratch_volume() in same order as other
- such calls.
-kes Rework the prune_volumes() subroutine so that after purging and
- no volume found in desired pool, it will check for a scratch
- volume. This prevents recycling the whole scratch pool.
-kes Add code to status storage to print boffset_t (largefile support).
-11Jul07
-kes Move qwt (Graphics libarary for Qt4) to depkgs.
-kes You now need a --with-qwt=<dir> to be able to build bat.
-kes Update src/win32/cats/bacula_cats.def to include the new
- db_get_query_dbids() call on Win32.
-07Jul07
-kes Correct a problem when selecting a scratch volume and moving
- it to another pool that lost some columns.
-kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
-kes Enhance Autochanger error messages to include Volume and device name.
-kes Rework prune_volumes() code to take account of InChanger flag,
- and to handle recycling volumes going to the Scratch pool and
- current pool because the RecyclePool directive.
-kes Implement a better and more efficient db_get_query_dbids() to
- handle creating and passing back a list of DBIds.
-
-Release 2.1.24 beta
-03Jul07
-kes Start work on new more efficient DBId subroutine. First use
- will be for recycling volume to Scratch inchanger.
-kes Increase number of JobIds in pruning from 1000 to 10000.
- This to be replaced by above routine.
-kes Begin implementation of building Qt4 on Win32.
-kes Correct typo in fix I added for bad TLS shutdown.
-kes Pull 2.0.3 patches into patches directory.
-kes Update Release notes. Include qt-console in line count.
-kes Update Projects file.
-30Jun07
-kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
- bug in migration code where a job that spanned two volumes
- was migrated twice.
-29Jun07
-kes Implement new BST_DESPOOLING blocked state. Change from locking
- during despooling in SD to blocking. This means that other threads
- can work with the device structure, in particular the reservations
- system while despooling.
-28Jun07
-kes Fix return in reservation message queue that missed clearing
- the jcr lock (implemented 26Jun07 below).
-kes Rename a number of dev methods to make locking function names
- a bit clearer.
-kes Document locking in lock.c. Move lock structures to new file
- lock.h.
-26Jun07
-kes Move reservations message lock to lock jcr only this
- fixes bug #861.
-kes Move main SD locking code into lock.c (new file).
-kes Update Win32 build to include lock.c
-
-Release 2.1.22 beta
-26Jun07
-kes Dirk committed the qwt library code for drawing graphs in bat.
-kes Tweak install of qwt so that it is integrated with ./configure.
-25Jun07
-kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
- out by Eric (my typo).
-ebl Fix configure.in to get batch mode enable
-kes Return correct string from authenticate.cpp in bat when connecting
- to Dir.
-kes Apply patch suggested by Frank Sweetser to fix bug #888 --
- spurious line drops when using TLS.
-kes Do not file reparse points when restoring a file that already
- exists -- Win32.
-24Jun07
-kes Implement Windows reparse points -- similar to directories, but
- we do not descend into it. This is a first cut. They seem to
- be backed up, but restore is not yet tested.
-kes Remove restore_blocking in tls code when shutting a socket to leave
- it in blocking mode. Hopefully this will fix the encryption bug
- reported by Frank Sweetser.
-kes When opening a file for backup, tell the OS that we are going to
- read it sequentially -- optimization.
-kes Change variable names in authenticate_director() to not conflict
- with member names in bat. Caused great confusion with compiler,
- but no warnings.
-23Jun07
-kes Queue openssl error messages in case of comm problem.
-kes Do shutdown() call if socket terminated.
-kes Remove some duplicated code in tls.c
-kes Move more of the bsock member variables into private and access
- them with methods.
-kes Add Frank Sweetser's tls-test to the regression suite.
-22Jun07
-kes Add Swedish sv.po file
-21Jun07
-kes Don't print clock skew message in FD if less than 3 seconds diff.
-kes Add a bit of VSS info to status client.
-kes Implement a first cut of Vista VSS, using Win2003 code.
-
-Release: 2.1.20 beta
-20Jun07
-kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
- loaded tape but uses first drive).
-kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
- This was indeed a Win32 issue.
-19Jun07
-kes Simplify search of autochanger for in-use Volume.
-kes Fix exit condition of check for in-use volume. kes Remove
- inappropriate my_postgresql_free_result() in db_close()
- routine.
-kes Fix bad return in FD when encryption signature not found.
- Probably caused a crash.
-kes Inhibit missing encryption signature error messages for
- file types where no signature computed.
-kes Correct inverted check on autochanger in reservation system.
-kes Tweak debug code in autochanger reservation.
-18Jun07
-kes Add some additional locking in the cats directory in subroutines
- that modify packet variables called from batch insert.
-kes Rework how dcrs are allocated. new_dcr() can now be called
- with an existing pointer, and it will simply clean it up.
- This allows the reservation system to test various different
- devices, and will permit easy device changes.
-kes A bunch of changes all over to handle new new_dcr() calling
- sequence.
-kes Work more on the Volume management in the SD. Remember Volumes
- for tape drives and for autochangers (even virtual disk changers).
-kes When looking at the Volume list to reserve a drive, handle
- autochanger names correctly by interating through the changer
- devices. Also call the Director to see if a Volume is suitable
- for the current job.
-kes Fix some bugs in bscan. Make sure all media records are written.
- Make sure that valid JobMedia records are written for disk files.
- Previously they were completely wrong.
-kes Move source tar files for depkgs-mingw32 to www.bacula.org so
- that the URLs don't change and so that the developers will all
- work off the same copy. Rebuild from scrach.
-kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
-
-Release: 2.1.18 beta
-16Jun07
-kes Fix seg fault in FD from incorrect digest size.
-kes Fix argument to non-OpenSSL crypto.c subroutine.
-
-Release: 2.1.16 beta
-16Jun07
-kes Remove a few malloc()s from the encryption code.
-kes Use the class calls to bsock in filed/backup.c and restore.c in
- place of the old bnet_xxx code.
-kes Implement code that does an on the fly calculation of the
- signing digest during restore of encrypted files. It makes
- a best guess at the algorithm, and if it is not correct, will
- then revert to the old code which reads the file after it is
- restored.
-kes Implement at least one missing crypto stream in stream_to_ascii()
-kes Apply patch from William <chowmeined@gmail.com> that fixes bug
- #877 where a reload with bad syntax causes Dir to exit.
-
-Cut: 2.1.14 beta (not released)
-14Jun07
-kes Do not free a volume on a tape drive until another volume is
- mounted and read, or the autochanger unloads the volume.
- This should help the SD re-use volumes that are already mounted,
- and should fix bug #886.
-kes Apply patch from user brettedgar that allows gnome2-console include
- the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
-kes Apply patch from Lucien Weller that fixes day of week calculation
- because of DST flag problem. Fixes bug #887.
-10Jun07
-kes Move find_next_appendable_volume() to after acquiring a valid device
- in reserve.c. This fixes bug #864 -- confirmed by reporter.
-09Jun07
-kes Unable to reproduce bug 872. However added additional testing for
- integer.
-kes Bug #874 resolved by documenting SQLite limitations.
-kes Bug #882 resolved by documenting mtx-changer script for new drive code.
-kes Bug #881 resolved by removing typo in mtx-changer script.
-kes Made Frank Sweetser's wiki the official Bacula wiki with his
- approval. Added a link to the wiki on the web page, and implemented
- a backup from http://paramount.ind.wpi.edu
-08Jun07
-kes Fix update allfrompool to pass pool name.
-07Jun07
-kes Convert to pure GPL v2 license.
-kes Fix sscanf problems reported by Peter Buschman that caused
- a bus error on Solaris.
-kes Rework (simplify) the select prompt in bat.
-kes Move get_jobid_from_tid() into lib and create a
- get_jcr_from_tid().
-kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
- should definitely fix the problem of lost error messages in the
- encryption code.
-kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
-kes Eliminate tcpd.h from the project. Enclose the #include from the
- library with extern C ...
-kes Add print of signal name when a signal is trapped.
-
-Release: 2.1.12 beta
-04Jun07
-kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
-03Jun07
-kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
- query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
- makes SQLit3 run 30 times faster, though a bit less safe.
-kes Implement --with-batch-insert in configure and detection of thread
- safe libraries. It is on by default, but turned off if no thread
- safe library (e.g. SQLite 2) is available.
-02Jun07
-kes Fix Bacula PostgreSQL buffer overruns.
-kes Do better checking for NULL results returned from PostgreSQL;
- implement retry for failed queries; clear results buffer after
- failed query. Hopefully this will correct the PostgreSQL failures.
-01Jun07
-kes Implement algorithm to handle only one appendable volume with
- Prefer Mounted Volumes = no.
-kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
- returned from a query.
-kes Make volume lock recursive.
-kes Implement an additional volume reservation algorithm that
- starts by considering all reserved volumes then uses the
- old brute force algorithm of searching the resources to
- find a suitable device.
-kes Add new reservations debug code and refine the old code.
-kes Update the win32/dll/bacula.defs file.
-29May07
-kes Tweak reservations algorithm to permit a few more cases, i.e.
- volume reserved, but on different drive, ...
-kes Enhance SD status to include Pool and Media Type for drive in a
- more readable format (a bit longer).
-kes Fix PostgreSQL double free.
-28May07
-kes Minor refactoring of restore decryption code.
-kes Add code to smartall.c to detect double free of a buffer.
-27May07
-kes Add < > around %r in from field on mail command of bacula-dir.conf.in
- so that bsmtp will create a correct email address (mailbox only).
-kes Modify 'memory' command so that the buffers are listed as 'In use'
- to avoid confusion with Orphaned buffers.
-kes I reworked the OpenSSL include/lib flags to be handled in
- the standard Bacula way, which should fix bug #863 concerning
- non-standard OpenSSL libraries.
-26May07
-kes Implement Help Browser window for bat.
-kes Fix reload bug that reset StorageId to zero.
-25May07
-kes Fix TLS #ifdefing when TLS turned off.
-kes Ensure that when labelling a tape with Slot=0 that InChanger
- is not set.
-kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
- the same.
-kes Add StartTime to final uar_sel_jobid_temp query so that we can
- add DISTINCT (required by PostgreSQL).
-kes Implement BSOCK authenticate_director() method. Eventually will
- authenicate all daemons.
-kes Move several more functions into the BSOCK class.
-24May07
-kes Add code to tell the OS that we no longer need a cached
- file that we were reading. In findlib/bfile.c. Also,
- only cache files that we are reading. Thanks to
- Tobias Oetiker <tobi@oetiker.ch> for the idea.
-kes Tweak to bsmtp to eliminate compiler warnings on Win32.
-kes Implement script to automatically generate cats and dll .def
- files for Win32 dll.
-kes Update README.mingw32 to include new .def file generation.
-kes Correct typo in UTF-8 error message as reported by:
- jhernandez <julianhernandez@gmail.com>
-kes Add additional sm_check() code on debug level 1.
-kes Set default debug level to 1.
-kes Trap SIGABRT in attempt to get traceback.
-23May07
-kes Reduce bat connect timeout from 30 to 15 seconds.
-kes More restructuring and implementing BSOCK class in place of
- old bnet.c code.
-kes Remove a few unnecessary malloc() tests in crypto code.
-kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
- not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
-kes Remove duplicate HAVE_CRYPTO definition in config.h.in
-22May07
-kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
- Make buffer bigger.
-kes Fix Verify InitCatalog. The attributes were not pointing to the
- correct saved location.
-kes Implement message callback so that GUI is sure to get all
- daemon messages. Currently displayed in a dialog in bat.
-kes Ignore SIGUSR2 (Bacula timer) in bat.
-kes Apply regress patch from bug #859 to allow regress to work
- with Solaris compiler.
-21May07
-kes Begin adding TLS support to bat.
-kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
- clean up lex.c and make it more readable.
-20May07
-kes Move more bnet functions into the BSOCK class.
-kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
-kes Complete change of berrno strerror() method to bstrerror()
-
-Release: 2.1.10 beta
-18May07
-kes Cleanup incorrect email addresses in bsmtp.
-kes Make bat display initial messages rather than discard them.
-16May07
-kes First cut of adding .mod to the run command.
-kes Implement auto display of messages in bat.
-kes Enhanced preferences to allow all Bacula output to be
- displayed in bat.
-15May07
-kes Try to make bsmtp date routines more generic.
-kes Fixed bug #856 autochanger documentation.
-kes Rework bsmtp date editing for Win32. This fixes bug #854.
-kes Add new cats entry point so Win32 builds.
-14May07
-kes Attempt to fix bsmtp date editing on OSes without %z editing.
- Fixes bug #854.
-kes Do better checking for the MySQL 64 bit libraries looking for both
- .a and .so libraries.
-kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
- /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
-kes Require the thread safe version of MySQL during configure. Thanks
- to Andre Noll for pointing this out.
-kes Ensure that calls to find_jobids_from_mediaid_list() check count before
- continuing in migration code.
-kes Apply implementation of tray-monitor font derived from gnome-console
- submitted by Andreas Piesk <a.piesk@gmx.net>
-13May07
-kes Eliminate important memory loss in SQLite
-kes Fixed the batch insert MySQL thread specific data that was not
- being freed. See cats/mysql.c:db_thread_cleanup().
-kes Fix restore before command.
-kes Convert old hdr.name to name() in a few places.
-kes Implement update jobid command.
-kes Return all time_t dates in db_get_job_record()
-kes Stop watchdog in SD earlier.
-kes Put Pool just after Storage in please mount message.
-kes Fix pointer usage bugs in Verify InitCatalog pointed out by
- Eric.
-12May07
-kes Update the po files.
-kes Fix Verify InitCatalog by making it cache attributes.
-11May07
-kes Change name bacula-bat to bat for man 1 page to correspond to
- Makefile.
-kes Check for client and store NULL pointers in status command. This
- fixes bug #845.
-kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
-kes Fix sign extended editing of %p.
-kes Clean out a little old #ifdefing in cats/mysql.c
-10May07
-kes If time diff between DIR and FD is more than 600 seconds convert
- INFO message to WARNING.
-kes Implement heap size display in status for all daemons.
-kes Attempt to fix MySQL db open memory loss (not successfull).
-kes Don't set SIGKILL and SIGSTOP neither can be trapped.
-kes Eliminate memory loss in MySQL (possibly other SQLs) during
- Query. This looks like a MySQL but but by doing extra releases,
- the memory goes away. This should fix bug #847.
-09May07
-kes When backup fails, cancel SD before waiting for sd termination.
-kes If SD is waiting for FD to connect during cancel, wake up the
- thread.
-kes Fix fsf code so that errno is correctly reported.
-kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
-08May07
-kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
- so that Bacula doesn't later stumble into a seg fault.
-kes Use the term Restore Client in the restore Job report.
-kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
- the original job'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 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 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.
-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 new 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 -- scheduler problem.
-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.
-
-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
--- /dev/null
+ Technical notes on version 2.2
+
+General:
+Release Version 2.4.0
+04Jun08
+kes Update version to reflect the magnitude of the SD changes.
+03Jun08
+kes Make sure to clear JS_WaitMedia when operator mounts a Volume.
+ This fixes bug #1095.
+31May08
+kes Add create_postgresql_database.sql to Win32 installer. Should
+ fix problem reported by Juilio Monteiro.
+kes Get correct slot when auto unloading a device. This fixes bug
+ #1086.
+30May08
+kes Fix multiple media restore.
+kes Make DEVICE Slot private and access it via a method.
+ Allows better control over when it is set and cleared.
+kes Fix possible seg fault if SQL error.
+28May08
+kes Add debug code to SD.
+kes Fix renaming a Volume, which used the wrong Volume name.
+26May08
+kes If operator has rewind tape, print warning, release tape and
+ try once more. If tape is positioned somewhere, something went
+ wrong, so mark the tape in error and try once more. Previously
+ this error was fatal, now it produces an error message.
+kes Ensure correct volume name displayed during restore
+kes Ensure that Volume is mounted for restore.
+25May08
+kes Fix a few more Coverity reported problems.
+
+Beta Release Version 2.2.10-b4
+24May08
+kes Enhance a couple of SD debug messages.
+kes Tweak unload flag setting and ensure it is set during swap.
+23May08
+ebl Fix #1091 about bad output in estimate command.
+21May08
+kes Modify autochanger locking to attempt to avoid race
+ conditions.
+kes Make sure device not busy before doing label command.
+kes Display open() errors except when polling. Previously too
+ many were suppressed. This should fix bug #1070.
+kes Fix Win32 reparse points. Bacula will not recurse into any
+ reparse point directory, including mount points, unless the
+ directory is explicitly mentioned at the top level (same as
+ with Unix). A file that is linked to another file will be
+ backed up -- much as Unix does for hardlinked files.
+ This fixes bug #1041.
+20May08
+kes Remove double quotes from ChangeLog and ReleaseNotes
+kes Remove StorageId test when pruning and recycling (Eric's changes).
+kes Remove old form of locking when getting volumes -- causes deadlock.
+17May08
+kes Fix buffer overruns detected by Coverity.
+
+Beta Release Version 2.2.10-b3
+13May08
+kes Tweak joblog display.
+12May08
+kes Implement --without-qwt
+kes Fix layout of restore tree dialog
+kes Add configure bat QWT libraries, so that bat can be built
+ with or without the QWT libaries.
+11May08
+kes Apply batfix bat cleanup patch from Riccardo.
+kes Make sure we unload the right slot when swapping.
+08May08
+kes Improve SD reserve debug code.
+kes Testing an improvement to free up volumes no longer in use.
+
+Beta Release Version 2.2.10-b2
+07May08
+03May08
+kes Rework SD acquire for read to handle autochanger Volume
+ swapping.
+kes Implement regression that explicitly tests swapping a Volume
+ from one drive to another.
+kes Enhance disk-changer to detect most error conditions.
+kes Fix SD code so that it properly swaps a Volume between drives.
+ This fixes bug #1083.
+01May08
+kes Prevent a Volume that is being swapped from being freed from
+ the volume list. This will most likely fix, at least partially,
+ bug #1083.
+kes Fix strippath so that it does not get a buffer overrun and crash FD.
+ This fixes bug #1078.
+kes Make inability to change owner/group when creating a dir only a
+ warning rather than an error.
+28Apr08
+ebl Fix SQL query in migration code
+19Apr08
+kes Force unload of volume when wrong volume mounted in SD.
+17Apr08
+kes Fix bat seg fault at termination.
+kes Add Bacula generated version to bat about box.
+
+Beta Release Version 2.2.10-b1
+16Apr08
+kes Permit multiple simultaneous restores -- experiment.
+15Apr08
+kes Backport development stream SD reservation system changes.
+ See below:
+16Apr08
+kes Move final volume swapping code to DCR method and
+ call it from acquire_for_read().
+kes When wrong volume is mounted during read, unload_autochanger.
+14Apr08
+kes Stop searching for Volumes in SD askdir if DIR returns the
+ same volume name twice in a row.
+13Apr08
+kes Tweak the swap Volume from one drive to another code so that
+ it now seems to work.
+kes Resolve several problems with recycling that broke the new
+ code (these problems are in 2.2.9 as well).
+kes Remove the volume lock when calling the sysop code.
+kes Don't mark a reserved volume with no writers as unused otherwise
+ jobs fail.
+12Apr08
+kes Rework class structures for VOLRES, DCR, and DEVICE to make
+ the method names a bit more logical, and for more logically
+ handling the responsibilities.
+11Apr08
+kes Remove redundant code in terminating the scheduler that just
+ causes a seg fault in many cases.
+kes Cleanup releasing a volume and make it a DCR method.
+kes Improve algorithm for detecting pre-reserved volume and
+ swapping volumes.
+10Apr08
+kes Tweak volume swapping code so it works.
+kes Correct name overloading in mount.c
+kes Replace released flag in VOLRES with reserved and add access
+ methods for the VOLRES class.
+kes Prevent volume from being released while being swapped.
+kes Refactor parts of stored/mount.c
+09Apr08
+ebl Add sanity checks for VolWriteTime and VolReadTime
+ebl Take care of bad clock changes while computing VolWriteTime
+ and VolReadTime. This should fix or limit #1066
+kes Correct error string numbers in dird/catreq.c
+kes Restructure reserving, acquiring, and mounting volumes. Calls to
+ autochanger are deferred for mount.c -- simplifes the code.
+08Apr08
+kes Do not prune any running job. It just fails the job.
+kes Lock the volumes when changing dev->reserved_device and marking
+ the volume unused otherwise the device can get reserved by
+ another job before the volume is released, thus blocking it.
+===
+
+Beta Release Version 2.2.9-b7
+14Apr08
+kes Close bat console windows first to eliminate error message
+ from the notifier.
+kes Remove useless code in Scheduler that causes seg fault on
+ termination.
+kes Correct some SD catalog request error messages.
+kes Don't allow pruning of any running job.
+kes Turn off code in read_record that causes a seg fault in the SD
+ when reading past an EOS_LABEL.
+kes Turn off unloading the autochanger in reserve.c as it just
+ causes problems.
+kes Lock volumes when unreserving a device.
+kes Do not mark volume unused when recycling.
+kes When acquiring, don't mark volume unused if it is reserved (busy).
+
+Beta Release Version 2.2.9-b6
+06Apr08
+kes Eliminate ./configure warning on po directory
+kes Fix bug #1063, reuse of freed ptr in list nextvol.
+kes Release regex compile buffer in filed/job.c
+kes Add proper type of const char in sql_create.c
+kes Turn off debug in daemon termination routines
+kes Move free_volume_list() before devices are freed in stored.c
+kes Fix reference to uninitalized stack variables in bregex.c.
+ This should correct bug #1067.
+04Apr08
+kes Fix possible seg fault in SD when freeing a volume entry.
+02Apr08
+kes Apply patch from bug #1069 that corrects spurious error messages
+ when ACLs enabled on SGI but no ACL exists.
+ebl Fix a storage deamon segfault at debug level 500.
+
+Beta Release Version 2.2.9-b5 -- not released
+
+Beta Release Version 2.2.9-b4
+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.
+
+Beta release Version 2.2.9-b3
+27Mar08
+kes Rework certain SD locking based on gdb tracebacks of deadlocks
+ sent by Eric. This code now uses only the volume_lock() rather
+ than the reservations lock when at EOM and acquiring a new
+ volume.
+kes Ensure only one exit point in several subroutines.
+
+Beta release version 2.2.9-b2
+24Mar08
+kes Fix to initial tape drive open to release the volume name
+
+Beta release Version 2.2.9-b1
+22Mar08
+kes Fix to JobMedia fix.
+kes Fix bug pointed out by Peter Much that causes the StorageId to
+ be updated when reading a tape (during migration, it could have
+ been incorrectly set to the write StorageId).
+21Mar08
+kes Implement autostart scripts for Debian
+20Mar08
+kes Fix mtx-changer.in for broken Debian mt program.
+19Mar08
+kes Massive commit of all fixes and back ports to create 2.2.9
+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.
+kes Add const to AIX prototype for initgroups()
+27Feb08
+kes Undo bug #1047 heap overrun fix as it is not correct.
+14Feb08
+kes Fix creating first JobMedia record during Migration to include
+ proper index. This caused slow restores of migrated jobs.
+10Feb08
+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 Apply patch to correct bug #1031, about wrong pool source information
+ in job report.
+
+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
+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 fix de-referencing a NULL pointer in the scanner from
+ the trunk SVN. I don't think this was reported as a bug.
+
+Beta release Version 2.2.8
+09Jan08
+kes Re-enable the new job code editing (%f).
+08Jan08
+kes Fix bsnprintf for float point numbers. I broke recently when
+ parameterizing some variables. This fixes bug #1036.
+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 possibly fix bugs #1032 and #1018.
+kes Apply big backport of current SVN SD code that corrects a number
+ of race conditions. This is a first step in fixing bug #1018.
+29Dec07
+ebl Fixes bug #1028 where "Selection Type" option was not usable
+ with JobDefs.
+
+
+Release Version 2.2.7
+24Dec07
+kes Partial back out (disabled) %f job code editing because it
+ does not build on Win32.
+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.
+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>
+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.
+08Dec07
+kes Add new include to postgresql.c suggested by Marc Cousins so
+ that it compiles correctly with pgre version 8.3. Also fix
+ misuse of %x with pointer (should be %p).
+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.
+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.
+27Nov07
+kes Correct typos in disk-changer.in
+25Nov07
+kes This patch fixes the status command to include the formating string for
+ JS_AttrInserting. 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
+kes Get fix for joblist bug in bat from trunk.
+04Nov07
+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).
+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.
+26Oct07
+ebl Apply 2.2.5-lastwritten.patch to fix the LastWritten field
+ which was updated during a restore (or a reading migration) bug #982
+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).
+kes Apply 2.2.5-postgresql-errors.patch
+kes Remove unneeded File table index on JobId, which is already
+ present as the first index of another multi-index.
+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.
+16Oct07
+kes Activate Close button on tray-monitor window. This fixes
+ bug #986.
+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).
+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.
+ebl Fix replace on restore. This fixes bug #969
+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
+kes Correct lib/Makefile.in to include enh_fnmatch.o that was removed
+ in back porting from 2.3.x
+03Oct07
+kes Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
+ The details are included in the notes in this file.
+28Sep07
+kes Backport 2.3 code that fixes: it fixes incorrect or incomplete error
+ messages; it fixes a problem opening the SQLite3 database when multiple
+ simultaneous jobs were running; it fixes a bug with certain versions of
+ MySQL where batch inserts failed because of table name character case
+ (upper/lower) differences.
+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.
+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
+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 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.
+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).
+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 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 If Dir gets an error during inserting attributes, cancel SD.
+ This reduces unnecessary error messages.
+24Sep07
+ebl Cleanup batch insert code. Probably fixes bug #965.
+23Sep07
+kes Turn off some code when batch insert not enabled.
+kes Edit FD name in connect error messages.
+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 Fix ANSI tape labeling. This fixes bug #954.
+kes Increase the max block size to 4MB fixes bug #957.
+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.
+
+Release Version 2.2.4
+14Sep07
+kes Increase size of name string when FD making connection to SD.
+ May fix bug #953.
+13Sep07
+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.
+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.
+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' which doesn't works
+ as expected.
+09Sep07
+ebl Using 'm' in bconsole will show messages like before,
+ and not memory usage.
+
+Release Version 2.2.3
+kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
+ program.
+09Sep07
+kes Fix bug #935, and probably also bug #903 where files were not
+ restored. MediaId was not properly set in JobMedia record after
+ a Volume change.
+07Sep07
+kes Add ./configure search in qwt-qt4 for qwt package
+kes Apply Martin Simmons patch that should turn off the new API usage
+ when batch insert is turned off allowing building on older
+ PostgreSQLs.
+
+Release Version 2.2.2
+04Sep07
+ebl Detect if new PosgreSQL batch insert API is present.
+kes Correct incorrect mempool call causing Director crash.
+sb Update spec files for 2.2.1 release
+
+Release Version 2.2.1
+30Aug07
+kes Update POTFILES.in
+kes Cleanup a few underquoted AC_DEFUNs in configure
+kes Apply patch from Martin Simmons that adds a test for va_copy to
+ ./configure
+29Aug07
+kes Fix bug #921 by increasing the number of tries to create a new volume
+ from 11 to 100.
+kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
+ can be called multiple times. Implement a version for machines
+ without va_copy() that gets a big buffer.
+25Aug07
+kes Integrate more portable zone offset code into bsmtp.c
+ Submitted by Attila Fülöp.
+24Aug07
+kes Fix bad SD->FD return status reported by
+ (James Harper) <james.harper@bendigoit.com.au>
+ebl Fix a bug in read_close_session which return random status
+ thanks to James Harper
+23Aug07
+kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
+ and directory names during restore of single file/directories.
+kes Add sanity checks to .sql command when string is empty. Hopefully
+ that will resolve Dirks Director crash.
+22Aug07
+kes Apply patch submitted by Martin Simmons that corrects a seg fault
+ in the bsmtp chat subroutine when debug is >= 10.
+21Aug07
+kes Fix Director crash when running bat SQL queries.
+kes Add David's notes on Item 8: Copy pools.
+18Aug07
+kes Rework projects file to be current and ready for a vote.
+kes Enhance lex scanner error message.
+17Aug07
+kes Tweak LICENSE file to mention BSD code.
+kes Fix bat.pro.in so that it includes the OpenSSL libraries only
+ if specified on the ./configure.
+kes Add first (not yet tested) cut of bcomm to the qt-console directory.
+ This class is intended to allow us to open a second bsock to the
+ Director while in the restore subdialog.
+16Aug07
+kes Fix configure to create bat Makefile before creating dependencies.
+kes Eliminate the egg files from the tray-monitor. Use gtk calls.
+kes Add a tooltip to the tray monitor.
+dvl Set the Director's PID file before dropping privs. This fixes
+ bug #923.
+15Aug07
+kes Update AUTHORs file
+kes Increase the default max concurrent jobs to 20 in FD and SD to
+ correspond with the default .conf files.
+kes Rewrite the Win32 service routines. This eliminates the 3 copies
+ some different, of the same file created by RN when porting the
+ Win32 SD and Dir.
+kes Rearrange some of the Win32 directories and the placement of the files
+ in them.
+kes Set DEVELOPER flag in version.h
+
+========================================================================
+Release Version 2.2.0
+09Aug07
+kes Apply a second doc patch from Marc.
+kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
+ improves the tips section that discusses how to setup multiple
+ simultaneous jobs.
+08Aug07
+kes Update bat README file.
+kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
+ corrects a typo in the Recycle status check in db_find_next_volume().
+ This will probably fix a number of annoying problems with multiple
+ Recycled volumes.
+kes Modify most of dird/msgchan.c to use bsock class calls rather than
+ bnet calls -- no functionality change.
+07Aug07
+kes Modify the Verify output to specify if files are missing on
+ the Volume(s) or disk. Fixes confusion in bug #916.
+kes When more than one Volume is read in a migration job, the last
+ Volume bytes reported are from the last read volume rather than
+ the last written volume. Fixed. This fixes bug #910.
+kes Fix display of Recycle flag after update volume=foo recycle=yes.
+ It previously printed New Recyle flag is: no. This fixes bug
+ #917.
+06Aug07
+kes Correct seg fault when switching tape drives during restore.
+kes Commit uid_gid_name.c (replacement for idcache.c), but will not
+ be used until after 2.2.0 release.
+04Aug07
+kes Remove fnmatch() in SD that permitted wild card specifications.
+ This fixes bug #914.
+31Jul07
+kes Fix %g in filename returned by SQL for browse tree reported by
+ Dirk.
+kes Fix configure so that it puts config.out in the cwd rather than
+ in src/qt-console
+kes Attempt to fix the locking problem reported by Eric in bug #906.
+kes Make berrno class to leave errno unchanged after constructor call.
+kes Make bnet_server use the heap rather than the stack to allocate
+ its socket fd pointers to avoid a crash at termination. Problem
+ reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
+30Jul07
+kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
+ and putting it in depkgs-qt along with Qt4.3.
+29Jul07
+kes Rework code in acquire.c that switches drives for reading when
+ the Media Type does not match. This should fix bug #906
+28Jul07
+ebl Fix a director segfault during job setup #907
+kes Correct seg fault in postgresql when first operation returns no
+ rows. Fixes Dirks File browser problem seg fault with bat.
+25Jul07
+kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
+ building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
+ 2.6 as well).
+24Jul07
+kes Implement PopUp YES/NO dialog for bat.
+23Jul07
+ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
+22Jul07
+kes Correct RunScript to terminate job in FD on failure.
+kes Change abort_on_error and AbortJobOnError to fail_on_error
+ and FailJobOnError in RunScripts.
+kes Minor tweaks of code formating in RunScripts, principally to
+ avoid depassing 80 columns.
+21Jul07
+kes Eliminate one #ifdef Win32 in bsmtp
+kes Implement grow tool to grow a file for testing very large databases.
+kes Add big-vol-test to test Bacula seeking with > 5GB.
+Release 2.1.28 beta
+19Jul07
+kes Modify find_next_volume() to return all values in Media record.
+kes Ensure that we keep Recycle Pool when moving Scratch volumes.
+
+Release 2.1.28 beta
+18Jul07
+kes Update Release notes
+17Jul07
+ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
+ Warning, in previous beta version, all media get from scratch keep their
+ old retention.
+16Jul07
+kes Tweaked Win32 installer to remove temp conf files at uninstall time.
+ This should fix bug #842. Made a note to look at removing the temp
+ files at the end of the install.
+kes Add ability to mount and unmount a file device providing it is
+ marked as being removable and has the appropriate mount and unmount
+ commands defined in the Device resource. This fixes bug #830.
+kes When applying a storage override, release all previous storage
+ definitions rather than just prepending the new storage.
+ This should prevent a good deal of confusion.
+14Jul07
+kes Implement ./configure search for qwt libraries.
+13Jul07
+kes Disable posting the WM_CLOSE message in KillRunningCopy of the
+ Win32 FD. This should fix bug #893.
+kes Remove an unnecessary beep in Win32 init code.
+kes Update copyright dates in Win32 executable about boxes.
+kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
+ code with a BSD getopt.c and getopt.h.
+kes Remove sched.h from the Win32 compat directory -- not used.
+kes Remove the Exit menu item from the Win32 tray monitor. If you really
+ need to shut it down, do it through the services panel or the command
+ line.
+kes Remove some inappropriate Bacula FSFE copyrights.
+ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
+kes Fix regress config non-portable test as pointed out by
+ Florian Heigl <florian.heigl@gmail.com>
+kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
+ as pointed out by Florian Heigl <florian.heigl@gmail.com>
+12Jul07
+kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
+ Reported by Frank Sweetser.
+
+Release 2.1.26 beta
+12Jul07
+kes Fix client-only build.
+kes Integrate client-only fixes for bsys (initgroups) and conio from
+ Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
+kes Make arguments to get_scratch_volume() in same order as other
+ such calls.
+kes Rework the prune_volumes() subroutine so that after purging and
+ no volume found in desired pool, it will check for a scratch
+ volume. This prevents recycling the whole scratch pool.
+kes Add code to status storage to print boffset_t (largefile support).
+11Jul07
+kes Move qwt (Graphics libarary for Qt4) to depkgs.
+kes You now need a --with-qwt=<dir> to be able to build bat.
+kes Update src/win32/cats/bacula_cats.def to include the new
+ db_get_query_dbids() call on Win32.
+07Jul07
+kes Correct a problem when selecting a scratch volume and moving
+ it to another pool that lost some columns.
+kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
+kes Enhance Autochanger error messages to include Volume and device name.
+kes Rework prune_volumes() code to take account of InChanger flag,
+ and to handle recycling volumes going to the Scratch pool and
+ current pool because the RecyclePool directive.
+kes Implement a better and more efficient db_get_query_dbids() to
+ handle creating and passing back a list of DBIds.
+
+Release 2.1.24 beta
+03Jul07
+kes Start work on new more efficient DBId subroutine. First use
+ will be for recycling volume to Scratch inchanger.
+kes Increase number of JobIds in pruning from 1000 to 10000.
+ This to be replaced by above routine.
+kes Begin implementation of building Qt4 on Win32.
+kes Correct typo in fix I added for bad TLS shutdown.
+kes Pull 2.0.3 patches into patches directory.
+kes Update Release notes. Include qt-console in line count.
+kes Update Projects file.
+30Jun07
+kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
+ bug in migration code where a job that spanned two volumes
+ was migrated twice.
+29Jun07
+kes Implement new BST_DESPOOLING blocked state. Change from locking
+ during despooling in SD to blocking. This means that other threads
+ can work with the device structure, in particular the reservations
+ system while despooling.
+28Jun07
+kes Fix return in reservation message queue that missed clearing
+ the jcr lock (implemented 26Jun07 below).
+kes Rename a number of dev methods to make locking function names
+ a bit clearer.
+kes Document locking in lock.c. Move lock structures to new file
+ lock.h.
+26Jun07
+kes Move reservations message lock to lock jcr only this
+ fixes bug #861.
+kes Move main SD locking code into lock.c (new file).
+kes Update Win32 build to include lock.c
+
+Release 2.1.22 beta
+26Jun07
+kes Dirk committed the qwt library code for drawing graphs in bat.
+kes Tweak install of qwt so that it is integrated with ./configure.
+25Jun07
+kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
+ out by Eric (my typo).
+ebl Fix configure.in to get batch mode enable
+kes Return correct string from authenticate.cpp in bat when connecting
+ to Dir.
+kes Apply patch suggested by Frank Sweetser to fix bug #888 --
+ spurious line drops when using TLS.
+kes Do not file reparse points when restoring a file that already
+ exists -- Win32.
+24Jun07
+kes Implement Windows reparse points -- similar to directories, but
+ we do not descend into it. This is a first cut. They seem to
+ be backed up, but restore is not yet tested.
+kes Remove restore_blocking in tls code when shutting a socket to leave
+ it in blocking mode. Hopefully this will fix the encryption bug
+ reported by Frank Sweetser.
+kes When opening a file for backup, tell the OS that we are going to
+ read it sequentially -- optimization.
+kes Change variable names in authenticate_director() to not conflict
+ with member names in bat. Caused great confusion with compiler,
+ but no warnings.
+23Jun07
+kes Queue openssl error messages in case of comm problem.
+kes Do shutdown() call if socket terminated.
+kes Remove some duplicated code in tls.c
+kes Move more of the bsock member variables into private and access
+ them with methods.
+kes Add Frank Sweetser's tls-test to the regression suite.
+22Jun07
+kes Add Swedish sv.po file
+21Jun07
+kes Don't print clock skew message in FD if less than 3 seconds diff.
+kes Add a bit of VSS info to status client.
+kes Implement a first cut of Vista VSS, using Win2003 code.
+
+Release: 2.1.20 beta
+20Jun07
+kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
+ loaded tape but uses first drive).
+kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
+ This was indeed a Win32 issue.
+19Jun07
+kes Simplify search of autochanger for in-use Volume.
+kes Fix exit condition of check for in-use volume. kes Remove
+ inappropriate my_postgresql_free_result() in db_close()
+ routine.
+kes Fix bad return in FD when encryption signature not found.
+ Probably caused a crash.
+kes Inhibit missing encryption signature error messages for
+ file types where no signature computed.
+kes Correct inverted check on autochanger in reservation system.
+kes Tweak debug code in autochanger reservation.
+18Jun07
+kes Add some additional locking in the cats directory in subroutines
+ that modify packet variables called from batch insert.
+kes Rework how dcrs are allocated. new_dcr() can now be called
+ with an existing pointer, and it will simply clean it up.
+ This allows the reservation system to test various different
+ devices, and will permit easy device changes.
+kes A bunch of changes all over to handle new new_dcr() calling
+ sequence.
+kes Work more on the Volume management in the SD. Remember Volumes
+ for tape drives and for autochangers (even virtual disk changers).
+kes When looking at the Volume list to reserve a drive, handle
+ autochanger names correctly by interating through the changer
+ devices. Also call the Director to see if a Volume is suitable
+ for the current job.
+kes Fix some bugs in bscan. Make sure all media records are written.
+ Make sure that valid JobMedia records are written for disk files.
+ Previously they were completely wrong.
+kes Move source tar files for depkgs-mingw32 to www.bacula.org so
+ that the URLs don't change and so that the developers will all
+ work off the same copy. Rebuild from scrach.
+kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
+
+Release: 2.1.18 beta
+16Jun07
+kes Fix seg fault in FD from incorrect digest size.
+kes Fix argument to non-OpenSSL crypto.c subroutine.
+
+Release: 2.1.16 beta
+16Jun07
+kes Remove a few malloc()s from the encryption code.
+kes Use the class calls to bsock in filed/backup.c and restore.c in
+ place of the old bnet_xxx code.
+kes Implement code that does an on the fly calculation of the
+ signing digest during restore of encrypted files. It makes
+ a best guess at the algorithm, and if it is not correct, will
+ then revert to the old code which reads the file after it is
+ restored.
+kes Implement at least one missing crypto stream in stream_to_ascii()
+kes Apply patch from William <chowmeined@gmail.com> that fixes bug
+ #877 where a reload with bad syntax causes Dir to exit.
+
+Cut: 2.1.14 beta (not released)
+14Jun07
+kes Do not free a volume on a tape drive until another volume is
+ mounted and read, or the autochanger unloads the volume.
+ This should help the SD re-use volumes that are already mounted,
+ and should fix bug #886.
+kes Apply patch from user brettedgar that allows gnome2-console include
+ the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
+kes Apply patch from Lucien Weller that fixes day of week calculation
+ because of DST flag problem. Fixes bug #887.
+10Jun07
+kes Move find_next_appendable_volume() to after acquiring a valid device
+ in reserve.c. This fixes bug #864 -- confirmed by reporter.
+09Jun07
+kes Unable to reproduce bug 872. However added additional testing for
+ integer.
+kes Bug #874 resolved by documenting SQLite limitations.
+kes Bug #882 resolved by documenting mtx-changer script for new drive code.
+kes Bug #881 resolved by removing typo in mtx-changer script.
+kes Made Frank Sweetser's wiki the official Bacula wiki with his
+ approval. Added a link to the wiki on the web page, and implemented
+ a backup from http://paramount.ind.wpi.edu
+08Jun07
+kes Fix update allfrompool to pass pool name.
+07Jun07
+kes Convert to pure GPL v2 license.
+kes Fix sscanf problems reported by Peter Buschman that caused
+ a bus error on Solaris.
+kes Rework (simplify) the select prompt in bat.
+kes Move get_jobid_from_tid() into lib and create a
+ get_jcr_from_tid().
+kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
+ should definitely fix the problem of lost error messages in the
+ encryption code.
+kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
+kes Eliminate tcpd.h from the project. Enclose the #include from the
+ library with extern C ...
+kes Add print of signal name when a signal is trapped.
+
+Release: 2.1.12 beta
+04Jun07
+kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
+03Jun07
+kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
+ query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
+ makes SQLit3 run 30 times faster, though a bit less safe.
+kes Implement --with-batch-insert in configure and detection of thread
+ safe libraries. It is on by default, but turned off if no thread
+ safe library (e.g. SQLite 2) is available.
+02Jun07
+kes Fix Bacula PostgreSQL buffer overruns.
+kes Do better checking for NULL results returned from PostgreSQL;
+ implement retry for failed queries; clear results buffer after
+ failed query. Hopefully this will correct the PostgreSQL failures.
+01Jun07
+kes Implement algorithm to handle only one appendable volume with
+ Prefer Mounted Volumes = no.
+kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
+ returned from a query.
+kes Make volume lock recursive.
+kes Implement an additional volume reservation algorithm that
+ starts by considering all reserved volumes then uses the
+ old brute force algorithm of searching the resources to
+ find a suitable device.
+kes Add new reservations debug code and refine the old code.
+kes Update the win32/dll/bacula.defs file.
+29May07
+kes Tweak reservations algorithm to permit a few more cases, i.e.
+ volume reserved, but on different drive, ...
+kes Enhance SD status to include Pool and Media Type for drive in a
+ more readable format (a bit longer).
+kes Fix PostgreSQL double free.
+28May07
+kes Minor refactoring of restore decryption code.
+kes Add code to smartall.c to detect double free of a buffer.
+27May07
+kes Add < > around %r in from field on mail command of bacula-dir.conf.in
+ so that bsmtp will create a correct email address (mailbox only).
+kes Modify 'memory' command so that the buffers are listed as 'In use'
+ to avoid confusion with Orphaned buffers.
+kes I reworked the OpenSSL include/lib flags to be handled in
+ the standard Bacula way, which should fix bug #863 concerning
+ non-standard OpenSSL libraries.
+26May07
+kes Implement Help Browser window for bat.
+kes Fix reload bug that reset StorageId to zero.
+25May07
+kes Fix TLS #ifdefing when TLS turned off.
+kes Ensure that when labelling a tape with Slot=0 that InChanger
+ is not set.
+kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
+ the same.
+kes Add StartTime to final uar_sel_jobid_temp query so that we can
+ add DISTINCT (required by PostgreSQL).
+kes Implement BSOCK authenticate_director() method. Eventually will
+ authenicate all daemons.
+kes Move several more functions into the BSOCK class.
+24May07
+kes Add code to tell the OS that we no longer need a cached
+ file that we were reading. In findlib/bfile.c. Also,
+ only cache files that we are reading. Thanks to
+ Tobias Oetiker <tobi@oetiker.ch> for the idea.
+kes Tweak to bsmtp to eliminate compiler warnings on Win32.
+kes Implement script to automatically generate cats and dll .def
+ files for Win32 dll.
+kes Update README.mingw32 to include new .def file generation.
+kes Correct typo in UTF-8 error message as reported by:
+ jhernandez <julianhernandez@gmail.com>
+kes Add additional sm_check() code on debug level 1.
+kes Set default debug level to 1.
+kes Trap SIGABRT in attempt to get traceback.
+23May07
+kes Reduce bat connect timeout from 30 to 15 seconds.
+kes More restructuring and implementing BSOCK class in place of
+ old bnet.c code.
+kes Remove a few unnecessary malloc() tests in crypto code.
+kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
+ not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
+kes Remove duplicate HAVE_CRYPTO definition in config.h.in
+22May07
+kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
+ Make buffer bigger.
+kes Fix Verify InitCatalog. The attributes were not pointing to the
+ correct saved location.
+kes Implement message callback so that GUI is sure to get all
+ daemon messages. Currently displayed in a dialog in bat.
+kes Ignore SIGUSR2 (Bacula timer) in bat.
+kes Apply regress patch from bug #859 to allow regress to work
+ with Solaris compiler.
+21May07
+kes Begin adding TLS support to bat.
+kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
+ clean up lex.c and make it more readable.
+20May07
+kes Move more bnet functions into the BSOCK class.
+kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
+kes Complete change of berrno strerror() method to bstrerror()
+
+Release: 2.1.10 beta
+18May07
+kes Cleanup incorrect email addresses in bsmtp.
+kes Make bat display initial messages rather than discard them.
+16May07
+kes First cut of adding .mod to the run command.
+kes Implement auto display of messages in bat.
+kes Enhanced preferences to allow all Bacula output to be
+ displayed in bat.
+15May07
+kes Try to make bsmtp date routines more generic.
+kes Fixed bug #856 autochanger documentation.
+kes Rework bsmtp date editing for Win32. This fixes bug #854.
+kes Add new cats entry point so Win32 builds.
+14May07
+kes Attempt to fix bsmtp date editing on OSes without %z editing.
+ Fixes bug #854.
+kes Do better checking for the MySQL 64 bit libraries looking for both
+ .a and .so libraries.
+kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
+ /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
+kes Require the thread safe version of MySQL during configure. Thanks
+ to Andre Noll for pointing this out.
+kes Ensure that calls to find_jobids_from_mediaid_list() check count before
+ continuing in migration code.
+kes Apply implementation of tray-monitor font derived from gnome-console
+ submitted by Andreas Piesk <a.piesk@gmx.net>
+13May07
+kes Eliminate important memory loss in SQLite
+kes Fixed the batch insert MySQL thread specific data that was not
+ being freed. See cats/mysql.c:db_thread_cleanup().
+kes Fix restore before command.
+kes Convert old hdr.name to name() in a few places.
+kes Implement update jobid command.
+kes Return all time_t dates in db_get_job_record()
+kes Stop watchdog in SD earlier.
+kes Put Pool just after Storage in please mount message.
+kes Fix pointer usage bugs in Verify InitCatalog pointed out by
+ Eric.
+12May07
+kes Update the po files.
+kes Fix Verify InitCatalog by making it cache attributes.
+11May07
+kes Change name bacula-bat to bat for man 1 page to correspond to
+ Makefile.
+kes Check for client and store NULL pointers in status command. This
+ fixes bug #845.
+kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
+kes Fix sign extended editing of %p.
+kes Clean out a little old #ifdefing in cats/mysql.c
+10May07
+kes If time diff between DIR and FD is more than 600 seconds convert
+ INFO message to WARNING.
+kes Implement heap size display in status for all daemons.
+kes Attempt to fix MySQL db open memory loss (not successfull).
+kes Don't set SIGKILL and SIGSTOP neither can be trapped.
+kes Eliminate memory loss in MySQL (possibly other SQLs) during
+ Query. This looks like a MySQL but but by doing extra releases,
+ the memory goes away. This should fix bug #847.
+09May07
+kes When backup fails, cancel SD before waiting for sd termination.
+kes If SD is waiting for FD to connect during cancel, wake up the
+ thread.
+kes Fix fsf code so that errno is correctly reported.
+kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
+08May07
+kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
+ so that Bacula doesn't later stumble into a seg fault.
+kes Use the term Restore Client in the restore Job report.
+kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
+ the original job'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 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 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.
+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 new 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 -- scheduler problem.
+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.
+
+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