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