1 Technical notes on version 1.29 22Jan03
7 Changes submitted this submission:
9 - Tightened up permissions on all .conf files to be 640 so they are not
12 - Added prefixlinks=yes/no Job record to specify applying the Where
13 prefix to absolute soft links. Code is not yet passed to FD, because
14 FD would then be incompatible with version 1.28.
15 - Added skeleton of installation for Gentoo release for Patrick Naubert.
16 - Add timer on open() for reading or writing a FIFO file.
17 - Put btraceback and btraceback.gdb in sysbin dir (a bit of polution,
18 but at least dumps will work).
20 - Added "append" all messages to a log to default bacula-dir.conf
21 - Added WriteBootstrap to default bacula-dir.conf
22 - Made smartall.c print "Out of memory" if malloc() fails.
23 - Added pthread btimer routines.
24 - Added timer to FIFO open statement
25 - George was still having problems with VolUseDuration failing.
26 On looking into it, one line of code subtracting 1900 was
27 mysteriously missing from the source -- bizarre.
29 - Yesterday's version corrects all the problems I was
30 previously having, and my production jobs are now completing
32 - Added a #define dev_cap() to test the capabilities bits. I just
33 makes the code a bit shorter and a bit simpler.
34 - Added phase 1 support for an output fifo device. The big
35 difference here is that it is a STREAM device, which means that
36 Bacula will only write to it and not read. Thus, Bacula assumes
37 that the correct "Volume" is mounted and will construct a valid
38 label (without needing the Volume to be prelabeled), and write
40 - Added phas 1 support for input from fifo device (suppress re-read,
41 add empty buffer flag).
43 - Improve printout of dbcheck with # files/path fixing.
44 - Zap SD authorization code after use.
45 - Added <> back to smtp (think about this some)
48 - Massive change to add jcr as the first argument to nearly
49 every db_ call. This is because I was storing the jcr in the
50 db structure, which will not work because everyone shares
51 exactly the same structure.
52 - More cleanups of error termination status in filed.
53 - Found another bug in message.c where %s was missing in JmsgN. A lot
54 of cleanup in message.c
55 - Found places where filename listing was made (restore, verify
56 vol) where the buffer could possibly overrun.
57 - Chain include files on the end of the list so that the
58 order will be correct.
59 - Rewrote mtx-changer to output one slot per line terminated by
60 a colon followed by an optional Volume Tag for the "list" command.
61 Preparation for handling Volume Tags.
62 - My production crash remains elusive. Adding debug code or running
63 under the debugger eliminates the problem. I found a case in
64 message.c where I was extending the message string by two
65 characters to send it to the console. VERY BAD. Rewritten.
66 - Started implementing fifo and program handlers (i.e. streams)
67 in the Storage daemon. Lots to do.
68 - Added a trace capability where trace statements are written
69 to a file. Tmsg(). Hopefully this won't be used much.
70 - Running lots of "production" saved by scheduling a few minutes
71 after the current time -- slow process ...
73 - Removed <> on From and To in smtp.c as suggested by James MacLean.
74 - Added code to suppress spurious error messages during cancel,
75 but I was unable to eliminate all errors -- to be worked
77 - Up size of print buffer from 2000 to 5000.
78 - My production run failed again. I'm beginnig to suspect
79 hardware problems because running by hand or under the
80 debugger always works -- we will see.
81 - Added Update Volume VolFiles to reset correct tape files
83 - Use the mysql_escape_string() rather than internal version.
85 - Cleanup handling of JobStatus by creating a subroutine.
86 - Fix a number of minor things with JobStatus.
87 - Print FD and SD JobStatus on backup report.
88 - Add JCR to findlib -- so now FD stops normally when cancelled.
89 - My production Director segment faulted during the second Job.
90 I haven't been able to track it down. After rebuilding, all
91 jobs finished correctly.
92 - In investigating the duplicated Paths, I found that there
93 were 10,552 of them -- only Path records. After checking the
94 code, I do not see the reason, but I've enhanced the code to
95 print the full path name.
96 - I made a few improvements to tools/dbcheck. Mostly it provides
97 a bit more feedback with verbose mode on when eliminating
98 duplicate filenames or paths.
100 - During four simultaneous backups, the File daemon started
101 detecting buffer corruptions. It turns out to be due to the
102 fact that the smartall.c routines were not thread safe. They
104 - Based on input from James MacLean and team, I eliminated a number
105 of places where printf could be recursively called by using "%s".
106 - It turns out that because of an error of my understanding of
107 mysql_escape_string(), the last argument was taken as the length
108 of the string to be escaped rather than the maximum length. I've
109 now corrected all my code -- Thanks James.
111 - George Motter reported problems with UseDurations, and it seems
112 that there were a number of inconsistencies and problems with
113 FirstWritten and LastWritten. Hopefully for the most part they
114 are now corrected. Also fixed LabelDate if done through Console.
115 - Try to chase down reasons why there would be buffer overruns.
116 Added P & V around referencing last_fname for status.
117 Rewrote find_one.c with MEMPOOL, but not yet tested enough
120 - Give extra margin to converting filenames from Unix to Windows
121 in attribs.c of findlib -- dumb cygwin API doesn't provide for
123 - Added file:line traceback to size_of_pool_memory, check... and
124 realloc in an attept to get closer to the memory overrun reported
127 - Made yet another fix to quoted string -- paths! Thanks to
128 Scott Medlock for reporting this.
130 - Implemented FIFO reading/writing. To do so, simply explicitly mention
131 the fifo file (named pipe) in the Include AND add the new option
134 - Started implementing | and < on Include names.
135 - Changed source to . in cats directory as requested by