1 Technical notes on version 2.2
5 kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
6 is not properly mounted (recognized) during a poll.
7 kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
8 Job that has differences reports Verify OK.
12 kes Increase size of name string when FD making connection to SD.
15 kes Add waits to multiple exit detection code to try to force pid
16 file to always be deleted.
17 kes Restore good dev.tar.gz to rescue set appropriate binary property.
19 kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
20 trying to switch drives by checking for blocking before unblocking.
22 kes Cancel storage daemon in all cases where FD reports error. This
23 should fix virtually all cases of bug #920.
25 kes Fix error message that was clobbered when Dir tells SD it does not
26 have write permission on Volume. This should fix a minor point
27 in bug #942, but not the main problem.
28 kes Add code to cancel job in SD if FD connection fails. This should
30 kes Add code in FD exit to prevent loops and a crash on FreeBSD.
31 kes Fix migration code to get correct Volume name with multiple volumes
32 by skipping |. Fixes bug #936.
33 kes Implement patch supplied by Landon to fix bug #944 where using
34 TLS with bconsole uses 99+% of the CPU.
35 kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
37 kes Move patches into patches directory.
39 ebl Fix bug #946 about "bacula-dir -t" which doesn't works
42 ebl Using "m" in bconsole will show messages like before,
46 kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
49 kes Fix bug #935, and probably also bug #903 where files were not
50 restored. MediaId was not properly set in JobMedia record after
53 kes Add ./configure search in qwt-qt4 for qwt package
54 kes Apply Martin Simmons patch that should turn off the new API usage
55 when batch insert is turned off allowing building on older
60 ebl Detect if new PosgreSQL batch insert API is present.
61 kes Correct incorrect mempool call causing Director crash.
62 sb Update spec files for 2.2.1 release
66 kes Update POTFILES.in
67 kes Cleanup a few underquoted AC_DEFUNs in configure
68 kes Apply patch from Martin Simmons that adds a test for va_copy to
71 kes Fix bug #921 by increasing the number of tries to create a new volume
73 kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
74 can be called multiple times. Implement a version for machines
75 without va_copy() that gets a big buffer.
77 kes Integrate more portable zone offset code into bsmtp.c
78 Submitted by Attila Fülöp.
80 kes Fix bad SD->FD return status reported by
81 (James Harper) <james.harper@bendigoit.com.au>
82 ebl Fix a bug in read_close_session which return random status
83 thanks to James Harper
85 kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
86 and directory names during restore of single file/directories.
87 kes Add sanity checks to .sql command when string is empty. Hopefully
88 that will resolve Dirks Director crash.
90 kes Apply patch submitted by Martin Simmons that corrects a seg fault
91 in the bsmtp chat subroutine when debug is >= 10.
93 kes Fix Director crash when running bat SQL queries.
94 kes Add David's notes on Item 8: Copy pools.
96 kes Rework projects file to be current and ready for a vote.
97 kes Enhance lex scanner error message.
99 kes Tweak LICENSE file to mention BSD code.
100 kes Fix bat.pro.in so that it includes the OpenSSL libraries only
101 if specified on the ./configure.
102 kes Add first (not yet tested) cut of bcomm to the qt-console directory.
103 This class is intended to allow us to open a second bsock to the
104 Director while in the restore subdialog.
106 kes Fix configure to create bat Makefile before creating dependencies.
107 kes Eliminate the egg files from the tray-monitor. Use gtk calls.
108 kes Add a tooltip to the tray monitor.
109 dvl Set the Director's PID file before dropping privs. This fixes
112 kes Update AUTHORs file
113 kes Increase the default max concurrent jobs to 20 in FD and SD to
114 correspond with the default .conf files.
115 kes Rewrite the Win32 service routines. This eliminates the 3 copies
116 some different, of the same file created by RN when porting the
118 kes Rearrange some of the Win32 directories and the placement of the files
120 kes Set DEVELOPER flag in version.h
122 ========================================================================
123 Release Version 2.2.0
125 kes Apply a second doc patch from Marc.
126 kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
127 improves the tips section that discusses how to setup multiple
130 kes Update bat README file.
131 kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
132 corrects a typo in the Recycle status check in db_find_next_volume().
133 This will probably fix a number of annoying problems with multiple
135 kes Modify most of dird/msgchan.c to use bsock class calls rather than
136 bnet calls -- no functionality change.
138 kes Modify the Verify output to specify if files are missing on
139 the Volume(s) or disk. Fixes confusion in bug #916.
140 kes When more than one Volume is read in a migration job, the last
141 Volume bytes reported are from the last read volume rather than
142 the last written volume. Fixed. This fixes bug #910.
143 kes Fix display of Recycle flag after update volume=foo recycle=yes.
144 It previously printed New Recyle flag is: no. This fixes bug
147 kes Correct seg fault when switching tape drives during restore.
148 kes Commit uid_gid_name.c (replacement for idcache.c), but will not
149 be used until after 2.2.0 release.
151 kes Remove fnmatch() in SD that permitted wild card specifications.
154 kes Fix %g in filename returned by SQL for browse tree reported by
156 kes Fix configure so that it puts config.out in the cwd rather than
158 kes Attempt to fix the locking problem reported by Eric in bug #906.
159 kes Make berrno class to leave errno unchanged after constructor call.
160 kes Make bnet_server use the heap rather than the stack to allocate
161 its socket fd pointers to avoid a crash at termination. Problem
162 reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
164 kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
165 and putting it in depkgs-qt along with Qt4.3.
167 kes Rework code in acquire.c that switches drives for reading when
168 the Media Type does not match. This should fix bug #906
170 ebl Fix a director segfault during job setup #907
171 kes Correct seg fault in postgresql when first operation returns no
172 rows. Fixes Dirks File browser problem seg fault with bat.
174 kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
175 building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
178 kes Implement PopUp YES/NO dialog for bat.
180 ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
182 kes Correct RunScript to terminate job in FD on failure.
183 kes Change abort_on_error and AbortJobOnError to fail_on_error
184 and FailJobOnError in RunScripts.
185 kes Minor tweaks of code formating in RunScripts, principally to
186 avoid depassing 80 columns.
188 kes Eliminate one #ifdef Win32 in bsmtp
189 kes Implement grow tool to grow a file for testing very large databases.
190 kes Add big-vol-test to test Bacula seeking with > 5GB.
193 kes Modify find_next_volume() to return all values in Media record.
194 kes Ensure that we keep Recycle Pool when moving Scratch volumes.
198 kes Update Release notes
200 ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
201 Warning, in previous beta version, all media get from scratch keep their
204 kes Tweaked Win32 installer to remove temp conf files at uninstall time.
205 This should fix bug #842. Made a note to look at removing the temp
206 files at the end of the install.
207 kes Add ability to mount and unmount a file device providing it is
208 marked as being removable and has the appropriate mount and unmount
209 commands defined in the Device resource. This fixes bug #830.
210 kes When applying a storage override, release all previous storage
211 definitions rather than just prepending the new storage.
212 This should prevent a good deal of confusion.
214 kes Implement ./configure search for qwt libraries.
216 kes Disable posting the WM_CLOSE message in KillRunningCopy of the
217 Win32 FD. This should fix bug #893.
218 kes Remove an unnecessary beep in Win32 init code.
219 kes Update copyright dates in Win32 executable about boxes.
220 kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
221 code with a BSD getopt.c and getopt.h.
222 kes Remove sched.h from the Win32 compat directory -- not used.
223 kes Remove the Exit menu item from the Win32 tray monitor. If you really
224 need to shut it down, do it through the services panel or the command
226 kes Remove some inappropriate Bacula FSFE copyrights.
227 ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
228 kes Fix regress config non-portable test as pointed out by
229 Florian Heigl <florian.heigl@gmail.com>
230 kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
231 as pointed out by Florian Heigl <florian.heigl@gmail.com>
233 kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
234 Reported by Frank Sweetser.
238 kes Fix client-only build.
239 kes Integrate client-only fixes for bsys (initgroups) and conio from
240 Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
241 kes Make arguments to get_scratch_volume() in same order as other
243 kes Rework the prune_volumes() subroutine so that after purging and
244 no volume found in desired pool, it will check for a scratch
245 volume. This prevents recycling the whole scratch pool.
246 kes Add code to status storage to print boffset_t (largefile support).
248 kes Move qwt (Graphics libarary for Qt4) to depkgs.
249 kes You now need a --with-qwt=<dir> to be able to build bat.
250 kes Update src/win32/cats/bacula_cats.def to include the new
251 db_get_query_dbids() call on Win32.
253 kes Correct a problem when selecting a scratch volume and moving
254 it to another pool that lost some columns.
255 kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
256 kes Enhance Autochanger error messages to include Volume and device name.
257 kes Rework prune_volumes() code to take account of InChanger flag,
258 and to handle recycling volumes going to the Scratch pool and
259 current pool because the RecyclePool directive.
260 kes Implement a better and more efficient db_get_query_dbids() to
261 handle creating and passing back a list of DBIds.
265 kes Start work on new more efficient DBId subroutine. First use
266 will be for recycling volume to Scratch inchanger.
267 kes Increase number of JobIds in pruning from 1000 to 10000.
268 This to be replaced by above routine.
269 kes Begin implementation of building Qt4 on Win32.
270 kes Correct typo in fix I added for bad TLS shutdown.
271 kes Pull 2.0.3 patches into patches directory.
272 kes Update Release notes. Include qt-console in line count.
273 kes Update Projects file.
275 kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
276 bug in migration code where a job that spanned two volumes
279 kes Implement new BST_DESPOOLING blocked state. Change from locking
280 during despooling in SD to blocking. This means that other threads
281 can work with the device structure, in particular the reservations
282 system while despooling.
284 kes Fix return in reservation message queue that missed clearing
285 the jcr lock (implemented 26Jun07 below).
286 kes Rename a number of dev methods to make locking function names
288 kes Document locking in lock.c. Move lock structures to new file
291 kes Move reservations message lock to lock jcr only this
293 kes Move main SD locking code into lock.c (new file).
294 kes Update Win32 build to include lock.c
298 kes Dirk committed the qwt library code for drawing graphs in bat.
299 kes Tweak install of qwt so that it is integrated with ./configure.
301 kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
302 out by Eric (my typo).
303 ebl Fix configure.in to get batch mode enable
304 kes Return correct string from authenticate.cpp in bat when connecting
306 kes Apply patch suggested by Frank Sweetser to fix bug #888 --
307 spurious line drops when using TLS.
308 kes Do not file reparse points when restoring a file that already
311 kes Implement Windows reparse points -- similar to directories, but
312 we do not descend into it. This is a first cut. They seem to
313 be backed up, but restore is not yet tested.
314 kes Remove restore_blocking in tls code when shutting a socket to leave
315 it in blocking mode. Hopefully this will fix the encryption bug
316 reported by Frank Sweetser.
317 kes When opening a file for backup, tell the OS that we are going to
318 read it sequentially -- optimization.
319 kes Change variable names in authenticate_director() to not conflict
320 with member names in bat. Caused great confusion with compiler,
323 kes Queue openssl error messages in case of comm problem.
324 kes Do shutdown() call if socket terminated.
325 kes Remove some duplicated code in tls.c
326 kes Move more of the bsock member variables into private and access
328 kes Add Frank Sweetser's tls-test to the regression suite.
330 kes Add Swedish sv.po file
332 kes Don't print clock skew message in FD if less than 3 seconds diff.
333 kes Add a bit of VSS info to status client.
334 kes Implement a first cut of Vista VSS, using Win2003 code.
338 kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
339 loaded tape but uses first drive).
340 kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
341 This was indeed a Win32 issue.
343 kes Simplify search of autochanger for in-use Volume.
344 kes Fix exit condition of check for in-use volume. kes Remove
345 inappropriate my_postgresql_free_result() in db_close()
347 kes Fix bad return in FD when encryption signature not found.
348 Probably caused a crash.
349 kes Inhibit missing encryption signature error messages for
350 file types where no signature computed.
351 kes Correct inverted check on autochanger in reservation system.
352 kes Tweak debug code in autochanger reservation.
354 kes Add some additional locking in the cats directory in subroutines
355 that modify packet variables called from batch insert.
356 kes Rework how dcrs are allocated. new_dcr() can now be called
357 with an existing pointer, and it will simply clean it up.
358 This allows the reservation system to test various different
359 devices, and will permit easy device changes.
360 kes A bunch of changes all over to handle new new_dcr() calling
362 kes Work more on the Volume management in the SD. Remember Volumes
363 for tape drives and for autochangers (even virtual disk changers).
364 kes When looking at the Volume list to reserve a drive, handle
365 autochanger names correctly by interating through the changer
366 devices. Also call the Director to see if a Volume is suitable
368 kes Fix some bugs in bscan. Make sure all media records are written.
369 Make sure that valid JobMedia records are written for disk files.
370 Previously they were completely wrong.
371 kes Move source tar files for depkgs-mingw32 to www.bacula.org so
372 that the URLs don't change and so that the developers will all
373 work off the same copy. Rebuild from scrach.
374 kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
378 kes Fix seg fault in FD from incorrect digest size.
379 kes Fix argument to non-OpenSSL crypto.c subroutine.
383 kes Remove a few malloc()s from the encryption code.
384 kes Use the class calls to bsock in filed/backup.c and restore.c in
385 place of the old bnet_xxx code.
386 kes Implement code that does an on the fly calculation of the
387 signing digest during restore of encrypted files. It makes
388 a best guess at the algorithm, and if it is not correct, will
389 then revert to the old code which reads the file after it is
391 kes Implement at least one missing crypto stream in stream_to_ascii()
392 kes Apply patch from William <chowmeined@gmail.com> that fixes bug
393 #877 where a reload with bad syntax causes Dir to exit.
395 Cut: 2.1.14 beta (not released)
397 kes Do not free a volume on a tape drive until another volume is
398 mounted and read, or the autochanger unloads the volume.
399 This should help the SD re-use volumes that are already mounted,
400 and should fix bug #886.
401 kes Apply patch from user brettedgar that allows gnome2-console include
402 the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
403 kes Apply patch from Lucien Weller that fixes day of week calculation
404 because of DST flag problem. Fixes bug #887.
406 kes Move find_next_appendable_volume() to after acquiring a valid device
407 in reserve.c. This fixes bug #864 -- confirmed by reporter.
409 kes Unable to reproduce bug 872. However added additional testing for
411 kes Bug #874 resolved by documenting SQLite limitations.
412 kes Bug #882 resolved by documenting mtx-changer script for new drive code.
413 kes Bug #881 resolved by removing typo in mtx-changer script.
414 kes Made Frank Sweetser's wiki the official Bacula wiki with his
415 approval. Added a link to the wiki on the web page, and implemented
416 a backup from http://paramount.ind.wpi.edu
418 kes Fix update allfrompool to pass pool name.
420 kes Convert to pure GPL v2 license.
421 kes Fix sscanf problems reported by Peter Buschman that caused
422 a bus error on Solaris.
423 kes Rework (simplify) the select prompt in bat.
424 kes Move get_jobid_from_tid() into lib and create a
426 kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
427 should definitely fix the problem of lost error messages in the
429 kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
430 kes Eliminate tcpd.h from the project. Enclose the #include from the
431 library with extern C ...
432 kes Add print of signal name when a signal is trapped.
436 kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
438 kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
439 query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
440 makes SQLit3 run 30 times faster, though a bit less safe.
441 kes Implement --with-batch-insert in configure and detection of thread
442 safe libraries. It is on by default, but turned off if no thread
443 safe library (e.g. SQLite 2) is available.
445 kes Fix Bacula PostgreSQL buffer overruns.
446 kes Do better checking for NULL results returned from PostgreSQL;
447 implement retry for failed queries; clear results buffer after
448 failed query. Hopefully this will correct the PostgreSQL failures.
450 kes Implement algorithm to handle only one appendable volume with
451 Prefer Mounted Volumes = no.
452 kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
453 returned from a query.
454 kes Make volume lock recursive.
455 kes Implement an additional volume reservation algorithm that
456 starts by considering all reserved volumes then uses the
457 old brute force algorithm of searching the resources to
458 find a suitable device.
459 kes Add new reservations debug code and refine the old code.
460 kes Update the win32/dll/bacula.defs file.
462 kes Tweak reservations algorithm to permit a few more cases, i.e.
463 volume reserved, but on different drive, ...
464 kes Enhance SD status to include Pool and Media Type for drive in a
465 more readable format (a bit longer).
466 kes Fix PostgreSQL double free.
468 kes Minor refactoring of restore decryption code.
469 kes Add code to smartall.c to detect double free of a buffer.
471 kes Add < > around %r in from field on mail command of bacula-dir.conf.in
472 so that bsmtp will create a correct email address (mailbox only).
473 kes Modify 'memory' command so that the buffers are listed as 'In use'
474 to avoid confusion with Orphaned buffers.
475 kes I reworked the OpenSSL include/lib flags to be handled in
476 the standard Bacula way, which should fix bug #863 concerning
477 non-standard OpenSSL libraries.
479 kes Implement Help Browser window for bat.
480 kes Fix reload bug that reset StorageId to zero.
482 kes Fix TLS #ifdefing when TLS turned off.
483 kes Ensure that when labelling a tape with Slot=0 that InChanger
485 kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
487 kes Add StartTime to final uar_sel_jobid_temp query so that we can
488 add DISTINCT (required by PostgreSQL).
489 kes Implement BSOCK authenticate_director() method. Eventually will
490 authenicate all daemons.
491 kes Move several more functions into the BSOCK class.
493 kes Add code to tell the OS that we no longer need a cached
494 file that we were reading. In findlib/bfile.c. Also,
495 only cache files that we are reading. Thanks to
496 Tobias Oetiker <tobi@oetiker.ch> for the idea.
497 kes Tweak to bsmtp to eliminate compiler warnings on Win32.
498 kes Implement script to automatically generate cats and dll .def
500 kes Update README.mingw32 to include new .def file generation.
501 kes Correct typo in UTF-8 error message as reported by:
502 jhernandez <julianhernandez@gmail.com>
503 kes Add additional sm_check() code on debug level 1.
504 kes Set default debug level to 1.
505 kes Trap SIGABRT in attempt to get traceback.
507 kes Reduce bat connect timeout from 30 to 15 seconds.
508 kes More restructuring and implementing BSOCK class in place of
510 kes Remove a few unnecessary malloc() tests in crypto code.
511 kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
512 not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
513 kes Remove duplicate HAVE_CRYPTO definition in config.h.in
515 kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
517 kes Fix Verify InitCatalog. The attributes were not pointing to the
518 correct saved location.
519 kes Implement message callback so that GUI is sure to get all
520 daemon messages. Currently displayed in a dialog in bat.
521 kes Ignore SIGUSR2 (Bacula timer) in bat.
522 kes Apply regress patch from bug #859 to allow regress to work
523 with Solaris compiler.
525 kes Begin adding TLS support to bat.
526 kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
527 clean up lex.c and make it more readable.
529 kes Move more bnet functions into the BSOCK class.
530 kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
531 kes Complete change of berrno strerror() method to bstrerror()
535 kes Cleanup incorrect email addresses in bsmtp.
536 kes Make bat display initial messages rather than discard them.
538 kes First cut of adding .mod to the run command.
539 kes Implement auto display of messages in bat.
540 kes Enhanced preferences to allow all Bacula output to be
543 kes Try to make bsmtp date routines more generic.
544 kes Fixed bug #856 autochanger documentation.
545 kes Rework bsmtp date editing for Win32. This fixes bug #854.
546 kes Add new cats entry point so Win32 builds.
548 kes Attempt to fix bsmtp date editing on OSes without %z editing.
550 kes Do better checking for the MySQL 64 bit libraries looking for both
551 .a and .so libraries.
552 kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
553 /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
554 kes Require the thread safe version of MySQL during configure. Thanks
555 to Andre Noll for pointing this out.
556 kes Ensure that calls to find_jobids_from_mediaid_list() check count before
557 continuing in migration code.
558 kes Apply implementation of tray-monitor font derived from gnome-console
559 submitted by Andreas Piesk <a.piesk@gmx.net>
561 kes Eliminate important memory loss in SQLite
562 kes Fixed the batch insert MySQL thread specific data that was not
563 being freed. See cats/mysql.c:db_thread_cleanup().
564 kes Fix restore before command.
565 kes Convert old hdr.name to name() in a few places.
566 kes Implement update jobid command.
567 kes Return all time_t dates in db_get_job_record()
568 kes Stop watchdog in SD earlier.
569 kes Put Pool just after Storage in please mount message.
570 kes Fix pointer usage bugs in Verify InitCatalog pointed out by
573 kes Update the po files.
574 kes Fix Verify InitCatalog by making it cache attributes.
576 kes Change name bacula-bat to bat for man 1 page to correspond to
578 kes Check for client and store NULL pointers in status command. This
580 kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
581 kes Fix sign extended editing of %p.
582 kes Clean out a little old #ifdefing in cats/mysql.c
584 kes If time diff between DIR and FD is more than 600 seconds convert
585 INFO message to WARNING.
586 kes Implement heap size display in status for all daemons.
587 kes Attempt to fix MySQL db open memory loss (not successfull).
588 kes Don't set SIGKILL and SIGSTOP neither can be trapped.
589 kes Eliminate memory loss in MySQL (possibly other SQLs) during
590 Query. This looks like a MySQL but but by doing extra releases,
591 the memory goes away. This should fix bug #847.
593 kes When backup fails, cancel SD before waiting for sd termination.
594 kes If SD is waiting for FD to connect during cancel, wake up the
596 kes Fix fsf code so that errno is correctly reported.
597 kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
599 kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
600 so that Bacula doesn't later stumble into a seg fault.
601 kes Use the term Restore Client in the restore Job report.
602 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
603 the original job's FileSetId.
604 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
605 spooling in migration jobs. Not yet tested.
606 kes Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
607 reading conf file from a pipe. However, do it with open_bpipe()
608 rather than popen. Not yet tested.
610 kes Fix an ugly bug where the VolCatBytes were getting updated
612 kes Implement bconsole memory command that prints current memory
613 usage, plus smartalloc dump.
614 kes Clarify some error messages in backup, admin, and migrate.
615 kes Shrink label dialog to smaller size.
616 kes Invert Cancel OK buttons on restore to be OK Cancel.
617 kes More strerror() to bstrerror() conversions.
619 kes Start implementing bstrerror() in place of strerror().
620 kes Stripping path -- seems to work.
622 kes Prevent door and port files from being restored (mostly
624 kes Free an unreleased buffer in compat code.
625 kes Change console Job name from *Console* to -Console- to eliminate
626 Win32 filename problems. Put Win32 path separator when creating
627 Console file. This fixes bug #846.
628 kes Change berrno::strerror() to berrno::bstrerror(). Not yet full
630 kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
632 kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in
633 to force Win32 error message.
635 kes First cut strip path. The data should be passed to the FD,
636 but nothing is done with it yet.
637 kes Enhance the digest and signature routines in the crypto
638 library to accept a JCR and to use it to print error messages
639 so that they will go in the Job report rather than the daemon's
641 kes Simplify some of the verify signature code.
642 kes Simplify a few of the alternative returns in the signature
645 ebl Use only POSIX regex instead of GNU regex in breg.c for
646 File relocation. It fix broken freebsd compilation.
647 kes Convert all other Dir files to use new ua class message
649 kes Tentative fix for missing digest signature in bug 807.
650 kes Correct handle problem in new win32_ftruncate routine.
651 kes Convert ua_purge.c and ua_update.c to use new ua class
652 message routines for bat.
654 kes Correct incorrect installation of LICENSE in Win32 installer.
655 kes Display LICENSE at the beginning of the Win32 install.
656 kes Attempt to correct the need for the png files to be installed
658 kes Reapply my bat.conf install script in qt-console. I think I
659 editted bat.pro instead of bat.pro.in and it was lost.
660 kes Apply CentOS patches someone sent me. Checks for /var/run/subsys,
661 the /var/lock/subsys for subsysdir. Also corrects typos in the
664 kes First cut update job.
665 kes Correct configure to include qmake of src/qt-console directory.
667 kes Make restore job yes/mod/no print in one command so GUI works.
668 kes First cut implementing backup and restore client.
669 kes Correct editing in Verify output that caused a seg fault.
671 kes Insure that bat.conf is not overwritten during installation.
672 kes Fix important bug in db_sql_query() in mysql.c. It was introduced
673 while I was implementing migration in March 2006 !
675 ebl Cleanup file relocation, using char *RegexWhere instead of
676 char *where + bool where_use_regexp
677 kes Update some manpages and add bat manpage.
678 kes Make a first cut at converting bacula.spec.in for bwx-console
680 kes Apply patch from John Goerzen to add hostname as fourth argument
681 to make_catalog_backup script.
682 kes Fix typos I introduced into bsmtp.c
683 kes Make pm_strxxx() routines handle input of NULL pointer. This
684 is to protect from NULL pointers returned from SQL databases.
685 kes Correct typo in bacula-sd manpage as pointed out by John Goerzen.
686 kes Add more debug to FIFO code -- fix fifo regression test.
688 kes Implement posix_fadvise in FD, and for reading spool files in SD.
689 kes Add thread timer to bnet_connect() to break from OS if wait time
692 kes Update Win32 build to include new files, new symbols, and
694 kes Implement socket level heartbeat (tcp_keepidle)
695 ebl Commit File relocation patch
696 kes Make bat have 'make install' target.
697 kes Warn during install if old gnome-console binary found.
698 kes Warn during install if old wx-console binary found.
699 kes Add -8 option to bsmtp command line to add content type utf-8.
700 Fixes bug #809. (Character coding problem in bsmtp).
701 kes If < is found in target (from, to, cc) then do not enclose the
702 target in < > in bsmtp. Fixes bug #772 (malformed address).
703 kes When printing certain items in dbcheck, stop after 300000.
704 Fixes bug #822. (dbcheck loops).
705 kes Incorrect status in Dir after waiting for mount with poll set.
708 kes Extend idea of Prefer Mounted Volumes to mean a volume about
710 kes Print waiting to reserve a device every 5 mins.
712 kes Don't call close_part in label.c if tape and relabel.
713 kes Don't free volume if busy in close() -- should help with
715 ebl Fix #824 RunScript bug (After script could be execute twice)
716 Now, Before Script can use RunsOnSuccess and RunsOnFailure options
717 By default (like before) RunsOnSuccess=true and RunsOnFailure=false
718 Add a regression script to test RunScript
720 kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors
723 kes The bgnome-console (gnome-console) and bwx-console (wx-console) are
724 deprecated. No additional bugs will be fixed, and they will be dropped
725 in a future release (probably 2.4.0).
726 kes Change name of wx-console to bwx-console to make it more Bacula
728 kes Change the name of gnome-console to bgnome-console to make it
731 kes Some time in March, a Feature Request with patch from Jorj Bauer
732 <jorj@seas.upenn.edu> was committed by Landon (with my approval).
734 The ability for the director to validate a Client (FD) CN against
735 an arbitrary set of patterns rather than the hostname, with
736 A new 'TLS Allowed CN' set of directives which are implemented
737 in the Client resource. Then pattern matching is used in place
738 of hostname matching against the Certificate's CN. As an example, we
739 have certificates which (a) use a local CA, and (b) have a CN of the
741 kes Add new/changed entry points to Win32 build
742 kes Create unaccepted-projects for projects that are not accepted.
743 kes Simplify locking in the reservations system.
744 kes Add more debug code in reservations.
745 kes Make sure error condition on reserving a volume is handled correctly.
746 kes Correct handling of volume_in_use.
747 kes Correct handling of initializing a device.
748 kes Move handling of broadcasting releasing a device into release_device().
749 kes Correct attaching dcr to dev so that it is only done if device
750 is properly initiated.
752 kes Locking debug level tweaks in SD.
753 kes Tweak new Volume code.
755 kes Add exec external-command [wait-seconds] to bconsole. This
756 executes the external-command. Note! normally external-command
757 should be enclosed in double quotes.
758 kes Turn the .die command on only if DEVELOPER is defined -- i.e.
759 it should normally be off in a production system.
761 kes Implement die command for SD so that we can force it to dump.
762 kes Implement SD lock debug code.
763 kes Implement new algorithm for keeping Volume list in SD. It
764 is now owned by the device.
766 kes Implement new code for freeing in use volumes that should
767 resolve if not all, some of the problems of multiple drive
768 tape conflicts described in bug 801.
770 kes Fix gui/bacula-web/images files in svn.
771 kes Turn on FreeBSD/OpenBSD code to set EOT model on tape.
773 ebl Fix a bug in batch mode (in string escape)
774 kes Correct migration prune SQL typo that crept in in a
777 kes Move bnet_despool() into class in bsock.c
778 kes Modify job report to include director name and Build OS.
779 kes Move drop root privilege and check_catalog() before fork.
780 kes Add update database scripts (version 9 to 10) to updatedb directory.
782 ebl Check size and age of each file after its backup to see if
783 it has changed during backup, if 'checkfilechanges' is set.
784 The FD will do an extra check (stat(2)) after
785 each file backup. mtime, ctime and size are compared with
786 'before backup' information. If time or size mismatch, an
787 error message will be generated. You must upgrade FD to use it.
789 kes Make database name and user configurable
790 --with-db-name=xxx --with-db-user=xxx
791 kes Add back database type to message.c for debugging.
793 kes Implement dir_sql() which issues an SQL query.
794 kes Modify bat medialist to use dir_sql() and do some minor C++
795 formatting as well as eliminating a number of pointers, simplifing
798 kes Fix some of the mtx-changer grep commands for tape label readers.
799 kes Convert a number of bsendmsg into the appropriate send/warning/error
801 kes Suppress the using database message in the .sql command.
802 kes Correct an incorrect bnet_tls_client prototype -- patch from Martin.
804 kes Add context menu for floating a window.
805 kes Some minor cleanup and name changes in qt-console
806 kes Add doing mt setblk 0 in Win32 mtx-changer.
807 kes Apply Martin's bug fix to move definition of ENODATA for
809 ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with
812 kes More pruning cleanup.
813 kes Turn on wait_for_drive by default in mtx-changer.
814 kes Turn on Batch insert code by default as it now passes regression.
815 kes Add ./configure --enable-bat to enable building of Bat.
816 No install yet though.
818 kes Implement a new .sql command for bat.
819 kes Implement code to turn off pruning in obtaining the next volume.
820 Pruning is turned off for the status dir command, but turned on
821 for SD requests and for the list nextvolume command.
823 kes Correct Qmsg() that was not updated correctly when committing a
824 previous change (probably the recent TLS patch).
826 kes Write new subroutine is_volume_purged() that explicitly checks
827 if the Volume is purged, and if so marks it as such. This should
828 resolve problems reported about needing to mount twice to recycle
830 kes Rewrite pruning algorithm to do more work in the SQL engine, and
831 to pass a list of JobIds to be deleted to SQL. Also, minimize the
832 amount of duplicated code.
833 kes Do volume pruning only for the Media Type desired (reduces pruning time
834 if multiple Media Types are in the same pool).
835 kes Implement more detailed info in the Job report for the Bacula version
837 kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
839 ebl Add bbatch tool to bench database and insert mode.
840 Fix sql quote stuff in batch mode
841 Fix sql stuff for mysql
843 kes Correct problems with am/pm scheduling. Fixes bug #808.
844 kes Implement new prunning code that prunes up to 1000 jobs at
845 the same time. The same technique can be applied to a number
846 of other prune/purge subroutines.
847 kes Add an insanity check when starting a new tape job to ensure
848 that the tape position has not been changed. If so fail the
850 kes Fix Win32 build for dlls to add the folllowing:
851 src/lib/bsock.c -- new file with new entry points
852 src/lib/dlist.c -- new entry points
853 src/cats/sql_create.c -- new entry point
854 src/cats/sql_cmds.c -- new DATA item exported
856 ebl batch mode cleanup bscan-test is ok now.
857 kes Implement SD code to check length of disk volume before appending.
859 kes Correct return status on db_batch... routines.
860 kes Add call to db_write_batch_file_records() to migration code.
861 ebl Fix AfterJob timing
862 kes Move the checking of the database in initializion of the Director
863 to after we drop privileges. This avoids the need for both root
864 and bacula access to the DB.
865 kes Correct a misplaced variable definition in src/filed/backup.c
866 kes Correct how the new batch insert db_create_attributes_record()
867 uses the arguments. Caused a seg fault in bscan.
868 kes Implement lock() and unlock() methods in DEVICE class.
869 Implement block() and set_block(xx) methods in DEVICE class.
870 kes Modify bnet_connect() so that it uses time() to check for the
871 wait time expiring (on some OSes, some system calls may not
873 kes Modify Verify to obtain the previous JobId when it is actually
874 running rather than at schedule time (as it was in 1.38.x).
875 kes Fix src/job.c to handle MaxWaitTime correctly. This should
877 kes When checking pid in pid file, continue running if the pid is
878 the same as ours. This occurs on IRIX after a system crash.
881 kes Extend new GUI API.
882 kes Make the ua structure a class, and implement send_msg(),
883 error_msg(), warning_msg(), and info_msg().
885 kes Apply fix from for building wx-console on the Mac from
887 kes Implement new select mechanism for GUI programs.
888 kes Reorganize initialization of stackedWidgets in bat.
890 kes Add updated nagios plugin supplied by Christian Masopust.
892 kes More bat implementation.
893 kes File migrate bug with Pool Occupancy using mediaid instead
894 of jobids. Fixes bug #795.
895 kes Fix orphaned buffers in filed backup and verify due to
896 crypto buffers not freed during errors. Fixes bug #789.
897 kes Extend new GUI api code to tree commands.
898 kes Ensure that tree and dot commands check console ACLs.
899 kes Permit marking directory with trailing slash.
900 kes Allow 20 console connections (instead of only 10).
902 kes Add smartctl call to bacula-sd.conf as an example of getting
905 kes Modify jobq.c to let simultaneous restore jobs run. This may
906 cause them to fail if they cannot get a drive.
907 kes Add Client Connect Wait to Storage daemon to permit users to
908 modify the time the SD waits for a FD connection.
910 kes Correct virtual changer check which was backwards. This caused
911 volumes to be unloaded into slots already occupied.
913 kes Apply Command ACL filter to JobId list in restore command.
914 kes Correct typeo in var.c patch.
916 kes Don't let Bacula prune File or Job records for the current Job.
917 kes Fix variable substitution pad + inc bug reported (with patch)
920 kes Correct SQLite log table index as reported by Luca Berra.
922 ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
924 kes Begin implementing new comm signals for API.
925 kes Fix a few places in lib/message.c where the open fd may
927 kes Continue implementing lib/bsock.c (real class). Make jcr,
928 who, host, and port private. There are new methods to access
929 them for non-class use. This required touching a number of files.
931 kes Add LANG=C to autoconf/randpass so it works with languages other
932 than English. Fixes bug #788.
934 ebl Revert ClientRunBeforeJob to old position as in 1.38.X.
936 You will not be able to generate Include/Exclude list any more.
937 It will be fixed soon.
938 If you want to use this, you can apply
939 trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
941 kes Restore of sockets created false error messages because Bacula
942 no longer restores sockets, but the code was still trying to
943 set the attributes on a non-existent file. Reported by a user.
944 ebl finish RecyclePool feature
945 Media will takes Pool.RecyclePool
946 when moving from Scratch to a Pool or when user will do
947 update volume=xxx frompool
948 To use it, add RecyclePool = aPool to your Pool resource
951 RecyclePool = Scratch
955 kes Expand new BSOCK class adding signal() and new BNET signals.
956 kes Begin enhancing the dot commands adding a new API function
957 that returns more information and will make it easier
958 to interface to the Director from a program.
960 kes Make DEVICE fd private. Its new name is m_fd, and can be
961 obtained with dev->fd() outside the class. This is the
962 first of many DEVICE members to be made private.
963 kes Implement Michael Renner's idea on having a virtual disk
964 changer. I made some minor modifications (e.g. I did not
965 implement the Virtual Changer directive, but simply set
966 the Changer Command to an empty string.
968 kes Implement a BSOCK send() method that writes the whole record
969 in a single write() request rather than in two.
970 ebl add update volume=xxx recyclepool=yyyy
971 volume takes recyclepool from pool when using update volume=xxx from pool
973 kes Fix encryption deblocking bug, which caused some restored files
974 to be truncated. This fixes bug #763.
975 kes Add FD event sequence order prepared by Eric -- for RunScripts.
976 kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
978 kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
979 ebl Use btime_t instead of uint64_t in media patch.
981 kes Optimize the use of the database a bit in the Status dir command.
982 Only open it when needed, ensure that if any previous database
983 was opened, it is closed.
985 kes Correct VolCatBytes bug from media patch.
986 kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning
987 in the case of orphaned records.
988 kes Modify dbcheck to handle orphaned JobMedia, Path, Filename,
989 and File records in 300K chunks to be more efficient. This
990 idea came from Juan Luis Frances (if I remember right).
991 kes Apply Eric's scratch patch that moves a purged Volume to
992 the RecyclePool. Question: how is RecyclePool set? what
993 happens to the ScratchPool?
994 kes Apply Eric's media patch that collects read/write media
995 times as well as byte counts. This patch requires a
996 simultaneous upgrade of the DIR and SD. Note, there
997 should be some way to turn off timing. I'm not sure
998 times are in Bacula units.
999 kes Apply Eric's batch-insert patch.
1001 kes Update projects list.
1003 kes Implement Include/Exclude file lists in FD as dlists using
1004 the new dlistString class. This permits efficiently having
1005 large include/exclude lists and completes project Item 25.
1006 kes Fix dird/ua_cmds.c so that a cancel command checks if the
1007 console is authorized to cancel the job. This fixes bug
1009 kes Modify SD so that the VolCatJobs medium record is updated
1010 at the beginning of a Job rather than the end. This
1011 fixes bug #775 where exceeding MaxVolJobs caused jobs
1013 kes Added a mutex around getting and setting Volume information
1014 so that multiple simultaneous jobs will single thread.
1016 Switch to using Subversion
1017 kes Remove src/pygtk-console/ from configure
1019 kes Delete src/lib/btree.c from win32 build, then add rblist.c
1020 plus the entrypoints.
1021 kes Apply patch supplied that corrects debug print
1022 in canceling jobs for max run time. Supplied as
1023 part of bug #621, which was previously fixed.
1025 kes Test on job_canceled() and sd_msg_thread_done inside
1026 loop starting the message thread to avoid a race condition.
1028 kes Remove rl_catch_signal from console.c as it conflicted
1029 with the header definition. Fixes bug #765.
1030 ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive)
1032 kes Clarify some stored/acquire messages to indicate if the
1033 problem is with read or append.
1035 kes Fix memory leak with storage ids in cats/sql_get.c
1036 kes Terminate watchdog earlier to avoid reference to released
1037 memory -- reported by Jason Austin.
1038 kes Move closing the database from jobq.c to the director daemon
1039 termination routine. This fixes memory leaks for shadow jobs
1040 (i.e. migration jobs).
1041 kes Free up the unique jobid chain items in migrate.c. This fixes
1042 a memory leak problem.
1043 kes Convert some ugly looking for statements to use foreach_alist
1044 in findlib/find.c. This will facilitate converting the structures
1045 to use dlist (for large include/exclude lists).
1046 kes Fix a bug in the btree.c and btree.h routines, then rename them
1047 rblist and add them to be built in src/lib. Include some new
1048 methods written by Rudolf Cejka that make the code more readable
1049 (hides some of the ugly casting).
1050 kes Add set_next() and set_prev() methods which make the code much more
1051 readable. Also add a new dlistString class that facilitates storing
1052 strings in dlists. To be used in the large include/exclude lists.
1053 kes Make some trivial modifications to lib/tree.h that use rblist
1054 rather than dlist for storing the tree links. This was suggested
1055 by Rudolf Cejka. The result of this is that the restore tree now
1056 uses red-black binary trees rather than simple linked lists. This
1057 should give rather dramatic speed improvements for directories
1058 contining large numbers of directories/files (more than 10000).
1060 kes Fix maxruntime bug #621.
1062 ebl Implement the include JobID in spool file name project.
1063 kes Reorder projects file in order determined by Jan 2007 vote.
1064 kes Implement item #12 on project list -- quick release of FD by
1066 kes Fix open of SQLite3 db where user does not have write permission
1067 so that DIR does not crash. Fixes bug #761.
1069 kes Add back missing @ in Win32 Makefile.
1070 kes Change 'Device not configured to autolabel' from INFO
1072 kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
1073 which should restart an indefinite # of times.
1074 kes Fix configure --help to print --with-mysql[=DIR]. Same for
1075 other DIR specifications.
1077 rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
1078 Fix path quoting in SQLite scripts.
1079 Fix problems with SHGetFolderPath.
1081 kes Create patches/2.0.1-restart.patch. Fixes bug #755.
1083 kes Fix Job restart on error bug that promotes an Inc to a Full
1084 backup. This should fix bug #755.
1085 kes Add qt-console and first cut of code.
1089 kes Fix Bacula->Documentation link on Win32 to point to index.html
1090 instead of bacula.html. Fixed bug #750.
1091 kes Return JobId in db_get_job_record() when JobId==0. This should
1093 kes Do not release source pointers when restarting a failed job.
1095 kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
1096 This *should* fix bug #747.
1097 kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
1100 kes Modify USTORE constructor to set an empty store_source string,
1101 and don't copy the store_source string in a cancel. Hopefully
1102 this will fix Arno's seg fault, bug #744.
1103 kes Add back code to disable conio in configure. Fixes bug #743.
1104 kes Correct the Options scanner in the FD to correctly handle
1105 SHA1 option, which was eating the next option. Reported by
1107 kes Add code to indicate when the SD is spooling, spool wait, and
1108 despooling as requested by Alan Brown.
1110 Version 2.0.0 released: 4 January 2007