]> git.sur5r.net Git - bacula/bacula/blob - bacula/technotes-2.1
Add icons for the page selector.
[bacula/bacula] / bacula / technotes-2.1
1               Technical notes on version 2.1
2
3 General:
4 27May07
5 kes  I reworked the OpenSSL include/lib flags to be handled in     
6      the standard Bacula way, which should fix bug #863 concerning
7      non-standard OpenSSL libraries.
8 26May07
9 kes  Implement Help Browser window for bat.
10 kes  Fix reload bug that reset StorageId to zero.
11 25May07
12 kes  Fix TLS #ifdefing when TLS turned off.
13 kes  Ensure that when labelling a tape with Slot=0 that InChanger
14      is not set.
15 kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
16      the same.
17 kes  Add StartTime to final uar_sel_jobid_temp query so that we can
18      add DISTINCT (required by PostgreSQL).
19 kes  Implement BSOCK authenticate_director() method. Eventually will
20      authenicate all daemons.
21 kes  Move several more functions into the BSOCK class.
22 24May07
23 kes  Add code to tell the OS that we no longer need a cached
24      file that we were reading. In findlib/bfile.c.  Also,
25      only cache files that we are reading.
26 kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
27 kes  Implement script to automatically generate cats and dll .def
28      files for Win32 dll.
29 kes  Update README.mingw32 to include new .def file generation.
30 kes  Correct typo in UTF-8 error message as reported by:
31      jhernandez <julianhernandez@gmail.com>
32 kes  Add additional sm_check() code on debug level 1.
33 kes  Set default debug level to 1.
34 kes  Trap SIGABRT in attempt to get traceback.
35 23May07
36 kes  Reduce bat connect timeout from 30 to 15 seconds.
37 kes  More restructuring and implementing BSOCK class in place of
38      old bnet.c code.
39 kes  Remove a few unnecessary malloc() tests in crypto code.
40 kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
41      not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
42 kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
43 22May07
44 kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
45      Make buffer bigger.
46 kes  Fix Verify InitCatalog. The attributes were not pointing to the
47      correct saved location.
48 kes  Implement message callback so that GUI is sure to get all
49      daemon messages. Currently displayed in a dialog in bat.
50 kes  Ignore SIGUSR2 (Bacula timer) in bat.
51 kes  Apply regress patch from bug #859 to allow regress to work 
52      with Solaris compiler.
53 21May07
54 kes  Begin adding TLS support to bat.
55 kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
56      clean up lex.c and make it more readable.
57 20May07
58 kes  Move more bnet functions into the BSOCK class.
59 kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
60 kes  Complete change of berrno strerror() method to bstrerror() 
61 Release: 2.1.10 beta
62 18May07
63 kes  Cleanup incorrect email addresses in bsmtp.
64 kes  Make bat display initial messages rather than discard them.
65 16May07
66 kes  First cut of adding .mod to the run command.    
67 kes  Implement auto display of messages in bat.
68 kes  Enhanced preferences to allow all Bacula output to be
69      displayed in bat.
70 15May07
71 kes  Try to make bsmtp date routines more generic.
72 kes  Fixed bug #856 autochanger documentation.
73 kes  Rework bsmtp date editing for Win32. This fixes bug #854.
74 kes  Add new cats entry point so Win32 builds.
75 14May07 
76 kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
77      Fixes bug #854.
78 kes  Do better checking for the MySQL 64 bit libraries looking for both
79      .a and .so libraries.
80 kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
81      /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
82 kes  Require the thread safe version of MySQL during configure. Thanks
83      to Andre Noll for pointing this out.
84 kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
85      continuing in migration code.
86 kes  Apply implementation of tray-monitor font derived from gnome-console
87      submitted by Andreas Piesk <a.piesk@gmx.net>
88 13May07
89 kes  Eliminate important memory loss in SQLite
90 kes  Fixed the batch insert MySQL thread specific data that was not
91      being freed. See cats/mysql.c:db_thread_cleanup().
92 kes  Fix restore before command.
93 kes  Convert old hdr.name to name() in a few places.
94 kes  Implement update jobid command.
95 kes  Return all time_t dates in db_get_job_record()
96 kes  Stop watchdog in SD earlier.
97 kes  Put Pool just after Storage in please mount message.
98 kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
99      Eric.
100 12May07
101 kes  Update the po files.
102 kes  Fix Verify InitCatalog by making it cache attributes.
103 11May07
104 kes  Change name bacula-bat to bat for man 1 page to correspond to
105      Makefile.
106 kes  Check for client and store NULL pointers in status command.  This
107      fixes bug #845.
108 kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
109 kes  Fix sign extended editing of %p.
110 kes  Clean out a little old #ifdefing in cats/mysql.c
111 10May07
112 kes  If time diff between DIR and FD is more than 600 seconds convert
113      INFO message to WARNING.
114 kes  Implement heap size display in status for all daemons.
115 kes  Attempt to fix MySQL db open memory loss (not successfull).
116 kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
117 kes  Eliminate memory loss in MySQL (possibly other SQLs) during
118      Query. This looks like a MySQL but but by doing extra releases,
119      the memory goes away.  This should fix bug #847.
120 09May07 
121 kes  When backup fails, cancel SD before waiting for sd termination.
122 kes  If SD is waiting for FD to connect during cancel, wake up the 
123      thread.
124 kes  Fix fsf code so that errno is correctly reported.
125 kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
126 08May07
127 kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
128      so that Bacula doesn't later stumble into a seg fault.
129 kes  Use the term Restore Client in the restore Job report.
130 kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
131      the original job's FileSetId.
132 kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
133      spooling in migration jobs.  Not yet tested.
134 kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
135      reading conf file from a pipe.  However, do it with open_bpipe()
136      rather than popen.  Not yet tested.
137 07May07 
138 kes  Fix an ugly bug where the VolCatBytes were getting updated
139      during a restore.
140 kes  Implement bconsole memory command that prints current memory
141      usage, plus smartalloc dump.
142 kes  Clarify some error messages in backup, admin, and migrate.
143 kes  Shrink label dialog to smaller size.
144 kes  Invert Cancel OK buttons on restore to be OK Cancel.
145 kes  More strerror() to bstrerror() conversions.
146 06May07 
147 kes  Start implementing bstrerror() in place of strerror().
148 kes  Stripping path -- seems to work.
149 04May07
150 kes  Prevent door and port files from being restored (mostly
151      Solaris stuff).
152 kes  Free an unreleased buffer in compat code.
153 kes  Change console Job name from *Console* to -Console- to eliminate
154      Win32 filename problems.  Put Win32 path separator when creating
155      Console file.  This fixes bug #846.
156 kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
157      implemented.
158 kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
159      structure.
160 kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
161      to force Win32 error message.
162 03May07
163 kes  First cut strip path. The data should be passed to the FD,
164      but nothing is done with it yet.
165 kes  Enhance the digest and signature routines in the crypto
166      library to accept a JCR and to use it to print error messages
167      so that they will go in the Job report rather than the daemon's
168      messages.
169 kes  Simplify some of the verify signature code.
170 kes  Simplify a few of the alternative returns in the signature 
171      code.
172 02May07
173 ebl  Use only POSIX regex instead of GNU regex in breg.c for
174      File relocation. It fix broken freebsd compilation.
175 kes  Convert all other Dir files to use new ua class message 
176      routines for bat.
177 kes  Tentative fix for missing digest signature in bug 807.
178 kes  Correct handle problem in new win32_ftruncate routine.
179 kes  Convert ua_purge.c and ua_update.c to use new ua class
180      message routines for bat.
181 29Apr07 
182 kes  Correct incorrect installation of LICENSE in Win32 installer.
183 kes  Display LICENSE at the beginning of the Win32 install.
184 kes  Attempt to correct the need for the png files to be installed 
185      for bat.
186 kes  Reapply my bat.conf install script in qt-console. I think I 
187      editted bat.pro instead of bat.pro.in and it was lost.
188 kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
189      the /var/lock/subsys for subsysdir.  Also corrects typos in the
190      doc.
191 28Apr07
192 kes  First cut update job.
193 kes  Correct configure to include qmake of src/qt-console directory.
194 26Apr07
195 kes  Make restore job yes/mod/no print in one command so GUI works.
196 kes  First cut implementing backup and restore client.
197 kes  Correct editing in Verify output that caused a seg fault.
198 25Apr07
199 kes  Insure that bat.conf is not overwritten during installation.
200 kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
201      while I was implementing migration in March 2006 !
202 24Apr07
203 ebl  Cleanup file relocation, using char *RegexWhere instead of
204      char *where + bool where_use_regexp
205 kes  Update some manpages and add bat manpage.
206 kes  Make a first cut at converting bacula.spec.in for bwx-console
207      and bgnome-console.
208 kes  Apply patch from John Goerzen to add hostname as fourth argument
209      to make_catalog_backup script.
210 kes  Fix typos I introduced into bsmtp.c
211 kes  Make pm_strxxx() routines handle input of NULL pointer. This
212      is to protect from NULL pointers returned from SQL databases.
213 kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
214 kes  Add more debug to FIFO code -- fix fifo regression test.
215 23Apr07
216 kes  Implement posix_fadvise in FD, and for reading spool files in SD.
217 kes  Add thread timer to bnet_connect() to break from OS if wait time
218      expires.
219 22Apr07
220 kes  Update Win32 build to include new files, new symbols, and    
221      renamed files.
222 kes  Implement socket level heartbeat (tcp_keepidle)
223 ebl  Commit File relocation patch
224 kes  Make bat have 'make install' target.
225 kes  Warn during install if old gnome-console binary found.
226 kes  Warn during install if old wx-console binary found.
227 kes  Add -8 option to bsmtp command line to add content type utf-8. 
228      Fixes bug #809. (Character coding problem in bsmtp).
229 kes  If < is found in target (from, to, cc) then do not enclose the
230      target in < >  in bsmtp. Fixes bug #772  (malformed address).
231 kes  When printing certain items in dbcheck, stop after 300000.
232      Fixes bug #822. (dbcheck loops).
233 kes  Incorrect status in Dir after waiting for mount with poll set.
234      Fixes bug #825.
235 21Apr07 
236 kes  Extend idea of Prefer Mounted Volumes to mean a volume about
237      to be mounted.
238 kes  Print waiting to reserve a device every 5 mins.           
239 20Apr07
240 kes  Don't call close_part in label.c if tape and relabel.
241 kes  Don't free volume if busy in close() -- should help with
242      bug 801.
243 ebl  Fix #824 RunScript bug (After script could be execute twice)
244      Now, Before Script can use RunsOnSuccess and RunsOnFailure options
245      By default (like before) RunsOnSuccess=true and RunsOnFailure=false
246      Add a regression script to test RunScript
247 19Apr07
248 kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
249      on Solaris.
250 18Apr07
251 kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
252      deprecated. No additional bugs will be fixed, and they will be dropped
253      in a future release (probably 2.4.0).
254 kes  Change name of wx-console to bwx-console to make it more Bacula
255      unique.
256 kes  Change the name of gnome-console to bgnome-console to make it
257      more Bacula unique.
258 14Apr07
259 kes  Some time in March, a Feature Request with patch from Jorj Bauer
260      <jorj@seas.upenn.edu> was committed by Landon (with my approval).
261      It implements:
262      The ability for the director to validate a Client (FD) CN against
263      an arbitrary set of patterns rather than the hostname, with
264      A new 'TLS Allowed CN' set of directives which are implemented
265      in the Client resource.  Then pattern matching is used in place
266      of hostname matching against the Certificate's CN. As an example, we
267      have certificates which (a) use a local CA, and (b) have a CN of the
268      form client_123.
269 kes  Add new/changed entry points to Win32 build
270 kes  Create unaccepted-projects for projects that are not accepted.
271 kes  Simplify locking in the reservations system.
272 kes  Add more debug code in reservations.
273 kes  Make sure error condition on reserving a volume is handled correctly.
274 kes  Correct handling of volume_in_use.
275 kes  Correct handling of initializing a device.
276 kes  Move handling of broadcasting releasing a device into release_device().
277 kes  Correct attaching dcr to dev so that it is only done if device
278      is properly initiated.
279 12Apr07
280 kes  Locking debug level tweaks in SD.
281 kes  Tweak new Volume code.
282 11Apr07
283 kes  Add exec external-command [wait-seconds] to bconsole. This
284      executes the external-command.  Note! normally external-command
285      should be enclosed in double quotes.
286 kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
287      it should normally be off in a production system.
288 10Apr07
289 kes  Implement die command for SD so that we can force it to dump.
290 kes  Implement SD lock debug code.
291 kes  Implement new algorithm for keeping Volume list in SD.  It
292      is now owned by the device.
293 04Apr07
294 kes  Implement new code for freeing in use volumes that should 
295      resolve if not all, some of the problems of multiple drive
296      tape conflicts described in bug 801.
297 03Apr07
298 kes  Fix gui/bacula-web/images files in svn.
299 kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
300 02Apr07
301 ebl  Fix a bug in batch mode (in string escape)
302 kes  Correct migration prune SQL typo that crept in in a    
303      recent 2.1.x change.
304 01Apr07
305 kes  Move bnet_despool() into class in bsock.c
306 kes  Modify job report to include director name and Build OS.
307 kes  Move drop root privilege and check_catalog() before fork.
308 kes  Add update database scripts (version 9 to 10) to updatedb directory.
309 31Mar07
310 ebl  Check size and age of each file after its backup to see if
311      it has changed during backup, if 'checkfilechanges' is set.
312      The FD will do an extra check (stat(2)) after
313      each file backup. mtime, ctime and size are compared with
314      'before backup' information. If time or size mismatch, an
315      error message will be generated. You must upgrade FD to use it.
316 30Mar07
317 kes  Make database name and user configurable
318      --with-db-name=xxx --with-db-user=xxx
319 kes  Add back database type to message.c for debugging.
320 29Mar07
321 kes  Implement dir_sql() which issues an SQL query.
322 kes  Modify bat medialist to use dir_sql() and do some minor C++
323      formatting as well as eliminating a number of pointers, simplifing
324      the code.
325 28Mar07
326 kes  Fix some of the mtx-changer grep commands for tape label readers.
327 kes  Convert a number of bsendmsg into the appropriate send/warning/error
328      message class calls.
329 kes  Suppress the using database message in the .sql command.
330 kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
331 27Mar07
332 kes  Add context menu for floating a window.
333 kes  Some minor cleanup and name changes in qt-console
334 kes  Add doing mt setblk 0 in Win32 mtx-changer.
335 kes  Apply Martin's bug fix to move definition of ENODATA for 
336      FreeBSD to bsock.c
337 ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
338      sqlite2 and sqlite3.
339 26Mar07
340 kes  More pruning cleanup.
341 kes  Turn on wait_for_drive by default in mtx-changer.
342 kes  Turn on Batch insert code by default as it now passes regression.
343 kes  Add ./configure --enable-bat to enable building of Bat.   
344      No install yet though.
345 25Mar07
346 kes  Implement a new .sql command for bat.
347 kes  Implement code to turn off pruning in obtaining the next volume.
348      Pruning is turned off for the status dir command, but turned on
349      for SD requests and for the list nextvolume command.
350 24Mar07
351 kes  Correct Qmsg() that was not updated correctly when committing a
352      previous change (probably the recent TLS patch).
353 23Mar07
354 kes  Write new subroutine is_volume_purged() that explicitly checks
355      if the Volume is purged, and if so marks it as such. This should
356      resolve problems reported about needing to mount twice to recycle
357      volumes.
358 kes  Rewrite pruning algorithm to do more work in the SQL engine, and
359      to pass a list of JobIds to be deleted to SQL.  Also, minimize the
360      amount of duplicated code.     
361 kes  Do volume pruning only for the Media Type desired (reduces pruning time
362      if multiple Media Types are in the same pool).
363 kes  Implement more detailed info in the Job report for the Bacula version
364      and architecture.
365 kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
366      ua_purge.c.
367 ebl  Add bbatch tool to bench database and insert mode.
368      Fix sql quote stuff in batch mode
369      Fix sql stuff for mysql
370 22Mar07
371 kes  Correct problems with am/pm scheduling. Fixes bug #808.
372 kes  Implement new prunning code that prunes up to 1000 jobs at
373      the same time.  The same technique can be applied to a number
374      of other prune/purge subroutines.
375 kes  Add an insanity check when starting a new tape job to ensure
376      that the tape position has not been changed. If so fail the
377      job.
378 kes  Fix Win32 build for dlls to add the folllowing:
379      src/lib/bsock.c -- new file with new entry points
380      src/lib/dlist.c  -- new entry points
381      src/cats/sql_create.c -- new entry point
382      src/cats/sql_cmds.c -- new DATA item exported
383 21Mar07
384 ebl  batch mode cleanup bscan-test is ok now.
385 kes  Implement SD code to check length of disk volume before appending.
386 18Mar07
387 kes  Correct return status on db_batch... routines.
388 kes  Add call to db_write_batch_file_records() to migration code.
389 ebl  Fix AfterJob timing
390 kes  Move the checking of the database in initializion of the Director
391      to after we drop privileges.  This avoids the need for both root
392      and bacula access to the DB.
393 kes  Correct a misplaced variable definition in src/filed/backup.c
394 kes  Correct how the new batch insert db_create_attributes_record()
395      uses the arguments.  Caused a seg fault in bscan.
396 kes  Implement lock() and unlock() methods in DEVICE class.
397      Implement block() and set_block(xx) methods in DEVICE class.
398 kes  Modify bnet_connect() so that it uses time() to check for the
399      wait time expiring (on some OSes, some system calls may not
400      return immediately).
401 kes  Modify Verify to obtain the previous JobId when it is actually
402      running rather than at schedule time (as it was in 1.38.x).     
403 kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
404      fix bug #802.
405 kes  When checking pid in pid file, continue running if the pid is
406      the same as ours. This occurs on IRIX after a system crash.
407      Fixes bug #797.
408 10Mar07
409 kes  Extend new GUI API.
410 kes  Make the ua structure a class, and implement send_msg(),
411      error_msg(), warning_msg(), and info_msg().
412 08Mar07
413 kes  Apply fix from for building wx-console on the Mac from
414      bug #798.
415 kes  Implement new select mechanism for GUI programs.
416 kes  Reorganize initialization of stackedWidgets in bat.
417 07Mar07
418 kes  Add updated nagios plugin supplied by Christian Masopust.
419 05Mar07
420 kes  More bat implementation.
421 kes  File migrate bug with Pool Occupancy using mediaid instead
422      of jobids.  Fixes bug #795.
423 kes  Fix orphaned buffers in filed backup and verify due to
424      crypto buffers not freed during errors.  Fixes bug #789.
425 kes  Extend new GUI api code to tree commands.
426 kes  Ensure that tree and dot commands check console ACLs.
427 kes  Permit marking directory with trailing slash.
428 kes  Allow 20 console connections (instead of only 10).
429 04Mar07
430 kes  Add smartctl call to bacula-sd.conf as an example of getting
431      tape alert info.
432 02Mar07
433 kes  Modify jobq.c to let simultaneous restore jobs run. This may 
434      cause them to fail if they cannot get a drive.
435 kes  Add Client Connect Wait to Storage daemon to permit users to
436      modify the time the SD waits for a FD connection.
437 29Feb07
438 kes  Correct virtual changer check which was backwards. This caused
439      volumes to be unloaded into slots already occupied.
440 28Feb07
441 kes  Apply Command ACL filter to JobId list in restore command.
442 kes  Correct typeo in var.c patch.
443 27Feb07
444 kes  Don't let Bacula prune File or Job records for the current Job.
445 kes  Fix variable substitution pad + inc bug reported (with patch)
446      in bug #791.
447 26Feb07
448 kes  Correct SQLite log table index as reported by Luca Berra.
449 24Feb07
450 ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
451 22Feb07
452 kes  Begin implementing new comm signals for API.
453 kes  Fix a few places in lib/message.c where the open fd may 
454      not be zeroed.
455 kes  Continue implementing lib/bsock.c (real class).  Make jcr,
456      who, host, and port private. There are new methods to access
457      them for non-class use. This required touching a number of files.
458 21Feb07
459 kes  Add LANG=C to autoconf/randpass so it works with languages other
460      than English.  Fixes bug #788.
461 20Feb07
462 ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
463      This fixes bug #780
464      You will not be able to generate Include/Exclude list any more.
465      It will be fixed soon.
466      If you want to use this, you can apply
467      trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
468 19Feb07
469 kes  Restore of sockets created false error messages because Bacula
470      no longer restores sockets, but the code was still trying to
471      set the attributes on a non-existent file. Reported by a user.
472 ebl  finish RecyclePool feature
473      Media will takes Pool.RecyclePool
474      when moving from Scratch to a Pool or when user will do
475      update volume=xxx frompool
476      To use it, add RecyclePool = aPool to your Pool resource
477         Pool {
478                 Name = Default
479                 RecyclePool = Scratch
480                 ...
481         }
482      TODO: update manual
483 kes  Expand new BSOCK class adding signal() and new BNET signals.
484 kes  Begin enhancing the dot commands adding a new API function
485      that returns more information and will make it easier
486      to interface to the Director from a program.
487 18Feb07
488 kes  Make DEVICE fd private. Its new name is m_fd, and can be
489      obtained with dev->fd() outside the class.  This is the
490      first of many DEVICE members to be made private.
491 kes  Implement Michael Renner's idea on having a virtual disk
492      changer. I made some minor modifications (e.g. I did not
493      implement the Virtual Changer directive, but simply set
494      the Changer Command to an empty string.
495 17Feb07
496 kes  Implement a BSOCK send() method that writes the whole record
497      in a single write() request rather than in two.
498 ebl  add update volume=xxx recyclepool=yyyy
499      volume takes recyclepool from pool when using update volume=xxx from pool
500 16Feb07
501 kes  Fix encryption deblocking bug, which caused some restored files
502      to be truncated. This fixes bug #763.
503 kes  Add FD event sequence order prepared by Eric -- for RunScripts.
504 kes  Fix 12am/pm bug as reported in bug #782.
505 13Feb07
506 kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
507 ebl  Use btime_t instead of uint64_t in media patch.
508 11Feb07
509 kes  Optimize the use of the database a bit in the Status dir command.
510      Only open it when needed, ensure that if any previous database
511      was opened, it is closed.
512 10Feb07
513 kes  Correct VolCatBytes bug from media patch.
514 kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
515      in the case of orphaned records.
516 kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
517      and File records in 300K chunks to be more efficient. This
518      idea came from Juan Luis Frances (if I remember right).
519 kes  Apply Eric's scratch patch that moves a purged Volume to
520      the RecyclePool.  Question: how is RecyclePool set? what
521      happens to the ScratchPool?
522 kes  Apply Eric's media patch that collects read/write media
523      times as well as byte counts.  This patch requires a
524      simultaneous upgrade of the DIR and SD.  Note, there
525      should be some way to turn off timing. I'm not sure
526      times are in Bacula units.
527 kes  Apply Eric's batch-insert patch.
528 09Feb07
529 kes  Update projects list.
530 08Feb07
531 kes  Implement Include/Exclude file lists in FD as dlists using
532      the new dlistString class. This permits efficiently having
533      large include/exclude lists and completes project Item 25.
534 kes  Fix dird/ua_cmds.c so that a cancel command checks if the
535      console is authorized to cancel the job.  This fixes bug 
536      #767.
537 kes  Modify SD so that the VolCatJobs medium record is updated
538      at the beginning of a Job rather than the end.  This
539      fixes bug #775 where exceeding MaxVolJobs caused jobs
540      to fail.
541 kes  Added a mutex around getting and setting Volume information
542      so that multiple simultaneous jobs will single thread.
543 07Feb07
544      Switch to using Subversion
545 kes  Remove src/pygtk-console/ from configure
546 06Feb07
547 kes  Delete src/lib/btree.c from win32 build, then add rblist.c
548      plus the entrypoints.
549 kes  Apply patch supplied that corrects debug print
550      in canceling jobs for max run time.  Supplied as
551      part of bug #621, which was previously fixed.
552 05Feb07
553 kes  Test on job_canceled() and sd_msg_thread_done inside
554      loop starting the message thread to avoid a race condition.
555      Fixes bug #771.
556 kes  Remove rl_catch_signal from console.c as it conflicted
557      with the header definition. Fixes bug #765.
558 ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
559 04Feb07
560 kes  Clarify some stored/acquire messages to indicate if the
561      problem is with read or append.
562 02Feb07
563 kes  Fix memory leak with storage ids in cats/sql_get.c
564 kes  Terminate watchdog earlier to avoid reference to released
565      memory -- reported by Jason Austin.
566 kes  Move closing the database from jobq.c to the director daemon
567      termination routine. This fixes memory leaks for shadow jobs
568      (i.e. migration jobs).
569 kes  Free up the unique jobid chain items in migrate.c.  This fixes
570      a memory leak problem.
571 kes  Convert some ugly looking for statements to use foreach_alist
572      in findlib/find.c.  This will facilitate converting the structures
573      to use dlist (for large include/exclude lists).
574 kes  Fix a bug in the btree.c and btree.h routines, then rename them
575      rblist and add them to be built in src/lib.  Include some new
576      methods written by Rudolf Cejka that make the code more readable
577      (hides some of the ugly casting).
578 kes  Add set_next() and set_prev() methods which make the code much more 
579      readable. Also add a new dlistString class that facilitates storing
580      strings in dlists.  To be used in the large include/exclude lists.
581 kes  Make some trivial modifications to lib/tree.h that use rblist
582      rather than dlist for storing the tree links. This was suggested
583      by Rudolf Cejka.  The result of this is that the restore tree now
584      uses red-black binary trees rather than simple linked lists. This
585      should give rather dramatic speed improvements for directories
586      contining large numbers of directories/files (more than 10000).
587 28Jan07 
588 kes  Fix maxruntime bug #621.
589 26Jan07
590 ebl  Implement the include JobID in spool file name project.
591 kes  Reorder projects file in order determined by Jan 2007 vote.
592 kes  Implement item #12 on project list -- quick release of FD by
593      the SD.
594 kes  Fix open of SQLite3 db where user does not have write permission
595      so that DIR does not crash. Fixes bug #761.
596 25Jan07
597 kes  Add back missing @ in Win32 Makefile.
598 kes  Change 'Device not configured to autolabel' from INFO
599      to WARNING.
600 kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
601      which should restart an indefinite # of times.
602 kes  Fix configure --help to print --with-mysql[=DIR]. Same for
603      other DIR specifications.
604 23Jan07
605 rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
606      Fix path quoting in SQLite scripts.
607      Fix problems with SHGetFolderPath.
608 19Jan07
609 kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
610 18Jan07
611 kes  Fix Job restart on error bug that promotes an Inc to a Full
612      backup.  This should fix bug #755.
613 kes  Add qt-console and first cut of code.
614
615 Version 2.0.1
616 12Jan07
617 kes  Fix Bacula->Documentation link on Win32 to point to index.html
618      instead of bacula.html. Fixed bug #750.
619 kes  Return JobId in db_get_job_record() when JobId==0. This should
620      fix bug #741.
621 kes  Do not release source pointers when restarting a failed job.
622 11Jan07
623 kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
624      This *should* fix bug #747.
625 kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
626      bug #742.
627 09Jan07
628 kes  Modify USTORE constructor to set an empty store_source string, 
629      and don't copy the store_source string in a cancel.  Hopefully
630      this will fix Arno's seg fault, bug #744.
631 kes  Add back code to disable conio in configure. Fixes bug #743.
632 kes  Correct the Options scanner in the FD to correctly handle  
633      SHA1 option, which was eating the next option.  Reported by    
634      Sebastien Guilbaud.
635 kes  Add code to indicate when the SD is spooling, spool wait, and 
636      despooling as requested by Alan Brown.
637
638 Version 2.0.0 released: 4 January 2007