Browse code

Update changelogs.

From the git logs for ce0c204a..HEAD.

Török Edvin authored on 2010/03/31 21:59:08
Showing 1 changed files
... ...
@@ -1,28 +1,447 @@
1
+Wed Mar 31 15:36:23 2010 +0300 (edwin)
2
+--------------------------------------
3
+ * unit_tests/check_common.sh: Fix print of test log when unit test fails (bb #1838).
4
+
5
+Wed Mar 31 15:08:24 2010 +0300 (edwin)
6
+--------------------------------------
7
+ * libclamav/c++/llvm/lib/System/Win32/Signals.inc: Fix Ctrl-C handler on win32, thanks Sherpya!
8
+
9
+Wed Mar 31 12:30:57 2010 +0300 (edwin)
10
+--------------------------------------
11
+ * libclamav/c++/llvm: Workaround bb #1898.
12
+
13
+Wed Mar 31 11:43:28 2010 +0300 (edwin)
14
+--------------------------------------
15
+ * libclamav/c++/llvm: Pull LLVM 2.7 release branch last time.
16
+
17
+Wed Mar 31 11:03:31 2010 +0300 (edwin)
18
+--------------------------------------
19
+ * etc/clamd.conf: bb #1890.
20
+
21
+Wed Mar 31 10:53:11 2010 +0300 (edwin)
22
+--------------------------------------
23
+ * libclamav/bytecode: jsnorm api.
24
+
25
+Tue Mar 30 23:29:27 2010 +0300 (edwin)
26
+--------------------------------------
27
+ * libclamav/c++/llvm/configure: Do the atomic builtin tests using the C++ compiler,
28
+  since only C++ sources need it (bb #1904).
29
+
30
+Tue Mar 30 23:22:23 2010 +0300 (edwin)
31
+--------------------------------------
32
+ * libclamav/c++: Update ClamBCRTChecks.cpp from bytecode compiler:
33
+    Check bounds of each pointer passed to/from APIcalls,
34
+    forbid recursion.
35
+
36
+Tue Mar 30 18:05:10 2010 +0300 (edwin)
37
+--------------------------------------
38
+ * libclamav/c++/llvm/test: Remove some unused LLVM test files.
39
+
1 40
 Tue Mar 30 15:18:45 CEST 2010 (tk)
2 41
 ----------------------------------
3 42
  * freshclam: fix some issues with --submit-stats (bb#1902)
4 43
 	      Thanks to Mark Pizzolato
5 44
 
45
+Tue Mar 30 15:33:51 2010 +0300 (edwin)
46
+--------------------------------------
47
+ * libclamav/c++/llvm: Merge LLVM SVN r99883, fix double frees.
48
+
49
+Tue Mar 30 13:09:10 2010 +0300 (edwin)
50
+--------------------------------------
51
+ * libclamav/c++/llvm: Merge LLVM SVN r99881 to fix some more VNInfo leaks.
52
+
53
+Tue Mar 30 11:10:58 2010 +0300 (edwin)
54
+--------------------------------------
55
+ * unit_tests/check_bytecode.c: Increase timeout of testcase itself.
56
+
57
+Tue Mar 30 11:07:05 2010 +0300 (edwin)
58
+--------------------------------------
59
+ * libclamav/c++/bytecode2llvm.cpp: Minor optimization in JIT loader.
60
+
61
+Tue Mar 30 10:42:46 2010 +0300 (edwin)
62
+--------------------------------------
63
+ * libclamav/bytecode.c: Fix use-of-uninit memory on zeroinitializer.
64
+
65
+Tue Mar 30 00:34:49 2010 +0300 (edwin)
66
+--------------------------------------
67
+ * libclamav/c++/bytecode2llvm.cpp: Update SELinux message.
68
+
69
+Tue Mar 30 00:04:00 2010 +0300 (edwin)
70
+--------------------------------------
71
+ * unit_tests/check_bytecode.c: Increase bytecode timeout for non-timeout tests.
72
+
73
+Mon Mar 29 23:48:18 2010 +0300 (edwin)
74
+--------------------------------------
75
+ * unit_tests/input/pdf.cbc: Update pdf.cbc.
76
+
77
+Mon Mar 29 23:47:59 2010 +0300 (edwin)
78
+--------------------------------------
79
+ * libclamav/bytecode*: More interpreter fixes, pdf.cbc seems to be running now.
80
+
81
+Mon Mar 29 22:33:20 2010 +0300 (edwin)
82
+--------------------------------------
83
+ * libclamav/bytecode_vm.c: Fix OP_BC_GEPZ/OP_BC_GEP1 in interpreter.
84
+
85
+Mon Mar 29 21:06:47 2010 +0300 (edwin)
86
+--------------------------------------
87
+ * libclamav/bytecode*,c++,clambc.h: More fixes for pdf.cbc.
88
+
89
+Mon Mar 29 12:09:07 2010 +0300 (edwin)
90
+--------------------------------------
91
+ * unit_tests/check_bytecode.c:  Separate bytecode tests into jit and interpreter.
92
+
93
+Mon Mar 29 11:38:52 2010 +0300 (edwin)
94
+--------------------------------------
95
+ * libclamav/bytecode_vm.c, unit_tests: Fix inflate.cbc for the interpreter.
96
+
97
+Sun Mar 28 23:46:41 2010 +0300 (edwin)
98
+--------------------------------------
99
+ * libclamav/bytecode_vm.c: Only show all the trace/debug messages in --enable-debug mode.
100
+
101
+Sun Mar 28 23:27:05 2010 +0300 (edwin)
102
+--------------------------------------
103
+ * libclamav/bytecode*, unit_tests: Fix bswap.cbc in interpreter mode.
104
+
105
+Sun Mar 28 20:15:48 2010 +0300 (edwin)
106
+--------------------------------------
107
+ * libclamav/bytecode*, filtering.c: Fix some possible uninitialized value uses.
108
+
109
+Sun Mar 28 13:52:29 2010 +0300 (edwin)
110
+--------------------------------------
111
+ * libclamav/c++: Fallback to interpreter mode when SELinux denies 'execmem' access. (bb #1901).
112
+
113
+Fri Mar 26 10:35:27 2010 +0200 (edwin)
114
+--------------------------------------
115
+ * Increase timeout in unit test (bb #1899).
116
+
117
+Fri Mar 26 10:35:11 2010 +0200 (edwin)
118
+--------------------------------------
119
+ * configure: Fix linking with gold (bb #1903).
120
+
6 121
 Wed Mar 24 18:29:55 CET 2010 (tk)
7 122
 ---------------------------------
8 123
  * V 0.96rc2
9 124
 
125
+Wed Mar 24 19:14:24 2010 +0200 (edwin)
126
+--------------------------------------
127
+ * clamd/clamd.c: Fix typo(thanks Tomasz).
128
+
129
+Wed Mar 24 18:34:58 2010 +0200 (edwin)
130
+--------------------------------------
131
+ * libclamav: bytecode timeout 60s.
132
+
133
+Wed Mar 24 18:23:01 2010 +0200 (edwin)
134
+--------------------------------------
135
+ * libclamav/c++/llvm: bb #1879, port LLVM commit r98349.
136
+
137
+Wed Mar 24 17:55:04 2010 +0200 (edwin)
138
+--------------------------------------
139
+ * libclamav/bytecode*: Downgrade some messages to debug.
140
+
141
+Wed Mar 24 17:37:23 2010 +0200 (edwin)
142
+--------------------------------------
143
+ * libclamav/bytecode_api.c,unit_tests: Fix valgrind warnings.
144
+
145
+Wed Mar 24 17:27:14 2010 +0200 (edwin)
146
+--------------------------------------
147
+ * libclamav/c++/llvm: Merge latest LLVM 2.7 release branch.
148
+
149
+Wed Mar 24 17:22:34 2010 +0200 (edwin)
150
+--------------------------------------
151
+ * libclamav/c++/bytecode2llvm.cpp:  Disable JITDebugRegisterer, and fix unit_tests rule.
152
+
153
+Wed Mar 24 17:07:14 2010 +0200 (edwin)
154
+--------------------------------------
155
+ * libclamav/bytecode*, unit_tests: Fix more leaks.
156
+
157
+Wed Mar 24 16:47:42 2010 +0200 (edwin)
158
+--------------------------------------
159
+ * win32: update win32 proj.
160
+
161
+Wed Mar 24 16:41:29 2010 +0200 (edwin)
162
+--------------------------------------
163
+ * unit_tests/check_unit_vg.sh: Fix unit test script.
164
+
165
+Wed Mar 24 16:35:40 2010 +0200 (edwin)
166
+--------------------------------------
167
+ * libclamav/c++/llvm: port LLVM SVN r99160 correctly.
168
+
169
+Wed Mar 24 16:25:57 2010 +0200 (edwin)
170
+--------------------------------------
171
+ * unit_tests: Run check_clamav under valgrind too to actually detect the leaks.
172
+
173
+Wed Mar 24 16:08:00 2010 +0200 (edwin)
174
+--------------------------------------
175
+ * libclamav/c++/llvm: Port LLVM leakfixes from trunk.
176
+
177
+Wed Mar 24 15:51:19 2010 +0200 (edwin)
178
+--------------------------------------
179
+ * libclamav/c++/llvm: Fix memory leak. LLVM SVN r99400
180
+    .
181
+Wed Mar 24 15:27:15 2010 +0200 (edwin)
182
+--------------------------------------
183
+ * libclamav, unit_tests: Fix bswap.
184
+
185
+Wed Mar 24 14:14:33 2010 +0200 (edwin)
186
+--------------------------------------
187
+ * libclamav, unit_tests: Leak testcase.
188
+
189
+Wed Mar 24 12:56:27 2010 +0200 (edwin)
190
+--------------------------------------
191
+ * libclamav/c++/llvmcheck.sh: bb #1896.
192
+
193
+Wed Mar 24 12:46:34 2010 +0200 (edwin)
194
+--------------------------------------
195
+ * unit_tests: Add matchwithread.cbc to unit tests.
196
+
197
+Wed Mar 24 11:29:56 2010 +0200 (edwin)
198
+--------------------------------------
199
+ * libclamav/bytecode*: match_with_read appears to be working!
200
+
201
+Wed Mar 24 10:51:05 2010 +0200 (edwin)
202
+--------------------------------------
203
+ * libclamav/bytecode*:  OP_BC_COPY again.
204
+
205
+Wed Mar 24 10:41:11 2010 +0200 (edwin)
206
+--------------------------------------
207
+ * libclamav/bytecode*,pe.h: Fix read of pedata in interpreter.
208
+
209
+Wed Mar 24 10:16:41 2010 +0200 (edwin)
210
+--------------------------------------
211
+ * libclamav/bytecode.c: Fix OP_BC_COPY.
212
+
213
+Wed Mar 24 00:07:17 2010 +0200 (edwin)
214
+--------------------------------------
215
+ * libclamav/bytecode*: Fix GEPZ.
216
+
217
+Tue Mar 23 23:46:58 2010 +0200 (edwin)
218
+--------------------------------------
219
+ * libclamav/bytecode.c: Making progress on match_with_read.
220
+
221
+Tue Mar 23 21:47:57 2010 +0200 (edwin)
222
+--------------------------------------
223
+ * libclamav/bytecode*:  Interpreter fixes for accessing 'ctx'.
224
+
225
+Tue Mar 23 16:33:41 2010 +0200 (edwin)
226
+--------------------------------------
227
+ * libclamav/:  Use a watchdog thread. Also make timeout be ms instead of us.
228
+
229
+Tue Mar 23 15:54:41 2010 +0200 (edwin)
230
+--------------------------------------
231
+ * libclamav/c++/bytecode2llvm.cpp: Insert timeout checks directly into the JITed code.
232
+
233
+Mon Mar 22 22:57:46 2010 +0200 (edwin)
234
+--------------------------------------
235
+ * configure: Portability fix.
236
+
237
+Mon Mar 22 18:36:03 2010 +0200 (edwin)
238
+--------------------------------------
239
+ * libclamav/mpool.c: Need to align the MPMAP field to 64-bit for Sparc.
240
+
241
+Mon Mar 22 17:31:38 2010 +0200 (edwin)
242
+--------------------------------------
243
+ * libclamav/others.h: Fix build on non-gcc.
244
+
245
+Mon Mar 22 17:28:38 2010 +0200 (edwin)
246
+--------------------------------------
247
+ * configure, libclamav, win32: New configure flag --enable-unsigned-bytecode.
248
+
249
+Mon Mar 22 17:16:07 2010 +0200 (edwin)
250
+--------------------------------------
251
+ * clamd,clamscan,libclamav,shared,unit_tests: Introduce BytecodeTimeout.
252
+
253
+Mon Mar 22 16:57:27 2010 +0200 (edwin)
254
+--------------------------------------
255
+ * libclamav/c++/bytecode2llvm.cpp: Support for timeouts.
256
+
257
+Mon Mar 22 15:35:07 2010 +0200 (edwin)
258
+--------------------------------------
259
+ * clambc/bcrun.c: Don't print extra newline.
260
+
261
+Mon Mar 22 15:30:28 2010 +0200 (edwin)
262
+--------------------------------------
263
+ * libclamav/c++/llvm: Attempt to fix remaining PPC failures.
264
+
265
+Mon Mar 22 14:58:58 2010 +0200 (edwin)
266
+--------------------------------------
267
+ * libclamav/bytecode*: Print location of runtime error.
268
+
269
+Mon Mar 22 14:58:51 2010 +0200 (edwin)
270
+--------------------------------------
271
+ * libclamav/c++/bytecode2llvm.cpp,shared: Fix clambc -p.
272
+
273
+Mon Mar 22 14:27:37 2010 +0200 (edwin)
274
+--------------------------------------
275
+ * libclamav/c++: Avoid duplicate symbol on Mac OS X.
276
+
277
+Mon Mar 22 14:08:56 2010 +0200 (edwin)
278
+--------------------------------------
279
+ * libclamav/mpool.c: Fix sparc sigbus.
280
+
281
+Mon Mar 22 13:41:18 2010 +0200 (edwin)
282
+--------------------------------------
283
+ * libclamav/bytecode_api.c: bytecode api fixes.
284
+
285
+Mon Mar 22 13:05:20 2010 +0200 (edwin)
286
+--------------------------------------
287
+ * libclamav/c++/bytecode2llvm.cpp: Fix valgrind warning.
288
+
289
+Mon Mar 22 12:53:48 2010 +0200 (edwin)
290
+--------------------------------------
291
+ * libclamav/bytecode*: Fix clambc.
292
+
293
+Mon Mar 22 12:47:54 2010 +0200 (edwin)
294
+--------------------------------------
295
+ * libclamav/c++: Apply LLVM SVN r98508 in an attempt to fix make check fail on PPC.
296
+
297
+Mon Mar 22 11:42:27 2010 +0200 (edwin)
298
+--------------------------------------
299
+ * libclamav/c++/llvm: Merge LLVM upstream SVN r98997 from 2.7 release branch.
300
+
301
+Mon Mar 22 00:01:28 2010 +0200 (edwin)
302
+--------------------------------------
303
+ * libclamav/{bytecode*,c++}: More fixes for global vars in the interpreter.
304
+
305
+Sun Mar 21 19:47:25 2010 +0200 (edwin)
306
+--------------------------------------
307
+ * libclamav/bytecode*: WiP fixing globals in interpreter.
308
+
309
+Sun Mar 21 15:44:15 2010 +0200 (edwin)
310
+--------------------------------------
311
+ * unit_tests/input/*.cbc: Update unit tests.
312
+
313
+Sun Mar 21 15:44:07 2010 +0200 (edwin)
314
+--------------------------------------
315
+ * libclamav/c++/bytecode2llvm.cpp: Print size and location of JITed code.
316
+
317
+Sun Mar 21 12:56:05 2010 +0200 (edwin)
318
+--------------------------------------
319
+ * libclamav/{bytecode*,c++/}: zlib/buffer apis.
320
+
321
+Sat Mar 20 21:18:54 2010 +0200 (edwin)
322
+--------------------------------------
323
+ * libclamav/{bytecode*,c++/}: minimalistic zlib api.
324
+
325
+Fri Mar 19 22:20:55 2010 +0200 (edwin)
326
+--------------------------------------
327
+ * libclamav/bytecode*,pe.c: More APIs.
328
+
329
+Fri Mar 19 19:59:08 2010 +0200 (edwin)
330
+--------------------------------------
331
+ * libclamav/c++/configure: Reenable GCC 4.0.1, and 4.1.2 for JIT.
332
+
333
+Fri Mar 19 19:55:54 2010 +0200 (edwin)
334
+--------------------------------------
335
+ * libclamav/c++: set numthreads to 1 in LLVM's check when running on old Python.
336
+
337
+Fri Mar 19 15:47:26 2010 +0200 (edwin)
338
+--------------------------------------
339
+ * libclamav/bytecode*: More API additions for PDF.
340
+
10 341
 Fri Mar 19 14:37:18 CET 2010 (tk)
11 342
 ---------------------------------
12 343
  * freshclam: add support for ExtraDatabase (bb#781)
13 344
 
345
+Fri Mar 19 13:20:59 2010 +0200 (edwin)
346
+--------------------------------------
347
+ * libclamav/{bytecode*,c++/}, unit_tests/: New API for buffer fill.
348
+
349
+Wed Mar 17 19:33:54 2010 +0200 (edwin)
350
+--------------------------------------
351
+ * libclamav/bytecode_vm.c: Switch interpreter to debug (safe) mode by default.
352
+
353
+Wed Mar 17 15:02:38 2010 +0200 (edwin)
354
+--------------------------------------
355
+ * sigtool/sigtool.c: Fix loading of bytecode.cvd in sigtool
356
+
14 357
 Tue Mar 16 04:11:02 CET 2010 (acab)
15 358
 -----------------------------------
16 359
  * win32: add sigtool upon request from 3rd party sigmakers
17 360
 
361
+Fri Mar 12 13:13:08 2010 +0200 (edwin)
362
+--------------------------------------
363
+ * clamscan, libclamav/c++, shared/: Add clamscan commandline to load bytecode in debug mode.
364
+
365
+Fri Mar 12 11:45:46 2010 +0200 (edwin)
366
+--------------------------------------
367
+ * libclamav/c++: Fix Solaris/intel build (bb #1878).
368
+
369
+Thu Mar 11 23:43:51 2010 +0200 (edwin)
370
+--------------------------------------
371
+ * libclamav/c++/configure: Solaris needs Solaris.h! (bb #1878).
372
+
373
+Thu Mar 11 20:36:35 2010 +0200 (edwin)
374
+--------------------------------------
375
+ * libclamav/c++/llvmcheck.sh: Fix bashism (bb #1876).
376
+
18 377
 Wed Mar 10 20:04:46 CET 2010 (tk)
19 378
 ---------------------------------
20 379
  * V 0.96rc1
21 380
 
381
+Wed Mar 10 15:58:42 2010 +0200 (edwin)
382
+--------------------------------------
383
+ * libclamav/readdb.c: Only load signed bytecode by default.
384
+
385
+Wed Mar 10 14:58:18 2010 +0200 (edwin)
386
+--------------------------------------
387
+ * libclamav/scanners.c: Unit tests don't have fmap.
388
+
389
+Wed Mar 10 14:49:22 2010 +0200 (edwin)
390
+--------------------------------------
391
+ * libclamav/cache.c: Better fix for found_possibly_unwanted and caching.
392
+
393
+Wed Mar 10 14:34:32 2010 +0200 (edwin)
394
+--------------------------------------
395
+ * configure: Add version suffix when using --enable-debug.
396
+
397
+Wed Mar 10 14:30:31 2010 +0200 (edwin)
398
+--------------------------------------
399
+ * clambc,clamd, libclamav, shared: Allow "None" bytecode security setting only in --enable-debug mode.
400
+
401
+Wed Mar 10 12:20:06 2010 +0200 (edwin)
402
+--------------------------------------
403
+ * clambc/bcrun.c, libclamav/c++/ClamBCRTChecks.cpp: nullcheck.
404
+
405
+Wed Mar 10 11:44:30 2010 +0200 (edwin)
406
+--------------------------------------
407
+ * libclamav/c++/bytecode2llvm.cpp: bb #1800.
408
+
22 409
 Tue Mar  9 02:42:37 CET 2010 (acab)
23 410
 -----------------------------------
24 411
  * win32/platform.h: make sleep() wait seconds rather than ms (bb#1866)
25 412
 
413
+Sun Mar 7 19:46:23 2010 +0200 (edwin)
414
+-------------------------------------
415
+ * libclamav/{filtering.c,matcher-ac.c}: shut up filter debug messages during DB load.
416
+
417
+Sat Mar 6 21:19:48 2010 +0200 (edwin)
418
+-------------------------------------
419
+ * libclamav/c++, win32/: Enable LLVM tests if proper python and GNU make version is present.
420
+
421
+Sat Mar 6 20:17:15 2010 +0200 (edwin)
422
+-------------------------------------
423
+ * libclamav/c++/llvm: Merge LLVM upstream SVN r97877.
424
+
425
+Sat Mar 6 17:38:42 2010 +0200 (edwin)
426
+-------------------------------------
427
+ * libclamav/bytecode_vm.c: missing opcode.
428
+
429
+Sat Mar 6 16:28:08 2010 +0200 (edwin)
430
+-------------------------------------
431
+ * libclamav/bytecode.[ch]: compute global offsets.
432
+
433
+Sat Mar 6 16:00:54 2010 +0200 (edwin)
434
+-------------------------------------
435
+ * libclamav/bytecode*: prepare for reading globals from ctx
436
+
437
+Sat Mar 6 15:58:35 2010 +0200 (edwin)
438
+-------------------------------------
439
+ * libclamav/bytecode_vm.c: READN -> READNfrom
440
+
441
+Sat Mar 6 15:54:14 2010 +0200 (edwin)
442
+-------------------------------------
443
+ * libclamav/bytecode_vm.c: READ1,8,16,32,64->READN
444
+
26 445
 Sat Mar  6 03:58:16 CET 2010 (acab)
27 446
 -----------------------------------
28 447
  * clamd/scanner.c: fix logg output, patch from Mark Pizzolato
... ...
@@ -44,6 +463,14 @@ Fri Mar  5 19:11:25 CET 2010 (tk)
44 44
 ---------------------------------
45 45
  * libclamav: fix cl_cvdparse() leak (bb#1859)
46 46
 
47
+Fri Mar 5 19:56:43 2010 +0200 (edwin)
48
+-------------------------------------
49
+ * libclamav/scanners.c: Don't leak bitset in magicscan.
50
+
51
+Thu Mar 4 20:14:22 2010 +0200 (edwin)
52
+-------------------------------------
53
+ * libclamav/c++: FreeBSD needs -lthr not -pthread.
54
+
47 55
 Thu Mar  4 17:33:18 CET 2010 (tk)
48 56
 ---------------------------------
49 57
  * libclamav/matcher-bm.c: fix array check (bb#1840)
... ...
@@ -56,10 +483,55 @@ Thu Mar  4 14:41:39 CET 2010 (tk)
56 56
 ---------------------------------
57 57
  * libclamav/matcher-bm.c: only sort correct offsets (bb#1840)
58 58
 
59
+Mon Mar 1 19:48:11 2010 +0200 (edwin)
60
+-------------------------------------
61
+ * libclamunrar_iface/unrar_iface.c: make behavior deterministic.
62
+
63
+Mon Mar 1 19:46:58 2010 +0200 (edwin)
64
+-------------------------------------
65
+ * libclamunrar/unrar.c: Fix error path leak in unrar.
66
+
67
+Sat Feb 27 15:35:16 2010 +0200 (edwin)
68
+--------------------------------------
69
+ * libclamav/ishield.c: Fix ishield errorpath.
70
+
59 71
 Thu Feb 25 17:20:27 CET 2010 (tk)
60 72
 ---------------------------------
61 73
  * docs: update signatures.pdf
62 74
 
75
+Wed Feb 24 13:39:07 2010 +0200 (edwin)
76
+--------------------------------------
77
+ * libclamav/special.c: Tweak swizzor threshold to fix some false positives.
78
+
79
+Wed Feb 24 13:10:14 2010 +0200 (edwin)
80
+--------------------------------------
81
+ * libclamav/pe.c: Only detect swizzor in english resources.
82
+
83
+Tue Feb 23 23:53:27 2010 +0200 (edwin)
84
+--------------------------------------
85
+ * libclamav/special.c: make debug output for swizz break lines properly.
86
+
87
+Mon Feb 22 17:59:32 2010 +0200 (edwin)
88
+--------------------------------------
89
+ * unit_tests/check_matchers.c: Fix unit test: ctx.fmap can't be NULL.
90
+
91
+Mon Feb 22 17:21:05 2010 +0200 (edwin)
92
+--------------------------------------
93
+ * libclamav/matcher.c: Be consistent about matcher_run (prefiltering) calls.
94
+
95
+Mon Feb 22 17:10:18 2010 +0200 (edwin)
96
+--------------------------------------
97
+ * libclamav/matcher.c: Fix NULL dereference.
98
+
99
+Mon Feb 22 15:44:23 2010 +0200 (edwin)
100
+--------------------------------------
101
+ * libclamav/matcher.c: Don't use prefiltering for BM offset mode.
102
+
103
+Mon Feb 22 14:12:55 2010 +0200 (edwin)
104
+--------------------------------------
105
+ * libclamav/bytecode{_vm,}.c: Properly calculate numBytes for interpreter, and protect interpreter from null
106
+    derefs.
107
+
63 108
 Tue Feb 16 16:41:30 CET 2010 (tk)
64 109
 ---------------------------------
65 110
  * libclamav/cvd.c: enable new dsig check for main db
... ...
@@ -68,10 +540,66 @@ Tue Feb 16 16:27:13 CET 2010 (tk)
68 68
 ---------------------------------
69 69
  * freshclam/manager.c: handle empty cdiffs more gently
70 70
 
71
+Mon Feb 15 21:52:29 2010 +0200 (edwin)
72
+--------------------------------------
73
+ * clambc/bcrun.c, win32/libclamavcxx.vcproj: fix win32 build.
74
+
75
+Mon Feb 15 20:58:24 2010 +0200 (edwin)
76
+--------------------------------------
77
+ * libclamav/Makefile.{am,in}: Show version.h creation commands with V=1.
78
+
79
+Mon Feb 15 20:54:38 2010 +0200 (edwin)
80
+--------------------------------------
81
+ * build system: fix distclean with --disable-llvm.
82
+
83
+Mon Feb 15 18:34:57 2010 +0200 (edwin)
84
+--------------------------------------
85
+ * libclamav/c++/llvm: Update to LLVM upstream SVN r96221.
86
+
87
+Mon Feb 15 17:34:41 2010 +0200 (edwin)
88
+--------------------------------------
89
+ * win32/: update win32 proj.
90
+
91
+Mon Feb 15 17:32:00 2010 +0200 (edwin)
92
+--------------------------------------
93
+ * libclamav/bytecode.c: fix loading of bytecode into intepreter.
94
+
95
+Mon Feb 15 16:08:38 2010 +0200 (edwin)
96
+--------------------------------------
97
+ * libclamav/bytecode.c: fix globals in interpreter.
98
+
99
+Mon Feb 15 15:01:37 2010 +0200 (edwin)
100
+--------------------------------------
101
+ * libclamav: enable prefiltering, and add to dconf.
102
+
103
+Mon Feb 15 14:37:09 2010 +0200 (edwin)
104
+--------------------------------------
105
+ * clambc, libclamav, unit_tests: dconf for bytecode.
106
+
107
+Mon Feb 15 12:41:53 2010 +0200 (edwin)
108
+--------------------------------------
109
+ * libclamav/c++, unit_tests: runtime checks verifier.
110
+
71 111
 Sun Feb 14 12:28:52 CET 2010 (acab)
72 112
 -----------------------------------
73 113
  * libclamav: refactor checkfp logic
74 114
 
115
+Sat Feb 13 19:57:33 2010 +0200 (edwin)
116
+--------------------------------------
117
+ * clambc/bcrun.c, shared/optparser.c: fix clambc's printing of source code, and add separate cmdline for it.
118
+
119
+Sat Feb 13 18:21:33 2010 +0200 (edwin)
120
+--------------------------------------
121
+ * libclamav/bytecode.c,readdb.c: Don't fail if bytecode was skipped due to functionality level.
122
+
123
+Sat Feb 13 18:13:56 2010 +0200 (edwin)
124
+--------------------------------------
125
+ * unit_tests/input: update unit tests.
126
+
127
+Sat Feb 13 18:13:39 2010 +0200 (edwin)
128
+--------------------------------------
129
+ * libclamav/readdb.c: fix memory leak in prefiltering code.
130
+
75 131
 Sat Feb 13 02:55:55 CET 2010 (acab)
76 132
 -----------------------------------
77 133
  * libclamav: refactor binhex processor with one pass decoder (bb#1236)
... ...
@@ -80,15 +608,56 @@ Fri Feb 12 15:51:19 CET 2010 (tk)
80 80
 ---------------------------------
81 81
  * libclamav: add cl_countsigs() (bb#1473)
82 82
 
83
+Fri Feb 12 16:47:44 2010 +0200 (edwin)
84
+--------------------------------------
85
+ * libclamav/bytecode*,pe*,unit_tests/input/*: New pointer handling rules.
86
+
87
+Wed Feb 10 17:00:30 2010 +0200 (edwin)
88
+--------------------------------------
89
+ * libclamav/scanners.c: fix init of hook_lsig_matches.
90
+
91
+Wed Feb 10 11:39:47 2010 +0200 (edwin)
92
+--------------------------------------
93
+ * libclamav/matcher*: Add the rest of the prefiltering glue code.
94
+
95
+Wed Feb 10 10:22:07 2010 +0200 (edwin)
96
+--------------------------------------
97
+ * libclamav/filtering.c, win32/: Fix win32 build (bb #1824).
98
+
83 99
 Tue Feb  9 20:44:11 CET 2010 (acab)
84 100
 -----------------------------------
85 101
  * clamav-milter: allow SkipAuthenticated to read names from a file
86 102
 		(bb#1684)
87 103
 
104
+Tue Feb 9 18:56:08 2010 +0200 (edwin)
105
+-------------------------------------
106
+ * libclamav/matcher.c: move matching code to matcher_run.
107
+
108
+Tue Feb 9 18:23:10 2010 +0200 (edwin)
109
+-------------------------------------
110
+ * libclamav/matcher-ac.c: move leaf checks inside IS_FINAL.
111
+
88 112
 Tue Feb  9 16:35:36 CET 2010 (acab)
89 113
 -----------------------------------
90 114
  * libclamav/scanners.c: fix gzip handler
91 115
 
116
+Tue Feb 9 13:40:02 2010 +0200 (edwin)
117
+-------------------------------------
118
+ * libclamav/scanners.c: Show more details about zlib when inflateinit fails.
119
+
120
+Tue Feb 9 13:21:14 2010 +0200 (edwin)
121
+-------------------------------------
122
+ * configure: fix empty output for check in configure summary.
123
+
124
+Tue Feb 9 12:01:31 2010 +0200 (edwin)
125
+-------------------------------------
126
+ * libclamav: Prepare for prefiltering: add new files.
127
+
128
+
129
+Mon Feb 8 20:27:59 2010 +0200 (edwin)
130
+-------------------------------------
131
+ * unit_tests/check_common.sh: Update unit tests after Phishing.Heuristics -> Heuristics.Phishing change.
132
+
92 133
 Mon Feb  8 19:17:14 CET 2010 (tk)
93 134
 ---------------------------------
94 135
  * libclamav: prefix all engine detections with "Heuristics." (bb#1808)
... ...
@@ -99,11 +668,19 @@ Mon Feb  8 13:40:06 CET 2010 (acab)
99 99
  * libclamav: drop support for type 8 signatures. disasm matching is now
100 100
 		done via bytecode
101 101
 
102
+Mon Feb 8 13:45:03 2010 +0200 (edwin)
103
+-------------------------------------
104
+ * libclamav/matcher*,readdb.c: Support for macros in logical subsignatures (bb #164).
105
+
102 106
 Mon Feb  8 10:30:03 CET 2010 (tk)
103 107
 ---------------------------------
104 108
  * freshclam, sigtool: use zlib's Z_FILTERED strategy
105 109
 		       Thanks to Edwin
106 110
 
111
+Sat Feb 6 17:53:17 2010 +0200 (edwin)
112
+-------------------------------------
113
+ * clambc, libclamav: print bytecode source code.
114
+
107 115
 Sat Feb  6 16:02:28 CET 2010 (acab)
108 116
 -----------------------------------
109 117
  * clamd/server-th.c: reset the selfcheck timeout even if we reload
... ...
@@ -128,22 +705,79 @@ Wed Feb  3 01:38:50 CET 2010 (acab)
128 128
 -----------------------------------
129 129
  * win32: workaround HUP reset in poll, set stdin to binary mode
130 130
 
131
+Tue Feb 2 15:29:02 2010 +0200 (edwin)
132
+-------------------------------------
133
+ * libclamav: Fix use-after-free on bytecode load/execution.
134
+
131 135
 Tue Feb  2 14:23:18 CET 2010 (tk)
132 136
 ---------------------------------
133 137
  * freshclam: new option Bytecode
134 138
 
139
+Tue Feb 2 14:03:32 2010 +0200 (edwin)
140
+-------------------------------------
141
+ * libclamav/bytecode*: s/2009/2010/
142
+
143
+Tue Feb 2 14:01:38 2010 +0200 (edwin)
144
+-------------------------------------
145
+ * libclamav/c++/bytecode2llvm.cpp: Fix loading of multiple .cbc files.
146
+
147
+Tue Feb 2 13:46:37 2010 +0200 (edwin)
148
+-------------------------------------
149
+ * libclamav/bytecode.c: fix loading from .cvd.
150
+
151
+Tue Feb 2 13:42:33 2010 +0200 (edwin)
152
+-------------------------------------
153
+ * libclamav/bytecode.c: fix segfault on failed cbc load.
154
+
155
+
135 156
 Mon Feb  1 19:25:45 CET 2010 (tk)
136 157
 ---------------------------------
137 158
  * sigtool: add support for bytecode.cvd
138 159
 
160
+Mon Feb 1 14:39:37 2010 +0200 (edwin)
161
+-------------------------------------
162
+ * clamdtop/clamdtop.c: increase clamdtop timeout (bb #1732).
163
+
164
+Mon Feb 1 14:38:36 2010 +0200 (edwin)
165
+-------------------------------------
166
+ * clamd: make STATS a non-bulk command (bb #1732).
167
+
168
+Mon Feb 1 14:06:07 2010 +0200 (edwin)
169
+-------------------------------------
170
+ * clamd/thrmgr.[ch]: Don't allow bulk requests (multiscan, idsession) to fill more than 50% of the queue. (bb #1732)
171
+
139 172
 Sun Jan 31 17:12:48 CET 2010 (acab)
140 173
 -----------------------------------
141 174
  * win32: clamdscan added
142 175
 
176
+Sat Jan 30 18:31:07 2010 +0200 (edwin)
177
+--------------------------------------
178
+ * win32: fix ETIMEDOUT mismatch on win32.
179
+
143 180
 Sat Jan 30 04:19:29 CET 2010 (acab)
144 181
 -----------------------------------
145 182
  * win32: clamd (sort of) works
146 183
 
184
+Fri Jan 29 18:38:43 2010 +0200 (edwin)
185
+--------------------------------------
186
+ * clamdscan: Don't use clamdscan.map, it fails on some versions of Solaris.
187
+
188
+Fri Jan 29 14:39:02 2010 +0200 (edwin)
189
+--------------------------------------
190
+ * configure: Print feature summary after configure is finished.
191
+
192
+Fri Jan 29 12:31:11 2010 +0200 (edwin)
193
+--------------------------------------
194
+ * libclamav/others.c: Test field offset rather than size.
195
+
196
+Fri Jan 29 12:17:07 2010 +0200 (edwin)
197
+--------------------------------------
198
+ * libclamav/others.c: Add sanity check for struct packing (bb #1752).
199
+
200
+Thu Jan 28 15:23:55 2010 +0200 (edwin)
201
+--------------------------------------
202
+ * libclamav/c++/Makefile.{am,in}: Remove -fno-rtti for now.
203
+
147 204
 Thu Jan 28 12:53:45 CET 2010 (tk)
148 205
 ---------------------------------
149 206
  * libclamav: provide information about lsig matches to bytecode (bb#1799)
... ...
@@ -152,16 +786,100 @@ Wed Jan 27 18:33:09 CET 2010 (tk)
152 152
 ---------------------------------
153 153
  * libclamav: provide offset in cli_ac_result (bb#1799)
154 154
 
155
+Wed Jan 27 15:56:13 2010 +0200 (edwin)
156
+--------------------------------------
157
+ * clamd/others.c: fix distcheck warnings.
158
+
159
+Wed Jan 27 14:42:40 2010 +0200 (edwin)
160
+--------------------------------------
161
+ * libclamav/c++/bytecode2llvm.cpp: _GLIBCXX_PARALLEL is not supported: it creates threads before we fork() causing
162
+    deadlock.
163
+
164
+Wed Jan 27 12:07:08 2010 +0200 (edwin)
165
+--------------------------------------
166
+ * clamd, libclamav: Don't use C++ comments in C code.
167
+
168
+Wed Jan 27 11:59:51 2010 +0200 (edwin)
169
+--------------------------------------
170
+ * clamd: Fix clamd hang when number of multiscan commands == MaxThreads (bb #1770).
171
+
172
+Wed Jan 27 11:04:34 2010 +0200 (edwin)
173
+--------------------------------------
174
+ * libclamav/bytecode_api*: Fix duplicate const qualifier (bb #1798).
175
+
176
+Wed Jan 27 10:54:35 2010 +0200 (edwin)
177
+--------------------------------------
178
+ * clamd/others.c: Improve error message when no ancillary data is received (bb #1700).
179
+
180
+Tue Jan 26 22:11:31 2010 +0200 (edwin)
181
+--------------------------------------
182
+ * build system:: update files used by make check. add missing file.
183
+    Fix make distclean.
184
+
155 185
 Tue Jan 26 19:39:18 CET 2010 (acab)
156 186
 -----------------------------------
157 187
  * win32: automatically check and regenerate vcprojs,
158 188
 	  drop support and tblgen from llvm as these are now prebuilt and
159 189
 	  shipped
160 190
 
191
+Tue Jan 26 15:48:56 2010 +0200 (edwin)
192
+--------------------------------------
193
+ * win32/: modify vcproj files according to win32/update-win32.pl
194
+
195
+Tue Jan 26 15:37:14 2010 +0200 (edwin)
196
+--------------------------------------
197
+ * libclamav/c++/configure: Perl is not required (bb #1781).
198
+
199
+Tue Jan 26 15:33:56 2010 +0200 (edwin)
200
+--------------------------------------
201
+ * libclamav/c++: Merge LLVM upstream SVN r94539.
202
+    Update autogenerated files after LLVM import.
203
+
204
+Tue Jan 26 14:25:54 2010 +0200 (edwin)
205
+--------------------------------------
206
+ * libclamav/c++/bytecode2llvm.cpp: fix compiler warning.
207
+
208
+Tue Jan 26 12:40:18 2010 +0200 (edwin)
209
+--------------------------------------
210
+ * libclamav/c++/bytecode2llvm.cpp: Support building w/o atomic builtins for i386 (bb #1781).
211
+
212
+Tue Jan 26 10:10:56 2010 +0200 (edwin)
213
+--------------------------------------
214
+ * build system: regenerate build files using automake 1.11.1
215
+
216
+Tue Jan 26 09:56:11 2010 +0200 (edwin)
217
+--------------------------------------
218
+ * build system: don't link clamdscan with -lz -ldl (bb #1474)
219
+
220
+
221
+Mon Jan 25 15:17:10 2010 +0200 (edwin)
222
+--------------------------------------
223
+ * win32/libclamav.def: attempt to fix win32 build.
224
+
225
+Mon Jan 25 15:15:54 2010 +0200 (edwin)
226
+--------------------------------------
227
+ * libclamav/bytecode.c: fix distcheck warning.
228
+
229
+Mon Jan 25 15:06:30 2010 +0200 (edwin)
230
+--------------------------------------
231
+ * libclamav/bytecode_api.c: don't return NULL here.
232
+
161 233
 Mon Jan 25 13:27:44 CET 2010 (tk)
162 234
 ---------------------------------
163 235
  * libclamav: handle digitally signed .info files
164 236
 
237
+Fri Jan 22 17:19:11 2010 +0200 (edwin)
238
+--------------------------------------
239
+ * libclamav/bytecoed.c: fix typo.
240
+
241
+Fri Jan 22 16:50:16 2010 +0200 (edwin)
242
+--------------------------------------
243
+ * clambc, libclamav, shared/optparser.c: print bytecode metadata.
244
+
245
+Fri Jan 22 14:36:56 2010 +0200 (edwin)
246
+--------------------------------------
247
+ * clambc, clambc, etc/clamd.conf, libclamav, shared/optparser.c: BytecodeSecurity setting.
248
+
165 249
 Fri Jan 22 11:49:07 CET 2010 (acab)
166 250
 -----------------------------------
167 251
  * libclamav: fix shifts >= width (bb#1778)
... ...
@@ -170,6 +888,11 @@ Thu Jan 21 23:01:34 CET 2010 (tk)
170 170
 ---------------------------------
171 171
  * sigtool: create digitally signed .info files
172 172
 
173
+Thu Jan 21 16:48:56 2010 +0200 (edwin)
174
+--------------------------------------
175
+ * libclamav: bytecode ptrdiff32 opcode.
176
+
177
+
173 178
 Wed Jan 20 23:53:36 CET 2010 (acab)
174 179
 -----------------------------------
175 180
  * libclamav/pe.c: fix handling of 15h byte skew in upx-lzma (bb#1591)
... ...
@@ -178,6 +901,39 @@ Wed Jan 20 22:10:12 CET 2010 (tk)
178 178
 ---------------------------------
179 179
  * libclamav: check .info files while loading CVD/CLD
180 180
 
181
+Wed Jan 20 20:04:01 2010 +0200 (edwin)
182
+--------------------------------------
183
+ * libclamav, unit_tests: Support for malloc in bytecode. Fix crash with mismatched api/flevel versions.
184
+
185
+Wed Jan 20 18:20:53 2010 +0200 (edwin)
186
+--------------------------------------
187
+ * libclamav/bytecode_api.c: longest asm instruction 4096->32.
188
+
189
+Wed Jan 20 18:12:10 2010 +0200 (edwin)
190
+--------------------------------------
191
+ * unit_tests/check_clamav.c: Prevent check from hanging/crashing when there is a version mismatch.
192
+
193
+Wed Jan 20 17:16:27 2010 +0200 (edwin)
194
+--------------------------------------
195
+ * libclamav/{bytecode_api.c,disasm.[ch]}: disasm_x86 api.
196
+
197
+Wed Jan 20 16:59:05 2010 +0200 (edwin)
198
+--------------------------------------
199
+ * libclamav/disasm-common.h: fix struct doxygen docs.
200
+
201
+Wed Jan 20 16:19:18 2010 +0200 (edwin)
202
+--------------------------------------
203
+ * libclamav/bytecode_api*: file_find, file_byteat bytecode APIs.
204
+
205
+
206
+Tue Jan 19 19:58:15 2010 +0200 (edwin)
207
+--------------------------------------
208
+ * libclamav/bytecode*: Fix loading of apicall8 (disasm).
209
+
210
+Tue Jan 19 16:38:12 2010 +0200 (edwin)
211
+--------------------------------------
212
+ * libclamav: Support PE hook bytecodes triggered by logical signature.
213
+
181 214
 Tue Jan 19 11:49:12 CET 2010 (acab)
182 215
 -----------------------------------
183 216
   * clamdscan/proto.c: don't stop scanning if a file is not found (bb#1760)
... ...
@@ -186,6 +942,22 @@ Tue Jan 19 11:26:11 CET 2010 (acab)
186 186
 -----------------------------------
187 187
   * clamscan/manager.c: use unsigned fsize (bb#1788)
188 188
 
189
+Mon Jan 18 19:31:59 2010 +0200 (edwin)
190
+--------------------------------------
191
+ * libclamav/{bytecode*,pe.*,clambc.h}: filesize, and pe_rawaddr API.
192
+
193
+Fri Jan 15 18:17:55 2010 +0200 (edwin)
194
+--------------------------------------
195
+ * libclamav/{bytecode,cache,pe_icons}.c: Fix some pointer dereferences, and sizeof.
196
+
197
+Fri Jan 15 15:06:33 2010 +0200 (edwin)
198
+--------------------------------------
199
+ * libclamav/pe.c: Fix UPX error handling.
200
+
201
+Fri Jan 15 10:23:25 2010 +0200 (edwin)
202
+--------------------------------------
203
+ * libclamav/mpool.[ch]: Fix bus error on Sparc.
204
+
189 205
 Fri Jan 15 03:02:25 CET 2010 (acab)
190 206
 -----------------------------------
191 207
   * libclamav: cache negative matches
... ...
@@ -198,6 +970,10 @@ Thu Jan 14 19:43:43 CET 2010 (tk)
198 198
 ---------------------------------
199 199
  * libclamav/readdb.c: fix compatibility issue with .zmd sigs (bb#1793)
200 200
 
201
+Tue Jan 12 16:57:22 2010 +0200 (edwin)
202
+--------------------------------------
203
+ * libclamav/readdb.c: Fix array size for parsing .ldb tokens.
204
+
201 205
 Tue Jan 12 14:39:55 CET 2010 (tk)
202 206
 ---------------------------------
203 207
  * libclamav: allow lsigs be anchored to specific containers (bb#1293),
... ...
@@ -208,6 +984,10 @@ Tue Jan 12 12:14:08 CET 2010 (tk)
208 208
  * libclamav/readdb.c: when some lsig's attribute is unknown ignore the
209 209
 		       entire signature and not the attribute itself
210 210
 
211
+Mon Jan 11 12:43:21 2010 +0200 (edwin)
212
+--------------------------------------
213
+ * libclamav/cache.c: Fix infinite loop in lookup.
214
+
211 215
 Fri Jan  8 15:20:10 CET 2010 (tk)
212 216
 ---------------------------------
213 217
  * libclamav: handle zmd/rmd with cdb (bb#1579)
... ...
@@ -216,6 +996,18 @@ Thu Jan  7 18:22:39 CET 2010 (tk)
216 216
 ---------------------------------
217 217
  * libclamav: base code for unified container metadata matcher (bb#1579)
218 218
 
219
+Wed Jan 6 19:53:07 2010 +0200 (edwin)
220
+-------------------------------------
221
+ * libclamav/cache.c:  Fix hash impl when replacing values.
222
+
223
+Wed Jan 6 19:32:34 2010 +0200 (edwin)
224
+-------------------------------------
225
+ * libclamav/cache.c: a fixed size, LRU hash-based cache.
226
+
227
+Tue Jan 5 13:19:33 2010 +0200 (edwin)
228
+-------------------------------------
229
+ * libclamav/readdb.c: Fix logic.
230
+
219 231
 Tue Jan  5 12:04:47 CET 2010 (acab)
220 232
 -----------------------------------
221 233
  * libclamav/readdb.c: force VI anchored sigs into AC
... ...
@@ -224,10 +1016,26 @@ Tue Jan  5 02:08:38 CET 2010 (acab)
224 224
 -----------------------------------
225 225
  * libclamav: merge PE VersionInformation matcher
226 226
 
227
+Mon Jan 4 17:17:22 2010 +0200 (edwin)
228
+-------------------------------------
229
+ * libclamav/hashtab.c: The hashset's bitmap needs only capacity/32 memory, not capacity/8.
230
+
231
+Mon Jan 4 17:08:59 2010 +0200 (edwin)
232
+-------------------------------------
233
+ * libclamav/hashtab.[ch]:  add _noalloc hashset functions requested by aCaB.
234
+
227 235
 Mon Jan  4 15:35:16 CET 2010 (tk)
228 236
 ---------------------------------
229 237
  * libclamav: fix error reporting for BinHex files (bb#1685)
230 238
 
239
+Wed Dec 30 15:08:35 2009 +0200 (edwin)
240
+--------------------------------------
241
+ * libclamav: fix bswap in JIT
242
+
243
+Wed Dec 30 12:13:40 2009 +0200 (edwin)
244
+--------------------------------------
245
+ * libclamav/c++/bytecode2llvm.cpp: Fix __*di3 libcalls on x86-32.
246
+
231 247
 Wed Dec 30 00:19:21 CET 2009 (tk)
232 248
 ---------------------------------
233 249
  * libclamav: add support for FileSize, EntryPoint and NumberOfSections in
... ...
@@ -241,6 +1049,18 @@ Mon Dec 28 23:27:40 CET 2009 (tk)
241 241
 ---------------------------------
242 242
  * sigtool/sigtool.c: properly handle anchored sigs (bb#1780)
243 243
 
244
+Mon Dec 28 20:53:46 2009 +0200 (edwin)
245
+--------------------------------------
246
+ * win32/LLVMsupport.vcproj: Update win32 proj.
247
+
248
+Mon Dec 28 20:18:59 2009 +0200 (edwin)
249
+--------------------------------------
250
+ * libclamav/c++/bytecode2llvm.cpp: Fix some warnings from clang++ bytecode2llvm.cpp.
251
+
252
+Mon Dec 28 20:08:10 2009 +0200 (edwin)
253
+--------------------------------------
254
+ * libclamav/c++: Update to LLVM upstream r92222.
255
+
244 256
 Tue Dec 22 09:32:33 EET 2009 (edwin)
245 257
 ------------------------------------
246 258
  * libclamav/fmap.h: fix build on FreeBSD and Mac OS X (bb #1776). Thanks to