[prev in list] [next in list] [prev in thread] [next in thread]
List: bacula-commits
Subject: [Bacula-commits] SF.net SVN: bacula:[8394]
From: kerns () users ! sourceforge ! net
Date: 2009-01-22 14:39:07
Message-ID: E1LQ0i3-0000NA-Uy () 74yxhf1 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 8394
http://bacula.svn.sourceforge.net/bacula/?rev=8394&view=rev
Author: kerns
Date: 2009-01-22 14:39:07 +0000 (Thu, 22 Jan 2009)
Log Message:
-----------
Fix bug #1211 crash during reload with bad dird.conf file.
Modified Paths:
--------------
branches/Branch-2.4/bacula/src/lib/parse_conf.c
branches/Branch-2.4/bacula/src/version.h
branches/Branch-2.4/bacula/technotes-2.4
Added Paths:
-----------
branches/Branch-2.4/bacula/patches/2.4.4-bat-install.patch
branches/Branch-2.4/bacula/patches/2.4.4-reload.patch
Added: branches/Branch-2.4/bacula/patches/2.4.4-bat-install.patch
===================================================================
--- branches/Branch-2.4/bacula/patches/2.4.4-bat-install.patch \
(rev 0)
+++ branches/Branch-2.4/bacula/patches/2.4.4-bat-install.patch 2009-01-22 14:39:07 \
UTC (rev 8394) @@ -0,0 +1,29 @@
+
+ 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
Added: branches/Branch-2.4/bacula/patches/2.4.4-reload.patch
===================================================================
--- branches/Branch-2.4/bacula/patches/2.4.4-reload.patch \
(rev 0)
+++ branches/Branch-2.4/bacula/patches/2.4.4-reload.patch 2009-01-22 14:39:07 UTC \
(rev 8394) @@ -0,0 +1,152 @@
+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;
Modified: branches/Branch-2.4/bacula/src/lib/parse_conf.c
===================================================================
--- branches/Branch-2.4/bacula/src/lib/parse_conf.c 2009-01-21 14:50:41 UTC (rev \
8393)
+++ branches/Branch-2.4/bacula/src/lib/parse_conf.c 2009-01-22 14:39:07 UTC (rev \
8394) @@ -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;
Modified: branches/Branch-2.4/bacula/src/version.h
===================================================================
--- branches/Branch-2.4/bacula/src/version.h 2009-01-21 14:50:41 UTC (rev 8393)
+++ branches/Branch-2.4/bacula/src/version.h 2009-01-22 14:39:07 UTC (rev 8394)
@@ -3,17 +3,17 @@
*/
#undef VERSION
-#define VERSION "2.4.4"
-#define BDATE "28 December 2008"
-#define LSMDATE "28Dec08"
+#define VERSION "2.4.5"
+#define BDATE "22 January 2009"
+#define LSMDATE "22Jan09"
#define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe \
e.V.\n"
-#define BYEAR "2008" /* year for copyright messages in progs */
+#define BYEAR "2009" /* year for copyright messages in progs */
/*
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.
Modified: branches/Branch-2.4/bacula/technotes-2.4
===================================================================
--- branches/Branch-2.4/bacula/technotes-2.4 2009-01-21 14:50:41 UTC (rev 8393)
+++ branches/Branch-2.4/bacula/technotes-2.4 2009-01-22 14:39:07 UTC (rev 8394)
@@ -1,11 +1,13 @@
Technical notes on version 2.4
General:
+22Jan09
+kes Fix bug #1211 crash during reload with bad dird.conf file.
10Jan09
-kes Fix bat.pro.in so that bat will install.
+kes Fix bat.pro.in so that bat will install.
07Jan09
-kes Fix bug #1212, SD is unable to recycle purged volumes. fstat()
- was broken.
+kes Fix bug #1212, SD is unable to recycle purged volumes. fstat()
+ was broken.
Release Version 2.4.4
28Dec08
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Bacula-commits mailing list
Bacula-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic