+++ /dev/null
-
- This patch fixes bat.pro.in so that bat will install correctly.
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-bat-install.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/qt-console/bat.pro.in
-===================================================================
---- src/qt-console/bat.pro.in (revision 8326)
-+++ src/qt-console/bat.pro.in (working copy)
-@@ -9,9 +9,9 @@
- #
- CONFIG += qt debug @QWT@
-
--bins.path = /$(DESTDIR)@sbindir@
-+bins.path = $(DESTDIR)@sbindir@
- bins.files = ./bat
--confs.path = /$(DESTDIR)@sysconfdir@
-+confs.path = $(DESTDIR)@sysconfdir@
- confs.commands = ./install_conf_file
-
- TEMPLATE = app
+++ /dev/null
-
- This patch permit to disable the _FORTIFY_SOURCE flag that is
- added by some distributions.
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-fortify.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-
-Index: src/bacula.h
-===================================================================
---- src/bacula.h (révision 8436)
-+++ src/bacula.h (copie de travail)
-@@ -34,6 +34,13 @@
- #ifndef _BACULA_H
- #define _BACULA_H 1
-
-+/* Disable FORTIFY_SOURCE, because bacula uses is own memory
-+ * manager
-+ */
-+#ifdef _FORTIFY_SOURCE
-+#undef _FORTIFY_SOURCE
-+#endif
-+
- #ifdef __cplusplus
- /* Workaround for SGI IRIX 6.5 */
- #define _LANGUAGE_C_PLUS_PLUS 1
+++ /dev/null
-
- This patch fixes bug #1255 'variable %n changed'
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-jobname-edit.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/dird/job.c
-===================================================================
---- src/dird/job.c (revision 8455)
-+++ src/dird/job.c (working copy)
-@@ -787,7 +787,7 @@
- len = strlen(dt) + 5; /* dt + .%02d EOS */
- bstrncpy(name, base_name, sizeof(name));
- name[sizeof(name)-len] = 0; /* truncate if too long */
-- bsnprintf(jcr->Job, sizeof(jcr->Job), "%s.%s.%02d", name, dt, seq); /* add date & time */
-+ bsnprintf(jcr->Job, sizeof(jcr->Job), "%s.%s_%02d", name, dt, seq); /* add date & time */
- /* Convert spaces into underscores */
- for (p=jcr->Job; *p; p++) {
- if (*p == ' ') {
+++ /dev/null
- [label-failure.patch] IQ
- This patch should fix the problems labeling a tape while
- Bacula is requesting you to mount or label a new tape.
- It should also fix problems where Bacula will not recognize
- that a new tape is inserted or created and it keeps asking for
- a different tape. It fixes bug #1227.
-
- Apply it to 2.4.4 (possibly earlier versions) with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-label-failure.patch
- ./configure <your-options>
- make
- ...
- make install
- ...
-
-
-
-Index: src/stored/wait.c
-===================================================================
---- src/stored/wait.c (revision 8605)
-+++ src/stored/wait.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-2009 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.
-@@ -20,7 +20,7 @@
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
-- Bacula® is a registered trademark of John Walker.
-+ Bacula® is a registered trademark of Kern Sibbald.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-@@ -62,8 +62,14 @@
-
- dev->dlock();
- Dmsg1(dbglvl, "Enter blocked=%s\n", dev->print_blocked());
-+
-+ /*
-+ * Since we want to mount a tape, make sure current one is
-+ * not marked as using this drive.
-+ */
-+ volume_unused(dcr);
-+
- unmounted = is_device_unmounted(dev);
--
- dev->poll = false;
- /*
- * Wait requested time (dev->rem_wait_sec). However, we also wake up every
-Index: src/stored/reserve.c
-===================================================================
---- src/stored/reserve.c (revision 8605)
-+++ src/stored/reserve.c (working copy)
-@@ -20,7 +20,7 @@
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
-- Bacula® is a registered trademark of John Walker.
-+ Bacula® is a registered trademark of Kern Sibbald.
- The licensor of Bacula is the Free Software Foundation Europe
- (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
- Switzerland, email:ftf@fsfeurope.org.
-@@ -346,8 +346,12 @@
- goto get_out;
- }
- Dmsg3(dbglvl, "jid=%u reserve_vol free vol=%s at %p\n", jid(), vol->vol_name, vol->vol_name);
-- free_volume(dev);
-- dev->set_unload(); /* have to unload current volume */
-+ /* If old Volume is still mounted, must unload it */
-+ if (strcmp(vol->vol_name, dev->VolHdr.VolumeName) == 0) {
-+ Dmsg0(50, "set_unload\n");
-+ dev->set_unload(); /* have to unload current volume */
-+ }
-+ free_volume(dev); /* Release old volume entry */
- debug_list_volumes("reserve_vol free");
- }
- }
+++ /dev/null
-
- This patch fixes bug #1211 crash during reload with bad dird.conf file.
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-reload.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/lib/parse_conf.c
-===================================================================
---- src/lib/parse_conf.c (revision 8393)
-+++ src/lib/parse_conf.c (working copy)
-@@ -284,6 +284,7 @@
- }
- if (token != T_EQUALS) {
- scan_err1(lc, _("expected an =, got: %s"), lc->str);
-+ return;
- }
- break;
- }
-@@ -304,6 +305,7 @@
- Dmsg1(900, "store_msgs dest=%s:\n", NPRT(dest));
- if (token != T_EQUALS) {
- scan_err1(lc, _("expected an =, got: %s"), lc->str);
-+ return;
- }
- scan_types(lc, (MSGS *)(item->value), item->code, dest, NULL);
- free_pool_memory(dest);
-@@ -312,7 +314,7 @@
-
- default:
- scan_err1(lc, _("Unknown item code: %d\n"), item->code);
-- break;
-+ return;
- }
- }
- scan_to_eol(lc);
-@@ -352,7 +354,7 @@
- }
- if (!found) {
- scan_err1(lc, _("message type: %s not found"), str);
-- /* NOT REACHED */
-+ return;
- }
-
- if (msg_type == M_MAX+1) { /* all? */
-@@ -384,12 +386,14 @@
- lex_get_token(lc, T_NAME);
- if (!is_name_valid(lc->str, &msg)) {
- scan_err1(lc, "%s\n", msg);
-+ return;
- }
- free_pool_memory(msg);
- /* Store the name both pass 1 and pass 2 */
- if (*(item->value)) {
- scan_err2(lc, _("Attempt to redefine name \"%s\" to \"%s\"."),
- *(item->value), lc->str);
-+ return;
- }
- *(item->value) = bstrdup(lc->str);
- scan_to_eol(lc);
-@@ -481,10 +485,12 @@
- if (res == NULL) {
- scan_err3(lc, _("Could not find config Resource %s referenced on line %d : %s\n"),
- lc->str, lc->line_no, lc->line);
-+ return;
- }
- if (*(item->value)) {
- scan_err3(lc, _("Attempt to redefine resource \"%s\" referenced on line %d : %s\n"),
- item->name, lc->line_no, lc->line);
-+ return;
- }
- *(item->value) = (char *)res;
- }
-@@ -520,6 +526,7 @@
- if (i >= count) {
- scan_err4(lc, _("Too many %s directives. Max. is %d. line %d: %s\n"),
- lc->str, count, lc->line_no, lc->line);
-+ return;
- }
- list = New(alist(10, not_owned_by_alist));
- }
-@@ -530,6 +537,7 @@
- if (res == NULL) {
- scan_err3(lc, _("Could not find config Resource \"%s\" referenced on line %d : %s\n"),
- item->name, lc->line_no, lc->line);
-+ return;
- }
- Dmsg5(900, "Append %p to alist %p size=%d i=%d %s\n",
- res, list, list->size(), i, item->name);
-@@ -592,6 +600,7 @@
- if (res == NULL) {
- scan_err3(lc, _("Missing config Resource \"%s\" referenced on line %d : %s\n"),
- lc->str, lc->line_no, lc->line);
-+ return;
- }
- }
- scan_to_eol(lc);
-@@ -655,12 +664,13 @@
- }
- if (!size_to_uint64(bsize, strlen(bsize), &uvalue)) {
- scan_err1(lc, _("expected a size number, got: %s"), lc->str);
-+ return;
- }
- *(uint64_t *)(item->value) = uvalue;
- break;
- default:
- scan_err1(lc, _("expected a size, got: %s"), lc->str);
-- break;
-+ return;
- }
- if (token != T_EOL) {
- scan_to_eol(lc);
-@@ -697,12 +707,13 @@
- }
- if (!duration_to_utime(period, &utime)) {
- scan_err1(lc, _("expected a time period, got: %s"), period);
-+ return;
- }
- *(utime_t *)(item->value) = utime;
- break;
- default:
- scan_err1(lc, _("expected a time period, got: %s"), lc->str);
-- break;
-+ return;
- }
- if (token != T_EOL) {
- scan_to_eol(lc);
-@@ -721,6 +732,7 @@
- *(uint32_t *)(item->value) &= ~(item->code);
- } else {
- scan_err2(lc, _("Expect %s, got: %s"), "YES, NO, TRUE, or FALSE", lc->str); /* YES and NO must not be translated */
-+ return;
- }
- scan_to_eol(lc);
- set_bit(index, res_all.hdr.item_present);
-@@ -736,6 +748,7 @@
- *(bool *)(item->value) = false;
- } else {
- scan_err2(lc, _("Expect %s, got: %s"), "YES, NO, TRUE, or FALSE", lc->str); /* YES and NO must not be translated */
-+ return;
- }
- scan_to_eol(lc);
- set_bit(index, res_all.hdr.item_present);
-@@ -761,6 +774,7 @@
- }
- if (i != 0) {
- scan_err1(lc, _("Expected a Tape Label keyword, got: %s"), lc->str);
-+ return;
- }
- scan_to_eol(lc);
- set_bit(index, res_all.hdr.item_present);
-@@ -910,6 +924,7 @@
- Dmsg0(900, "T_EOB => define new resource\n");
- if (res_all.hdr.name == NULL) {
- scan_err0(lc, _("Name not specified for resource"));
-+ return 0;
- }
- save_resource(res_type, items, pass); /* save resource */
- break;
+++ /dev/null
-
- This patch is backported from the development SVN and should fix
- bug #1213, which is a deadlock in the SD when a volume is on the
- wrong drive.
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-sd-deadlock.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/stored/reserve.c
-===================================================================
---- src/stored/reserve.c (revision 8426)
-+++ src/stored/reserve.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-2009 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.
-@@ -498,7 +498,6 @@
- void DCR::unreserve_device()
- {
- lock_volumes();
-- dev->dlock();
- if (is_reserved()) {
- clear_reserved();
- reserved_volume = false;
-@@ -514,7 +513,6 @@
- volume_unused(this);
- }
- }
-- dev->dunlock();
- unlock_volumes();
- }
-
-Index: src/stored/acquire.c
-===================================================================
---- src/stored/acquire.c (revision 8426)
-+++ src/stored/acquire.c (working copy)
-@@ -1,7 +1,7 @@
- /*
- Bacula® - The Network Backup Solution
-
-- Copyright (C) 2002-2008 Free Software Foundation Europe e.V.
-+ Copyright (C) 2002-2009 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.
-@@ -647,8 +647,8 @@
-
- /* Detach this dcr only if attached */
- if (dcr->attached_to_dev && dev) {
-+ dev->dlock();
- dcr->unreserve_device();
-- dev->dlock();
- dcr->dev->attached_dcrs->remove(dcr); /* detach dcr from device */
- dcr->attached_to_dev = false;
- // remove_dcr_from_dcrs(dcr); /* remove dcr from jcr list */
+++ /dev/null
-
- This patch fixes bug #1247 - 64-bit time_t and varargs don't get along in some
- printf-like formatting
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-time_t_64bit.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/stored/spool.c
-===================================================================
---- src/stored/spool.c (revision 8455)
-+++ src/stored/spool.c (working copy)
-@@ -306,7 +306,7 @@
- set_new_file_parameters(dcr);
-
- /* Subtracting run_time give us elapsed time - wait_time since we started despooling */
-- time_t despool_elapsed = time(NULL) - despool_start - jcr->run_time;
-+ int32_t despool_elapsed = time(NULL) - despool_start - jcr->run_time;
-
- if (despool_elapsed <= 0) {
- despool_elapsed = 1;
-Index: src/stored/append.c
-===================================================================
---- src/stored/append.c (revision 8455)
-+++ src/stored/append.c (working copy)
-@@ -270,7 +270,7 @@
- do_fd_commands(jcr); /* finish dialog with FD */
-
-
-- time_t job_elapsed = time(NULL) - jcr->run_time;
-+ int32_t job_elapsed = time(NULL) - jcr->run_time;
-
- if (job_elapsed <= 0) {
- job_elapsed = 1;
-Index: src/lib/message.c
-===================================================================
---- src/lib/message.c (revision 8455)
-+++ src/lib/message.c (working copy)
-@@ -780,8 +780,8 @@
- case MD_DIRECTOR:
- Dmsg1(850, "DIRECTOR for following msg: %s", msg);
- if (jcr && jcr->dir_bsock && !jcr->dir_bsock->errors) {
-- bnet_fsend(jcr->dir_bsock, "Jmsg Job=%s type=%d level=%d %s",
-- jcr->Job, type, mtime, msg);
-+ bnet_fsend(jcr->dir_bsock, "Jmsg Job=%s type=%d level=%lld %s",
-+ jcr->Job, type, (utime_t)mtime, msg);
- }
- break;
- case MD_STDOUT:
+++ /dev/null
-
- This patch fixes a text sizing problem in the tray-monitor.
- It fixes bug #1219.
-
- Apply it to version 2.4.4 with:
-
- cd <bacula-source>
- patch -p0 <2.4.4-tray-sizing.patch
- ./configure <your options>
- make
- ...
- make install
-
-
-Index: src/tray-monitor/tray-monitor.c
-===================================================================
---- src/tray-monitor/tray-monitor.c (revision 8393)
-+++ src/tray-monitor/tray-monitor.c (working copy)
-@@ -1,7 +1,7 @@
- /*
- Bacula® - The Network Backup Solution
-
-- Copyright (C) 2004-2007 Free Software Foundation Europe e.V.
-+ Copyright (C) 2004-2009 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.
-@@ -97,6 +97,7 @@
- static GtkWidget *textview;
- static GtkTextBuffer *buffer;
- static GtkWidget *timeoutspinner;
-+static GtkWidget *scrolledWindow;
- char** xpm_generic_var;
- static gboolean blinkstate = TRUE;
-
-@@ -409,9 +410,13 @@
- }
-
- gtk_box_pack_start(GTK_BOX(vbox), daemon_table, FALSE, FALSE, 0);
--
-+
- textview = gtk_text_view_new();
-
-+ scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
-+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-+ gtk_container_add(GTK_CONTAINER (scrolledWindow), textview);
-+
- buffer = gtk_text_buffer_new(NULL);
-
- gtk_text_buffer_set_text(buffer, "", -1);
-@@ -456,7 +461,7 @@
-
- gtk_text_view_set_buffer(GTK_TEXT_VIEW(textview), buffer);
-
-- gtk_box_pack_start(GTK_BOX(vbox), textview, TRUE, TRUE, 0);
-+ gtk_box_pack_start(GTK_BOX(vbox), scrolledWindow, TRUE, TRUE, 0);
-
- GtkWidget* hbox = gtk_hbox_new(FALSE, 10);
-