1 Technical notes on version 2.3
5 kes Apply patch from bug #1049 to prevent stripping the path on a
7 kes Attempt to fix bug #1047 where stripping a path corrupts the
8 heap. Waiting for feedback.
9 kes Correct the Mount message not to suggest labeling a new tape
10 when doing a restore. Submitted by email by John Stoffel.
11 kes Attempt to work around gcc FORTIFY_SOURCE bug that crashes the
12 FD by using casting. Reported in bug #1042.
14 kes A bit of crypto cleanup. More later.
16 kes Apply patch from Martin to correct bug #1040, bscan sets existing
18 kes Fixed important spelling error in doc -- bug #1045.
20 ebl Fix bextract to be able to extract non-portable Win32 data to
22 kes Move initialization of read/write res lock earlier in the code.
23 This fixes the crash with a null conf file. This fixes bug
25 kes Redefine CURES in lib/parse_conf to be URES and move it all
26 into lib/parse_conf.c -- this responds to bug #1042, but does
27 not fix it. The fix is not to compile with FORTIFY_SOURCE.
28 kes Backport to 2.2.8 fix de-referencing a NULL pointer in the scanner from
29 the trunk SVN. I don't think this was reported as a bug.
31 ebl Fix a bug during tape initialization with MTSETDRVBUFFER.
33 kes Fix Win32 build with new .def files and DLL_IMP_EXP ...
35 kes Add DataDespooling and DataCommitting status (committing is
37 kes Finish implementation of new reservations code noted below.
39 kes Fix bsnprintf for float point numbers. I broke recently when
40 parameterizing some variables. This fixes bug #1036.
41 kes Undo recent reservations changes ... will apply them later
42 when they work better.
44 ebl Fixes #1034 which cause mysql to hang the connection after 8h
45 ebl Change default statistics target of filename.name and path.path
46 fields for PostgreSQL. This speeds lookup by indexes. Thanks
48 kes A few more tweaks to new reservation code. Make sure to clear
49 vol released flag when retaking volume. When reading label and
50 label is bad mark volume unused. When recycling, mark volume
51 unused so it can be renamed.
53 kes Fix reserve_volume() so it doesn't release a volume in use
54 (i.e. a volume entry not marked released). This should be
55 the last part needed to fix bug #1018.
57 kes Move Heartbeat documentation from Job to Director resource.
60 kes Fix existing switch drive SD code to call autochanger to release
61 any old volume. This must be done to keep the autochanger from
62 releasing subsequently newly reserved volumes in doing a close().
63 This should fix bug #1018.
64 kes Fail if attempting to get console input in batch mode. This
65 should help fail RunScript console commands that are incomplete.
66 kes First cut implementing switch_drive() in SD (not actually called).
68 kes Implement first cut running console commands in a RunScript.
70 ebl Fixes bug #1028 where "Selection Type" option was not usable
72 ebl Fixes bug #897 and bug #1005 where bacula doesn't display runscript
77 kes Add new free_tls() entry point so that Win32 builds.
78 kes Fix compile warning in src/lib/util.c
79 kes Fix entry point for edit_job_codes() so that Win32 builds.
80 kes Fix seg fault Frank Sweetser reports in regression testing
81 on his systems. The problem was that the original author of
82 bsnprintf.c did not take into account the side effects of
83 using ++x in the argument to a #define.
84 kes Make SD protocol backward compatible with version 2.2.x.
86 ebl Fixes bug #1015 where bacula failed to restore acl to a socket
87 because Bacula no longer restores sockets.
88 ebl Always use ignorecase fileset option on win32 FD.
90 kes Apply patch from Michael Stapelberg <michael@stapelberg.de>
91 that implements double quoting include names in conf files,
92 and also allows piping input by having the first character
93 be a vertical bar (|).
94 kes Apply patch from Bastian Friedrich <bastian.friedrich@collax.com>
95 that implement %f in RunScripts to pass the FileSet name.
96 kes Skip leading | when lex input comes from a pipe as suggested
97 by Michael Stapelberg <michael@stapelberg.de>.
99 kes Apply patch for bsmtp Win32 daylight savings time fix supplied by
100 Nerijus Baliunas <nerijus@users.sourceforge.net>
102 kes Implement Plugin Directory and plugin events.
104 kes Implement a security enhancement: TLS authentication but no
105 encryption. Enabled by setting 'TLS Authentication = yes'.
106 Note when this is on, TLS encryption is turned OFF!
108 kes This patch corrects a problem where the maximum concurrent storage
109 jobs counter gets out of sync during restore jobs causing jobs to
110 'wait on max Storage jobs'. This patch fixes bug #1009.
112 kes This patch fixes bcopy so that it produces correct Volumes.
114 kes This patch eliminates spurious output to the console during a VerifyVolume
115 job that contains encrypted data. It fixes bug #1024.
117 kes This patch prevents the 'status dir' command from trying to use a scratch
118 volume and possibly moving it from one pool to another. This patch fixes
121 kes Add new include to postgresql.c suggested by Marc Cousins so
122 that it compiles correctly with pgre version 8.3.
124 kes Fix --archivedir addition to configure. Replace it with
125 --with-archivedir in configure.in This fixes the regression
127 kes This patch fixes bug #1012 where the job is canceled because
128 of Max Run Time exceeded when the job has not yet started.
130 ebl Apply Richard Mortimer patch that fixes #1016 when there are more than
131 one 'part' to write. Instead of each part being stored on disk,
132 written to DVD, then deleted from disk, all parts are written to disk,
133 and only the last is written and deleted from disk.
134 kes This patch fixes the status command to include the formating string for
135 JS_AttrInsterting. It fixes bug #1021.
136 kes This patch should fix the Mac OS X build problem on the latest
137 Darwin, where sys/types.h was not included correctly (apparently
138 due to a change in the Mac headers). The solution was to explicitly
139 ensure that it is defined for the ./configure.
140 This patch also has a rebuild of configure that includes the Debian
141 qt4 patch to check for qmake-qt4. This patch fixes bug #1020.
142 kes This patch should ensure that queued messages to the console are
143 displayed as soon as possible. It should fix bug 1007, but has been
144 reported not to work.
146 kes This patch fixes the infinite loop when trying to increase the
147 maximum number of volumes in a Pool during the add command.
148 This patch fixes bug #1008.
150 Release Version 2.2.6
152 db Remove extra data on estimate command in joblist for bat.
154 kes Cleanup of code in SD that sets the LastWritten date. This doesn't
155 really change anything, but is the beginning of doing it *right*.
156 To do it completely right the LastWritten date must be passed to
157 the SD, but it is not yet done.
158 kes Minor tweaks to some bat restore SQL.
159 kes This patch fixes bug #1003 where putting the message output from
160 a Verify job into the catalog results in a recursive loop. The problem
161 seems to show up only with postgresql (to be verified).
162 kes Correct %x to %p in postgresql debug statement.
164 kes Fix bug #942 where lots of emails where generated when the heartbeat
165 interval was low and Bacula wanted a different tape from the one in
168 ebl Add new SD despooling attributes and Dir inserting attributes
169 job status codes in the catalog (Status table).
171 ebl Use qmake-qt4 instead of qmake when available (debian system).
173 kes Add a security warning to src/cats/make_catalog_backup.in indicating
174 that passing the password via the command line (arg 3) is insecure.
175 This responds to bug #990 (it doesn't fix it).
177 kes Set default debug_level to zero. This corrects bugs #991 and #993.
178 kes Fix a crash in bat when it cannot connect to the Director for example
179 if the Director is not running.
180 kes Remove redundant INDEX (JobId) from File table in the trunk.
182 kes Make explicit exception to GPL in LICENSE to permit linking
183 the Win32 FD with Microsoft VSS code.
184 kes Apply the Solaris package patch from
185 Masopust, Christian <christian.masopust@siemens.com>
186 kes Apply the patch to optionally add a timestamp in the debug output
187 submitted by Mariusz Czulada <manieq@wp.eu>.
189 ebl Use PQerrorMessage instead of PQresultErrorMessage in postgresql
190 backend (sql_strerror). Fixes bug #989
192 kes Apply Michael Short's <mdshort@gmail.com> Win32 regress patch.
193 It applied with no problems.
194 kes Add PATH command to SunOS part of mtx-changer.in so that sed and
196 kes Redirect stderror to stdin on mt status command in mtx-changer.in
197 since the status is returned on stderr on Solaris.
198 kes Activate Close button on tray-monitor window. This fixes
200 kes Check for NULL item in parse_conf.c before calling it. In the
201 case of Device, there is no item and this caused a seg fault when
202 Device appears in the conf file.
203 kes Add a #define __CONFIG_H when including config.h in bacula.h. This
204 avoids pulling in config.h multiple times in some new code.
206 kes Fix spurious warning message printed when creating a volume with
207 a LabelFormat. This fixes bug #976.
209 Release Version 2.2.5
211 kes Add JobId in place of Job name in all the Jmsg() output.
212 kes Correct the APP_DESC for the Win32 storage service (remove an e).
214 kes Make maxvol-test and new more strict maxvol2-test work.
215 kes Print JobId in all Jmsg() job output.
217 kes Add new SD despooling attributes and Dir inserting attributes
218 job status codes. This fixes bug 961.
219 kes Fix Win32 drive display in bat version browser. Fixes bug #962.
221 kes Fix doc issue. This fixes bug #963.
222 kes Fix listing performance problems in bat. Pointed out by
224 kes Remove old debug code.
225 kes Fix bat code that tests for Win32. This should fix bug #968
226 kes Query 5 list wrong Vol after migration. This fixes bug #960
228 ebl Fix #969 where user can't change Replace option in restore menu.
230 kes Save jcr in thread specific data (tsd) for each thread.
231 kes Make Dmsg() print JobId as -%u.
232 kes Make Jmsg, Emsg, and others automatically pickup the jobid
233 for the thread if it exists.
234 kes Remove old reservation debug jid code.
235 kes Remove get_jcr_from_tid() from OpenSSL and tls code.
236 ebl Add an option that permit to specify spool size in job
237 definition. (Applying patches/testing/spoolsize_per_job.patch).
238 You must upgrade SD and DIR at the same time.
239 dvl Add new configuration item --archivedir
240 dvl Adjust regression tests to use tmp not /tmp. This will allow
241 multiple concurrent runs of the regression tests.
243 kes Fix race condition that drops final block written to volume.
244 This happens in rare cases with multiple simultaneous jobs
245 when the Volume fills. This fixes bug #964. May be related
246 to bug #935 and possibly #903.
247 kes Eliminate more strerror() and replace with bstrerror().
248 kes Remove BSD getopt and replace with unrestricted IBM version.
249 kes Fix Win32 build for changed calling sequences.
250 kes More tweaks to the mount volume routines to get everything
251 right. Changed variable name from find to have_vol, which is
252 much easier to understand.
253 kes Enhance btimer debug code.
255 kes Fix FD->SD authorization failure, which was due to spurious
256 wakeups from a pthread_cond_timedwait(). Simply check the
257 predicate before continuing. This fixes bug #953.
258 kes Add const char where needed (more to do). Remove temp debug code.
260 kes Setup SQLite busy handler before doing queries. Fixes bug #967.
261 kes Don't overwrite error message in check_tables_version.
263 kes Unlock batch insert tables with same calls used elsewhere.
264 kes Allow starting 59 jobs a second.
265 kes Make SD session key more random.
266 kes Add retry for SQLite opening db if it fails. Probably helps
268 kes Suppress extra error messages during batch insert failure.
270 kes Add jcr to timer packets so if killed message can be sent to job.
271 kes Add JobId to all Dmsg() output.
272 kes Put some FD auth code on dbglvl rather than fixed.
273 kes Return insert attributes error message in db msg buffer to avoid
274 false error messages. Helps fix bug #966.
275 kes Separate batch init error messages. Probably helps fix bug #966.
276 kes Make SD code that contructs attribute insert check string lengths
278 kes If Dir gets an error during inserting attributes, cancel SD.
279 This reduces unnecessary error messages.
281 kes Correct search boolean for getting Volume info
282 ebl Cleanup batch insert code. Probably fixes bug #965.
283 kes Back out one small change to the reservation system (reserving a volume).
284 kes Rework how a Volume is mounted. It is now much more intelligent and
285 will always attempt to use any mounted volume if possible and reduces
286 calls to the Director asking about volumes.
288 kes Turn off some code when batch insert not enabled.
289 kes Edit FD name in connect error messages.
290 kes Rework the reservation system to take into account that the Director
291 might give us a Volume that is different from the current one being
292 used, and to ensure that we don't exceed Maximum Volume Jobs.
293 This fixes (mostly) bug #947 ' Maximum Volume Jobs = 1 produces
294 fatal error with multiple jobs running'
295 kes Add more debug code in reservation system.
296 kes Implement maxvol-test to check bug #947.
298 kes Add code to handle tray monitor separated from Win32 FD.
299 kes Fix display of Win32 tray monitor after reboot. Fixes bug #952.
301 kes Add missed return in fixing verify bug -- trunk only.
302 ebl Fix a command parser issue causing a director segfault.
303 kes Fix ANSI tape labeling. Fix restoring ANSI labeled Volumes.
305 kes Increase the max block size to 4MB fixes bug #957.
306 kes ERABT if user sets min block size > max block size. Fixes bug #956.
307 kes Apply 2.2.4-poll-mount fix, that resolves bug #908 where a tape
308 is not properly mounted (recognized) during a poll.
309 kes Apply 2.2.4-verify patch that resolves bug #958. A Verify catalog
310 Job that has differences reports Verify OK.
311 ebl Fixes #955 bug seg fault in Dir introduced with regexwhere relocation.
313 ebl Add an option to operate on all pools with update vol parameters.
314 This complete the project 20. Patch from Nigel Stepp.
315 ebl Add history support to bconsole when using readline.
316 Using Ctrl-D to exit doesn't update .bconsole_history
317 kes Modify new volume algorithm to use max MediaId for generating next
318 volume number rather than the count of Volumes. This should essentially
319 eliminate the failure rate if some volumes were deleted. Bug #921.
320 kes Begin implemention of Optimize Job Scheduling.
321 kes Implement restore callback that Dirk and I agreed on for bat
322 restore. This fixes bug #928. Restore of backup of zero files fails.
323 kes Fix SQL Catalog logging which broke with new db_escape_string
326 Release Version 2.2.4
328 kes Fix bacula_cats.def for new db_escape_string().
329 kes Increase size of name string when FD making connection to SD.
330 May fix bug #953. FD->SD connection failure.
332 kes Add code to help Dan debug 2drive-incremental-2disk test.
333 kes Add code to try to fix bug #908.
334 kes Add waits to multiple exit detection code to try to force pid
335 file to always be deleted.
336 kes Restore good dev.tar.gz to rescue set appropriate binary property.
338 kes Fix seg fault in error exit of acquire_for_read after unsuccessfully
339 trying to switch drives by checking for blocking before unblocking.
341 kes Cancel storage daemon in all cases where FD reports error. This
342 should fix virtually all cases of bug #920.
343 kes Fix db_escape_string() for MySQL which did not compile.
345 kes Fix error message that was clobbered when Dir tells SD it does not
346 have write permission on Volume. This should fix a minor point
347 in bug #942, but not the main problem.
348 kes Add code to cancel job in SD if FD connection fails. This should
350 kes Add code in FD exit to prevent loops and a crash on FreeBSD.
351 dvl Pass jcr and db into db_escape_string() to enable better escaping
353 kes Fix migration code to get correct Volume name with multiple volumes
354 by skipping |. Fixes bug #936.
355 kes Implement patch supplied by Landon to fix bug #944 where using
356 TLS with bconsole uses 99+% of the CPU.
357 kes Note, you need GTK >= 2.10 to be able to link the Tray Monitor
359 kes Move patches into patches directory.
361 ebl Fix bug #946 about 'bacula-dir -t' which doesn't works
364 ebl Using 'm' in bconsole will show messages like before,
365 and not memory usage.
366 kes Fix bug #935, and probably also bug #903 where files were not
367 restored. MediaId was not properly set in JobMedia record after
370 kes Suppress chown and chmod error messages if the FD is not running
373 kes Apply Martin Simmons' patch that should turn off the new API usage
374 when batch insert is turned off allowing building on older
376 kes Add ./configure search in qwt-qt4 for qwt package
378 kes Bacula is now free of 3rd party GPL copyrighted code!
380 kes Add guid_to_name.c/h which replace idcache.
381 kes Remove enh_fnmatch.c. Make code that references it use fnmatch.c
383 ebl Detect if new PosgreSQL batch insert API is present.
384 kes Correct incorrect mempool call causing Director crash. Occurs on
385 systems without va_copy().
386 sb Update spec files for 2.2.1 release
388 kes Fix memory pool call in ua_output.c. bug #934.
389 kes Replace fnmatch.c and fnmatch.h by modified BSD versions.
390 Add test program to fnmatch.c
392 kes Integrate patch to README.vc8 from
393 Hederer Jean-Sébastien <hedererjs@asperience.fr, had to manually
394 edit it to get it into Unix patch format.
395 kes Implement mkpath.c to replace old FSF makepath.c
397 kes Implement savecwd.h and savecwd.c. Remove FSF versions.
399 Release Version 2.2.1
401 kes Update POTFILES.in
402 kes Cleanup a few underquoted AC_DEFUNs in configure
403 kes Apply patch from Martin Simmons that adds a test for va_copy to
406 kes Fix bug #921 by increasing the number of tries to create a new volume
408 kes Rework bmsg in ua_output to use va_copy() so that bvsnprintf()
409 can be called multiple times. Implement a version for machines
410 without va_copy() that gets a big buffer.
412 kes Integrate more portable zone offset code into bsmtp.c
413 Submitted by Attila Fülöp.
415 kes Fix bad SD->FD return status reported by
416 (James Harper) <james.harper@bendigoit.com.au>
417 ebl Fix a bug in read_close_session which return random status
418 thanks to James Harper
420 kes Fix (hopefully) bug #930 by doing a db_escape_string() on file
421 and directory names during restore of single file/directories.
422 kes Add sanity checks to .sql command when string is empty. Hopefully
423 that will resolve Dirks Director crash.
425 kes Apply patch submitted by Martin Simmons that corrects a seg fault
426 in the bsmtp chat subroutine when debug is >= 10.
428 kes Fix Director crash when running bat SQL queries.
429 kes Add David's notes on Item 8: Copy pools.
431 kes Rework projects file to be current and ready for a vote.
432 kes Enhance lex scanner error message.
434 kes Tweak LICENSE file to mention BSD code.
435 kes Fix bat.pro.in so that it includes the OpenSSL libraries only
436 if specified on the ./configure.
437 kes Add first (not yet tested) cut of bcomm to the qt-console directory.
438 This class is intended to allow us to open a second bsock to the
439 Director while in the restore subdialog.
441 kes Fix configure to create bat Makefile before creating dependencies.
442 kes Eliminate the egg files from the tray-monitor. Use gtk calls.
443 kes Add a tooltip to the tray monitor.
444 dvl Set the Director's PID file before dropping privs. This fixes
447 kes Update AUTHORs file
448 kes Increase the default max concurrent jobs to 20 in FD and SD to
449 correspond with the default .conf files.
450 kes Rewrite the Win32 service routines. This eliminates the 3 copies
451 some different, of the same file created by RN when porting the
453 kes Rearrange some of the Win32 directories and the placement of the files
455 kes Set DEVELOPER flag in version.h
457 ========================================================================
458 Release Version 2.2.0
460 kes Apply a second doc patch from Marc.
461 kes Apply a doc patch from Marc Schiffbauer <marc@schiffbauer.net> that
462 improves the tips section that discusses how to setup multiple
465 kes Update bat README file.
466 kes Apply patch from Allan Black <Allan.Black@btconnect.com> that
467 corrects a typo in the Recycle status check in db_find_next_volume().
468 This will probably fix a number of annoying problems with multiple
470 kes Modify most of dird/msgchan.c to use bsock class calls rather than
471 bnet calls -- no functionality change.
473 kes Modify the Verify output to specify if files are missing on
474 the Volume(s) or disk. Fixes confusion in bug #916.
475 kes When more than one Volume is read in a migration job, the last
476 Volume bytes reported are from the last read volume rather than
477 the last written volume. Fixed. This fixes bug #910.
478 kes Fix display of Recycle flag after update volume=foo recycle=yes.
479 It previously printed New Recyle flag is: no. This fixes bug
482 kes Correct seg fault when switching tape drives during restore.
483 kes Commit uid_gid_name.c (replacement for idcache.c), but will not
484 be used until after 2.2.0 release.
486 kes Remove fnmatch() in SD that permitted wild card specifications.
489 kes Fix %g in filename returned by SQL for browse tree reported by
491 kes Fix configure so that it puts config.out in the cwd rather than
493 kes Attempt to fix the locking problem reported by Eric in bug #906.
494 kes Make berrno class to leave errno unchanged after constructor call.
495 kes Make bnet_server use the heap rather than the stack to allocate
496 its socket fd pointers to avoid a crash at termination. Problem
497 reported by Ryan Novosielski and bugs pointed out by Martin Simmons.
499 kes Create new depkgs and depkgs-qt separating the qwt out of depkgs
500 and putting it in depkgs-qt along with Qt4.3.
502 kes Rework code in acquire.c that switches drives for reading when
503 the Media Type does not match. This should fix bug #906
505 ebl Fix a director segfault during job setup #907
506 kes Correct seg fault in postgresql when first operation returns no
507 rows. Fixes Dirks File browser problem seg fault with bat.
509 kes Apply patch from Felix Schwarz <Felix.Schwarz@web.de> that allows
510 building wxconsole on Fedora 7 with wxWidgets 2.8 (it works with
513 kes Implement PopUp YES/NO dialog for bat.
515 ebl Fix a compilation bug when using #define BACL_WANT_NUMERIC_IDS
517 kes Correct RunScript to terminate job in FD on failure.
518 kes Change abort_on_error and AbortJobOnError to fail_on_error
519 and FailJobOnError in RunScripts.
520 kes Minor tweaks of code formating in RunScripts, principally to
521 avoid depassing 80 columns.
523 kes Eliminate one #ifdef Win32 in bsmtp
524 kes Implement grow tool to grow a file for testing very large databases.
525 kes Add big-vol-test to test Bacula seeking with > 5GB.
528 kes Modify find_next_volume() to return all values in Media record.
529 kes Ensure that we keep Recycle Pool when moving Scratch volumes.
533 kes Update Release notes
535 ebl fix a bug in get_scratch_volume() report by Andreas Helmcke
536 Warning, in previous beta version, all media get from scratch keep their
539 kes Tweaked Win32 installer to remove temp conf files at uninstall time.
540 This should fix bug #842. Made a note to look at removing the temp
541 files at the end of the install.
542 kes Add ability to mount and unmount a file device providing it is
543 marked as being removable and has the appropriate mount and unmount
544 commands defined in the Device resource. This fixes bug #830.
545 kes When applying a storage override, release all previous storage
546 definitions rather than just prepending the new storage.
547 This should prevent a good deal of confusion.
549 kes Implement ./configure search for qwt libraries.
551 kes Disable posting the WM_CLOSE message in KillRunningCopy of the
552 Win32 FD. This should fix bug #893.
553 kes Remove an unnecessary beep in Win32 init code.
554 kes Update copyright dates in Win32 executable about boxes.
555 kes Replace the FSF copyrighted getopt.c and getopt.h in the Win32
556 code with a BSD getopt.c and getopt.h.
557 kes Remove sched.h from the Win32 compat directory -- not used.
558 kes Remove the Exit menu item from the Win32 tray monitor. If you really
559 need to shut it down, do it through the services panel or the command
561 kes Remove some inappropriate Bacula FSFE copyrights.
562 ebl Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
563 kes Fix regress config non-portable test as pointed out by
564 Florian Heigl <florian.heigl@gmail.com>
565 kes Fix PSCMD for HP-UX in configure.in to have proper syntax.
566 as pointed out by Florian Heigl <florian.heigl@gmail.com>
568 kes Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
569 Reported by Frank Sweetser.
573 kes Fix client-only build.
574 kes Integrate client-only fixes for bsys (initgroups) and conio from
575 Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
576 kes Make arguments to get_scratch_volume() in same order as other
578 kes Rework the prune_volumes() subroutine so that after purging and
579 no volume found in desired pool, it will check for a scratch
580 volume. This prevents recycling the whole scratch pool.
581 kes Add code to status storage to print boffset_t (largefile support).
583 kes Move qwt (Graphics libarary for Qt4) to depkgs.
584 kes You now need a --with-qwt=<dir> to be able to build bat.
585 kes Update src/win32/cats/bacula_cats.def to include the new
586 db_get_query_dbids() call on Win32.
588 kes Correct a problem when selecting a scratch volume and moving
589 it to another pool that lost some columns.
590 kes Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
591 kes Enhance Autochanger error messages to include Volume and device name.
592 kes Rework prune_volumes() code to take account of InChanger flag,
593 and to handle recycling volumes going to the Scratch pool and
594 current pool because the RecyclePool directive.
595 kes Implement a better and more efficient db_get_query_dbids() to
596 handle creating and passing back a list of DBIds.
600 kes Start work on new more efficient DBId subroutine. First use
601 will be for recycling volume to Scratch inchanger.
602 kes Increase number of JobIds in pruning from 1000 to 10000.
603 This to be replaced by above routine.
604 kes Begin implementation of building Qt4 on Win32.
605 kes Correct typo in fix I added for bad TLS shutdown.
606 kes Pull 2.0.3 patches into patches directory.
607 kes Update Release notes. Include qt-console in line count.
608 kes Update Projects file.
610 kes Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes
611 bug in migration code where a job that spanned two volumes
614 kes Implement new BST_DESPOOLING blocked state. Change from locking
615 during despooling in SD to blocking. This means that other threads
616 can work with the device structure, in particular the reservations
617 system while despooling.
619 kes Fix return in reservation message queue that missed clearing
620 the jcr lock (implemented 26Jun07 below).
621 kes Rename a number of dev methods to make locking function names
623 kes Document locking in lock.c. Move lock structures to new file
626 kes Move reservations message lock to lock jcr only this
628 kes Move main SD locking code into lock.c (new file).
629 kes Update Win32 build to include lock.c
633 kes Dirk committed the qwt library code for drawing graphs in bat.
634 kes Tweak install of qwt so that it is integrated with ./configure.
636 kes Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
637 out by Eric (my typo).
638 ebl Fix configure.in to get batch mode enable
639 kes Return correct string from authenticate.cpp in bat when connecting
641 kes Apply patch suggested by Frank Sweetser to fix bug #888 --
642 spurious line drops when using TLS.
643 kes Do not file reparse points when restoring a file that already
646 kes Implement Windows reparse points -- similar to directories, but
647 we do not descend into it. This is a first cut. They seem to
648 be backed up, but restore is not yet tested.
649 kes Remove restore_blocking in tls code when shutting a socket to leave
650 it in blocking mode. Hopefully this will fix the encryption bug
651 reported by Frank Sweetser.
652 kes When opening a file for backup, tell the OS that we are going to
653 read it sequentially -- optimization.
654 kes Change variable names in authenticate_director() to not conflict
655 with member names in bat. Caused great confusion with compiler,
658 kes Queue openssl error messages in case of comm problem.
659 kes Do shutdown() call if socket terminated.
660 kes Remove some duplicated code in tls.c
661 kes Move more of the bsock member variables into private and access
663 kes Add Frank Sweetser's tls-test to the regression suite.
665 kes Add Swedish sv.po file
667 kes Don't print clock skew message in FD if less than 3 seconds diff.
668 kes Add a bit of VSS info to status client.
669 kes Implement a first cut of Vista VSS, using Win2003 code.
673 kes Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
674 loaded tape but uses first drive).
675 kes Fixed bug #807 Restore encrypted backup failed on Windows 2003
676 This was indeed a Win32 issue.
678 kes Simplify search of autochanger for in-use Volume.
679 kes Fix exit condition of check for in-use volume. kes Remove
680 inappropriate my_postgresql_free_result() in db_close()
682 kes Fix bad return in FD when encryption signature not found.
683 Probably caused a crash.
684 kes Inhibit missing encryption signature error messages for
685 file types where no signature computed.
686 kes Correct inverted check on autochanger in reservation system.
687 kes Tweak debug code in autochanger reservation.
689 kes Add some additional locking in the cats directory in subroutines
690 that modify packet variables called from batch insert.
691 kes Rework how dcrs are allocated. new_dcr() can now be called
692 with an existing pointer, and it will simply clean it up.
693 This allows the reservation system to test various different
694 devices, and will permit easy device changes.
695 kes A bunch of changes all over to handle new new_dcr() calling
697 kes Work more on the Volume management in the SD. Remember Volumes
698 for tape drives and for autochangers (even virtual disk changers).
699 kes When looking at the Volume list to reserve a drive, handle
700 autochanger names correctly by interating through the changer
701 devices. Also call the Director to see if a Volume is suitable
703 kes Fix some bugs in bscan. Make sure all media records are written.
704 Make sure that valid JobMedia records are written for disk files.
705 Previously they were completely wrong.
706 kes Move source tar files for depkgs-mingw32 to www.bacula.org so
707 that the URLs don't change and so that the developers will all
708 work off the same copy. Rebuild from scrach.
709 kes Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
713 kes Fix seg fault in FD from incorrect digest size.
714 kes Fix argument to non-OpenSSL crypto.c subroutine.
718 kes Remove a few malloc()s from the encryption code.
719 kes Use the class calls to bsock in filed/backup.c and restore.c in
720 place of the old bnet_xxx code.
721 kes Implement code that does an on the fly calculation of the
722 signing digest during restore of encrypted files. It makes
723 a best guess at the algorithm, and if it is not correct, will
724 then revert to the old code which reads the file after it is
726 kes Implement at least one missing crypto stream in stream_to_ascii()
727 kes Apply patch from William <chowmeined@gmail.com> that fixes bug
728 #877 where a reload with bad syntax causes Dir to exit.
730 Cut: 2.1.14 beta (not released)
732 kes Do not free a volume on a tape drive until another volume is
733 mounted and read, or the autochanger unloads the volume.
734 This should help the SD re-use volumes that are already mounted,
735 and should fix bug #886.
736 kes Apply patch from user brettedgar that allows gnome2-console include
737 the OpenSSL libraries, and hence work with SSL. Fixes bug #885.
738 kes Apply patch from Lucien Weller that fixes day of week calculation
739 because of DST flag problem. Fixes bug #887.
741 kes Move find_next_appendable_volume() to after acquiring a valid device
742 in reserve.c. This fixes bug #864 -- confirmed by reporter.
744 kes Unable to reproduce bug 872. However added additional testing for
746 kes Bug #874 resolved by documenting SQLite limitations.
747 kes Bug #882 resolved by documenting mtx-changer script for new drive code.
748 kes Bug #881 resolved by removing typo in mtx-changer script.
749 kes Made Frank Sweetser's wiki the official Bacula wiki with his
750 approval. Added a link to the wiki on the web page, and implemented
751 a backup from http://paramount.ind.wpi.edu
753 kes Fix update allfrompool to pass pool name.
755 kes Convert to pure GPL v2 license.
756 kes Fix sscanf problems reported by Peter Buschman that caused
757 a bus error on Solaris.
758 kes Rework (simplify) the select prompt in bat.
759 kes Move get_jobid_from_tid() into lib and create a
761 kes Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg(). This
762 should definitely fix the problem of lost error messages in the
764 kes Remove over zellous addition of FSFE copyright in a few eggxxx files.
765 kes Eliminate tcpd.h from the project. Enclose the #include from the
766 library with extern C ...
767 kes Add print of signal name when a signal is trapped.
771 kes Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
773 kes Implement SQLITE3_INIT_QUERY in version.h that can do an initial
774 query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
775 makes SQLit3 run 30 times faster, though a bit less safe.
776 kes Implement --with-batch-insert in configure and detection of thread
777 safe libraries. It is on by default, but turned off if no thread
778 safe library (e.g. SQLite 2) is available.
780 kes Fix Bacula PostgreSQL buffer overruns.
781 kes Do better checking for NULL results returned from PostgreSQL;
782 implement retry for failed queries; clear results buffer after
783 failed query. Hopefully this will correct the PostgreSQL failures.
785 kes Implement algorithm to handle only one appendable volume with
786 Prefer Mounted Volumes = no.
787 kes Fix a Bacula PostgreSQL bug dereferencing a NULL pointer
788 returned from a query.
789 kes Make volume lock recursive.
790 kes Implement an additional volume reservation algorithm that
791 starts by considering all reserved volumes then uses the
792 old brute force algorithm of searching the resources to
793 find a suitable device.
794 kes Add new reservations debug code and refine the old code.
795 kes Update the win32/dll/bacula.defs file.
797 kes Tweak reservations algorithm to permit a few more cases, i.e.
798 volume reserved, but on different drive, ...
799 kes Enhance SD status to include Pool and Media Type for drive in a
800 more readable format (a bit longer).
801 kes Fix PostgreSQL double free.
803 kes Minor refactoring of restore decryption code.
804 kes Add code to smartall.c to detect double free of a buffer.
806 kes Add < > around %r in from field on mail command of bacula-dir.conf.in
807 so that bsmtp will create a correct email address (mailbox only).
808 kes Modify 'memory' command so that the buffers are listed as 'In use'
809 to avoid confusion with Orphaned buffers.
810 kes I reworked the OpenSSL include/lib flags to be handled in
811 the standard Bacula way, which should fix bug #863 concerning
812 non-standard OpenSSL libraries.
814 kes Implement Help Browser window for bat.
815 kes Fix reload bug that reset StorageId to zero.
817 kes Fix TLS #ifdefing when TLS turned off.
818 kes Ensure that when labelling a tape with Slot=0 that InChanger
820 kes Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query
822 kes Add StartTime to final uar_sel_jobid_temp query so that we can
823 add DISTINCT (required by PostgreSQL).
824 kes Implement BSOCK authenticate_director() method. Eventually will
825 authenicate all daemons.
826 kes Move several more functions into the BSOCK class.
828 kes Add code to tell the OS that we no longer need a cached
829 file that we were reading. In findlib/bfile.c. Also,
830 only cache files that we are reading. Thanks to
831 Tobias Oetiker <tobi@oetiker.ch> for the idea.
832 kes Tweak to bsmtp to eliminate compiler warnings on Win32.
833 kes Implement script to automatically generate cats and dll .def
835 kes Update README.mingw32 to include new .def file generation.
836 kes Correct typo in UTF-8 error message as reported by:
837 jhernandez <julianhernandez@gmail.com>
838 kes Add additional sm_check() code on debug level 1.
839 kes Set default debug level to 1.
840 kes Trap SIGABRT in attempt to get traceback.
842 kes Reduce bat connect timeout from 30 to 15 seconds.
843 kes More restructuring and implementing BSOCK class in place of
845 kes Remove a few unnecessary malloc() tests in crypto code.
846 kes Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
847 not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
848 kes Remove duplicate HAVE_CRYPTO definition in config.h.in
850 kes Fix Verify InitCatalog mysql_escape_string() trashing memory.
852 kes Fix Verify InitCatalog. The attributes were not pointing to the
853 correct saved location.
854 kes Implement message callback so that GUI is sure to get all
855 daemon messages. Currently displayed in a dialog in bat.
856 kes Ignore SIGUSR2 (Bacula timer) in bat.
857 kes Apply regress patch from bug #859 to allow regress to work
858 with Solaris compiler.
860 kes Begin adding TLS support to bat.
861 kes Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
862 clean up lex.c and make it more readable.
864 kes Move more bnet functions into the BSOCK class.
865 kes Fix tray-monitor by not requiring a timer interval in bnet_connect()
866 kes Complete change of berrno strerror() method to bstrerror()
870 kes Cleanup incorrect email addresses in bsmtp.
871 kes Make bat display initial messages rather than discard them.
873 kes First cut of adding .mod to the run command.
874 kes Implement auto display of messages in bat.
875 kes Enhanced preferences to allow all Bacula output to be
878 kes Try to make bsmtp date routines more generic.
879 kes Fixed bug #856 autochanger documentation.
880 kes Rework bsmtp date editing for Win32. This fixes bug #854.
881 kes Add new cats entry point so Win32 builds.
883 kes Attempt to fix bsmtp date editing on OSes without %z editing.
885 kes Do better checking for the MySQL 64 bit libraries looking for both
886 .a and .so libraries.
887 kes Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
888 /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
889 kes Require the thread safe version of MySQL during configure. Thanks
890 to Andre Noll for pointing this out.
891 kes Ensure that calls to find_jobids_from_mediaid_list() check count before
892 continuing in migration code.
893 kes Apply implementation of tray-monitor font derived from gnome-console
894 submitted by Andreas Piesk <a.piesk@gmx.net>
896 kes Eliminate important memory loss in SQLite
897 kes Fixed the batch insert MySQL thread specific data that was not
898 being freed. See cats/mysql.c:db_thread_cleanup().
899 kes Fix restore before command.
900 kes Convert old hdr.name to name() in a few places.
901 kes Implement update jobid command.
902 kes Return all time_t dates in db_get_job_record()
903 kes Stop watchdog in SD earlier.
904 kes Put Pool just after Storage in please mount message.
905 kes Fix pointer usage bugs in Verify InitCatalog pointed out by
908 kes Update the po files.
909 kes Fix Verify InitCatalog by making it cache attributes.
911 kes Change name bacula-bat to bat for man 1 page to correspond to
913 kes Check for client and store NULL pointers in status command. This
915 kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
916 kes Fix sign extended editing of %p.
917 kes Clean out a little old #ifdefing in cats/mysql.c
919 kes If time diff between DIR and FD is more than 600 seconds convert
920 INFO message to WARNING.
921 kes Implement heap size display in status for all daemons.
922 kes Attempt to fix MySQL db open memory loss (not successfull).
923 kes Don't set SIGKILL and SIGSTOP neither can be trapped.
924 kes Eliminate memory loss in MySQL (possibly other SQLs) during
925 Query. This looks like a MySQL but but by doing extra releases,
926 the memory goes away. This should fix bug #847.
928 kes When backup fails, cancel SD before waiting for sd termination.
929 kes If SD is waiting for FD to connect during cancel, wake up the
931 kes Fix fsf code so that errno is correctly reported.
932 kes Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
934 kes Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
935 so that Bacula doesn't later stumble into a seg fault.
936 kes Use the term Restore Client in the restore Job report.
937 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves
938 the original job's FileSetId.
939 kes Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
940 spooling in migration jobs. Not yet tested.
941 kes Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
942 reading conf file from a pipe. However, do it with open_bpipe()
943 rather than popen. Not yet tested.
945 kes Fix an ugly bug where the VolCatBytes were getting updated
947 kes Implement bconsole memory command that prints current memory
948 usage, plus smartalloc dump.
949 kes Clarify some error messages in backup, admin, and migrate.
950 kes Shrink label dialog to smaller size.
951 kes Invert Cancel OK buttons on restore to be OK Cancel.
952 kes More strerror() to bstrerror() conversions.
954 kes Start implementing bstrerror() in place of strerror().
955 kes Stripping path -- seems to work.
957 kes Prevent door and port files from being restored (mostly
959 kes Free an unreleased buffer in compat code.
960 kes Change console Job name from *Console* to -Console- to eliminate
961 Win32 filename problems. Put Win32 path separator when creating
962 Console file. This fixes bug #846.
963 kes Change berrno::strerror() to berrno::bstrerror(). Not yet full
965 kes Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
967 kes Define b_errno_win32 on Linux to be zero so that it can be or'ed in
968 to force Win32 error message.
970 kes First cut strip path. The data should be passed to the FD,
971 but nothing is done with it yet.
972 kes Enhance the digest and signature routines in the crypto
973 library to accept a JCR and to use it to print error messages
974 so that they will go in the Job report rather than the daemon's
976 kes Simplify some of the verify signature code.
977 kes Simplify a few of the alternative returns in the signature
980 ebl Use only POSIX regex instead of GNU regex in breg.c for
981 File relocation. It fix broken freebsd compilation.
982 kes Convert all other Dir files to use new ua class message
984 kes Tentative fix for missing digest signature in bug 807.
985 kes Correct handle problem in new win32_ftruncate routine.
986 kes Convert ua_purge.c and ua_update.c to use new ua class
987 message routines for bat.
989 kes Correct incorrect installation of LICENSE in Win32 installer.
990 kes Display LICENSE at the beginning of the Win32 install.
991 kes Attempt to correct the need for the png files to be installed
993 kes Reapply my bat.conf install script in qt-console. I think I
994 editted bat.pro instead of bat.pro.in and it was lost.
995 kes Apply CentOS patches someone sent me. Checks for /var/run/subsys,
996 the /var/lock/subsys for subsysdir. Also corrects typos in the
999 kes First cut update job.
1000 kes Correct configure to include qmake of src/qt-console directory.
1002 kes Make restore job yes/mod/no print in one command so GUI works.
1003 kes First cut implementing backup and restore client.
1004 kes Correct editing in Verify output that caused a seg fault.
1006 kes Insure that bat.conf is not overwritten during installation.
1007 kes Fix important bug in db_sql_query() in mysql.c. It was introduced
1008 while I was implementing migration in March 2006 !
1010 ebl Cleanup file relocation, using char *RegexWhere instead of
1011 char *where + bool where_use_regexp
1012 kes Update some manpages and add bat manpage.
1013 kes Make a first cut at converting bacula.spec.in for bwx-console
1015 kes Apply patch from John Goerzen to add hostname as fourth argument
1016 to make_catalog_backup script.
1017 kes Fix typos I introduced into bsmtp.c
1018 kes Make pm_strxxx() routines handle input of NULL pointer. This
1019 is to protect from NULL pointers returned from SQL databases.
1020 kes Correct typo in bacula-sd manpage as pointed out by John Goerzen.
1021 kes Add more debug to FIFO code -- fix fifo regression test.
1023 kes Implement posix_fadvise in FD, and for reading spool files in SD.
1024 kes Add thread timer to bnet_connect() to break from OS if wait time
1027 kes Update Win32 build to include new files, new symbols, and
1029 kes Implement socket level heartbeat (tcp_keepidle)
1030 ebl Commit File relocation patch
1031 kes Make bat have 'make install' target.
1032 kes Warn during install if old gnome-console binary found.
1033 kes Warn during install if old wx-console binary found.
1034 kes Add -8 option to bsmtp command line to add content type utf-8.
1035 Fixes bug #809. (Character coding problem in bsmtp).
1036 kes If < is found in target (from, to, cc) then do not enclose the
1037 target in < > in bsmtp. Fixes bug #772 (malformed address).
1038 kes When printing certain items in dbcheck, stop after 300000.
1039 Fixes bug #822. (dbcheck loops).
1040 kes Incorrect status in Dir after waiting for mount with poll set.
1043 kes Extend idea of Prefer Mounted Volumes to mean a volume about
1045 kes Print waiting to reserve a device every 5 mins.
1047 kes Don't call close_part in label.c if tape and relabel.
1048 kes Don't free volume if busy in close() -- should help with
1050 ebl Fix #824 RunScript bug (After script could be execute twice)
1051 Now, Before Script can use RunsOnSuccess and RunsOnFailure options
1052 By default (like before) RunsOnSuccess=true and RunsOnFailure=false
1053 Add a regression script to test RunScript
1055 kes Correct usage of MTIOCLRERR ioctl for clearing persistant errors
1058 kes The bgnome-console (gnome-console) and bwx-console (wx-console) are
1059 deprecated. No additional bugs will be fixed, and they will be dropped
1060 in a future release (probably 2.4.0).
1061 kes Change name of wx-console to bwx-console to make it more Bacula
1063 kes Change the name of gnome-console to bgnome-console to make it
1066 kes Some time in March, a Feature Request with patch from Jorj Bauer
1067 <jorj@seas.upenn.edu> was committed by Landon (with my approval).
1069 The ability for the director to validate a Client (FD) CN against
1070 an arbitrary set of patterns rather than the hostname, with
1071 A new 'TLS Allowed CN' set of directives which are implemented
1072 in the Client resource. Then pattern matching is used in place
1073 of hostname matching against the Certificate's CN. As an example, we
1074 have certificates which (a) use a local CA, and (b) have a CN of the
1076 kes Add new/changed entry points to Win32 build
1077 kes Create unaccepted-projects for projects that are not accepted.
1078 kes Simplify locking in the reservations system.
1079 kes Add more debug code in reservations.
1080 kes Make sure error condition on reserving a volume is handled correctly.
1081 kes Correct handling of volume_in_use.
1082 kes Correct handling of initializing a device.
1083 kes Move handling of broadcasting releasing a device into release_device().
1084 kes Correct attaching dcr to dev so that it is only done if device
1085 is properly initiated.
1087 kes Locking debug level tweaks in SD.
1088 kes Tweak new Volume code.
1090 kes Add exec external-command [wait-seconds] to bconsole. This
1091 executes the external-command. Note! normally external-command
1092 should be enclosed in double quotes.
1093 kes Turn the .die command on only if DEVELOPER is defined -- i.e.
1094 it should normally be off in a production system.
1096 kes Implement die command for SD so that we can force it to dump.
1097 kes Implement SD lock debug code.
1098 kes Implement new algorithm for keeping Volume list in SD. It
1099 is now owned by the device.
1101 kes Implement new code for freeing in use volumes that should
1102 resolve if not all, some of the problems of multiple drive
1103 tape conflicts described in bug 801.
1105 kes Fix gui/bacula-web/images files in svn.
1106 kes Turn on FreeBSD/OpenBSD code to set EOT model on tape.
1108 ebl Fix a bug in batch mode (in string escape)
1109 kes Correct migration prune SQL typo that crept in in a
1110 recent 2.1.x change.
1112 kes Move bnet_despool() into class in bsock.c
1113 kes Modify job report to include director name and Build OS.
1114 kes Move drop root privilege and check_catalog() before fork.
1115 kes Add update database scripts (version 9 to 10) to updatedb directory.
1117 ebl Check size and age of each file after its backup to see if
1118 it has changed during backup, if 'checkfilechanges' is set.
1119 The FD will do an extra check (stat(2)) after
1120 each file backup. mtime, ctime and size are compared with
1121 'before backup' information. If time or size mismatch, an
1122 error message will be generated. You must upgrade FD to use it.
1124 kes Make database name and user configurable
1125 --with-db-name=xxx --with-db-user=xxx
1126 kes Add back database type to message.c for debugging.
1128 kes Implement dir_sql() which issues an SQL query.
1129 kes Modify bat medialist to use dir_sql() and do some minor C++
1130 formatting as well as eliminating a number of pointers, simplifing
1133 kes Fix some of the mtx-changer grep commands for tape label readers.
1134 kes Convert a number of bsendmsg into the appropriate send/warning/error
1135 message class calls.
1136 kes Suppress the using database message in the .sql command.
1137 kes Correct an incorrect bnet_tls_client prototype -- patch from Martin.
1139 kes Add context menu for floating a window.
1140 kes Some minor cleanup and name changes in qt-console
1141 kes Add doing mt setblk 0 in Win32 mtx-changer.
1142 kes Apply Martin's bug fix to move definition of ENODATA for
1144 ebl Add a BUSY handler to sqlite to be able to use multi_db = 1 with
1145 sqlite2 and sqlite3.
1147 kes More pruning cleanup.
1148 kes Turn on wait_for_drive by default in mtx-changer.
1149 kes Turn on Batch insert code by default as it now passes regression.
1150 kes Add ./configure --enable-bat to enable building of Bat.
1151 No install yet though.
1153 kes Implement a new .sql command for bat.
1154 kes Implement code to turn off pruning in obtaining the next volume.
1155 Pruning is turned off for the status dir command, but turned on
1156 for SD requests and for the list nextvolume command.
1158 kes Correct Qmsg() that was not updated correctly when committing a
1159 previous change (probably the recent TLS patch).
1161 kes Write new subroutine is_volume_purged() that explicitly checks
1162 if the Volume is purged, and if so marks it as such. This should
1163 resolve problems reported about needing to mount twice to recycle
1165 kes Rewrite pruning algorithm to do more work in the SQL engine, and
1166 to pass a list of JobIds to be deleted to SQL. Also, minimize the
1167 amount of duplicated code.
1168 kes Do volume pruning only for the Media Type desired (reduces pruning time
1169 if multiple Media Types are in the same pool).
1170 kes Implement more detailed info in the Job report for the Bacula version
1172 kes Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
1174 ebl Add bbatch tool to bench database and insert mode.
1175 Fix sql quote stuff in batch mode
1176 Fix sql stuff for mysql
1178 kes Correct problems with am/pm scheduling. Fixes bug #808.
1179 kes Implement new prunning code that prunes up to 1000 jobs at
1180 the same time. The same technique can be applied to a number
1181 of other prune/purge subroutines.
1182 kes Add an insanity check when starting a new tape job to ensure
1183 that the tape position has not been changed. If so fail the
1185 kes Fix Win32 build for dlls to add the folllowing:
1186 src/lib/bsock.c -- new file with new entry points
1187 src/lib/dlist.c -- new entry points
1188 src/cats/sql_create.c -- new entry point
1189 src/cats/sql_cmds.c -- new DATA item exported
1191 ebl batch mode cleanup bscan-test is ok now.
1192 kes Implement SD code to check length of disk volume before appending.
1194 kes Correct return status on db_batch... routines.
1195 kes Add call to db_write_batch_file_records() to migration code.
1196 ebl Fix AfterJob timing
1197 kes Move the checking of the database in initializion of the Director
1198 to after we drop privileges. This avoids the need for both root
1199 and bacula access to the DB.
1200 kes Correct a misplaced variable definition in src/filed/backup.c
1201 kes Correct how the new batch insert db_create_attributes_record()
1202 uses the arguments. Caused a seg fault in bscan.
1203 kes Implement lock() and unlock() methods in DEVICE class.
1204 Implement block() and set_block(xx) methods in DEVICE class.
1205 kes Modify bnet_connect() so that it uses time() to check for the
1206 wait time expiring (on some OSes, some system calls may not
1207 return immediately).
1208 kes Modify Verify to obtain the previous JobId when it is actually
1209 running rather than at schedule time (as it was in 1.38.x).
1210 kes Fix src/job.c to handle MaxWaitTime correctly. This should
1212 kes When checking pid in pid file, continue running if the pid is
1213 the same as ours. This occurs on IRIX after a system crash.
1216 kes Extend new GUI API.
1217 kes Make the ua structure a class, and implement send_msg(),
1218 error_msg(), warning_msg(), and info_msg().
1220 kes Apply fix from for building wx-console on the Mac from
1222 kes Implement new select mechanism for GUI programs.
1223 kes Reorganize initialization of stackedWidgets in bat.
1225 kes Add updated nagios plugin supplied by Christian Masopust.
1227 kes More bat implementation.
1228 kes File migrate bug with Pool Occupancy using mediaid instead
1229 of jobids. Fixes bug #795.
1230 kes Fix orphaned buffers in filed backup and verify due to
1231 crypto buffers not freed during errors. Fixes bug #789.
1232 kes Extend new GUI api code to tree commands.
1233 kes Ensure that tree and dot commands check console ACLs.
1234 kes Permit marking directory with trailing slash.
1235 kes Allow 20 console connections (instead of only 10).
1237 kes Add smartctl call to bacula-sd.conf as an example of getting
1240 kes Modify jobq.c to let simultaneous restore jobs run. This may
1241 cause them to fail if they cannot get a drive.
1242 kes Add Client Connect Wait to Storage daemon to permit users to
1243 modify the time the SD waits for a FD connection.
1245 kes Correct virtual changer check which was backwards. This caused
1246 volumes to be unloaded into slots already occupied.
1248 kes Apply Command ACL filter to JobId list in restore command.
1249 kes Correct typeo in var.c patch.
1251 kes Don't let Bacula prune File or Job records for the current Job.
1252 kes Fix variable substitution pad + inc bug reported (with patch)
1255 kes Correct SQLite log table index as reported by Luca Berra.
1257 ebl fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
1259 kes Begin implementing new comm signals for API.
1260 kes Fix a few places in lib/message.c where the open fd may
1262 kes Continue implementing lib/bsock.c (real class). Make jcr,
1263 who, host, and port private. There are new methods to access
1264 them for non-class use. This required touching a number of files.
1266 kes Add LANG=C to autoconf/randpass so it works with languages other
1267 than English. Fixes bug #788.
1269 ebl Revert ClientRunBeforeJob to old position as in 1.38.X.
1271 You will not be able to generate Include/Exclude list any more.
1272 It will be fixed soon.
1273 If you want to use this, you can apply
1274 trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
1276 kes Restore of sockets created false error messages because Bacula
1277 no longer restores sockets, but the code was still trying to
1278 set the attributes on a non-existent file. Reported by a user.
1279 ebl finish RecyclePool feature
1280 Media will takes Pool.RecyclePool
1281 when moving from Scratch to a Pool or when user will do
1282 update volume=xxx frompool
1283 To use it, add RecyclePool = aPool to your Pool resource
1286 RecyclePool = Scratch
1290 kes Expand new BSOCK class adding signal() and new BNET signals.
1291 kes Begin enhancing the dot commands adding a new API function
1292 that returns more information and will make it easier
1293 to interface to the Director from a program.
1295 kes Make DEVICE fd private. Its new name is m_fd, and can be
1296 obtained with dev->fd() outside the class. This is the
1297 first of many DEVICE members to be made private.
1298 kes Implement Michael Renner's idea on having a virtual disk
1299 changer. I made some minor modifications (e.g. I did not
1300 implement the Virtual Changer directive, but simply set
1301 the Changer Command to an empty string.
1303 kes Implement a BSOCK send() method that writes the whole record
1304 in a single write() request rather than in two.
1305 ebl add update volume=xxx recyclepool=yyyy
1306 volume takes recyclepool from pool when using update volume=xxx from pool
1308 kes Fix encryption deblocking bug, which caused some restored files
1309 to be truncated. This fixes bug #763.
1310 kes Add FD event sequence order prepared by Eric -- for RunScripts.
1311 kes Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
1313 kes Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
1314 ebl Use btime_t instead of uint64_t in media patch.
1316 kes Optimize the use of the database a bit in the Status dir command.
1317 Only open it when needed, ensure that if any previous database
1318 was opened, it is closed.
1320 kes Correct VolCatBytes bug from media patch.
1321 kes Apply patch from bug #612 by Rudolf Cejka to speedup pruning
1322 in the case of orphaned records.
1323 kes Modify dbcheck to handle orphaned JobMedia, Path, Filename,
1324 and File records in 300K chunks to be more efficient. This
1325 idea came from Juan Luis Frances (if I remember right).
1326 kes Apply Eric's scratch patch that moves a purged Volume to
1327 the RecyclePool. Question: how is RecyclePool set? what
1328 happens to the ScratchPool?
1329 kes Apply Eric's media patch that collects read/write media
1330 times as well as byte counts. This patch requires a
1331 simultaneous upgrade of the DIR and SD. Note, there
1332 should be some way to turn off timing. I'm not sure
1333 times are in Bacula units.
1334 kes Apply Eric's batch-insert patch.
1336 kes Update projects list.
1338 kes Implement Include/Exclude file lists in FD as dlists using
1339 the new dlistString class. This permits efficiently having
1340 large include/exclude lists and completes project Item 25.
1341 kes Fix dird/ua_cmds.c so that a cancel command checks if the
1342 console is authorized to cancel the job. This fixes bug
1344 kes Modify SD so that the VolCatJobs medium record is updated
1345 at the beginning of a Job rather than the end. This
1346 fixes bug #775 where exceeding MaxVolJobs caused jobs
1348 kes Added a mutex around getting and setting Volume information
1349 so that multiple simultaneous jobs will single thread.
1351 Switch to using Subversion
1352 kes Remove src/pygtk-console/ from configure
1354 kes Delete src/lib/btree.c from win32 build, then add rblist.c
1355 plus the entrypoints.
1356 kes Apply patch supplied that corrects debug print
1357 in canceling jobs for max run time. Supplied as
1358 part of bug #621, which was previously fixed.
1360 kes Test on job_canceled() and sd_msg_thread_done inside
1361 loop starting the message thread to avoid a race condition.
1363 kes Remove rl_catch_signal from console.c as it conflicted
1364 with the header definition. Fixes bug #765.
1365 ebl Fixes bug #766 about RunsOnClient = Yes (case sensitive)
1367 kes Clarify some stored/acquire messages to indicate if the
1368 problem is with read or append.
1370 kes Fix memory leak with storage ids in cats/sql_get.c
1371 kes Terminate watchdog earlier to avoid reference to released
1372 memory -- reported by Jason Austin.
1373 kes Move closing the database from jobq.c to the director daemon
1374 termination routine. This fixes memory leaks for shadow jobs
1375 (i.e. migration jobs).
1376 kes Free up the unique jobid chain items in migrate.c. This fixes
1377 a memory leak problem.
1378 kes Convert some ugly looking for statements to use foreach_alist
1379 in findlib/find.c. This will facilitate converting the structures
1380 to use dlist (for large include/exclude lists).
1381 kes Fix a bug in the btree.c and btree.h routines, then rename them
1382 rblist and add them to be built in src/lib. Include some new
1383 methods written by Rudolf Cejka that make the code more readable
1384 (hides some of the ugly casting).
1385 kes Add set_next() and set_prev() methods which make the code much more
1386 readable. Also add a new dlistString class that facilitates storing
1387 strings in dlists. To be used in the large include/exclude lists.
1388 kes Make some trivial modifications to lib/tree.h that use rblist
1389 rather than dlist for storing the tree links. This was suggested
1390 by Rudolf Cejka. The result of this is that the restore tree now
1391 uses red-black binary trees rather than simple linked lists. This
1392 should give rather dramatic speed improvements for directories
1393 contining large numbers of directories/files (more than 10000).
1395 kes Fix maxruntime bug #621.
1397 ebl Implement the include JobID in spool file name project.
1398 kes Reorder projects file in order determined by Jan 2007 vote.
1399 kes Implement item #12 on project list -- quick release of FD by
1401 kes Fix open of SQLite3 db where user does not have write permission
1402 so that DIR does not crash. Fixes bug #761.
1404 kes Add back missing @ in Win32 Makefile.
1405 kes Change 'Device not configured to autolabel' from INFO
1407 kes Fix jobq.c to restart failed jobs when Reschedule Times = 0
1408 which should restart an indefinite # of times.
1409 kes Fix configure --help to print --with-mysql[=DIR]. Same for
1410 other DIR specifications.
1412 rn Fix msvc build problems. Fix bacula.dll exports for msvc build.
1413 Fix path quoting in SQLite scripts.
1414 Fix problems with SHGetFolderPath.
1416 kes Create patches/2.0.1-restart.patch. Fixes bug #755.
1418 kes Fix Job restart on error bug that promotes an Inc to a Full
1419 backup. This should fix bug #755.
1420 kes Add qt-console and first cut of code.
1424 kes Fix Bacula->Documentation link on Win32 to point to index.html
1425 instead of bacula.html. Fixed bug #750.
1426 kes Return JobId in db_get_job_record() when JobId==0. This should
1428 kes Do not release source pointers when restarting a failed job.
1430 kes Add dynamic dll entry point for SHGetFolderPath to Win32 code.
1431 This *should* fix bug #747.
1432 kes Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
1435 kes Modify USTORE constructor to set an empty store_source string,
1436 and don't copy the store_source string in a cancel. Hopefully
1437 this will fix Arno's seg fault, bug #744.
1438 kes Add back code to disable conio in configure. Fixes bug #743.
1439 kes Correct the Options scanner in the FD to correctly handle
1440 SHA1 option, which was eating the next option. Reported by
1442 kes Add code to indicate when the SD is spooling, spool wait, and
1443 despooling as requested by Alan Brown.
1445 Version 2.0.0 released: 4 January 2007