]> git.sur5r.net Git - bacula/bacula/blob - bacula/technotes-2.1
Properly save RecyclePoolId
[bacula/bacula] / bacula / technotes-2.1
1               Technical notes on version 2.1
2
3 General:
4 Release 2.1.28 beta
5 19Jul07
6 kes  Ensure that we keep Recycle Pool when moving Scratch volumes.
7 18Jul07
8 kes  Update Release notes 
9 17Jul07
10 ebl  fix a bug in get_scratch_volume() report by Andreas Helmcke
11      Warning, in previous beta version, all media get from scratch keep their
12      old retention.
13 16Jul07
14 kes  Tweaked Win32 installer to remove temp conf files at uninstall time.
15      This should fix bug #842. Made a note to look at removing the temp
16      files at the end of the install.
17 kes  Add ability to mount and unmount a file device providing it is
18      marked as being removable and has the appropriate mount and unmount
19      commands defined in the Device resource. This fixes bug #830.
20 kes  When applying a storage override, release all previous storage
21      definitions rather than just prepending the new storage.
22      This should prevent a good deal of confusion.
23 14Jul07
24 kes  Implement ./configure search for qwt libraries.
25 13Jul07
26 kes  Disable posting the WM_CLOSE message in KillRunningCopy of the 
27      Win32 FD.  This should fix bug #893.
28 kes  Remove an unnecessary beep in Win32 init code.
29 kes  Update copyright dates in Win32 executable about boxes.
30 kes  Replace the FSF copyrighted getopt.c and getopt.h in the Win32
31      code with a BSD getopt.c and getopt.h.
32 kes  Remove sched.h from the Win32 compat directory -- not used.
33 kes  Remove the Exit menu item from the Win32 tray monitor. If you really
34      need to shut it down, do it through the services panel or the command
35      line.
36 kes  Remove some inappropriate Bacula FSFE copyrights.
37 ebl  Tweak status client=xxx to be more easy to parse (more like in 2.0.x)
38 kes  Fix regress config non-portable test as pointed out by
39      Florian Heigl <florian.heigl@gmail.com>
40 kes  Fix PSCMD for HP-UX in configure.in to have proper syntax.
41      as pointed out by Florian Heigl <florian.heigl@gmail.com>
42 12Jul07
43 kes  Fix missing rctx. prefixes on the Darwin code in src/filed/restore.c
44      Reported by Frank Sweetser.
45
46 Release 2.1.26 beta
47 12Jul07
48 kes  Fix client-only build.
49 kes  Integrate client-only fixes for bsys (initgroups) and conio from
50      Sergey Svishchev <svs@ropnet.ru> for the AIX platform.
51 kes  Make arguments to get_scratch_volume() in same order as other
52      such calls.
53 kes  Rework the prune_volumes() subroutine so that after purging and
54      no volume found in desired pool, it will check for a scratch 
55      volume. This prevents recycling the whole scratch pool.
56 kes  Add code to status storage to print boffset_t (largefile support).
57 11Jul07
58 kes  Move qwt (Graphics libarary for Qt4) to depkgs.
59 kes  You now need a --with-qwt=<dir> to be able to build bat.
60 kes  Update src/win32/cats/bacula_cats.def to include the new       
61      db_get_query_dbids() call on Win32.
62 07Jul07
63 kes  Correct a problem when selecting a scratch volume and moving
64      it to another pool that lost some columns.
65 kes  Tweak some code in ua_update.c to use POOL_MEM instead of POOLMEM.
66 kes  Enhance Autochanger error messages to include Volume and device name.
67 kes  Rework prune_volumes() code to take account of InChanger flag,
68      and to handle recycling volumes going to the Scratch pool and
69      current pool because the RecyclePool directive.
70 kes  Implement a better and more efficient db_get_query_dbids() to
71      handle creating and passing back a list of DBIds.
72
73 Release 2.1.24 beta
74 03Jul07
75 kes  Start work on new more efficient DBId subroutine. First use
76      will be for recycling volume to Scratch inchanger.
77 kes  Increase number of JobIds in pruning from 1000 to 10000. 
78      This to be replaced by above routine.
79 kes  Begin implementation of building Qt4 on Win32.
80 kes  Correct typo in fix I added for bad TLS shutdown.
81 kes  Pull 2.0.3 patches into patches directory.
82 kes  Update Release notes.  Include qt-console in line count.
83 kes  Update Projects file.
84 30Jun07
85 kes  Integrate patch from Sergey Svishchev <svs@ropnet.ru> that fixes 
86      bug in migration code where a job that spanned two volumes
87      was migrated twice.
88 29Jun07
89 kes  Implement new BST_DESPOOLING blocked state. Change from locking
90      during despooling in SD to blocking. This means that other threads
91      can work with the device structure, in particular the reservations
92      system while despooling.
93 28Jun07
94 kes  Fix return in reservation message queue that missed clearing
95      the jcr lock (implemented 26Jun07 below).
96 kes  Rename a number of dev methods to make locking function names
97      a bit clearer.
98 kes  Document locking in lock.c. Move lock structures to new file
99      lock.h.
100 26Jun07
101 kes  Move reservations message lock to lock jcr only this
102      fixes bug #861.
103 kes  Move main SD locking code into lock.c (new file).
104 kes  Update Win32 build to include lock.c
105
106 Release 2.1.22 beta
107 26Jun07
108 kes  Dirk committed the qwt library code for drawing graphs in bat.
109 kes  Tweak install of qwt so that it is integrated with ./configure.
110 25Jun07
111 kes  Fix HAVE_BATCH_INSERT to be HAVE_BATCH_FILE_INSERT, pointed
112      out by Eric (my typo).
113 ebl  Fix configure.in to get batch mode enable
114 kes  Return correct string from authenticate.cpp in bat when connecting
115      to Dir.
116 kes  Apply patch suggested by Frank Sweetser to fix bug #888 --     
117      spurious line drops when using TLS.  
118 kes  Do not file reparse points when restoring a file that already
119      exists -- Win32.
120 24Jun07
121 kes  Implement Windows reparse points -- similar to directories, but
122      we do not descend into it. This is a first cut. They seem to 
123      be backed up, but restore is not yet tested.
124 kes  Remove restore_blocking in tls code when shutting a socket to leave
125      it in blocking mode. Hopefully this will fix the encryption bug  
126      reported by Frank Sweetser.
127 kes  When opening a file for backup, tell the OS that we are going to
128      read it sequentially -- optimization.
129 kes  Change variable names in authenticate_director() to not conflict
130      with member names in bat. Caused great confusion with compiler,
131      but no warnings.
132 23Jun07
133 kes  Queue openssl error messages in case of comm problem.
134 kes  Do shutdown() call if socket terminated.
135 kes  Remove some duplicated code in tls.c
136 kes  Move more of the bsock member variables into private and access
137      them with methods.
138 kes  Add Frank Sweetser's tls-test to the regression suite.
139 22Jun07
140 kes  Add Swedish sv.po file
141 21Jun07
142 kes  Don't print clock skew message in FD if less than 3 seconds diff.
143 kes  Add a bit of VSS info to status client.
144 kes  Implement a first cut of Vista VSS, using Win2003 code.
145
146 Release: 2.1.20 beta
147 20Jun07
148 kes  Fixed bug #886 (multidrive autochanger: SD doesn't use drive with
149      loaded tape but uses first drive).
150 kes  Fixed bug #807 Restore encrypted backup failed on Windows 2003
151      This was indeed a Win32 issue.
152 19Jun07 
153 kes  Simplify search of autochanger for in-use Volume.  
154 kes  Fix exit condition of check for in-use volume.  kes Remove
155      inappropriate my_postgresql_free_result() in db_close()
156      routine.
157 kes  Fix bad return in FD when encryption signature not found.
158      Probably caused a crash.
159 kes  Inhibit missing encryption signature error messages for 
160      file types where no signature computed.
161 kes  Correct inverted check on autochanger in reservation system.
162 kes  Tweak debug code in autochanger reservation.
163 18Jun07
164 kes  Add some additional locking in the cats directory in subroutines
165      that modify packet variables called from batch insert.
166 kes  Rework how dcrs are allocated. new_dcr() can now be called
167      with an existing pointer, and it will simply clean it up.
168      This allows the reservation system to test various different
169      devices, and will permit easy device changes.
170 kes  A bunch of changes all over to handle new new_dcr() calling
171      sequence.
172 kes  Work more on the Volume management in the SD. Remember Volumes
173      for tape drives and for autochangers (even virtual disk changers).
174 kes  When looking at the Volume list to reserve a drive, handle 
175      autochanger names correctly by interating through the changer 
176      devices.  Also call the Director to see if a Volume is suitable
177      for the current job.
178 kes  Fix some bugs in bscan. Make sure all media records are written.
179      Make sure that valid JobMedia records are written for disk files.
180      Previously they were completely wrong.
181 kes  Move source tar files for depkgs-mingw32 to www.bacula.org so
182      that the URLs don't change and so that the developers will all
183      work off the same copy. Rebuild from scrach.
184 kes  Upgrade Win32 SQLite3 from 3.3.8 to 3.3.17.
185
186 Release: 2.1.18 beta
187 16Jun07
188 kes  Fix seg fault in FD from incorrect digest size. 
189 kes  Fix argument to non-OpenSSL crypto.c subroutine.      
190
191 Release: 2.1.16 beta
192 16Jun07
193 kes  Remove a few malloc()s from the encryption code.
194 kes  Use the class calls to bsock in filed/backup.c and restore.c in
195      place of the old bnet_xxx code.
196 kes  Implement code that does an on the fly calculation of the  
197      signing digest during restore of encrypted files.  It makes
198      a best guess at the algorithm, and if it is not correct, will
199      then revert to the old code which reads the file after it is
200      restored.
201 kes  Implement at least one missing crypto stream in stream_to_ascii()
202 kes  Apply patch from William <chowmeined@gmail.com> that fixes bug
203      #877 where a reload with bad syntax causes Dir to exit.
204
205 Cut: 2.1.14 beta (not released)
206 14Jun07
207 kes  Do not free a volume on a tape drive until another volume is
208      mounted and read, or the autochanger unloads the volume.
209      This should help the SD re-use volumes that are already mounted,
210      and should fix bug #886.
211 kes  Apply patch from user brettedgar that allows gnome2-console include
212      the OpenSSL libraries, and hence work with SSL.  Fixes bug #885.
213 kes  Apply patch from Lucien Weller that fixes day of week calculation
214      because of DST flag problem. Fixes bug #887.
215 10Jun07
216 kes  Move find_next_appendable_volume() to after acquiring a valid device
217      in reserve.c.  This fixes bug #864 -- confirmed by reporter.
218 09Jun07
219 kes  Unable to reproduce bug 872. However added additional testing for
220      integer.
221 kes  Bug #874 resolved by documenting SQLite limitations.
222 kes  Bug #882 resolved by documenting mtx-changer script for new drive code.
223 kes  Bug #881 resolved by removing typo in mtx-changer script.
224 kes  Made Frank Sweetser's wiki the official Bacula wiki with his
225      approval. Added a link to the wiki on the web page, and implemented
226      a backup from http://paramount.ind.wpi.edu                                          
227 08Jun07
228 kes  Fix update allfrompool to pass pool name.
229 07Jun07
230 kes  Convert to pure GPL v2 license.
231 kes  Fix sscanf problems reported by Peter Buschman that caused
232      a bus error on Solaris.
233 kes  Rework (simplify) the select prompt in bat.
234 kes  Move get_jobid_from_tid() into lib and create a 
235      get_jcr_from_tid().
236 kes  Use get_jcr_from_tid() to conver all tls Emsg() to Jmsg().  This
237      should definitely fix the problem of lost error messages in the
238      encryption code.
239 kes  Remove over zellous addition of FSFE copyright in a few eggxxx files.
240 kes  Eliminate tcpd.h from the project. Enclose the #include from the
241      library with extern C ...
242 kes  Add print of signal name when a signal is trapped.
243
244 Release: 2.1.12 beta
245 04Jun07
246 kes  Fix a seg fault in the PostgreSQL driver dereferencing a NULL pointer.
247 03Jun07
248 kes  Implement SQLITE3_INIT_QUERY in version.h that can do an initial
249      query for SQLite3. Use it to set PRAGMA synchronous = OFF. This
250      makes SQLit3 run 30 times faster, though a bit less safe.
251 kes  Implement --with-batch-insert in configure and detection of thread
252      safe libraries.  It is on by default, but turned off if no thread
253      safe library (e.g. SQLite 2) is available.
254 02Jun07
255 kes  Fix Bacula PostgreSQL buffer overruns.
256 kes  Do better checking for NULL results returned from PostgreSQL;
257      implement retry for failed queries; clear results buffer after
258      failed query. Hopefully this will correct the PostgreSQL failures.
259 01Jun07
260 kes  Implement algorithm to handle only one appendable volume with
261      Prefer Mounted Volumes = no.
262 kes  Fix a Bacula PostgreSQL bug dereferencing a NULL pointer      
263      returned from a query.
264 kes  Make volume lock recursive.
265 kes  Implement an additional volume reservation algorithm that
266      starts by considering all reserved volumes then uses the
267      old brute force algorithm of searching the resources to
268      find a suitable device.
269 kes  Add new reservations debug code and refine the old code.
270 kes  Update the win32/dll/bacula.defs file.
271 29May07
272 kes  Tweak reservations algorithm to permit a few more cases, i.e.
273      volume reserved, but on different drive, ...
274 kes  Enhance SD status to include Pool and Media Type for drive in a
275      more readable format (a bit longer). 
276 kes  Fix PostgreSQL double free.
277 28May07
278 kes  Minor refactoring of restore decryption code.
279 kes  Add code to smartall.c to detect double free of a buffer.
280 27May07
281 kes  Add < > around %r in from field on mail command of bacula-dir.conf.in
282      so that bsmtp will create a correct email address (mailbox only).
283 kes  Modify 'memory' command so that the buffers are listed as 'In use'
284      to avoid confusion with Orphaned buffers.
285 kes  I reworked the OpenSSL include/lib flags to be handled in     
286      the standard Bacula way, which should fix bug #863 concerning
287      non-standard OpenSSL libraries.
288 26May07
289 kes  Implement Help Browser window for bat.
290 kes  Fix reload bug that reset StorageId to zero.
291 25May07
292 kes  Fix TLS #ifdefing when TLS turned off.
293 kes  Ensure that when labelling a tape with Slot=0 that InChanger
294      is not set.
295 kes  Use DISTINCT to make MySQL and PostgreSQL uar_list_temp query        
296      the same.
297 kes  Add StartTime to final uar_sel_jobid_temp query so that we can
298      add DISTINCT (required by PostgreSQL).
299 kes  Implement BSOCK authenticate_director() method. Eventually will
300      authenicate all daemons.
301 kes  Move several more functions into the BSOCK class.
302 24May07
303 kes  Add code to tell the OS that we no longer need a cached
304      file that we were reading. In findlib/bfile.c.  Also,
305      only cache files that we are reading. Thanks to
306      Tobias Oetiker <tobi@oetiker.ch> for the idea.
307 kes  Tweak to bsmtp to eliminate compiler warnings on Win32.
308 kes  Implement script to automatically generate cats and dll .def
309      files for Win32 dll.
310 kes  Update README.mingw32 to include new .def file generation.
311 kes  Correct typo in UTF-8 error message as reported by:
312      jhernandez <julianhernandez@gmail.com>
313 kes  Add additional sm_check() code on debug level 1.
314 kes  Set default debug level to 1.
315 kes  Trap SIGABRT in attempt to get traceback.
316 23May07
317 kes  Reduce bat connect timeout from 30 to 15 seconds.
318 kes  More restructuring and implementing BSOCK class in place of
319      old bnet.c code.
320 kes  Remove a few unnecessary malloc() tests in crypto code.
321 kes  Turn off crypto calls for > 128 bits in crypto.c if HAVE_SHA2
322      not defined. Bug reported by Allan Black <Allan.Black@btconnect.com>
323 kes  Remove duplicate HAVE_CRYPTO definition in config.h.in
324 22May07
325 kes  Fix Verify InitCatalog mysql_escape_string() trashing memory.
326      Make buffer bigger.
327 kes  Fix Verify InitCatalog. The attributes were not pointing to the
328      correct saved location.
329 kes  Implement message callback so that GUI is sure to get all
330      daemon messages. Currently displayed in a dialog in bat.
331 kes  Ignore SIGUSR2 (Bacula timer) in bat.
332 kes  Apply regress patch from bug #859 to allow regress to work 
333      with Solaris compiler.
334 21May07
335 kes  Begin adding TLS support to bat.
336 kes  Apply UTF-8/16 patch from Yves Orton <demerphq@gmail.com> to
337      clean up lex.c and make it more readable.
338 20May07
339 kes  Move more bnet functions into the BSOCK class.
340 kes  Fix tray-monitor by not requiring a timer interval in bnet_connect()
341 kes  Complete change of berrno strerror() method to bstrerror() 
342
343 Release: 2.1.10 beta
344 18May07
345 kes  Cleanup incorrect email addresses in bsmtp.
346 kes  Make bat display initial messages rather than discard them.
347 16May07
348 kes  First cut of adding .mod to the run command.    
349 kes  Implement auto display of messages in bat.
350 kes  Enhanced preferences to allow all Bacula output to be
351      displayed in bat.
352 15May07
353 kes  Try to make bsmtp date routines more generic.
354 kes  Fixed bug #856 autochanger documentation.
355 kes  Rework bsmtp date editing for Win32. This fixes bug #854.
356 kes  Add new cats entry point so Win32 builds.
357 14May07 
358 kes  Attempt to fix bsmtp date editing on OSes without %z editing. 
359      Fixes bug #854.
360 kes  Do better checking for the MySQL 64 bit libraries looking for both
361      .a and .so libraries.
362 kes  Add a kludge for Ubuntu's non-standard locations for MySQL -- allow
363      /usr/include/mysql/mysql.h AND /usr/lib/... rather than /usr/lib/mysql/...
364 kes  Require the thread safe version of MySQL during configure. Thanks
365      to Andre Noll for pointing this out.
366 kes  Ensure that calls to find_jobids_from_mediaid_list() check count before
367      continuing in migration code.
368 kes  Apply implementation of tray-monitor font derived from gnome-console
369      submitted by Andreas Piesk <a.piesk@gmx.net>
370 13May07
371 kes  Eliminate important memory loss in SQLite
372 kes  Fixed the batch insert MySQL thread specific data that was not
373      being freed. See cats/mysql.c:db_thread_cleanup().
374 kes  Fix restore before command.
375 kes  Convert old hdr.name to name() in a few places.
376 kes  Implement update jobid command.
377 kes  Return all time_t dates in db_get_job_record()
378 kes  Stop watchdog in SD earlier.
379 kes  Put Pool just after Storage in please mount message.
380 kes  Fix pointer usage bugs in Verify InitCatalog pointed out by
381      Eric.
382 12May07
383 kes  Update the po files.
384 kes  Fix Verify InitCatalog by making it cache attributes.
385 11May07
386 kes  Change name bacula-bat to bat for man 1 page to correspond to
387      Makefile.
388 kes  Check for client and store NULL pointers in status command.  This
389      fixes bug #845.
390 kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
391 kes  Fix sign extended editing of %p.
392 kes  Clean out a little old #ifdefing in cats/mysql.c
393 10May07
394 kes  If time diff between DIR and FD is more than 600 seconds convert
395      INFO message to WARNING.
396 kes  Implement heap size display in status for all daemons.
397 kes  Attempt to fix MySQL db open memory loss (not successfull).
398 kes  Don't set SIGKILL and SIGSTOP neither can be trapped.
399 kes  Eliminate memory loss in MySQL (possibly other SQLs) during
400      Query. This looks like a MySQL but but by doing extra releases,
401      the memory goes away.  This should fix bug #847.
402 09May07 
403 kes  When backup fails, cancel SD before waiting for sd termination.
404 kes  If SD is waiting for FD to connect during cancel, wake up the 
405      thread.
406 kes  Fix fsf code so that errno is correctly reported.
407 kes  Apply migration patch (with changes) from Sergey Svishchev <svs@ropnet.ru>
408 08May07
409 kes  Make lack of Pool directive in Job an ERROR_TERM rather than FATAL
410      so that Bacula doesn't later stumble into a seg fault.
411 kes  Use the term Restore Client in the restore Job report.
412 kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that preserves 
413      the original job's FileSetId.
414 kes  Merge patch from Sergey Svishchev <svs@ropnet.ru> that implements
415      spooling in migration jobs.  Not yet tested.
416 kes  Merge patch from Jorj Bauer <jorj@seas.upenn.edu> that implements
417      reading conf file from a pipe.  However, do it with open_bpipe()
418      rather than popen.  Not yet tested.
419 07May07 
420 kes  Fix an ugly bug where the VolCatBytes were getting updated
421      during a restore.
422 kes  Implement bconsole memory command that prints current memory
423      usage, plus smartalloc dump.
424 kes  Clarify some error messages in backup, admin, and migrate.
425 kes  Shrink label dialog to smaller size.
426 kes  Invert Cancel OK buttons on restore to be OK Cancel.
427 kes  More strerror() to bstrerror() conversions.
428 06May07 
429 kes  Start implementing bstrerror() in place of strerror().
430 kes  Stripping path -- seems to work.
431 04May07
432 kes  Prevent door and port files from being restored (mostly
433      Solaris stuff).
434 kes  Free an unreleased buffer in compat code.
435 kes  Change console Job name from *Console* to -Console- to eliminate
436      Win32 filename problems.  Put Win32 path separator when creating
437      Console file.  This fixes bug #846.
438 kes  Change berrno::strerror() to berrno::bstrerror().  Not yet full
439      implemented.
440 kes  Pass jcr to crypt_sign_decode because it creates a new SIGNATURE
441      structure.
442 kes  Define b_errno_win32 on Linux to be zero so that it can be or'ed in
443      to force Win32 error message.
444 03May07
445 kes  First cut strip path. The data should be passed to the FD,
446      but nothing is done with it yet.
447 kes  Enhance the digest and signature routines in the crypto
448      library to accept a JCR and to use it to print error messages
449      so that they will go in the Job report rather than the daemon's
450      messages.
451 kes  Simplify some of the verify signature code.
452 kes  Simplify a few of the alternative returns in the signature 
453      code.
454 02May07
455 ebl  Use only POSIX regex instead of GNU regex in breg.c for
456      File relocation. It fix broken freebsd compilation.
457 kes  Convert all other Dir files to use new ua class message 
458      routines for bat.
459 kes  Tentative fix for missing digest signature in bug 807.
460 kes  Correct handle problem in new win32_ftruncate routine.
461 kes  Convert ua_purge.c and ua_update.c to use new ua class
462      message routines for bat.
463 29Apr07 
464 kes  Correct incorrect installation of LICENSE in Win32 installer.
465 kes  Display LICENSE at the beginning of the Win32 install.
466 kes  Attempt to correct the need for the png files to be installed 
467      for bat.
468 kes  Reapply my bat.conf install script in qt-console. I think I 
469      editted bat.pro instead of bat.pro.in and it was lost.
470 kes  Apply CentOS patches someone sent me. Checks for /var/run/subsys,
471      the /var/lock/subsys for subsysdir.  Also corrects typos in the
472      doc.
473 28Apr07
474 kes  First cut update job.
475 kes  Correct configure to include qmake of src/qt-console directory.
476 26Apr07
477 kes  Make restore job yes/mod/no print in one command so GUI works.
478 kes  First cut implementing backup and restore client.
479 kes  Correct editing in Verify output that caused a seg fault.
480 25Apr07
481 kes  Insure that bat.conf is not overwritten during installation.
482 kes  Fix important bug in db_sql_query() in mysql.c.  It was introduced
483      while I was implementing migration in March 2006 !
484 24Apr07
485 ebl  Cleanup file relocation, using char *RegexWhere instead of
486      char *where + bool where_use_regexp
487 kes  Update some manpages and add bat manpage.
488 kes  Make a first cut at converting bacula.spec.in for bwx-console
489      and bgnome-console.
490 kes  Apply patch from John Goerzen to add hostname as fourth argument
491      to make_catalog_backup script.
492 kes  Fix typos I introduced into bsmtp.c
493 kes  Make pm_strxxx() routines handle input of NULL pointer. This
494      is to protect from NULL pointers returned from SQL databases.
495 kes  Correct typo in bacula-sd manpage as pointed out by John Goerzen.
496 kes  Add more debug to FIFO code -- fix fifo regression test.
497 23Apr07
498 kes  Implement posix_fadvise in FD, and for reading spool files in SD.
499 kes  Add thread timer to bnet_connect() to break from OS if wait time
500      expires.
501 22Apr07
502 kes  Update Win32 build to include new files, new symbols, and    
503      renamed files.
504 kes  Implement socket level heartbeat (tcp_keepidle)
505 ebl  Commit File relocation patch
506 kes  Make bat have 'make install' target.
507 kes  Warn during install if old gnome-console binary found.
508 kes  Warn during install if old wx-console binary found.
509 kes  Add -8 option to bsmtp command line to add content type utf-8. 
510      Fixes bug #809. (Character coding problem in bsmtp).
511 kes  If < is found in target (from, to, cc) then do not enclose the
512      target in < >  in bsmtp. Fixes bug #772  (malformed address).
513 kes  When printing certain items in dbcheck, stop after 300000.
514      Fixes bug #822. (dbcheck loops).
515 kes  Incorrect status in Dir after waiting for mount with poll set.
516      Fixes bug #825.
517 21Apr07 
518 kes  Extend idea of Prefer Mounted Volumes to mean a volume about
519      to be mounted.
520 kes  Print waiting to reserve a device every 5 mins.           
521 20Apr07
522 kes  Don't call close_part in label.c if tape and relabel.
523 kes  Don't free volume if busy in close() -- should help with
524      bug 801.
525 ebl  Fix #824 RunScript bug (After script could be execute twice)
526      Now, Before Script can use RunsOnSuccess and RunsOnFailure options
527      By default (like before) RunsOnSuccess=true and RunsOnFailure=false
528      Add a regression script to test RunScript
529 19Apr07
530 kes  Correct usage of MTIOCLRERR ioctl for clearing persistant errors
531      on Solaris.
532 18Apr07
533 kes  The bgnome-console (gnome-console) and bwx-console (wx-console) are
534      deprecated. No additional bugs will be fixed, and they will be dropped
535      in a future release (probably 2.4.0).
536 kes  Change name of wx-console to bwx-console to make it more Bacula
537      unique.
538 kes  Change the name of gnome-console to bgnome-console to make it
539      more Bacula unique.
540 14Apr07
541 kes  Some time in March, a Feature Request with patch from Jorj Bauer
542      <jorj@seas.upenn.edu> was committed by Landon (with my approval).
543      It implements:
544      The ability for the director to validate a Client (FD) CN against
545      an arbitrary set of patterns rather than the hostname, with
546      A new 'TLS Allowed CN' set of directives which are implemented
547      in the Client resource.  Then pattern matching is used in place
548      of hostname matching against the Certificate's CN. As an example, we
549      have certificates which (a) use a local CA, and (b) have a CN of the
550      form client_123.
551 kes  Add new/changed entry points to Win32 build
552 kes  Create unaccepted-projects for projects that are not accepted.
553 kes  Simplify locking in the reservations system.
554 kes  Add more debug code in reservations.
555 kes  Make sure error condition on reserving a volume is handled correctly.
556 kes  Correct handling of volume_in_use.
557 kes  Correct handling of initializing a device.
558 kes  Move handling of broadcasting releasing a device into release_device().
559 kes  Correct attaching dcr to dev so that it is only done if device
560      is properly initiated.
561 12Apr07
562 kes  Locking debug level tweaks in SD.
563 kes  Tweak new Volume code.
564 11Apr07
565 kes  Add exec external-command [wait-seconds] to bconsole. This
566      executes the external-command.  Note! normally external-command
567      should be enclosed in double quotes.
568 kes  Turn the .die command on only if DEVELOPER is defined -- i.e.
569      it should normally be off in a production system.
570 10Apr07
571 kes  Implement die command for SD so that we can force it to dump.
572 kes  Implement SD lock debug code.
573 kes  Implement new algorithm for keeping Volume list in SD.  It
574      is now owned by the device.
575 04Apr07
576 kes  Implement new code for freeing in use volumes that should 
577      resolve if not all, some of the problems of multiple drive
578      tape conflicts described in bug 801.
579 03Apr07
580 kes  Fix gui/bacula-web/images files in svn.
581 kes  Turn on FreeBSD/OpenBSD code to set EOT model on tape.
582 02Apr07
583 ebl  Fix a bug in batch mode (in string escape)
584 kes  Correct migration prune SQL typo that crept in in a    
585      recent 2.1.x change.
586 01Apr07
587 kes  Move bnet_despool() into class in bsock.c
588 kes  Modify job report to include director name and Build OS.
589 kes  Move drop root privilege and check_catalog() before fork.
590 kes  Add update database scripts (version 9 to 10) to updatedb directory.
591 31Mar07
592 ebl  Check size and age of each file after its backup to see if
593      it has changed during backup, if 'checkfilechanges' is set.
594      The FD will do an extra check (stat(2)) after
595      each file backup. mtime, ctime and size are compared with
596      'before backup' information. If time or size mismatch, an
597      error message will be generated. You must upgrade FD to use it.
598 30Mar07
599 kes  Make database name and user configurable
600      --with-db-name=xxx --with-db-user=xxx
601 kes  Add back database type to message.c for debugging.
602 29Mar07
603 kes  Implement dir_sql() which issues an SQL query.
604 kes  Modify bat medialist to use dir_sql() and do some minor C++
605      formatting as well as eliminating a number of pointers, simplifing
606      the code.
607 28Mar07
608 kes  Fix some of the mtx-changer grep commands for tape label readers.
609 kes  Convert a number of bsendmsg into the appropriate send/warning/error
610      message class calls.
611 kes  Suppress the using database message in the .sql command.
612 kes  Correct an incorrect bnet_tls_client prototype -- patch from Martin.
613 27Mar07
614 kes  Add context menu for floating a window.
615 kes  Some minor cleanup and name changes in qt-console
616 kes  Add doing mt setblk 0 in Win32 mtx-changer.
617 kes  Apply Martin's bug fix to move definition of ENODATA for 
618      FreeBSD to bsock.c
619 ebl  Add a BUSY handler to sqlite to be able to use multi_db = 1 with
620      sqlite2 and sqlite3.
621 26Mar07
622 kes  More pruning cleanup.
623 kes  Turn on wait_for_drive by default in mtx-changer.
624 kes  Turn on Batch insert code by default as it now passes regression.
625 kes  Add ./configure --enable-bat to enable building of Bat.   
626      No install yet though.
627 25Mar07
628 kes  Implement a new .sql command for bat.
629 kes  Implement code to turn off pruning in obtaining the next volume.
630      Pruning is turned off for the status dir command, but turned on
631      for SD requests and for the list nextvolume command.
632 24Mar07
633 kes  Correct Qmsg() that was not updated correctly when committing a
634      previous change (probably the recent TLS patch).
635 23Mar07
636 kes  Write new subroutine is_volume_purged() that explicitly checks
637      if the Volume is purged, and if so marks it as such. This should
638      resolve problems reported about needing to mount twice to recycle
639      volumes.
640 kes  Rewrite pruning algorithm to do more work in the SQL engine, and
641      to pass a list of JobIds to be deleted to SQL.  Also, minimize the
642      amount of duplicated code.     
643 kes  Do volume pruning only for the Media Type desired (reduces pruning time
644      if multiple Media Types are in the same pool).
645 kes  Implement more detailed info in the Job report for the Bacula version
646      and architecture.
647 kes  Switch from POOLMEM to POOL_MEM (a real class) in ua_prune.c and
648      ua_purge.c.
649 ebl  Add bbatch tool to bench database and insert mode.
650      Fix sql quote stuff in batch mode
651      Fix sql stuff for mysql
652 22Mar07
653 kes  Correct problems with am/pm scheduling. Fixes bug #808.
654 kes  Implement new prunning code that prunes up to 1000 jobs at
655      the same time.  The same technique can be applied to a number
656      of other prune/purge subroutines.
657 kes  Add an insanity check when starting a new tape job to ensure
658      that the tape position has not been changed. If so fail the
659      job.
660 kes  Fix Win32 build for dlls to add the folllowing:
661      src/lib/bsock.c -- new file with new entry points
662      src/lib/dlist.c  -- new entry points
663      src/cats/sql_create.c -- new entry point
664      src/cats/sql_cmds.c -- new DATA item exported
665 21Mar07
666 ebl  batch mode cleanup bscan-test is ok now.
667 kes  Implement SD code to check length of disk volume before appending.
668 18Mar07
669 kes  Correct return status on db_batch... routines.
670 kes  Add call to db_write_batch_file_records() to migration code.
671 ebl  Fix AfterJob timing
672 kes  Move the checking of the database in initializion of the Director
673      to after we drop privileges.  This avoids the need for both root
674      and bacula access to the DB.
675 kes  Correct a misplaced variable definition in src/filed/backup.c
676 kes  Correct how the new batch insert db_create_attributes_record()
677      uses the arguments.  Caused a seg fault in bscan.
678 kes  Implement lock() and unlock() methods in DEVICE class.
679      Implement block() and set_block(xx) methods in DEVICE class.
680 kes  Modify bnet_connect() so that it uses time() to check for the
681      wait time expiring (on some OSes, some system calls may not
682      return immediately).
683 kes  Modify Verify to obtain the previous JobId when it is actually
684      running rather than at schedule time (as it was in 1.38.x).     
685 kes  Fix src/job.c to handle MaxWaitTime correctly.  This should
686      fix bug #802.
687 kes  When checking pid in pid file, continue running if the pid is
688      the same as ours. This occurs on IRIX after a system crash.
689      Fixes bug #797.
690 10Mar07
691 kes  Extend new GUI API.
692 kes  Make the ua structure a class, and implement send_msg(),
693      error_msg(), warning_msg(), and info_msg().
694 08Mar07
695 kes  Apply fix from for building wx-console on the Mac from
696      bug #798.
697 kes  Implement new select mechanism for GUI programs.
698 kes  Reorganize initialization of stackedWidgets in bat.
699 07Mar07
700 kes  Add updated nagios plugin supplied by Christian Masopust.
701 05Mar07
702 kes  More bat implementation.
703 kes  File migrate bug with Pool Occupancy using mediaid instead
704      of jobids.  Fixes bug #795.
705 kes  Fix orphaned buffers in filed backup and verify due to
706      crypto buffers not freed during errors.  Fixes bug #789.
707 kes  Extend new GUI api code to tree commands.
708 kes  Ensure that tree and dot commands check console ACLs.
709 kes  Permit marking directory with trailing slash.
710 kes  Allow 20 console connections (instead of only 10).
711 04Mar07
712 kes  Add smartctl call to bacula-sd.conf as an example of getting
713      tape alert info.
714 02Mar07
715 kes  Modify jobq.c to let simultaneous restore jobs run. This may 
716      cause them to fail if they cannot get a drive.
717 kes  Add Client Connect Wait to Storage daemon to permit users to
718      modify the time the SD waits for a FD connection.
719 29Feb07
720 kes  Correct virtual changer check which was backwards. This caused
721      volumes to be unloaded into slots already occupied.
722 28Feb07
723 kes  Apply Command ACL filter to JobId list in restore command.
724 kes  Correct typeo in var.c patch.
725 27Feb07
726 kes  Don't let Bacula prune File or Job records for the current Job.
727 kes  Fix variable substitution pad + inc bug reported (with patch)
728      in bug #791.
729 26Feb07
730 kes  Correct SQLite log table index as reported by Luca Berra.
731 24Feb07
732 ebl  fix fifo stuff, bacula tries to rewind the fifo... Thanks to Andreas
733 22Feb07
734 kes  Begin implementing new comm signals for API.
735 kes  Fix a few places in lib/message.c where the open fd may 
736      not be zeroed.
737 kes  Continue implementing lib/bsock.c (real class).  Make jcr,
738      who, host, and port private. There are new methods to access
739      them for non-class use. This required touching a number of files.
740 21Feb07
741 kes  Add LANG=C to autoconf/randpass so it works with languages other
742      than English.  Fixes bug #788.
743 20Feb07
744 ebl  Revert ClientRunBeforeJob to old position as in 1.38.X.
745      This fixes bug #780
746      You will not be able to generate Include/Exclude list any more.
747      It will be fixed soon.
748      If you want to use this, you can apply
749      trunk/bacula/patches/testing/clientrunbeforejob_can_generate_include_exclude_list.patch
750 19Feb07
751 kes  Restore of sockets created false error messages because Bacula
752      no longer restores sockets, but the code was still trying to
753      set the attributes on a non-existent file. Reported by a user.
754 ebl  finish RecyclePool feature
755      Media will takes Pool.RecyclePool
756      when moving from Scratch to a Pool or when user will do
757      update volume=xxx frompool
758      To use it, add RecyclePool = aPool to your Pool resource
759         Pool {
760                 Name = Default
761                 RecyclePool = Scratch
762                 ...
763         }
764      TODO: update manual
765 kes  Expand new BSOCK class adding signal() and new BNET signals.
766 kes  Begin enhancing the dot commands adding a new API function
767      that returns more information and will make it easier
768      to interface to the Director from a program.
769 18Feb07
770 kes  Make DEVICE fd private. Its new name is m_fd, and can be
771      obtained with dev->fd() outside the class.  This is the
772      first of many DEVICE members to be made private.
773 kes  Implement Michael Renner's idea on having a virtual disk
774      changer. I made some minor modifications (e.g. I did not
775      implement the Virtual Changer directive, but simply set
776      the Changer Command to an empty string.
777 17Feb07
778 kes  Implement a BSOCK send() method that writes the whole record
779      in a single write() request rather than in two.
780 ebl  add update volume=xxx recyclepool=yyyy
781      volume takes recyclepool from pool when using update volume=xxx from pool
782 16Feb07
783 kes  Fix encryption deblocking bug, which caused some restored files
784      to be truncated. This fixes bug #763.
785 kes  Add FD event sequence order prepared by Eric -- for RunScripts.
786 kes  Fix 12am/pm bug as reported in bug #782 -- scheduler problem.
787 13Feb07
788 kes  Apply Eric's ClientRunScriptAfter patch to 2.0 and 2.1.
789 ebl  Use btime_t instead of uint64_t in media patch.
790 11Feb07
791 kes  Optimize the use of the database a bit in the Status dir command.
792      Only open it when needed, ensure that if any previous database
793      was opened, it is closed.
794 10Feb07
795 kes  Correct VolCatBytes bug from media patch.
796 kes  Apply patch from bug #612 by Rudolf Cejka to speedup pruning
797      in the case of orphaned records.
798 kes  Modify dbcheck to handle orphaned JobMedia, Path, Filename,
799      and File records in 300K chunks to be more efficient. This
800      idea came from Juan Luis Frances (if I remember right).
801 kes  Apply Eric's scratch patch that moves a purged Volume to
802      the RecyclePool.  Question: how is RecyclePool set? what
803      happens to the ScratchPool?
804 kes  Apply Eric's media patch that collects read/write media
805      times as well as byte counts.  This patch requires a
806      simultaneous upgrade of the DIR and SD.  Note, there
807      should be some way to turn off timing. I'm not sure
808      times are in Bacula units.
809 kes  Apply Eric's batch-insert patch.
810 09Feb07
811 kes  Update projects list.
812 08Feb07
813 kes  Implement Include/Exclude file lists in FD as dlists using
814      the new dlistString class. This permits efficiently having
815      large include/exclude lists and completes project Item 25.
816 kes  Fix dird/ua_cmds.c so that a cancel command checks if the
817      console is authorized to cancel the job.  This fixes bug 
818      #767.
819 kes  Modify SD so that the VolCatJobs medium record is updated
820      at the beginning of a Job rather than the end.  This
821      fixes bug #775 where exceeding MaxVolJobs caused jobs
822      to fail.
823 kes  Added a mutex around getting and setting Volume information
824      so that multiple simultaneous jobs will single thread.
825 07Feb07
826      Switch to using Subversion
827 kes  Remove src/pygtk-console/ from configure
828 06Feb07
829 kes  Delete src/lib/btree.c from win32 build, then add rblist.c
830      plus the entrypoints.
831 kes  Apply patch supplied that corrects debug print
832      in canceling jobs for max run time.  Supplied as
833      part of bug #621, which was previously fixed.
834 05Feb07
835 kes  Test on job_canceled() and sd_msg_thread_done inside
836      loop starting the message thread to avoid a race condition.
837      Fixes bug #771.
838 kes  Remove rl_catch_signal from console.c as it conflicted
839      with the header definition. Fixes bug #765.
840 ebl  Fixes bug #766 about RunsOnClient = Yes (case sensitive)
841 04Feb07
842 kes  Clarify some stored/acquire messages to indicate if the
843      problem is with read or append.
844 02Feb07
845 kes  Fix memory leak with storage ids in cats/sql_get.c
846 kes  Terminate watchdog earlier to avoid reference to released
847      memory -- reported by Jason Austin.
848 kes  Move closing the database from jobq.c to the director daemon
849      termination routine. This fixes memory leaks for shadow jobs
850      (i.e. migration jobs).
851 kes  Free up the unique jobid chain items in migrate.c.  This fixes
852      a memory leak problem.
853 kes  Convert some ugly looking for statements to use foreach_alist
854      in findlib/find.c.  This will facilitate converting the structures
855      to use dlist (for large include/exclude lists).
856 kes  Fix a bug in the btree.c and btree.h routines, then rename them
857      rblist and add them to be built in src/lib.  Include some new
858      methods written by Rudolf Cejka that make the code more readable
859      (hides some of the ugly casting).
860 kes  Add set_next() and set_prev() methods which make the code much more 
861      readable. Also add a new dlistString class that facilitates storing
862      strings in dlists.  To be used in the large include/exclude lists.
863 kes  Make some trivial modifications to lib/tree.h that use rblist
864      rather than dlist for storing the tree links. This was suggested
865      by Rudolf Cejka.  The result of this is that the restore tree now
866      uses red-black binary trees rather than simple linked lists. This
867      should give rather dramatic speed improvements for directories
868      contining large numbers of directories/files (more than 10000).
869 28Jan07 
870 kes  Fix maxruntime bug #621.
871 26Jan07
872 ebl  Implement the include JobID in spool file name project.
873 kes  Reorder projects file in order determined by Jan 2007 vote.
874 kes  Implement item #12 on project list -- quick release of FD by
875      the SD.
876 kes  Fix open of SQLite3 db where user does not have write permission
877      so that DIR does not crash. Fixes bug #761.
878 25Jan07
879 kes  Add back missing @ in Win32 Makefile.
880 kes  Change 'Device not configured to autolabel' from INFO
881      to WARNING.
882 kes  Fix jobq.c to restart failed jobs when Reschedule Times = 0 
883      which should restart an indefinite # of times.
884 kes  Fix configure --help to print --with-mysql[=DIR]. Same for
885      other DIR specifications.
886 23Jan07
887 rn   Fix msvc build problems. Fix bacula.dll exports for msvc build.
888      Fix path quoting in SQLite scripts.
889      Fix problems with SHGetFolderPath.
890 19Jan07
891 kes  Create patches/2.0.1-restart.patch. Fixes bug #755.
892 18Jan07
893 kes  Fix Job restart on error bug that promotes an Inc to a Full
894      backup.  This should fix bug #755.
895 kes  Add qt-console and first cut of code.
896
897 Version 2.0.1
898 12Jan07
899 kes  Fix Bacula->Documentation link on Win32 to point to index.html
900      instead of bacula.html. Fixed bug #750.
901 kes  Return JobId in db_get_job_record() when JobId==0. This should
902      fix bug #741.
903 kes  Do not release source pointers when restarting a failed job.
904 11Jan07
905 kes  Add dynamic dll entry point for SHGetFolderPath to Win32 code.
906      This *should* fix bug #747.
907 kes  Modify winbacula.nsi to substitute with g bin_dir_cmd. Should fix
908      bug #742.
909 09Jan07
910 kes  Modify USTORE constructor to set an empty store_source string, 
911      and don't copy the store_source string in a cancel.  Hopefully
912      this will fix Arno's seg fault, bug #744.
913 kes  Add back code to disable conio in configure. Fixes bug #743.
914 kes  Correct the Options scanner in the FD to correctly handle  
915      SHA1 option, which was eating the next option.  Reported by    
916      Sebastien Guilbaud.
917 kes  Add code to indicate when the SD is spooling, spool wait, and 
918      despooling as requested by Alan Brown.
919
920 Version 2.0.0 released: 4 January 2007