]> git.sur5r.net Git - bacula/docs/blob - docs/techlogs/2004/kes-1.33
update accurate file
[bacula/docs] / docs / techlogs / 2004 / kes-1.33
1               Technical notes on version 1.33  
2                         Kern Sibbald
3
4 General:
5 06Apr04
6 - Turn off SIGQUIT in console.
7 05Apr04
8 - A good number of document updates.
9 - Fixed the order which multiple files are accepted for 
10   inclusion in the restore tree due to the fact that PostgreSQL
11   returns files in a different order from their insertion.
12 02Apr04
13 - Fix autochanger test in btape. It used old editing routines.
14 - Fix run_program to return 0 if program runs and no output.
15 - Add more debug to run_program.
16 - Make signal debug print signal string.
17 01Apr04
18 - Build console with client-only build.
19 - Add better error messages to some of the db_xxx routines.
20 - Apply Christopher Hull's patches for proper Win32 shutdown.
21 - Eliminate True and False in favor of true and false.
22 - Put correct thread id in jcr once the correct thread is running.
23 - Zap head and tail pointers in dlist when everything is removed.
24 - Rework sm_dump() so that it won't overrun a buffer when editing
25   and error message.
26 - Fix watchdog to properly remove entries while walking the
27   dlist chain.
28 - Fix termination of last_jobs list by removing broken code.
29 31Mar04
30 - Update dbcheck to fix Paths without a trailing slash and Filenames
31   with a trailing slash.
32 30Mar04
33 - Add -p option to all SD programs including bacula-sd. It causes
34   Bacula to proceed or forge on in case of I/O errors. It is unlikely
35   this will help, and it is strongly recommended against running
36   the daemon with this option in production.
37 - Tweaked the Makefile not to create the gnome directories except
38   when doing a gnome install.
39 28Mar04
40 - Implement Qmsg() queuing of messages to prevent recursion especially
41   for bnet.c where recursion is fatal.
42 - Add detection of ncurses if the termcap lib is not found.
43 - Tweak winabout -- start cleanup.
44 - Fix dlist again, when list is destroyed, be sure to null head and
45   tail pointers.
46 27Mar04
47 - Add Scott's new gnome helper targets
48 - Make the default for restore to have nothing marked.
49 - The "all" keyword on the restore command marks everything by
50   default.
51 - The "done" keyword on the restore command prevents user interaction
52   with the tree routines -- used mainly for scripting (regression ...).
53 - Correct a bug in the last_sibling code.
54 - Add alphabetic sorting of siblings
55 25Mar04
56 - Based on Mike Acar's suggestions rework tree insert routines. Improve
57   performance by using a last_sibling link for inserts.
58 24Mar04
59 - Apply corrected SQL to sql_get.c supplied by Dan Langille.
60 - Implement "delete job jobid=xxx jobid=yyy ..."
61 - Implemente "purge volume=xxx volume=yyy ..."
62 - Fix buffer overrun in query string substitution.
63 22Mar04
64 - Fix bad format %s instead of %d for editing new slot in update volume.
65   Reported by Vadim Zotov.
66 - Better error diagnostics in ./configure for detecting termcap library.
67 20Mar04
68 - Restore old sql.c split_path and file name since it seems to have
69   broken the Verify stuff.
70 19Mar04
71 - Hunt down missing free_locked_jcr() in SD that caused zombies.
72 - Modify status outputs to be more consistent for zombie checking.
73 - Add tests to regression script for zombie jobs.
74 - Set EIO in dev_errno for all error returns when bad data found. This
75   fixes ERR=Success messages.
76 - Make error messages all contain ERROR for easy regression testing.
77 - Add sanity check in DIR for VolFiles becoming smaller.
78 18Mar04
79 - Second cut GTK+ restore GUI. Ready for testing but much more to do.
80 - Phil reported an sql path length=0 message. This broke saves of 
81   /  -- fixed in scan.c
82 - Fixed seg fault in btape "test" due to missing allocation of dcr.
83 - Tweaked some btape messages.
84 - Sort Volume names in Job report according to the order they were
85   written -- user request.
86 17Mar04
87 - First cut GTK+ restore GUI.
88 - Applied bsmtp patch supplied by a user. Thanks.
89 - Made a new split_path_and_filename() subroutine -- in lib/scan.c
90 15Mar04
91 - Fix "typos" in RedHat install-autostart Makefile.in
92 13Mar04
93 - Rework SD status command -- more needed.
94 - Added two tar files that Phil sent for adding slackware support.
95   Thanks Phil and Matt Howard.
96 - Fix relabel command -- || should have been &&.
97 - Correct once more the scheduling algorithm -- this time it should
98   be much better.
99 12Mar04
100 - Implement simple spool statistics printed by "status sd".
101 - Cleanup/add spool error messages.
102 - On multiple ctl-c, exit from console quickly.
103 - Implement code to select a different Volume in the SD if the
104   current Volume is busy -- requested by Patrick Cole.
105 - Change postgreSQL make tables to use bigint instead of integer 
106   for StartBlock and EndBlock because
107   there is no unsigned integer in postgreSQL and these fields use 32 bits.
108 - Implement multiple drive autochanger support -- prompted by email of
109   Patrick Cole.
110 11Mar04
111 - Update version and date in Win32 build.
112 - Fix bug in run_conf with month range zapping wday and wom.
113 - Correct editing of port for PQsetdbLogin in postgresql.c as reported
114   by J. Conroy, and do a second try.
115 10Mar04
116 - Integrate Phil's Makefile patch.
117 - Add SpoolDirectory to SD Device resource.
118 - Add MaximumJobSpoolSize to SD Device resource.
119 - Add MaximumSpoolSize to SD Device resource.
120 - Implement the above.
121 - Make despooling lock the device so only it writes
122   to the device during despooling.
123 09Mar04
124 - Data spooling now passes the regression tests.
125 - Added "Files Expected" to the restore job report.
126 - Implemented SpoolData = yes/no in the Job resource
127 - Implemented SpoolData = yes/no in the Run overrides.
128 - Note, you must have a 1.33.4-09Mar05 SD or later with the Director since
129   the DIR->SD protocol has changed to support data spooling.
130 - Remove the confusing "Which DBMS do you want to use (please select only one):"
131   messages from ./configure.
132 - Fix broken Jmsg with missing argument in find_one.c
133 08Mar04
134 - Second cut data spooling code.
135 - Fix missing piece of yesterday's patch.
136 07Mar04
137 - Integrate patches supplied by Jason Conroy that fix Slot numbers 
138   getting lost.
139 06Mar04
140 - This version contains a *major* addition to the SD structures.
141   Many variables have been moved out of the JCR into a new DCR
142   (Device Context Record). This required quite a few changes, and 
143   introduced a bit of instability. In the end, after a few more
144   rounds of changes, the DCR will replace virtually all arguments
145   to the low level SD read/write routines. This change permits
146   (with a bit more code) the SD to write to multiple devices at
147   the same time for a single Job. It also facilitates adding the
148   data spooling code.
149 - Added a patch that fixed the port specification for postgresql.
150 - Fixed findlib/find_one.c so that it will complain about backing
151   up a hard linked file twice, which makes a restore impossible.
152 - Tighten up permissions on pid file.  
153 - Attempt to avoid warnings when casting 64 bit pointers to an
154   integer.
155 - Added skeleton code for data spooling.
156 - Make sure spooled attributes are discarded on error.
157 03Mar04
158 - Updated getdiskinfo in rescue/linux to handle the fact that the
159   sfdisk -s option now includes info on partitions. Also, before 
160   creating the diskinfo files, clean out the old ones.
161 02Mar04
162 - Add debug and error output to jobq.c
163 - Fix some minor errors in debug output of scheduler.c
164 - Add "trace on/off" command and modify trace code in message.c
165   to work off trace flag rather than #defines.
166 01Mar04
167 - If console is found during install warn user (new name is bconsole).
168 - On install copy console.conf to bconsole.conf if it exists.
169 - Make RunAfterJob error non-fatal.
170 - Rework minor details in status output.
171 - Attempt to define all values for "consoles" in JCR to avoid
172   confusion.
173 28Feb04
174 - Use net start bacula to start Bacula on WinXP/NT/2K 
175   systems after installation. 
176 - Change a few strcpy()s to bstrncpy()s in signal.
177 - Add "gui on/off" command to console to turn on gui mode,
178   which will adapt Bacula better to batch or gui programs.
179   Currently, it prevents commas from being inserted into
180   numbers in the list command.
181 - Tweak some of the Makefiles so that the install is done with
182   the right program (nothing really changed).
183 - Install logrotate in the "make autostart" of Bacula on RedHat.
184 - Implement SIGHUP while jobs are running. It *seems* to work but is
185   a bit fragile and still crashes if you push it. More work needed.
186 - Applied Phil's GNOME 1.4 patch. Very clean. Thanks Phil.
187 - Major updates to the native Win32 installer.
188 27Feb04
189 - Restructure free of conf resources to handle job_end_push()
190   and SIGHUP.  Lots of changes little substance.
191 26Feb04
192 - Add mtimeonly=yes/no and keepatime=yes/no to Include list           
193   1.33 style.
194 - Allow no modifier in time and size specifications.
195 - Attempt to implement disk seeking. More work needed.
196 - Implement more in win32 installer and test it.
197 25Feb04
198 - Implement kb, mb, and gb modifiers for size, which mean
199   1,000 bytes, 1,000,000, ... bytes.
200 - Add Makefile to src/win32 to allow building the full 
201   release -- it calls nmake where appropriate.
202 - Remove the rsi directory from win32 as suggested by Christopher
203 - Add Michel Meyers' nsi file to win32 and integrate it with
204   the build.
205 24Feb04
206 - Add the frigging _O_BINARY to the right variable. Win32 works!
207 - Add debug code to state file. There is a problem with Win32 read
208   returning one byte less than it should.
209 - Implement a number of new functions for alist so that it has
210   equivalent functionality to dlist.  It will be used for
211   job_end_push().
212 - More work on state file. 
213 - Added a popup message box on Windows if Bacula Aborts.
214 - Attempt to shutdown the FD server, but doesn't work on Windows. This
215   would have given a cleaner shutdown, no problem.
216 23Feb04
217 - Update projects
218 - Attempt to fix state file on Win32 -- no luck.
219 - Add HPUX tweaks to configure.in 
220 - Update quickstart and install.wml of doc.
221 - Eliminate extern int h_errno from bnet.c by including netdb.h
222 - Eliminate NumJobs from last_job structure so that FD and SD
223   correctly report what is in the state file.
224 22Feb04
225 - Implement daemon state file, and save/restore last_jobs list.
226 - Fix time routines in win32 compat.cpp
227 - Fix a bug of not checking the bpipe_open() status in do_shell_expansion().
228 21Feb04
229 - Tweak new native Win32 FD to work on my system.  
230 - Add Volker's bacula script to the SuSE directory and convert it
231   to bacula.in
232 - Make LockRes() and UnlockRes() use read/write locks and have
233   debug info to trace locking and unlocking.
234 - Begin work of implementing SIGHUP. It is now enabled for
235   the Director and works only if there are no jobs running,
236   in addition, if the new conf file is incorrect, it will
237   terminate Bacula. Much more work to be done.  I've figured
238   out a scheme to implement it with running jobs without
239   adding individual semaphores or use counts.  
240 - Sort "list jobs" by StartTime rather than JobId, which can
241   be random.
242 18Feb04
243 - Added more const definitions for compiling on Solaris' C++.
244 16Feb04 1.33.3 released
245 - Add a lot of "const" to char * arguments to keep the native
246   Sun compiler happy.
247 - Added first cut of message queuing to prevent recursion in
248   low level routines. This code is not yet working.
249 - Spent a *huge* amount of time looking at the tape driver
250   code in the wake of several reports of tape labels getting
251   trashed. The code looks fine.
252 - Created a tape with an error (by writing a block at the
253   beginning of a tape that had valid data), and found that
254   Under Linux there is no way to read past an I/O error.
255   I tried mt; I tried my own program (btape); and I tried
256   using scsitape, which talks directly to the scsi driver.
257   This is *VERY BAD* news.
258 - I spent an *enormous* amount of time enhancing the btape
259   test program as well as making the fill command work with
260   both one and two tapes and the autochanger if configured.
261   The multiple tape fill test is now quite comprehensive.
262   It checks the last block on the first tape, the first block
263   on the second tape, and the last block (11) on the second
264   tape.
265 - Teaked the tape driver for several functions to use the 
266   OS driver's notion of mt_file if there is an error.
267 13Feb04
268 - Add DB update scripts retrieved by Scott to a new updatedb
269   directory at the top level.
270 - Add -p option to bcopy to allow ignoring errors on input.
271 - COALESCE(xx,0) does not work on PostgreSQL because the 0 is not a 
272   correct time. Replaced by adding LastWritten IS NULL to the sort
273   line as was first suggested by JML.
274 12Feb04
275 - Use COALESCE(LastWritten, 0) in sql_find.c to get NULLs to sort last.
276 - Add write/read and positioning test to btape "test" program.
277 10Feb04
278 - Fix bad printf of InChanger flag reported by Pascal Pederiva.
279 - Fix bad indexing off stack in authenticate.c reported by
280   Pascal Pederiva.
281 09Feb04
282 - Add \n to hosts.access reject message.
283 - Implement security message class and make hosts.access message use
284   that class.
285 08Feb04
286 - Fix check_memory bug in ua_query.c, which gives a bus error on Solaris.
287 07Feb04
288 - Added backup to cdwriter script to examples provided by Johan Decock.
289 - Fixed a bug where ls really did lsmark (just invert command table
290   entries).
291 - Fix bug where a soft linked file and a directory had the same name
292   by treating the soft link as a directory and putting the entries under
293   it. This fixes the bug reported by Alexander Mueller.
294 - Fix a deadlock situation in the new watchdog code where the 
295   watchdog locks its semaphore, and attempts to lock the jcr_chain,
296   but another thread has locked the jcr_chain and wants to free a
297   watchdog, which tries to lock the watchdog semaphore -- deadlock!
298   Used read/write locks to solve the problem. 
299 - Improved the error messages when I/O errors or buffer id errors
300   are detected, and prevent non-sense errors from being printed.
301 - Fix some incorrect messages in restore if no name is supplied
302   on the command line (e.g. pool= ).
303 - Add the third digit to the release version number.
304 - The strange "stuck" behavior on my development/production machine
305   were caused by the /lib/tls pthreads library. Removing it fixed
306   the problem.
307 04Feb04
308 - Add -l option to bls that causes it to ignore tape label errors.
309 03Feb04
310 - Correct problems with jobs scheduled at a later time by hand.
311   Missing unlock(), backward test on pthread_create status.
312 - Fix setip crash reported by Alan Brown.
313 - Create bacula.spec.in in SuSE directory from Scott.
314 - Fix missing unlock() in ua_status on access denial.
315 - Lots of little cleanups, improving jcr use_count debug printing.
316 - Add EMSG to mem_pool utilization statistics.
317 01Feb04
318 - New bacula.spec.in file from Scott
319 - Add Scott's spec file to the platforms/suse directory
320 - Modify configure.in to make platforms/suse/bacula.spec
321 - Do not allow a resource name to be specified twice.
322 30Jan04
323 - Apply Jess Guardiani's second fix to list autochanger volumes without
324   opening the drive (necessary on FreeBSD if no tape is in the drive).
325 - Added Postgresql configure search libraries recommended by Alan Brown.
326 29Jan04
327 - Reworked the command line handler in restore to walk through the
328   arguments one at a time. This makes the file= entries work correctly.
329   Also reworked the code that takes the MediaType and finds a 
330   storage device.
331 26Jan04
332 - I've noticed that the backups of Rufus, my development machine, can be
333   "stuck" for about 12 hours, then suddenly they run. In running the 
334   debugger, I see that it was stuck on the select() statement waiting
335   for the Hello.  Why this happens I am not sure. I re-organized the code
336   a bit because it didn't seem to be as robust as it could, but I cannot
337   explain the problem. 
338 - As a consequence of the above, I have implemented a new bsock timer that
339   can be started and stopped. This is based on Nic Bellamy's new watchdog 
340   code. The timer is set with start_bsock_timer(bsock, timeout); If the
341   timeout expires, the bsock will be marked as timed_out and interrupted
342   with a pthread_kill() on the current thread.
343 - Added 5 minute bsock timers to all the opening Hello/authentication 
344   exchanges between the various daemons.               
345 24Jan04
346 - New spec file from Scott.
347 - New patch file from Scott for create_sqlite_database
348 - Fix crash in run command if invalid pool specified on the command line
349   and then the user cancels the Pool prompt.
350 - Separate Console and ConsoleFont resources in gnome2 conf files.
351 - Remove possibly bad ASSERTs from bnet.c
352 - Remove open() of device in dircmd.c, which fails on FreeBSD with
353   an autoloader -- thanks to Jesse Guardiani for this fix.
354 20Jan04
355 - Remove all "hostname -s" from configure except for RedHat. Use uname -n instead.
356 - Implement SetIP command.
357 - Implement Close On Poll in Device resource on SD.
358 - Implement Full, Inc, and Diff Pools.
359 - Implement Access control lists for Consoles.
360 18Jan04
361 - Define default working_dir as /var/bacula/working.
362 - Implement setip console command to set new IP address for a Client.
363 17Jan04
364 - Implement maximum network buffer size directives.
365 - Good first cut at access control lists for the console.
366 - Optimize restore to select only latest Differential backup after
367   the Full, and then all following Incremental backups. Previously
368   everything after Full was selected.
369 16Jan04
370 - Organize kernstodo a bit (more to be done).
371 - Add client IP address to BSOCK structure.
372 - Use bit fields where appropriate in BSOCK structure.
373 - Pass UAContext to ua authenticate in Director, and make it
374   set the appropriate console (or NULL for none).
375 - Tweak restore "run" argument handling and add "files" keyword.
376 - Add device name or Volume name to some SD messages.
377 15Jan04
378 - First cut multiple consoles.
379 14Jan04
380 - Update kernstodo
381 - Add quit command to restore tree handler.
382 - Make restore tree handler remember if a hard link is present, and
383   in doing a mark, only get database entry if there is a hard link.
384   mark commands thus run at least 2 orders of magnitude faster.
385 - Add files=xxx field to run command submitted for restore.   
386 - Add yes to restore run command if either yes or run is command line
387   argument.
388 - Make "yes" on command line argument skip prompt for modification of
389   run job.
390 - Add markdir and unmarkdir -- both affect only the directory in
391   question and do not do a recursive descent.
392 - Make tree command automatically mark all higher level directories to
393   be restored when a directory or a file is selected.  Such directories
394   are indicated by preceding the name with a + to indicate that only
395   the directory entry is selected and not the whole directory tree.
396 - Modify a few tree commands to walk through all arguments rather than
397   just taking the first one.
398 13Jan04
399 - Update copyright date on changed files.
400 - Make mark command in restore tree run *much* faster by accessing database only
401   if the file actually is hard linked -- determined at time tree it built by
402   keeping a has_link bit in the tree entry.
403 12Jan04 
404 - Modify findlib/makepath.c to create all parent directories with full permissions.
405   This should solve the access problems on restoring files on Win32 systems.
406 - Modify restore to report **** Restore Error **** if any error are found.
407   I.e. a file could not be created.
408 - Change a few errors into warnings -- e.g. if permissions could not be set, but
409   the file is actually restored.
410 11Jan04
411 - Replace bsd_queue with dlist in lib/watchdog.c
412 - Add Date: header to bsmtp.  Thanks to Meno Abels (abels) on SourceForge
413   for reporting this.
414 - Remove ap==NULL check in src/lib/var.c as suggested by Christoph Barbian
415   because ap (va_list) is a struct on the Alpha, so the code does not
416   compile.
417 10Jan04
418 - Implement first cut of polling for a Volume.  New Device directive
419    "Volume Poll Interval = xxx" where xxx is a time specification      
420    (e.g. 5min). Default is off.
421 - Call pthread_cancel on SD msgchan only if the threadid is non-zero.
422 07Jan04
423 - Change RH autostart scripts to start in Dan's order.
424 06Jan04
425 - Correct calculation of week of month in scheduler and in scheduled
426   listing.
427 04Jan04
428 - Fix cancel of job waiting on mount to be a bit cleaner.
429 03Jan04
430 - Fix seg fault -- don't close db in db_open_database(). It must explicitly
431   be called.
432 - Doc updates
433 - Allow purge of a single JobId from a Volume (code untested)
434 - Implement fix to keep SD from looping complaining about the wrong volume
435   at the end of a tape -- reported by Phil, and fix confirmed by him. I cannot
436   seem to reproduce the bug here.
437 - Clean up a few more strcpy()s.
438 01Jan04
439 - Fix configure.in FD User print per Lars.
440 - Doc update.
441 - New bacula.spec.in from Scott. Nice!
442 - Make RunAfterJob non-fatal if it errs since the Job has really  
443   already completed the save.
444 - Replace sprintf with bsnprintf in message.c
445 31Dec03
446 - Note, this change affects only the Win32 FD.
447 - Fixed Win32 FD crash due to missing argument in status command. It
448   always crashed if there was a job that had previously run.  Thanks to
449   Christopher Hull for finding and diagnosing this problem.
450 29Dec03
451 - Fix SELECT as indicated by Dan in sql_get.c for returning Volume names.
452 - Fix last_jobs list crash for utility programs (btape, ...).
453 - Correct editing of FileSet name into SQL command.
454 - Allow calling watchdog stop without initialization for utility programs.
455 - Enhance btape test by attempting to forward space past the end of the tape.
456 - Detect CAP_FASTFSF in btape test as possible reason for failure.
457 - Attempt to prevent infinite loops in fsf_dev() if device not properly
458   configured.
459 - Attempt to get correct file number on tape after backspacing at EOM. The    
460   correction should resolve differences in OS tape driver implementations.
461 - Add ctl-c detection to bconsole. When reading from tty, interrupts any
462   output from Bacula, when reading from a file, it terminates the reading
463   and returns possibly exiting if it is a batch job.
464 - Create devel_bacula.in script and make it configure itself. Very similar
465   to the new bacula.in.  
466 - Modify bacula.in to have separate file locations for each daemon -- makes
467   it easier to make a new devel_bacula.in when there are changes.
468 - Remove old config files when rebuilding configure to avoid error msgs.
469 - Fix btape "test" to respect TWO EOF.
470 - Fix fsf_dev() to use system notion of file if it is valid after bsf_dev().
471 - Move btraceback.gdb to scripts directory on installl.
472 - Add new mandrake bacula.spec.in
473 28Dec03
474 - Find commonset of c_iflags that work with FreeBSD tcsetattr on terminals.
475 - Remove comments from string concatenation -- doesn't work on FreeBSD
476   compiler.
477 - Moderately improve bpipe_close() errors. Must rethink status return.
478 - Eliminate some Emsgs in favor of Jmsgs.
479 27Dec03
480 - Add optional Pool keyword on restore command line. If specified, the pool
481   used will be restricted to the specified pool.
482 - "Finish" implementation of JobDefs.
483 - Fix directory for chmod of cats scripts.
484 26Dec03
485 - Implement foreach_res() #define and start replacing old code.
486 - Work some more on jobdefs -- more to be done.
487 - Implement bstrftime_nc() bstrftime with no century.
488 - Fix static console problem in gnome2 and gnome directories reported by Alan 
489   Brown.
490 - Add code to test for valid Resource Names. Permitted characters are now
491   alpha, numeric, colon, period, minus, underscore, space.
492 - Turnoff some unused code in timers.c
493 - Start adding code to dev.c to prevent infinite loops if fast forward space
494   file (MTFSF) is configured on but not properly supported by OS.
495 24Dec03
496 - Replace some M_ABORTs with M_ERROR
497 - Implement foreach_dlist() and foreach_htable() as suggested by Nic.
498 - Cleanup a few compile warnings.
499 - Made restore use the base FileSet name instead of modifications of the FileSet.
500 - Fix "restore" to always look at storage keyword and to use get_storage_resource()
501 - Fix seg fault in restore if no client found/specified.
502 - Made JobBytes print in 14 columns instead of 12 in status reports.
503 - Install static-gnome-console if built.
504 - Set max changer wait from 2 mins to 5 to avoid timout while tapes load.
505 23Dec03
506 - Add additional error messages to bsmtp. 
507 - Major cleanup of jcr locking/use_count code. Lots of fixes a bit everywhere.
508   This risks to be a bit unstable for a bit, but should fix the crashes
509   that Nic was seeing.
510 22Dec03
511 - Merge Nic Bellamy's watchdog code.
512 20Dec03
513 - Deleted Drive from Media record.
514 - Added VolReadTime and VolWriteTime. They are passed back and forth,
515   but the SD does not yet set them.
516 - Moved the 3 copies of list_dashes() and list_results() in cats to
517   sql.c.  Hopefully this can remain common code.
518 19Dec03
519 - Merged Dan's changes with mine for detecting and configuring
520   PostgreSQL.
521 - Worked on making regression script configurable. While Dan added 
522   multiple database support.
523 18Dec03
524 - Add skeleton SuSe platform files and configure support.
525 17Dec03
526 - Merge code from Laptop into main development directory.
527 - Merge my changes with Dan's (conflicts only in autoconf).
528 07Dec03
529 - Turn off fast block rejection.
530 - Do not read tape lable back into block as it causes race condition
531   with multiple simultaneous jobs.
532 06Dec03
533 - Add conio.c but not yet called by console.
534 - Make code in msgchan that does "use Device" use new more standard
535   pm_strcpy() routines.
536 - Use pm_strcpy() in ua_input in place of bstrcpy().
537 - Make realloc'ing for bvsnprintf() add 1/2 current length to buffer to
538   minimize reallocs.
539 - In ua_output.c in bsendmsg() if msg buffer is realloced, be sure to 
540   reset the new address in the socket packet.  Fixes seg fault.
541 28Nov03
542 - Mark media created by bscan as Archive so they will not be written to.
543 - Add additional columns to catalog, fix problems with update ...
544 - Lots of doc updates.
545 - Implement list (dlist class) of last job statistics. Keep last 10.
546 - Implement one line listing for "Terminated Jobs" and "Running Jobs" much
547   like the current "Scheduled Jobs" list.
548 - Remove "restoration" and replace it with "to be restored".
549 - Add device name to some SD messages.
550 25Nov03
551 - Some how, the recursive error messages in bnet.c (calling Jmsg) are
552   causing the FD to crash (possibly other daemons as well). 
553 24Nov03
554 - Sort FileSet selection list by CreateTime.
555 - Add "lsmark", and "estimate" to tree routines.
556 - Doing a mark or unmark now prints how many entries were changed.
557 - Add command argument parsing to btape.c
558 - Enhance EOT to print file:block on message.
559 - Add repeat counts on btape bsf, fsf, bsr, fsr, and weof commands.
560 - Enhance btape's fill command to be much clearer and more reliable.
561 - Add state file to btape so that unfill command can be done any time
562   after a fill command.
563 - Use reposition_dev() to position for read back of last block.
564 22Nov03
565 - Zap InChanger flag only if setting Slot to non-zero.
566 - Added new SD directive TwoEOF, default off, that tells Bacula whether
567   to write one or two EOFs for EOM.  For the OnStream driver it must
568   be off, otherwise an empty file will be created.
569 - Cleaned up the btape "fill" command to compare the last block written
570   and read rather than just printing them.
571 21Nov03
572 - Implement btape test for autochanger.
573 - Implement btape test for Fast Forward Space File.
574 - Moved up to cygwin 1.5.5-1
575 - Implemented Fast Forward Space File
576 20Nov03
577 - Add support for selecting volumes from InChanger list first, then
578   selecting from all available volumes.
579 - Ensure that Volumes are selected from oldest LastWritten data/time.
580 - A couple of bug fixes ensuring the proper ordering of volumes.
581 19Nov03
582 - Return oldest LastWritten for find_next_volume.
583 - Remove ASSERT from stored/acquire.c that could trip when it shouldn't.
584 - Enhance SD status if debug_level > 1 to show details of dev status.
585 18Nov03
586 - Create update_bacula_tables, ... scripts and modify configure and Makefiles
587 - Eliminate is_num() and use is_an_integer().
588 - Add user slot selection code "slots=1,2-3,5,10, ..."
589 - Start daemons at level 90 rather than 20 so that MySQL will already
590   be started.
591 - Write alter_mysql_tables.in and alter_sqlite_tables.in
592 - Add Drive and InChanger to Media record.
593 - Update database level to 7.
594 - Add db_make_inchanger_unique() and call it when creating and updating
595   the Media record.
596 - Add Drive and InChanger to database code for Media record.
597 - Allow changing InChanger flag in update command.
598 - First cut at allowing the user to specify slots for updating autochanger.
599 - Add scan to "update slots scan".
600 - Add slots=1,3... to "update slots" and to "update barcodes slots=1,3".
601 - Add command in SD to readlabel.
602 - Add new Win32 cygwin 1.5.5 binaries (cygwin1.dll, chown.exe, ...)
603 15Nov03
604 - In the bacula start/stop script, ordered the stop: FD SD Dir to
605   give the SD the best chances of updating the catalog before dying.
606 - Add Drive and InChanger to MEDIA_DBR record and to Volume update
607   from the SD.
608 - Reorganize the Volume info update from SD so that the Dir sends back the
609   current information in case the Volume status has changed by expiring.
610   The DIR-SD protocol is not backward compatible (must update).
611 - Fixed the signal handler to pass the signal to the exit_handler() 
612   previously it passed 1.
613 - Modified SD so that on normal shutdown, it walks through all jcrs and
614   cancels them so that the Volume status will be updated in the catalog.
615 - Found and fixed a bug where ST_LABEL was not set in append mode
616   (when a different tape was accepted other than the original one
617   proposed by the DIR.
618 - Update the catalog Volume info after dev->file is incremented rather
619   than waiting for end of job.
620 12Nov03
621 - Fix timezone problem by passing UTC time to FD.
622 - Fix clock scew between DIR and FD.
623 - Change getdomainname() prototype for Darwin.
624 - Add gethost_strerror() to create correct error message for
625   gethostbyname().
626 - After doing a kill() of a stalled connection in watchdog, turn off
627   the timer to prevent an infinite loop.
628 - Allow Bacula to rewrite the label on a disk volume.
629 - Correct usage report printed by bsmtp.
630 11Nov03
631 - Complete changing references to bsmtp from smtp.
632 - Add L_NONE for Admin and Restore jobs and update level_to_str()
633 - Fix segfault from double free of RestoreBootstrap in job.c
634 10Nov03
635 - Change console to bconsole
636 - Change console.conf to bconsole.conf
637 - Change smtp to bsmtp
638 - Implement .bconsolerc
639 - Check if volume has expired when doing an update media for the SD
640 09Nov03
641 - Implement new code that assures that a non-zero Slot is unique within
642   a given Pool. When setting a non-zero Slot, the Slot of all other
643   Volumes with the same Slot is set to zero.
644 07Nov03
645 - Fix bug reported by Lars where an incorrect Volume name was printed
646   by the "status dir" command.
647 06Nov03
648 - Pretty up a few error messages printed by smtp.
649 - Make btime_t int64_t so that one can do arithmetic.
650 - Implement since as utime (64 bit UTC). 
651 - Compute clock diff between Dir and FD, and adjust since time.
652 - Apply SQL fix from Nic Bellamy (thanks).
653 - Apply John's zlib #ifdefing fix.
654 05Nov03
655 - Add Dan's with-sd-user, ... to configure.in.
656 - Add Dan's userid and group modifications to bacula.in
657 - Lots of documentation updates.
658 - Make console print "Enter a period to cancel a command" when starting.
659 - Fix the "list nextvol" command so that it doesn't try to close the
660   database twice, giving a segfault.
661 - Fix (hopefully) to dircmd.c so that a mount request does a pthread_cond_signal.
662   There was one path were the signal was not sent. This should fix the bug
663   that requires you to do two "mount" commands to free a job waiting on a mount.
664 - Make dir_ask_sysop_to_mount_next_volume() return immediately if a slot is
665   specified.
666 - Correct some of the messages in testfind.c (pointed out by Dan -- thanks).
667 - Alias fd to client, sd to storage.
668 - Changed order of Console commands so that short commands such as q (quit) 
669   are more logical.
670
671 Changes submitted this submission: