1 Technical notes on version 2.2
5 ebl Fix SQL query in migration code
7 kes Force unload of volume when wrong volume mounted in SD.
9 kes Fix bat seg fault at termination.
10 kes Add Bacula generated version to bat about box.
12 Beta Release Version 2.2.10-b1
14 kes Permit multiple simultaneous restores -- experiment.
16 kes Backport development stream SD reservation system changes.
20 kes Move final volume swapping code to DCR method and
21 call it from acquire_for_read().
22 kes When wrong volume is mounted during read, unload_autochanger.
24 kes Stop searching for Volumes in SD askdir if DIR returns the
25 same volume name twice in a row.
27 kes Tweak the swap Volume from one drive to another code so that
29 kes Resolve several problems with recycling that broke the new
30 code (these problems are in 2.2.9 as well).
31 kes Remove the volume lock when calling the sysop code.
32 kes Don't mark a reserved volume with no writers as unused otherwise
35 kes Rework class structures for VOLRES, DCR, and DEVICE to make
36 the method names a bit more logical, and for more logically
37 handling the responsibilities.
39 kes Remove redundant code in terminating the scheduler that just
40 causes a seg fault in many cases.
41 kes Cleanup releasing a volume and make it a DCR method.
42 kes Improve algorithm for detecting pre-reserved volume and
45 kes Tweak volume swapping code so it works.
46 kes Correct name overloading in mount.c
47 kes Replace released flag in VOLRES with reserved and add access
48 methods for the VOLRES class.
49 kes Prevent volume from being released while being swapped.
50 kes Refactor parts of stored/mount.c
52 ebl Add sanity checks for VolWriteTime and VolReadTime
53 ebl Take care of bad clock changes while computing VolWriteTime
54 and VolReadTime. This should fix or limit #1066
55 kes Correct error string numbers in dird/catreq.c
56 kes Restructure reserving, acquiring, and mounting volumes. Calls to
57 autochanger are deferred for mount.c -- simplifes the code.
59 kes Do not prune any running job. It just fails the job.
60 kes Lock the volumes when changing dev->reserved_device and marking
61 the volume unused otherwise the device can get reserved by
62 another job before the volume is released, thus blocking it.
65 Beta Release Version 2.2.9-b7
67 kes Close bat console windows first to eliminate error message
69 kes Remove useless code in Scheduler that causes seg fault on
71 kes Correct some SD catalog request error messages.
72 kes Don't allow pruning of any running job.
73 kes Turn off code in read_record that causes a seg fault in the SD
74 when reading past an EOS_LABEL.
75 kes Turn off unloading the autochanger in reserve.c as it just
77 kes Lock volumes when unreserving a device.
78 kes Do not mark volume unused when recycling.
79 kes When acquiring, don't mark volume unused if it is reserved (busy).
81 Beta Release Version 2.2.9-b6
83 kes Eliminate ./configure warning on po directory
84 kes Fix bug #1063, reuse of freed ptr in list nextvol.
85 kes Release regex compile buffer in filed/job.c
86 kes Add proper type of const char in sql_create.c
87 kes Turn off debug in daemon termination routines
88 kes Move free_volume_list() before devices are freed in stored.c
89 kes Fix reference to uninitalized stack variables in bregex.c.
90 This should correct bug #1067.
92 kes Fix possible seg fault in SD when freeing a volume entry.
94 kes Apply patch from bug #1069 that corrects spurious error messages
95 when ACLs enabled on SGI but no ACL exists.
96 ebl Fix a storage deamon segfault at debug level 500.
98 Beta Release Version 2.2.9-b5 -- not released
100 Beta Release Version 2.2.9-b4
102 kes Re-enable code to remember last volume mounted on a non-tape
104 kes Add patch supplied in bug #1068 that fixes a SD crash when using
105 a Virtual autochanger.
106 kes Generate correct JobMedia records during spooling/despooling when
107 running concurrent jobs. Thanks to Tom Ivar Helbekkmo
108 <tih@hamartun.priv.no> for excellent analysis and testing.
110 Beta release Version 2.2.9-b3
112 kes Rework certain SD locking based on gdb tracebacks of deadlocks
113 sent by Eric. This code now uses only the volume_lock() rather
114 than the reservations lock when at EOM and acquiring a new
116 kes Ensure only one exit point in several subroutines.
118 Beta release version 2.2.9-b2
120 kes Fix to initial tape drive open to release the volume name
122 Beta release Version 2.2.9-b1
124 kes Fix to JobMedia fix.
125 kes Fix bug pointed out by Peter Much that causes the StorageId to
126 be updated when reading a tape (during migration, it could have
127 been incorrectly set to the write StorageId).
129 kes Implement autostart scripts for Debian
131 kes Fix mtx-changer.in for broken Debian mt program.
133 kes Massive commit of all fixes and back ports to create 2.2.9
135 kes Apply doc fix from bug #1062.
136 kes Resolve crash and improper restore wx-console Win32 restore
137 GUI. Fixes bug #1065.
138 kes Update Win32 wxWidgets to latest version.
139 kes Attempt to do correct handling of Win32 mount points. Should
141 kes Fix Win32 FD backup/restore memory leak due to improper termination
142 of BackupRead/Write. This fixes bug# 1038.
143 kes Add const to AIX prototype for initgroups()
145 kes Undo bug #1047 heap overrun fix as it is not correct.
147 kes Fix creating first JobMedia record during Migration to include
148 proper index. This caused slow restores of migrated jobs.
150 kes Fix bug #1047, which had a heap overrun when stripping certain paths,
151 and do not strip paths on symbolic links.
152 kes Set catalog backup database and user name from values specified on
153 the ./configure line.
154 ebl Apply patch to correct bug #1031, about wrong pool source information
157 Release Version 2.2.8
159 kes Apply patch from Martin to correct bug #1040, bscan sets existing
161 kes Fixed important spelling error in doc -- bug #1045.
163 kes Move initialization of read/write res lock earlier in the code.
164 This fixes the crash with a null conf file. This fixes bug
166 kes Redefine CURES in lib/parse_conf to be URES and move it all
167 into lib/parse_conf.c -- this responds to bug #1042, but does
168 not fix it. The fix is not to compile with FORTIFY_SOURCE.
169 kes Backport fix de-referencing a NULL pointer in the scanner from
170 the trunk SVN. I don't think this was reported as a bug.
172 Beta release Version 2.2.8
174 kes Re-enable the new job code editing (%f).
176 kes Fix bsnprintf for float point numbers. I broke recently when
177 parameterizing some variables. This fixes bug #1036.
179 kes Move Heartbeat documentation from Job to Director resource.
180 This fixes bug #1033.
182 kes Fix existing switch drive SD code to call autochanger to release
183 any old volume. This must be done to keep the autochanger from
184 releasing subsequently newly reserved volumes in doing a close().
185 This should possibly fix bugs #1032 and #1018.
186 kes Apply big backport of current SVN SD code that corrects a number
187 of race conditions. This is a first step in fixing bug #1018.
189 ebl Fixes bug #1028 where "Selection Type" option was not usable
193 Release Version 2.2.7
195 kes Partial back out (disabled) %f job code editing because it
196 does not build on Win32.
197 kes Fix seg fault Frank Sweetser reports in regression testing
198 on his systems. The problem was that the original author of
199 bsnprintf.c did not take into account the side effects of
200 using ++x in the argument to a #define.
202 kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
203 that implements double quoting include names in conf files,
204 and also allows piping input by having the first character
205 be a vertical bar (|).
206 kes Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
207 that implement %f in RunScripts to pass the FileSet name.
208 kes Skip leading | when lex input comes from a pipe as suggested
209 by Michael Stapelberg <michael@stapelberg.de>.
211 kes Apply patch for bsmtp Win32 daylight savings time fix supplied by
212 Nerijus Baliunas <nerijus@users.sourceforge.net>
214 kes This patch corrects a problem where the maximum concurrent storage
215 jobs counter gets out of sync during restore jobs causing jobs to
216 'wait on max Storage jobs'. This patch fixes bug #1009.
218 kes Add new include to postgresql.c suggested by Marc Cousins so
219 that it compiles correctly with pgre version 8.3. Also fix
220 misuse of %x with pointer (should be %p).
222 kes This patch fixes bcopy so that it produces correct Volumes.
224 kes This patch eliminates spurious output to the console during a VerifyVolume
225 job that contains encrypted data. It fixes bug #1024.
227 kes This patch prevents the 'status dir' command from trying to use a scratch
228 volume and possibly moving it from one pool to another. This patch fixes
231 kes Fix --archivedir addition to configure. Replace it with
232 --with-archivedir in configure.in This fixes the regression
234 kes This patch fixes bug #1012 where the job is canceled because
235 of Max Run Time exceeded when the job has not yet started.
237 ebl Apply Richard Mortimer patch that fixes #1016 when there are more than
238 one 'part' to write. Instead of each part being stored on disk,
239 written to DVD, then deleted from disk, all parts are written to disk,
240 and only the last is written and deleted from disk.
242 kes Correct typos in disk-changer.in
244 kes This patch fixes the status command to include the formating string for
245 JS_AttrInserting. It fixes bug #1021.
246 kes This patch should fix the Mac OS X build problem on the latest
247 Darwin, where sys/types.h was not included correctly (apparently
248 due to a change in the Mac headers). The solution was to explicitly
249 ensure that it is defined for the ./configure.
250 This patch also has a rebuild of configure that includes the Debian
251 qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
252 kes This patch should ensure that queued messages to the console are
253 displayed as soon as possible. It should fix bug #1007, but has been
254 reported not to work.
256 kes This patch fixes the infinite loop when trying to increase the
257 maximum number of volumes in a Pool during the add command.
258 This patch fixes bug #1008.
260 Release Version 2.2.6
262 kes Get fix for joblist bug in bat from trunk.
264 kes This patch fixes bug #1003 where putting the message output from
265 a Verify job into the catalog results in a recursive loop. The problem
266 seems to show up only with postgresql (to be verified).
268 kes Fix bug #942 where lots of emails where generated when the heartbeat
269 interval was low and Bacula wanted a different tape from the one in
272 ebl Apply 2.2.5-lastwritten.patch to fix the LastWritten field
273 which was updated during a restore (or a reading migration) bug #982
275 ebl Use qmake-qt4 instead of qmake when available (debian system).
277 kes Add a security warning to src/cats/make_catalog_backup.in indicating
278 that passing the password via the command line (arg 3) is insecure.
279 This responds to bug #990 (it doesn't fix it).
280 kes Apply 2.2.5-postgresql-errors.patch
281 kes Remove unneeded File table index on JobId, which is already
282 present as the first index of another multi-index.
284 kes Set default debug_level to zero. This corrects bugs #991 and #993.
285 kes Fix a crash in bat when it cannot connect to the Director for example
286 if the Director is not running.
288 kes Activate Close button on tray-monitor window. This fixes
291 kes Fix spurious warning message printed when creating a volume with
292 a LabelFormat. This fixes bug #976.
294 Release Version 2.2.5
296 kes Add JobId in place of Job name in all the Jmsg() output.
297 kes Correct the APP_DESC for the Win32 storage service (remove an e).
299 kes Add new SD despooling attributes and Dir inserting attributes
300 job status codes. This fixes bug #961.
301 kes Fix Win32 drive display in bat version browser. Fixes bug #962.
303 kes Fix doc issue. This fixes bug #963.
304 kes Fix listing performance problems in bat. Pointed out by
306 ebl Fix replace on restore. This fixes bug #969
307 kes Fix bat code that tests for Win32. This should fix bug #968
308 kes Query 5 list wrong Vol after migration. This fixes bug #960
310 kes Correct lib/Makefile.in to include enh_fnmatch.o that was removed
311 in back porting from 2.3.x
313 kes Backport almost 4000 lines of 2.3 code that fixes a number of bugs.
314 The details are included in the notes in this file.
316 kes Backport 2.3 code that fixes: it fixes incorrect or incomplete error
317 messages; it fixes a problem opening the SQLite3 database when multiple
318 simultaneous jobs were running; it fixes a bug with certain versions of
319 MySQL where batch inserts failed because of table name character case
320 (upper/lower) differences.
321 kes Fix race condition that drops final block written to volume.
322 This happens in rare cases with multiple simultaneous jobs
323 when the Volume fills. This fixes bug #964. May be related
324 to bug #935 and possibly #903.
326 kes Fix FD->SD authorization failure, which was due to spurious
327 wakeups from a pthread_cond_timedwait(). Simply check the
328 predicate before continuing. This fixes bug #953
329 dvl Add new configuration item --archivedir
330 dvl Adjust regression tests to use tmp not /tmp. This will allow
331 multiple concurrent runs of the regression tests.
333 kes Eliminate more strerror() and replace with bstrerror().
334 kes Remove BSD getopt and replace with unrestricted IBM version.
335 kes Fix Win32 build for changed calling sequences.
337 kes Fix FD->SD authorization failure, which was due to spurious
338 wakeups from a pthread_cond_timedwait(). Simply check the
339 predicate before continuing. This fixes bug #953.
340 kes Add const char where needed (more to do).
342 kes Setup SQLite busy handler before doing queries. Fixes bug #967.
343 kes Don't overwrite error message in check_tables_version.
345 kes Unlock batch insert tables with same calls used elsewhere.
346 kes Allow starting 59 jobs a second.
347 kes Make SD session key more random.
348 kes Add retry for SQLite opening db if it fails. Probably helps
350 kes Suppress extra error messages during batch insert failure.
352 kes Put some FD auth code on dbglvl rather than fixed.
353 kes Return insert attributes error message in db msg buffer to avoid
354 false error messages. Helps fix bug #966.
355 kes Separate batch init error messages. Probably helps fix bug #966.
356 kes If Dir gets an error during inserting attributes, cancel SD.
357 This reduces unnecessary error messages.
359 ebl Cleanup batch insert code. Probably fixes bug #965.
361 kes Turn off some code when batch insert not enabled.
362 kes Edit FD name in connect error messages.
364 kes Add code to handle tray monitor separated from Win32 FD.
365 kes Fix display of Win32 tray monitor after reboot. Fixes bug #952.
367 kes Fix ANSI tape labeling. This fixes bug #954.
368 kes Increase the max block size to 4MB fixes bug #957.
369 kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
370 is not properly mounted (recognized) during a poll.
371 kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
372 Job that has differences reports Verify OK.
373 ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation.
375 Release Version 2.2.4
377 kes Increase size of name string when FD making connection to SD.
380 kes Add waits to multiple exit detection code to try to force pid
381 file to always be deleted.
382 kes Restore good dev.tar.gz to rescue set appropriate binary property.
384 kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
385 trying to switch drives by checking for blocking before unblocking.
387 kes Cancel storage daemon in all cases where FD reports error. This
388 should fix virtually all cases of bug #920.
390 kes Fix error message that was clobbered when Dir tells SD it does not
391 have write permission on Volume. This should fix a minor point
392 in bug #942, but not the main problem.
393 kes Add code to cancel job in SD if FD connection fails. This should
395 kes Add code in FD exit to prevent loops and a crash on FreeBSD.
396 kes Fix migration code to get correct Volume name with multiple volumes
397 by skipping |. Fixes bug #936.
398 kes Implement patch supplied by Landon to fix bug #944 where using
399 TLS with bconsole uses 99+% of the CPU.
400 kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
402 kes Move patches into patches directory.
404 ebl Fix bug #946 about 'bacula-dir -t' which doesn't works
407 ebl Using 'm' in bconsole will show messages like before,
408 and not memory usage.
410 Release Version 2.2.3
411 kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
414 kes Fix bug #935, and probably also bug #903 where files were not
415 restored. MediaId was not properly set in JobMedia record after
418 kes Add ./configure search in qwt-qt4 for qwt package
419 kes Apply Martin Simmons patch that should turn off the new API usage
420 when batch insert is turned off allowing building on older
423 Release Version 2.2.2
425 ebl Detect if new PosgreSQL batch insert API is present.
426 kes Correct incorrect mempool call causing Director crash.
427 sb Update spec files for 2.2.1 release
429 Release Version 2.2.1
431 kes Update POTFILES.in
432 kes Cleanup a few underquoted AC_DEFUNs in configure
433 kes Apply patch from Martin Simmons that adds a test for va_copy to
436 kes Fix bug #921 by increasing the number of tries to create a new volume
438 kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
439 can be called multiple times. Implement a version for machines
440 without va_copy() that gets a big buffer.
442 kes Integrate more portable zone offset code into bsmtp.c
443 Submitted by Attila Fülöp.
445 kes Fix bad SD->FD return status reported by
446 (James Harper) <james.harper@bendigoit.com.au>
447 ebl Fix a bug in read_close_session which return random status
448 thanks to James Harper
450 kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
451 and directory names during restore of single file/directories.
452 kes Add sanity checks to .sql command when string is empty. Hopefully
453 that will resolve Dirks Director crash.
455 kes Apply patch submitted by Martin Simmons that corrects a seg fault
456 in the bsmtp chat subroutine when debug is >= 10.
458 kes Fix Director crash when running bat SQL queries.
459 kes Add David's notes on Item 8: Copy pools.
461 kes Rework projects file to be current and ready for a vote.
462 kes Enhance lex scanner error message.
464 kes Tweak LICENSE file to mention BSD code.
465 kes Fix bat.pro.in so that it includes the OpenSSL libraries only
466 if specified on the ./configure.
467 kes Add first (not yet tested) cut of bcomm to the qt-console directory.
468 This class is intended to allow us to open a second bsock to the
469 Director while in the restore subdialog.
471 kes Fix configure to create bat Makefile before creating dependencies.
472 kes Eliminate the egg files from the tray-monitor. Use gtk calls.
473 kes Add a tooltip to the tray monitor.
474 dvl Set the Director's PID file before dropping privs. This fixes
477 kes Update AUTHORs file
478 kes Increase the default max concurrent jobs to 20 in FD and SD to
479 correspond with the default .conf files.
480 kes Rewrite the Win32 service routines. This eliminates the 3 copies
481 some different, of the same file created by RN when porting the
483 kes Rearrange some of the Win32 directories and the placement of the files
485 kes Set DEVELOPER flag in version.h
487 ========================================================================
488 Release Version 2.2.0
490 kes Apply a second doc patch from Marc.
491 kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
492 improves the tips section that discusses how to setup multiple
495 kes Update bat README file.
496 kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
497 corrects a typo in the Recycle status check in db_find_next_volume().
498 This will probably fix a number of annoying problems with multiple
500 kes Modify most of dird/msgchan.c to use bsock class calls rather than
501 bnet calls -- no functionality change.
503 kes Modify the Verify output to specify if files are missing on
504 the Volume(s) or disk. Fixes confusion in bug #916.
505 kes When more than one Volume is read in a migration job, the last
506 Volume bytes reported are from the last read volume rather than
507 the last written volume. Fixed. This fixes bug #910.
508 kes Fix display of Recycle flag after update volume=foo recycle=yes.
509 It previously printed New Recyle flag is: no. This fixes bug
512 kes Correct seg fault when switching tape drives during restore.
513 kes Commit uid_gid_name.c (replacement for idcache.c), but will not
514 be used until after 2.2.0 release.
516 kes Remove fnmatch() in SD that permitted wild card specifications.
519 kes Fix %g in filename returned by SQL for browse tree reported by
521 kes Fix configure so that it puts config.out in the cwd rather than
523 kes Attempt to fix the locking problem reported by Eric in bug #906.
524 kes Make berrno class to leave errno unchanged after constructor call.
525 kes Make bnet_server use the heap rather than the stack to allocate
526 its socket fd pointers to avoid a crash at termination. Problem
527 reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
529 kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
530 and putting it in depkgs-qt along with Qt4.3.
532 kes Rework code in acquire.c that switches drives for reading when
533 the Media Type does not match. This should fix bug #906
535 ebl Fix a director segfault during job setup #907
536 kes Correct seg fault in postgresql when first operation returns no
537 rows. Fixes Dirks File browser problem seg fault with bat.
539 kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
540 building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
543 kes Implement PopUp YES/NO dialog for bat.
545 ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
547 kes Correct RunScript to terminate job in FD on failure.
548 kes Change abort_on_error and AbortJobOnError to fail_on_error
549 and FailJobOnError in RunScripts.
550 kes Minor tweaks of code formating in RunScripts, principally to
551 avoid depassing 80 columns.
553 kes Eliminate one #ifdef Win32 in bsmtp
554 kes Implement grow tool to grow a file for testing very large databases.
555 kes Add big-vol-test to test Bacula seeking with > 5GB.
558 kes Modify find_next_volume() to return all values in Media record.
559 kes Ensure that we keep Recycle Pool when moving Scratch volumes.
563 kes Update Release notes
565 ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
566 Warning, in previous beta version, all media get from scratch keep their
569 kes Tweaked Win32 installer to remove temp conf files at uninstall time.
570 This should fix bug #842. Made a note to look at removing the temp
571 files at the end of the install.
572 kes Add ability to mount and unmount a file device providing it is
573 marked as being removable and has the appropriate mount and unmount
574 commands defined in the Device resource. This fixes bug #830.
575 kes When applying a storage override, release all previous storage
576 definitions rather than just prepending the new storage.
577 This should prevent a good deal of confusion.
579 kes Implement ./configure search for qwt libraries.
581 kes Disable posting the WM_CLOSE message in KillRunningCopy of the
582 Win32 FD. This should fix bug #893.
583 kes Remove an unnecessary beep in Win32 init code.
584 kes Update copyright dates in Win32 executable about boxes.
585 kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
586 code with a BSD getopt.c and getopt.h.
587 kes Remove sched.h from the Win32 compat directory -- not used.
588 kes Remove the Exit menu item from the Win32 tray monitor. If you really
589 need to shut it down, do it through the services panel or the command
591 kes Remove some inappropriate Bacula FSFE copyrights.
592 ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
593 kes Fix regress config non-portable test as pointed out by
594 Florian Heigl <florian.heigl@gmail.com>
595 kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
596 as pointed out by Florian Heigl <florian.heigl@gmail.com>
598 kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
599 Reported by Frank Sweetser.
603 kes Fix client-only build.
604 kes Integrate client-only fixes for bsys (initgroups) and conio from
605 Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
606 kes Make arguments to get_scratch_volume() in same order as other
608 kes Rework the prune_volumes() subroutine so that after purging and
609 no volume found in desired pool, it will check for a scratch
610 volume. This prevents recycling the whole scratch pool.
611 kes Add code to status storage to print boffset_t (largefile support).
613 kes Move qwt (Graphics libarary for Qt4) to depkgs.
614 kes You now need a --with-qwt=<dir> to be able to build bat.
615 kes Update src/win32/cats/bacula_cats.def to include the new
616 db_get_query_dbids() call on Win32.
618 kes Correct a problem when selecting a scratch volume and moving
619 it to another pool that lost some columns.
620 kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
621 kes Enhance Autochanger error messages to include Volume and device name.
622 kes Rework prune_volumes() code to take account of InChanger flag,
623 and to handle recycling volumes going to the Scratch pool and
624 current pool because the RecyclePool directive.
625 kes Implement a better and more efficient db_get_query_dbids() to
626 handle creating and passing back a list of DBIds.
630 kes Start work on new more efficient DBId subroutine. First use
631 will be for recycling volume to Scratch inchanger.
632 kes Increase number of JobIds in pruning from 1000 to 10000.
633 This to be replaced by above routine.
634 kes Begin implementation of building Qt4 on Win32.
635 kes Correct typo in fix I added for bad TLS shutdown.
636 kes Pull 2.0.3 patches into patches directory.
637 kes Update Release notes. Include qt-console in line count.
638 kes Update Projects file.
640 kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
641 bug in migration code where a job that spanned two volumes
644 kes Implement new BST_DESPOOLING blocked state. Change from locking
645 during despooling in SD to blocking. This means that other threads
646 can work with the device structure, in particular the reservations
647 system while despooling.
649 kes Fix return in reservation message queue that missed clearing
650 the jcr lock (implemented 26Jun07 below).
651 kes Rename a number of dev methods to make locking function names
653 kes Document locking in lock.c. Move lock structures to new file
656 kes Move reservations message lock to lock jcr only this
658 kes Move main SD locking code into lock.c (new file).
659 kes Update Win32 build to include lock.c
663 kes Dirk committed the qwt library code for drawing graphs in bat.
664 kes Tweak install of qwt so that it is integrated with ./configure.
666 kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
667 out by Eric (my typo).
668 ebl Fix configure.in to get batch mode enable
669 kes Return correct string from authenticate.cpp in bat when connecting
671 kes Apply patch suggested by Frank Sweetser to fix bug #888 --
672 spurious line drops when using TLS.
673 kes Do not file reparse points when restoring a file that already
676 kes Implement Windows reparse points -- similar to directories, but
677 we do not descend into it. This is a first cut. They seem to
678 be backed up, but restore is not yet tested.
679 kes Remove restore_blocking in tls code when shutting a socket to leave
680 it in blocking mode. Hopefully this will fix the encryption bug
681 reported by Frank Sweetser.
682 kes When opening a file for backup, tell the OS that we are going to
683 read it sequentially -- optimization.
684 kes Change variable names in authenticate_director() to not conflict
685 with member names in bat. Caused great confusion with compiler,
688 kes Queue openssl error messages in case of comm problem.
689 kes Do shutdown() call if socket terminated.
690 kes Remove some duplicated code in tls.c
691 kes Move more of the bsock member variables into private and access
693 kes Add Frank Sweetser's tls-test to the regression suite.
695 kes Add Swedish sv.po file
697 kes Don't print clock skew message in FD if less than 3 seconds diff.
698 kes Add a bit of VSS info to status client.
699 kes Implement a first cut of Vista VSS, using Win2003 code.
703 kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
704 loaded tape but uses first drive).
705 kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
706 This was indeed a Win32 issue.
708 kes Simplify search of autochanger for in-use Volume.
709 kes Fix exit condition of check for in-use volume. kes Remove
710 inappropriate my_postgresql_free_result() in db_close()
712 kes Fix bad return in FD when encryption signature not found.
713 Probably caused a crash.
714 kes Inhibit missing encryption signature error messages for
715 file types where no signature computed.
716 kes Correct inverted check on autochanger in reservation system.
717 kes Tweak debug code in autochanger reservation.
719 kes Add some additional locking in the cats directory in subroutines
720 that modify packet variables called from batch insert.
721 kes Rework how dcrs are allocated. new_dcr() can now be called
722 with an existing pointer, and it will simply clean it up.
723 This allows the reservation system to test various different
724 devices, and will permit easy device changes.
725 kes A bunch of changes all over to handle new new_dcr() calling
727 kes Work more on the Volume management in the SD. Remember Volumes
728 for tape drives and for autochangers (even virtual disk changers).
729 kes When looking at the Volume list to reserve a drive, handle
730 autochanger names correctly by interating through the changer
731 devices. Also call the Director to see if a Volume is suitable
733 kes Fix some bugs in bscan. Make sure all media records are written.
734 Make sure that valid JobMedia records are written for disk files.
735 Previously they were completely wrong.
736 kes Move source tar files for depkgs-mingw32 to www.bacula.org so
737 that the URLs don't change and so that the developers will all
738 work off the same copy. Rebuild from scrach.
739 kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
743 kes Fix seg fault in FD from incorrect digest size.
744 kes Fix argument to non-OpenSSL crypto.c subroutine.
748 kes Remove a few malloc()s from the encryption code.
749 kes Use the class calls to bsock in filed/backup.c and restore.c in
750 place of the old bnet_xxx code.
751 kes Implement code that does an on the fly calculation of the
752 signing digest during restore of encrypted files. It makes
753 a best guess at the algorithm, and if it is not correct, will
754 then revert to the old code which reads the file after it is
756 kes Implement at least one missing crypto stream in stream_to_ascii()
757 kes Apply patch from William <chowmeined@gmail.com> that fixes bug
758 #877 where a reload with bad syntax causes Dir to exit.
760 Cut: 2.1.14 beta (not released)
762 kes Do not free a volume on a tape drive until another volume is
763 mounted and read, or the autochanger unloads the volume.
764 This should help the SD re-use volumes that are already mounted,
765 and should fix bug #886.
766 kes Apply patch from user brettedgar that allows gnome2-console include
767 the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
768 kes Apply patch from Lucien Weller that fixes day of week calculation
769 because of DST flag problem. Fixes bug #887.
771 kes Move find_next_appendable_volume() to after acquiring a valid device
772 in reserve.c. This fixes bug #864 -- confirmed by reporter.
774 kes Unable to reproduce bug 872. However added additional testing for
776 kes Bug #874 resolved by documenting SQLite limitations.
777 kes Bug #882 resolved by documenting mtx-changer script for new drive code.
778 kes Bug #881 resolved by removing typo in mtx-changer script.
779 kes Made Frank Sweetser's wiki the official Bacula wiki with his
780 approval. Added a link to the wiki on the web page, and implemented
781 a backup from http://paramount.ind.wpi.edu
783 kes Fix update allfrompool to pass pool name.
785 kes Convert to pure GPL v2 license.
786 kes Fix sscanf problems reported by Peter Buschman that caused
787 a bus error on Solaris.
788 kes Rework (simplify) the select prompt in bat.
789 kes Move get_jobid_from_tid() into lib and create a
791 kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
792 should definitely fix the problem of lost error messages in the
794 kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
795 kes Eliminate tcpd.h from the project. Enclose the #include from the
796 library with extern C ...
797 kes Add print of signal name when a signal is trapped.
801 kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
803 kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
804 query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
805 makes SQLit3 run 30 times faster, though a bit less safe.
806 kes Implement --with-batch-insert in configure and detection of thread
807 safe libraries. It is on by default, but turned off if no thread
808 safe library (e.g. SQLite 2) is available.
810 kes Fix Bacula PostgreSQL buffer overruns.
811 kes Do better checking for NULL results returned from PostgreSQL;
812 implement retry for failed queries; clear results buffer after
813 failed query. Hopefully this will correct the PostgreSQL failures.
815 kes Implement algorithm to handle only one appendable volume with
816 Prefer Mounted Volumes = no.
817 kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
818 returned from a query.
819 kes Make volume lock recursive.
820 kes Implement an additional volume reservation algorithm that
821 starts by considering all reserved volumes then uses the
822 old brute force algorithm of searching the resources to
823 find a suitable device.
824 kes Add new reservations debug code and refine the old code.
825 kes Update the win32/dll/bacula.defs file.
827 kes Tweak reservations algorithm to permit a few more cases, i.e.
828 volume reserved, but on different drive, ...
829 kes Enhance SD status to include Pool and Media Type for drive in a
830 more readable format (a bit longer).
831 kes Fix PostgreSQL double free.
833 kes Minor refactoring of restore decryption code.
834 kes Add code to smartall.c to detect double free of a buffer.
836 kes Add < > around %r in from field on mail command of bacula-dir.conf.in
837 so that bsmtp will create a correct email address (mailbox only).
838 kes Modify 'memory' command so that the buffers are listed as 'In use'
839 to avoid confusion with Orphaned buffers.
840 kes I reworked the OpenSSL include/lib flags to be handled in
841 the standard Bacula way, which should fix bug #863 concerning
842 non-standard OpenSSL libraries.
844 kes Implement Help Browser window for bat.
845 kes Fix reload bug that reset StorageId to zero.
847 kes Fix TLS #ifdefing when TLS turned off.
848 kes Ensure that when labelling a tape with Slot=0 that InChanger
850 kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
852 kes Add StartTime to final uar_sel_jobid_temp query so that we can
853 add DISTINCT (required by PostgreSQL).
854 kes Implement BSOCK authenticate_director() method. Eventually will
855 authenicate all daemons.
856 kes Move several more functions into the BSOCK class.
858 kes Add code to tell the OS that we no longer need a cached
859 file that we were reading. In findlib/bfile.c. Also,
860 only cache files that we are reading. Thanks to
861 Tobias Oetiker <tobi@oetiker.ch> for the idea.
862 kes Tweak to bsmtp to eliminate compiler warnings on Win32.
863 kes Implement script to automatically generate cats and dll .def
865 kes Update README.mingw32 to include new .def file generation.
866 kes Correct typo in UTF-8 error message as reported by:
867 jhernandez <julianhernandez@gmail.com>
868 kes Add additional sm_check() code on debug level 1.
869 kes Set default debug level to 1.
870 kes Trap SIGABRT in attempt to get traceback.
872 kes Reduce bat connect timeout from 30 to 15 seconds.
873 kes More restructuring and implementing BSOCK class in place of
875 kes Remove a few unnecessary malloc() tests in crypto code.
876 kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
877 not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
878 kes Remove duplicate HAVE_CRYPTO definition in config.h.in
880 kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
882 kes Fix Verify InitCatalog. The attributes were not pointing to the
883 correct saved location.
884 kes Implement message callback so that GUI is sure to get all
885 daemon messages. Currently displayed in a dialog in bat.
886 kes Ignore SIGUSR2 (Bacula timer) in bat.
887 kes Apply regress patch from bug #859 to allow regress to work
888 with Solaris compiler.
890 kes Begin adding TLS support to bat.
891 kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
892 clean up lex.c and make it more readable.
894 kes Move more bnet functions into the BSOCK class.
895 kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
896 kes Complete change of berrno strerror() method to bstrerror()
900 kes Cleanup incorrect email addresses in bsmtp.
901 kes Make bat display initial messages rather than discard them.
903 kes First cut of adding .mod to the run command.
904 kes Implement auto display of messages in bat.
905 kes Enhanced preferences to allow all Bacula output to be
908 kes Try to make bsmtp date routines more generic.
909 kes Fixed bug #856 autochanger documentation.
910 kes Rework bsmtp date editing for Win32. This fixes bug #854.
911 kes Add new cats entry point so Win32 builds.
913 kes Attempt to fix bsmtp date editing on OSes without %z editing.
915 kes Do better checking for the MySQL 64 bit libraries looking for both
916 .a and .so libraries.
917 kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
918 /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
919 kes Require the thread safe version of MySQL during configure. Thanks
920 to Andre Noll for pointing this out.
921 kes Ensure that calls to find_jobids_from_mediaid_list() check count before
922 continuing in migration code.
923 kes Apply implementation of tray-monitor font derived from gnome-console
924 submitted by Andreas Piesk <a.piesk@gmx.net>
926 kes Eliminate important memory loss in SQLite
927 kes Fixed the batch insert MySQL thread specific data that was not
928 being freed. See cats/mysql.c:db_thread_cleanup().
929 kes Fix restore before command.
930 kes Convert old hdr.name to name() in a few places.
931 kes Implement update jobid command.
932 kes Return all time_t dates in db_get_job_record()
933 kes Stop watchdog in SD earlier.
934 kes Put Pool just after Storage in please mount message.
935 kes Fix pointer usage bugs in Verify InitCatalog pointed out by
938 kes Update the po files.
939 kes Fix Verify InitCatalog by making it cache attributes.
941 kes Change name bacula-bat to bat for man 1 page to correspond to
943 kes Check for client and store NULL pointers in status command. This
945 kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
946 kes Fix sign extended editing of %p.
947 kes Clean out a little old #ifdefing in cats/mysql.c
949 kes If time diff between DIR and FD is more than 600 seconds convert
950 INFO message to WARNING.
951 kes Implement heap size display in status for all daemons.
952 kes Attempt to fix MySQL db open memory loss (not successfull).
953 kes Don't set SIGKILL and SIGSTOP neither can be trapped.
954 kes Eliminate memory loss in MySQL (possibly other SQLs) during
955 Query. This looks like a MySQL but but by doing extra releases,
956 the memory goes away. This should fix bug #847.
958 kes When backup fails, cancel SD before waiting for sd termination.
959 kes If SD is waiting for FD to connect during cancel, wake up the
961 kes Fix fsf code so that errno is correctly reported.
962 kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
964 kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
965 so that Bacula doesn't later stumble into a seg fault.
966 kes Use the term Restore Client in the restore Job report.
967 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
968 the original job's FileSetId.
969 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
970 spooling in migration jobs. Not yet tested.
971 kes Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
972 reading conf file from a pipe. However, do it with open_bpipe()
973 rather than popen. Not yet tested.
975 kes Fix an ugly bug where the VolCatBytes were getting updated
977 kes Implement bconsole memory command that prints current memory
978 usage, plus smartalloc dump.
979 kes Clarify some error messages in backup, admin, and migrate.
980 kes Shrink label dialog to smaller size.
981 kes Invert Cancel OK buttons on restore to be OK Cancel.
982 kes More strerror() to bstrerror() conversions.
984 kes Start implementing bstrerror() in place of strerror().
985 kes Stripping path -- seems to work.
987 kes Prevent door and port files from being restored (mostly
989 kes Free an unreleased buffer in compat code.
990 kes Change console Job name from *Console* to -Console- to eliminate
991 Win32 filename problems. Put Win32 path separator when creating
992 Console file. This fixes bug #846.
993 kes Change berrno::strerror() to berrno::bstrerror(). Not yet full
995 kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
997 kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in
998 to force Win32 error message.
1000 kes First cut strip path. The data should be passed to the FD,
1001 but nothing is done with it yet.
1002 kes Enhance the digest and signature routines in the crypto
1003 library to accept a JCR and to use it to print error messages
1004 so that they will go in the Job report rather than the daemon's
1006 kes Simplify some of the verify signature code.
1007 kes Simplify a few of the alternative returns in the signature
1010 ebl Use only POSIX regex instead of GNU regex in breg.c for
1011 File relocation. It fix broken freebsd compilation.
1012 kes Convert all other Dir files to use new ua class message
1014 kes Tentative fix for missing digest signature in bug 807.
1015 kes Correct handle problem in new win32_ftruncate routine.
1016 kes Convert ua_purge.c and ua_update.c to use new ua class
1017 message routines for bat.
1019 kes Correct incorrect installation of LICENSE in Win32 installer.
1020 kes Display LICENSE at the beginning of the Win32 install.
1021 kes Attempt to correct the need for the png files to be installed
1023 kes Reapply my bat.conf install script in qt-console. I think I
1024 editted bat.pro instead of bat.pro.in and it was lost.
1025 kes Apply CentOS patches someone sent me. Checks for /var/run/subsys,
1026 the /var/lock/subsys for subsysdir. Also corrects typos in the
1029 kes First cut update job.
1030 kes Correct configure to include qmake of src/qt-console directory.
1032 kes Make restore job yes/mod/no print in one command so GUI works.
1033 kes First cut implementing backup and restore client.
1034 kes Correct editing in Verify output that caused a seg fault.
1036 kes Insure that bat.conf is not overwritten during installation.
1037 kes Fix important bug in db_sql_query() in mysql.c. It was introduced
1038 while I was implementing migration in March 2006 !
1040 ebl Cleanup file relocation, using char *RegexWhere instead of
1041 char *where + bool where_use_regexp
1042 kes Update some manpages and add bat manpage.
1043 kes Make a first cut at converting bacula.spec.in for bwx-console
1045 kes Apply patch from John Goerzen to add hostname as fourth argument
1046 to make_catalog_backup script.
1047 kes Fix typos I introduced into bsmtp.c
1048 kes Make pm_strxxx() routines handle input of NULL pointer. This
1049 is to protect from NULL pointers returned from SQL databases.
1050 kes Correct typo in bacula-sd manpage as pointed out by John Goerzen.
1051 kes Add more debug to FIFO code -- fix fifo regression test.
1053 kes Implement posix_fadvise in FD, and for reading spool files in SD.
1054 kes Add thread timer to bnet_connect() to break from OS if wait time
1057 kes Update Win32 build to include new files, new symbols, and
1059 kes Implement socket level heartbeat (tcp_keepidle)
1060 ebl Commit File relocation patch
1061 kes Make bat have 'make install' target.
1062 kes Warn during install if old gnome-console binary found.
1063 kes Warn during install if old wx-console binary found.
1064 kes Add -8 option to bsmtp command line to add content type utf-8.
1065 Fixes bug #809. (Character coding problem in bsmtp).
1066 kes If < is found in target (from, to, cc) then do not enclose the
1067 target in < > in bsmtp. Fixes bug #772 (malformed address).
1068 kes When printing certain items in dbcheck, stop after 300000.
1069 Fixes bug #822. (dbcheck loops).
1070 kes Incorrect status in Dir after waiting for mount with poll set.
1073 kes Extend idea of Prefer Mounted Volumes to mean a volume about
1075 kes Print waiting to reserve a device every 5 mins.
1077 kes Don't call close_part in label.c if tape and relabel.
1078 kes Don't free volume if busy in close() -- should help with
1080 ebl Fix #824 RunScript bug (After script could be execute twice)
1081 Now, Before Script can use RunsOnSuccess and RunsOnFailure options
1082 By default (like before) RunsOnSuccess=true and RunsOnFailure=false
1083 Add a regression script to test RunScript
1085 kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors
1088 kes The bgnome-console (gnome-console) and bwx-console (wx-console) are
1089 deprecated. No additional bugs will be fixed, and they will be dropped
1090 in a future release (probably 2.4.0).
1091 kes Change name of wx-console to bwx-console to make it more Bacula
1093 kes Change the name of gnome-console to bgnome-console to make it
1096 kes Some time in March, a Feature Request with patch from Jorj Bauer
1097 <jorj@seas.upenn.edu> was committed by Landon (with my approval).
1099 The ability for the director to validate a Client (FD) CN against
1100 an arbitrary set of patterns rather than the hostname, with
1101 A new 'TLS Allowed CN' set of directives which are implemented
1102 in the Client resource. Then pattern matching is used in place
1103 of hostname matching against the Certificate's CN. As an example, we
1104 have certificates which (a) use a local CA, and (b) have a CN of the
1106 kes Add new/changed entry points to Win32 build
1107 kes Create unaccepted-projects for projects that are not accepted.
1108 kes Simplify locking in the reservations system.
1109 kes Add more debug code in reservations.
1110 kes Make sure error condition on reserving a volume is handled correctly.
1111 kes Correct handling of volume_in_use.
1112 kes Correct handling of initializing a device.
1113 kes Move handling of broadcasting releasing a device into release_device().
1114 kes Correct attaching dcr to dev so that it is only done if device
1115 is properly initiated.
1117 kes Locking debug level tweaks in SD.
1118 kes Tweak new Volume code.
1120 kes Add exec external-command [wait-seconds] to bconsole. This
1121 executes the external-command. Note! normally external-command
1122 should be enclosed in double quotes.
1123 kes Turn the .die command on only if DEVELOPER is defined -- i.e.
1124 it should normally be off in a production system.
1126 kes Implement die command for SD so that we can force it to dump.
1127 kes Implement SD lock debug code.
1128 kes Implement new algorithm for keeping Volume list in SD. It
1129 is now owned by the device.
1131 kes Implement new code for freeing in use volumes that should
1132 resolve if not all, some of the problems of multiple drive
1133 tape conflicts described in bug 801.
1135 kes Fix gui/bacula-web/images files in svn.
1136 kes Turn on FreeBSD/OpenBSD code to set EOT model on tape.
1138 ebl Fix a bug in batch mode (in string escape)
1139 kes Correct migration prune SQL typo that crept in in a
1140 recent 2.1.x change.
1142 kes Move bnet_despool() into class in bsock.c
1143 kes Modify job report to include director name and Build OS.
1144 kes Move drop root privilege and check_catalog() before fork.
1145 kes Add update database scripts (version 9 to 10) to updatedb directory.
1147 ebl Check size and age of each file after its backup to see if
1148 it has changed during backup, if 'checkfilechanges' is set.
1149 The FD will do an extra check (stat(2)) after
1150 each file backup. mtime, ctime and size are compared with
1151 'before backup' information. If time or size mismatch, an
1152 error message will be generated. You must upgrade FD to use it.
1154 kes Make database name and user configurable
1155 --with-db-name=xxx --with-db-user=xxx
1156 kes Add back database type to message.c for debugging.
1158 kes Implement dir_sql() which issues an SQL query.
1159 kes Modify bat medialist to use dir_sql() and do some minor C++
1160 formatting as well as eliminating a number of pointers, simplifing
1163 kes Fix some of the mtx-changer grep commands for tape label readers.
1164 kes Convert a number of bsendmsg into the appropriate send/warning/error
1165 message class calls.
1166 kes Suppress the using database message in the .sql command.
1167 kes Correct an incorrect bnet_tls_client prototype -- patch from Martin.
1169 kes Add context menu for floating a window.
1170 kes Some minor cleanup and name changes in qt-console
1171 kes Add doing mt setblk 0 in Win32 mtx-changer.
1172 kes Apply Martin's bug fix to move definition of ENODATA for
1174 ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with
1175 sqlite2 and sqlite3.
1177 kes More pruning cleanup.
1178 kes Turn on wait_for_drive by default in mtx-changer.
1179 kes Turn on Batch insert code by default as it now passes regression.
1180 kes Add ./configure --enable-bat to enable building of Bat.
1181 No install yet though.
1183 kes Implement a new .sql command for bat.
1184 kes Implement code to turn off pruning in obtaining the next volume.
1185 Pruning is turned off for the status dir command, but turned on
1186 for SD requests and for the list nextvolume command.
1188 kes Correct Qmsg() that was not updated correctly when committing a
1189 previous change (probably the recent TLS patch).
1191 kes Write new subroutine is_volume_purged() that explicitly checks
1192 if the Volume is purged, and if so marks it as such. This should
1193 resolve problems reported about needing to mount twice to recycle
1195 kes Rewrite pruning algorithm to do more work in the SQL engine, and
1196 to pass a list of JobIds to be deleted to SQL. Also, minimize the
1197 amount of duplicated code.
1198 kes Do volume pruning only for the Media Type desired (reduces pruning time
1199 if multiple Media Types are in the same pool).
1200 kes Implement more detailed info in the Job report for the Bacula version
1202 kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
1204 ebl Add bbatch tool to bench database and insert mode.
1205 Fix sql quote stuff in batch mode
1206 Fix sql stuff for mysql
1208 kes Correct problems with am/pm scheduling. Fixes bug #808.
1209 kes Implement new prunning code that prunes up to 1000 jobs at
1210 the same time. The same technique can be applied to a number
1211 of other prune/purge subroutines.
1212 kes Add an insanity check when starting a new tape job to ensure
1213 that the tape position has not been changed. If so fail the
1215 kes Fix Win32 build for dlls to add the folllowing:
1216 src/lib/bsock.c -- new file with new entry points
1217 src/lib/dlist.c -- new entry points
1218 src/cats/sql_create.c -- new entry point
1219 src/cats/sql_cmds.c -- new DATA item exported
1221 ebl batch mode cleanup bscan-test is ok now.
1222 kes Implement SD code to check length of disk volume before appending.
1224 kes Correct return status on db_batch... routines.
1225 kes Add call to db_write_batch_file_records() to migration code.
1226 ebl Fix AfterJob timing
1227 kes Move the checking of the database in initializion of the Director
1228 to after we drop privileges. This avoids the need for both root
1229 and bacula access to the DB.
1230 kes Correct a misplaced variable definition in src/filed/backup.c
1231 kes Correct how the new batch insert db_create_attributes_record()
1232 uses the arguments. Caused a seg fault in bscan.
1233 kes Implement lock() and unlock() methods in DEVICE class.
1234 Implement block() and set_block(xx) methods in DEVICE class.
1235 kes Modify bnet_connect() so that it uses time() to check for the
1236 wait time expiring (on some OSes, some system calls may not
1237 return immediately).
1238 kes Modify Verify to obtain the previous JobId when it is actually
1239 running rather than at schedule time (as it was in 1.38.x).
1240 kes Fix src/job.c to handle MaxWaitTime correctly. This should
1242 kes When checking pid in pid file, continue running if the pid is
1243 the same as ours. This occurs on IRIX after a system crash.
1246 kes Extend new GUI API.
1247 kes Make the ua structure a class, and implement send_msg(),
1248 error_msg(), warning_msg(), and info_msg().
1250 kes Apply fix from for building wx-console on the Mac from
1252 kes Implement new select mechanism for GUI programs.
1253 kes Reorganize initialization of stackedWidgets in bat.
1255 kes Add updated nagios plugin supplied by Christian Masopust.
1257 kes More bat implementation.
1258 kes File migrate bug with Pool Occupancy using mediaid instead
1259 of jobids. Fixes bug #795.
1260 kes Fix orphaned buffers in filed backup and verify due to
1261 crypto buffers not freed during errors. Fixes bug #789.
1262 kes Extend new GUI api code to tree commands.
1263 kes Ensure that tree and dot commands check console ACLs.
1264 kes Permit marking directory with trailing slash.
1265 kes Allow 20 console connections (instead of only 10).
1267 kes Add smartctl call to bacula-sd.conf as an example of getting
1270 kes Modify jobq.c to let simultaneous restore jobs run. This may
1271 cause them to fail if they cannot get a drive.
1272 kes Add Client Connect Wait to Storage daemon to permit users to
1273 modify the time the SD waits for a FD connection.
1275 kes Correct virtual changer check which was backwards. This caused
1276 volumes to be unloaded into slots already occupied.
1278 kes Apply Command ACL filter to JobId list in restore command.
1279 kes Correct typeo in var.c patch.
1281 kes Don't let Bacula prune File or Job records for the current Job.
1282 kes Fix variable substitution pad + inc bug reported (with patch)
1285 kes Correct SQLite log table index as reported by Luca Berra.
1287 ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
1289 kes Begin implementing new comm signals for API.
1290 kes Fix a few places in lib/message.c where the open fd may
1292 kes Continue implementing lib/bsock.c (real class). Make jcr,
1293 who, host, and port private. There are new methods to access
1294 them for non-class use. This required touching a number of files.
1296 kes Add LANG=C to autoconf/randpass so it works with languages other
1297 than English. Fixes bug #788.
1299 ebl Revert ClientRunBeforeJob to old position as in 1.38.X.
1301 You will not be able to generate Include/Exclude list any more.
1302 It will be fixed soon.
1303 If you want to use this, you can apply
1304 trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
1306 kes Restore of sockets created false error messages because Bacula
1307 no longer restores sockets, but the code was still trying to
1308 set the attributes on a non-existent file. Reported by a user.
1309 ebl finish RecyclePool feature
1310 Media will takes Pool.RecyclePool
1311 when moving from Scratch to a Pool or when user will do
1312 update volume=xxx frompool
1313 To use it, add RecyclePool = aPool to your Pool resource
1316 RecyclePool = Scratch
1320 kes Expand new BSOCK class adding signal() and new BNET signals.
1321 kes Begin enhancing the dot commands adding a new API function
1322 that returns more information and will make it easier
1323 to interface to the Director from a program.
1325 kes Make DEVICE fd private. Its new name is m_fd, and can be
1326 obtained with dev->fd() outside the class. This is the
1327 first of many DEVICE members to be made private.
1328 kes Implement Michael Renner's idea on having a virtual disk
1329 changer. I made some minor modifications (e.g. I did not
1330 implement the Virtual Changer directive, but simply set
1331 the Changer Command to an empty string.
1333 kes Implement a BSOCK send() method that writes the whole record
1334 in a single write() request rather than in two.
1335 ebl add update volume=xxx recyclepool=yyyy
1336 volume takes recyclepool from pool when using update volume=xxx from pool
1338 kes Fix encryption deblocking bug, which caused some restored files
1339 to be truncated. This fixes bug #763.
1340 kes Add FD event sequence order prepared by Eric -- for RunScripts.
1341 kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
1343 kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
1344 ebl Use btime_t instead of uint64_t in media patch.
1346 kes Optimize the use of the database a bit in the Status dir command.
1347 Only open it when needed, ensure that if any previous database
1348 was opened, it is closed.
1350 kes Correct VolCatBytes bug from media patch.
1351 kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning
1352 in the case of orphaned records.
1353 kes Modify dbcheck to handle orphaned JobMedia, Path, Filename,
1354 and File records in 300K chunks to be more efficient. This
1355 idea came from Juan Luis Frances (if I remember right).
1356 kes Apply Eric's scratch patch that moves a purged Volume to
1357 the RecyclePool. Question: how is RecyclePool set? what
1358 happens to the ScratchPool?
1359 kes Apply Eric's media patch that collects read/write media
1360 times as well as byte counts. This patch requires a
1361 simultaneous upgrade of the DIR and SD. Note, there
1362 should be some way to turn off timing. I'm not sure
1363 times are in Bacula units.
1364 kes Apply Eric's batch-insert patch.
1366 kes Update projects list.
1368 kes Implement Include/Exclude file lists in FD as dlists using
1369 the new dlistString class. This permits efficiently having
1370 large include/exclude lists and completes project Item 25.
1371 kes Fix dird/ua_cmds.c so that a cancel command checks if the
1372 console is authorized to cancel the job. This fixes bug
1374 kes Modify SD so that the VolCatJobs medium record is updated
1375 at the beginning of a Job rather than the end. This
1376 fixes bug #775 where exceeding MaxVolJobs caused jobs
1378 kes Added a mutex around getting and setting Volume information
1379 so that multiple simultaneous jobs will single thread.
1381 Switch to using Subversion
1382 kes Remove src/pygtk-console/ from configure
1384 kes Delete src/lib/btree.c from win32 build, then add rblist.c
1385 plus the entrypoints.
1386 kes Apply patch supplied that corrects debug print
1387 in canceling jobs for max run time. Supplied as
1388 part of bug #621, which was previously fixed.
1390 kes Test on job_canceled() and sd_msg_thread_done inside
1391 loop starting the message thread to avoid a race condition.
1393 kes Remove rl_catch_signal from console.c as it conflicted
1394 with the header definition. Fixes bug #765.
1395 ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive)
1397 kes Clarify some stored/acquire messages to indicate if the
1398 problem is with read or append.
1400 kes Fix memory leak with storage ids in cats/sql_get.c
1401 kes Terminate watchdog earlier to avoid reference to released
1402 memory -- reported by Jason Austin.
1403 kes Move closing the database from jobq.c to the director daemon
1404 termination routine. This fixes memory leaks for shadow jobs
1405 (i.e. migration jobs).
1406 kes Free up the unique jobid chain items in migrate.c. This fixes
1407 a memory leak problem.
1408 kes Convert some ugly looking for statements to use foreach_alist
1409 in findlib/find.c. This will facilitate converting the structures
1410 to use dlist (for large include/exclude lists).
1411 kes Fix a bug in the btree.c and btree.h routines, then rename them
1412 rblist and add them to be built in src/lib. Include some new
1413 methods written by Rudolf Cejka that make the code more readable
1414 (hides some of the ugly casting).
1415 kes Add set_next() and set_prev() methods which make the code much more
1416 readable. Also add a new dlistString class that facilitates storing
1417 strings in dlists. To be used in the large include/exclude lists.
1418 kes Make some trivial modifications to lib/tree.h that use rblist
1419 rather than dlist for storing the tree links. This was suggested
1420 by Rudolf Cejka. The result of this is that the restore tree now
1421 uses red-black binary trees rather than simple linked lists. This
1422 should give rather dramatic speed improvements for directories
1423 contining large numbers of directories/files (more than 10000).
1425 kes Fix maxruntime bug #621.
1427 ebl Implement the include JobID in spool file name project.
1428 kes Reorder projects file in order determined by Jan 2007 vote.
1429 kes Implement item #12 on project list -- quick release of FD by
1431 kes Fix open of SQLite3 db where user does not have write permission
1432 so that DIR does not crash. Fixes bug #761.
1434 kes Add back missing @ in Win32 Makefile.
1435 kes Change 'Device not configured to autolabel' from INFO
1437 kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
1438 which should restart an indefinite # of times.
1439 kes Fix configure --help to print --with-mysql[=DIR]. Same for
1440 other DIR specifications.
1442 rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
1443 Fix path quoting in SQLite scripts.
1444 Fix problems with SHGetFolderPath.
1446 kes Create patches/2.0.1-restart.patch. Fixes bug #755.
1448 kes Fix Job restart on error bug that promotes an Inc to a Full
1449 backup. This should fix bug #755.
1450 kes Add qt-console and first cut of code.
1454 kes Fix Bacula->Documentation link on Win32 to point to index.html
1455 instead of bacula.html. Fixed bug #750.
1456 kes Return JobId in db_get_job_record() when JobId==0. This should
1458 kes Do not release source pointers when restarting a failed job.
1460 kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
1461 This *should* fix bug #747.
1462 kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
1465 kes Modify USTORE constructor to set an empty store_source string,
1466 and don't copy the store_source string in a cancel. Hopefully
1467 this will fix Arno's seg fault, bug #744.
1468 kes Add back code to disable conio in configure. Fixes bug #743.
1469 kes Correct the Options scanner in the FD to correctly handle
1470 SHA1 option, which was eating the next option. Reported by
1472 kes Add code to indicate when the SD is spooling, spool wait, and
1473 despooling as requested by Alan Brown.
1475 Version 2.0.0 released: 4 January 2007