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