- Apply Peter Eriksson's patch to configure.in fixes finding
correct libs on Solaris to link conio -- bug 121
- Add expected number of files to Verify VolumeToCatalog, and
if it does not equal the examined files, fail the job.
Fixes bug -- 114
- Modify the depend section of each Makefile.in to reference
instead of -- bug 118
- Remove the word restore from the Volumes needed message in
dird/bsr.c since the message is used for Restore and Verify.
- Fix initialization and copying of the storage resource when
starting jobs (and in jobq.c when restarting). In some cases
jcr->store was not set causing a segfault -- bug 116
- Turn on transactions for SQLite and PostgreSQL if
multiple connections are turned on.
- Removed stripping of filename in ua_tree insertion routine.
- Fix split_path_and_filename() routines to return zero length
path and files.
- Modify update_tables scripts to convert a single blank filename
into an empty filename.
- Incremented the release number because this version requires
an update to the database.
Use:
cd src/cats
./update_bacula_tables
to update an existing database.
- Implemented EndFile and EndBlock in the Media record. This will
allow Bacula to know exactly when to stop reading a tape if the
stupid tape driver does not give a logical end of tape indication
and Bacula writes to the end of the tape getting an I/O error.
- Added new routines to update the database, and there are
new database creation routines to add the two new Media columns.
- The Media record is updated each time a JobMedia record is created.
This keeps the Media record up to date.
- Undid the code to use automatic type converions to char * in
POOL_MEM. This is due to the ugly consequences of essentially
destroying the class type nature of the class.
- Removed all the old mp_char() #define code.
Dan Langille [Mon, 20 Sep 2004 14:46:24 +0000 (14:46 +0000)]
Kern had a better idea:
- alter src/dird/bacula-dir.conf.in to pass database and user
- alter src/cats/make_catalog_backup.in so that the database name
and user name come in as $1 and $2 respectively.
Dan Langille [Mon, 20 Sep 2004 12:54:43 +0000 (12:54 +0000)]
See http://bugs.bacula.org/bug_view_advanced_page.php?bug_id=0000103
Alter src/cats/make_catalog_backup.in so it does need incoming parameters to
do its job correctly. Different options are needed for different database
tools. e.g. '-u bacula' for MySQL, versus '-U bacula' for PostgreSQL.
At the same time, remove the parameters passed to this script in
src/dird/bacula-dir.conf.in
- Tweak install chapter of French manual to add new paragraph
from English.
- Tweak restore tree message to be a bit clearer.
- Modify watchdog to wakeup after 60 seconds, or wakeup if
there is work to do.
- Modify watchdog stop routine to ping watchdog so that it
stops immediately rather than after sleep time.
- Fix btape to use new dcr blocks rather than its own.
- Fix butil.c to correctly handle Volume names for the
utility routines (broke when updating to dcrs).
- Send all queued messages in SD and FD prior to closing down
the job.
- Send queued messages in Jobs before terminating the job
so that the messages print before the job report.
- Add a destructor so that the Console ACLs are properly
freed.
- Implement isolinux boot disk.
- Integrate Phil Stracchino's code (thanks for Matt's help).
It permits lists and ranges of jobids on the delete as in:
delete job jobid=1,3,5,11-16
- Apply Mike Acar's suggestion when looking for the next volume
to check purged volumes for recycling before doing a purge.
- Make some improvements to CDROM disk.
- Take another crack at ignoring drive open() errors during
polling.
- Added argument to berrno::strerror() to pass errno.
- Cleaned up a few more old strerror() calls and eliminated a
few of the now unnecessary set_errno() calls.
- Fixed a bug in the polling code that prevented more than 100
label reads (insanity check disabled if polling).
- Ignore bad return from open_device() if polling.
- Short circuit code if fatal error return from read_label() in
mount.c
- Add index file to JobId field of File records for PostgreSQL.
- Correct several bugs in the job queue scheduler concerning
rescheduled jobs: 1. The SD status was not cleared causing a
wrong status to be displayed by Dir after rescheduling. 2. All
rescheduled jobs became zombies because the jcr use_count was
not decremented properly.
- Make the Catalog resource required in Client records.
- Order the listing of where a file is (item 2 on the restore
menu) by StartTime.
- Clarify when a filename only and a full path + filename must
be entered in items 2 and 8 of the restore menu.
- Fix logic error in resolution of names on IPv4 systems.
Meno Abels [Wed, 1 Sep 2004 06:37:56 +0000 (06:37 +0000)]
A improvment of the sqlite detection. Now
it searches in $prefix/[bin|lib|include] and
if you specifiy -with-sqlite=path in path/[bin|lib|include]
which is need on freebsd and macosx. Where are the library of
external programms in e.g. /usr/local/...
Kern Sibbald [Mon, 30 Aug 2004 20:39:58 +0000 (20:39 +0000)]
- Inhibit printing of FileSet for a restore as it is misleading.
- Cleaned up a number of minor scripting problems with the CDROM
creation.
- Fixed a race condition causing a Director crash on termination,
if a large number of SIGHUPs were sent during a multiple concurrent
set of backups.
Nicolas Boichat [Wed, 25 Aug 2004 12:20:01 +0000 (12:20 +0000)]
- Add spin button to set refresh interval.
- Add button to force refresh.
- Left light on the cassette indicate the current status, right indicates the status of the last job.
Kern Sibbald [Tue, 24 Aug 2004 12:18:45 +0000 (12:18 +0000)]
- Applied a patch from Peter Eriksson that removes a dynamic stack
allocation (replaced by alloca) and fixes some const problems.
- Fixed a free() of a static variable in the new IP code bnet.c
- Got the new Bacula Rescue CDROM booting.
- Replaced a dynamic template by a simple store when using the
native C compiler.
- Reworked some of the block.c error handling.
- Changed a Dmsgx(000, to Dmsgx(100 in dev.c that was dumping
debug output on a user.
- Integrated patch from 1.34.6 block.c to 1.35
Nicolas Boichat [Sun, 22 Aug 2004 17:37:46 +0000 (17:37 +0000)]
- Add default Console resource in src/dird/bacula-dir.conf.in with
access restricted to commands used by tray-monitor: status and
.status.
- Add default Director ressource in src/filed/bacula-fd.conf.in and
src/stored/bacula-sd.conf.in with Monitor directive enabled.
- Add .status dir [current|last] command to dird.
- Add Monitor directive in fd/sd configuration file (restrict
access to status and .status commands).
@meno: I made some changes in src/filed/authenticate.c and
src/stored/authenticate.c, which must be adapted to your new
authentication code. Please contact me if you have any questions.
Nicolas Boichat [Tue, 17 Aug 2004 19:19:40 +0000 (19:19 +0000)]
- Set WANT_AUTOCONF to 2.5 before running autoconf and autoheader in the main Makefile (force Gentoo to use the newer version of autoconf/autoheader).
- Add HAVE_GTK_2_4 in autoconf/config.h.in
Meno Abels [Thu, 12 Aug 2004 22:13:51 +0000 (22:13 +0000)]
!!! I didn't run the regression tests.!!!
1. Find and fix the memory leak (most likely in address_conf.c)
in address_conf there was no memory leak-:) the parser calls my init_default_addresses
but also resets the datastructurs by memset so allocated resource will be lost.
I added the pass number to init_defaults so that i could call my init_default only once
per server.
2. Find some why to have smartalloc work correctly with new.
*Please* note, you cannot simply put everything on SMARTALLOC --
this will not work because some of the delete's *must* de-allocate
all the items in the list. I.e. by default, my lists own the
list items.
There was a missing brace
in the use of my new operator to write new(fname, line) Type in the define.
And also there was some operator definitions in dlist,alist,htable which causes
that trouble.
I only added the SMARTALLOC to all classes these are generated by new and removed
by delete.
3. I believe I've fixed the byte order problem by modifying get_port().
However, if you turn on the debug statement at the top of
init_bnet() src/lib/bnet.c:917 by setting the 100 to 000, you will
see that the host address is not correct in all cases.
Kern and I decided to add
get_port_net_order
get_port_host_order
get_first_port_net_order
get_first_port_host_order
to the code.
4. Eliminate the use of inet_addr() -- it is deprecated.
Done
5. Check the SetIP command in src/dir/fd_cmds.c
fixed mixup of sockaddr and in_addr
6. There is too much #ifdefing in the code to deal with IPv4 and IPv6
I don't mind it in bnet.c and bnet_server.c (too much), but we should
try to eliminate it elsewhere.
I cleaned it up.
Is this too much yes it is but, we can't reach the heaven in one day-:)
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#if defined(HAVE_INET_NTOP) && defined(HAVE_IPV6)
./lib/address_conf.c:#ifdef HAVE_IPV6
./lib/address_conf.c:#ifdef HAVE_INET_NTOP
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/address_conf.h:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet.c:#ifdef HAVE_IPV6
./lib/bnet_server.c:#ifndef HAVE_INET_NTOP
./lib/bnet_server.c:#ifdef HAVE_INET_NTOP