modified: makefile
[GalaxyCodeBases.git] / c_cpp / etc / mbuffer / ChangeLog
blob265ca572614ece806f6b6a72c17b215149661a92
1 20150412:
2 - fix: watchdog cannot do its job if it is cleaned up to early
3 - fix: clear sa_flags and sa_mask before use, although ignored
5 20141227:
6 - added option --pid to print PID of current process
7 - updated usage to include option -W
8 - man page formatting fixes
9 - configure updates
10 - support compiling on systems that do not define PATH_MAX
12 20140310:
13 - added memory advise for buffer memory
14 - compatibility fix for Solars st driver
15 - prevent buffer overflow attack via defaults file
16 - ignore defaults file from other users
17 - updated documentation for use with cron
18 - minor bugfixes
20 20140126:
21 - new feature: set option defaults in ~/.mbuffer.rc
22 - enhancement: write status to the log file
23 - enhancement: added option to suppress status logging
24 - fix: formatting fix for summary message
26 20130220:
27 - reverted incorrect fix for -P 100, which may lead to data corruption
28 - reenable hash libraries (no correlation with data corruption)
29 - bail out if any output fails to initialize
30 - refixed hang on -P 100
31 - reduced sending overhead
32 - fixed handling of option -f
34 20130209:
35 - hash names should be compared case insensitive for convenience
36 - safeguard against missing argument to option --hash
37 - support for hash calculation withdrawn, due to potential data
38 corruption, when the buffer runs full
40 20121111:
41 - build fix for some platforms
42 - several minor code cleanups (removed some warnings)
43 - support float values as argument to memory options
44 - added a watchdog that terminates mbuffer if input
45   or output activity stalls (option -W)
47 20120505:
48 - fixed IPv6 client initialization on FreeBSD
49 - fix: suppress summary on stderr if -q is used with -l
50 - fix: option -P 100 may lead to hang
52 20110724:
53 - fix: garbage might be written after input error
54 - enhancement: prompt for additional volumes for argument "-n 0"
55 - enhancement: prompt for next volume on I/O error if -n is set
56   (some tape devices incorrectly return -1/EIO instead of 0)
57 - enhancement: added option to append to output file
58 - update: remove use of deprecated interface sigignore
60 20110317:
61 - fix: terminate ASAP if no working output is available
62 - enhancement: added option to terminate on any error
63 - fix: mbuffer blocks on SIGTTIN when started in background
64 - fix: display correct dimensions (e.g. kiB instead of kB)
66 20110119:
67 - Anniversary: 10 years of mbuffer
68 - fix for building on cygwin in a separate directory
69 - fix: incorrect sanity check concerning hashing and multivolume support
70   (patch by Sean Walmsley)
72 20101230:
73 - enhancement: hash should show up in log file
74 - enhancement: report last block number on volume
75 - enhancement: report times for each volume and tape changes
76 - cosmetic fix: need to convert thread ids to long for linux
77 - build enhancement: better cygwin and packaging environment support
79 20100526:
80 - fix: potential deadlock on SIGINT related to watermark algorithm
81 - fix: high watermark algorithm interferes with rate limitation
83 20100327:
84 - fix: hash calculation is omitted if no output is set
85 - fix: test procedure doesn't wait on Solaris 8
86 - some cosemtic fixes for the man page
87 - summary output to logfile should be independet of quiet mode
89 20091227:
90 - enforceSpeedLimit must use monotonic time source to prevent being
91   disturbed by ntp
92 - made test suite configurable and clean-up itself
93   (submitted by Peter Pentchev)
94 - made IPv6 code optional
95 - added check for block size of input device
96 - only determine 64bit compile flag if no CFLAGS given
97 - fix lockup on input error
98 - don't cancel non-existing thread in quiet mode
99   (caused SegV on Linux)
100 - BSD header inclusion update
101 - SIGINT cancellation fixes (systems other than Solaris need a hack)
103 20091122:
104 - fix superfluous ai_flags causing error on Solaris 8
105 - fix assertion failure after rejected connection
106 - configure fix for 64-bit builds
107 - minor lint cleanup
108 - added workaround for cancellation issues on Solaris 8/9
110 20091110:
111 - fix SIGINT hanging when input is idle
112 - several IPv6 fixes
113 - compile for 64 bit by default if available
115 20091012:
116 - hash calculation is faster if done in a separate thread
117 - new option --hash to select other algorithms of libmhash than md5
118 - omit creation of superfluous inputThread in absence of status output
119 - fix potential race condition during startup in high watermark code
120   [reported by Michal Soltys]
121 - reduce number of semaphore calls in high watermark code
122 - fix a potential deadlock on SIGINT
123 - fixed a typo in watermark example
125 20090628:
126 - added IPv6 support
127 - added support for port name lookup
128 - added another verbosity level for I/O messages
129 - refix libmhash initialization
131 20090215:
132 - fix status thread hang on very small transfer sizes
133 - fix libmhash initialization
134 - -q should not suppress output of -H
135 - reduced termination latency with status display running
136 - update for summary display
137 - changed default shell make shell to /bin/sh
139 20090113:
140 - fix for assertion failure of 64bit binaries in network code
142 20090106:
143 - BSD compatibility update
144 - replace use of deprecated atoi with strtol
145 - better argument checking for numeric options
146 - enhanced semaphore limits checking
147 - add phony targets
149 20081207:
150 - fixed some typos in man page
151 - TCP buffer tuning could be a little bit more intelligent
152 - fixed formating of some info messages
153 - tuneable TCP buffer with option --tcpbuffer
155 20081113:
156 - tune send and receive buffer of TCP stack to match block size
157 - added target check to Makefile
158 - fix: don't mix up file during open
159 - code cleanup/unification for MD5
160 - sendfile should also be used for writing to files
161 - sync cleanup on output thread instead of input thread
162 - fix: access to dest_t after free()
163 - unified summary and join between verbose and silent mode
164 - minor code cleanups
166 20081023:
167 - mbuffer should not abort on SIGTERM
168 - mbuffer should not segv on invalid arguments for options -m, -s
169 - transfer statistics should wait for the first block to be received
170 - minor code path optimization
171 - option -n should accept -n1
173 20081015:
174 - FIX REGRESSION: stdout may be corrupted by mbuffer
175   (This regression was the result of a patch to redirect
176    stdout of autoloader commands)
178 20081014:
179 - redirect autoloader stdout to mbuffer's stderr
180 - added support for O_DIRECT (use option --direct)
181 - options -o and -i should recognize "-" as stdin/stdout
182 - direct use Solaris' native semaphore implementation
183 - fixed cancellation issues
184 - manpath needs to be created
185 - sendfile should fallback to write if unsupported
186 - fixed maximum addressable memory message
187 - docu update
189 20080910:
190 - new feature: support for multiple ouptuts
191 - new LICENSE: GPLv3
192 - fixed a race-condition in logging
193 - adjusted CFLAGS for gcc
194 - warn about LD_LIBRARY_PATH interfering with build process
195 - the exitcode of autoloader command should be checked
196 - changed default buffer size to use 2% of available memory
197 - changed default block size to system pagesize
198 - added make target for lint
200 20080507:
201 - memory locking for file fails if -L is passed before -T
202 - use MAP_SHARED instead of MAP_PRIVATE to simplify fork in system
203 - missing arguments may cause a SegV
204 - $(LIBS) should be after $(OBJECTS)
206 20080502:
207 - better support for device special files
208   (files under /dev shouldn't need -f to write to)
209 - update to always handle largefile correctly
210 - fix configure script for sendfile functionality
211 - allow in-memory locking of file based buffers
212 - minor docu updates
213 - minor build update
214   (compile with -c -O, mbuffer.o is dependent on Makefile)
216 20080329:
217 - configure should check if ST_BLKSIZE feature is available
218 - compile with -O instead of -g per default
219 - hostnames may have underscores and/or dash
220 - orthographic fix
221 - use inline and restrict if available
222 - honor --disable-assert
223 - use directio for input, too
225 20080212:
226 - fixed a race-condition causing incorrectly written last block
228 20080122:
229 - fix wrong assertion on dup2
230 - fix 'make distclean' to also remove mbuffer.exe
231 - fix installation of manpage
233 20080104:
234 - updated status display
235 - POSIX conformance update: read from stderr instead of relying on
236   /dev/tty exists, fallback to /dev/tty if stderr is unreadable
237 - update to build on HPUX.11 (thanks go to testdrive.hp.com)
238 - several configure fixes and updates
239 - fixed invalid exitcode without console (Alex Kramarov)
240 - correction for full/empty report
242 20070911:
243 - bugfix: search for MD5 functions with correct function names
245 20070826:
246 - bugfix: search for MD5 functions in libcrypto instead of libssl
247 - bugfix: search for MD5 functions in libmd5 using different function
248           to avoid incorrect caching of results
250 20070518:
251 - bugfix: misplaced ifdef could lead to failures for options -d and -b
252   on systems that do not support device block size determination
253 - fixed possible hang on SIGINT without status thread
254 - write summary to stderr if no tty is available
256 20070502:
257 - added support for setting the output device's volume size explicitly
258   (patch by Sean Walmsley)
259 - minor cleanups
260 - make locking more solid
261   (in theory [only], a deadlock could have occurred)
262 - assert() everything
264 20070401:
265 - prefix name of executable before every message
266 - added some missing newlines
267 - set dependency for "make install" on "make"
268   (i.e. "make install" also builds mbuffer)
270 20070317:
271 - fix: mbuffer erroneously return with EXIT_SUCCESS when it got 
272        interrupted by SIGINT or SIGTERM
274 20060728:
275 - changed signal handling to prevent syscalls returning with EINTR in
276   reader and writer
277 - fix for warnings, fatals, and errors getting truncated
278 - sleep before printing I/O rates for the first time to prevent showing
279   insane values
281 20060704:
282 - use condition variables to safely signal crossing of watermarks
283 - include times full/empty (crossing of low/high watermark) in summary
284   (proposal by Alex Kramarov)
285 - enhanced status and summary output to be display stats with a higher
286   precisions
288 20060626:
289 - bugfix and enhancement for rate limitation code
290 - fixed regressions caused by switching from float to double
291 - make sure outputThread doesn't start initially if -P is set
292 - write debug logs a little bit more thread friendly 
293   (i.e. switched from stream- to normal file ops)
295 20060616:
296 - added speed limiting (options -r and -R)
297 - fix errormessage in calcint
298 - show option -d in usage output only if it is available
299 - use of float really doesn't make any sense nowadays;
300   changed all floats to double
302 20060421:
303 - set exitcode to failure whenever an error occures
304 - fixed a warning
306 20060324:
307 - added option -c to enable synchronous data integrity I/O:
308   This was enabled by default until now, but may cause a decrease in
309   performance as it requires a higher number of I/O ops. On systems
310   without full synchronous data integrity support, no difference will
311   be observable concerning performance. Systems that support it, will
312   gain increased performace without -c, but error reporting will be 
313   more precise with -c.
314 - changed errormessages to include offset
315 - added support for Solaris' directio hinting
316 - made memlock support an automagic option (compiled in if available)
317 - simplify CFLAGS overriding
318 - more portable largefile support solution
319 - minimized configure script
320 - default to native compiler instead of gcc
322 20060217:
323 - made signal handling more standards conforming
324 - use deferred cancellation instead of asynchronous
325 - fixed some debug messages
326 - use sendfile only for sockets
328 20060126:
329 - clarified some errormessages
330 - fixed some typos
331 - updated README file
333 20051006:
334 - added support for sendfile
335   (AFAIK only the Solaris version supports sending from buffers)
336 - added memory locking support
337 - added support to set buffer size as percentage of physical memory
338 - open file with O_LARGEFILE per default
339 - added some command-line options for existing functionality
340   (-H, -V)
341 - compile as 64bit executable on opteron and sparc architectures by
342   default
343 - defaulting to /var/tmp for buffer files, as /tmp is a swap based 
344   filesystem on some operating systems
345 - use TMPDIR environment variable if available to determine where
346   to put a buffer file
348 20051003:
349 - increased maximum value of number of blocks
350 - doku updates
351 - openssl build fixes
352 - fixed some warnings
353 - install man page to correct location
354 - reuse networking sockets
355 - do not bail out if output does not support syncing
356   (thank you to Wolfgang Denk for some suggestions)
358 20050730:
359 - made mbuffer.c lint clean
360 - fixed some types
361 - Makefile fix for install
363 20050726:
364 - added support for openssl based md5 hashing
365 - support of transfer summary in gigabyte
366 - support for passing buffer size in gigabyte (G)
367   (please pass the relevant CFLAGS for 64Bit executables for
368    your compiler to configure)
369 - added support for passing command to autoloader 
370   (patch submitted by Wolfgang Denk)
371 - enhanced network parameter parsing
372 - FIX: transient error in status display
373 - FIX: mbuffer could hang on first SIGINT (chance 1/3)
374 - fixed a bug in network client verification code
375 - pass CFLAGS also to link phase
376 - unlink tmpfile as early as possible
377 - check close for errors
378   (see Chris Gerhard's Weblog concerning close on
379   http://blogs.sun.com/roller/page/chrisg?anchor=did_that_close_succeed)
380 - additional sanity checks for buffer limits
382 20050510:
383 - fixed possible lockup upon SIGINT
384 - fixed displayed time
385 - updated display to change to MB instead of kB when > 3072kB
387 20050321:
388 - compile time fix for gentoo and suse 9.2
389 - made --enable-debug and --enable-md5 work
390 - gcc optimization flag set to -O2, -O as default
392 20050125:
393 - fixed operation of low watermark (-p)
394 - made printf formating more standard conforming
395 - start output before input thread
396 - more minor fixes
398 20050124 (unannounced interims version):
399 - fixed summary bug reported
400 - kicked automake
401 - removed locale support (too much work to support properly)
402 - changed debugmsg to a C99 macro, if debugging is switched off
403 - fix: final newline of statusThread was printf()ed to stderr instead 
404   of Terminal
405 - fix: potential incorrect written last block
406 - fixed warnings: comparison of signed and unsigned
407 - beautified summary
408 - added low watermark (request by Greg Freemyer)
409   (restarts reading if dropped below - needed for FAST streamers;
410    I don't have such a beast and I never expected such a thing to exist...)
411   WARNING: changed argument -p to represent low watermark (was high watermark)
412            so that both options are easier to remember
413 - eliminated dead code
414 - changed status of networking code to stable
415 - removed NDEBUG from config.h and configure, because assert()s are
416   always "a good thing TM"
417 - encapsulated Terminal I/O within Mutex
418 - md5 hashing option added (disabled by default, proposal by Greg Freemyer),
419   using either mhash or md5 library, whatever is available
420 - some more cleanups
422 20011008:
423 - more detailed errormsg for host name resolving
424 - beautified some messages
425 - compile/linker fix
427 20010807:
428 - update for networking code: added client host checking
429 - message update
430 - docu update
431 - localization added
433 20010716:
434 - fixed option -q to not block out usage of multi
435   volume support
436 - docu update
437 - minor debug message update
438 - more autoloader sanity checks
439 - changed status for networking stuff to BETA
440   i.e. new configure option "--enable-networking"
442 20010704:
443 - fixed possible termination hang on write error
444 - fixed debugmessage for input thread
445 - added support for autoloaders
446 - update for experimental networking code
447 - docu update
449 20010703:
450 - update for debug messages
451 - update for experimental network code
452   (interface selection is now possible,
453    hostnames are resolved correctly and more;
454    seems like getting stable...)
456 20010702:
457 - corrected message for mem-allocation
458 - added warning message for certain multi-volume use
459 - enhanced debugging messages
460 - (hopefully) last bugfix for multi-volume code
462 20010628:
463 - added Option -d to use blocksize of output device
464   for write (was default behaviour, but isn't needed
465   in most cases and slows data transfer down)
466 - changed statusline (proposal by Dan Hollis)
467 - minor bugfix for handling read errors (size of
468   writable block fragment is now set correctly)
469   [probably nobody ever cares anyway]
470 - updates for experimental networking (configure)
472 20010626:
473 - bugfix: mbuffer didn't work anymore with pipes due
474   to incorrect set Outsize (0)
476 20010624:
477 - added experimental networking code
478 - bugfix for multivolume-code which might have caused
479   problems on devices which have a size which is
480   no multiple of Blocksize
481 - docu update
483 20010622:
484 - architecture switches for x86 changed to match gcc-3.0
485 - 64 Bit updates for huge data amounts
486 - docu update
488 20010621:
489 - bugfix for option -T
491 20010619:
492 - multi-volume support is now enabled by default
493 - minor docu updates
494 - fix for configure to work on Solaris 5.1
496 20010528:
497 - semantic fix for option -p to be consistend with buffer
498 - bugfix: for dropped blocks in multi-volumen code
499 - fix for lockup if SIG_BRK is sent during a volume request
501 20010518:
502 - Bugfix: multi volume output now should work
503           (bugreport by Dan Hollis)
504 - docu update
505 - added some extra checks after running lint...
507 20010515:
508 - Docu update concerning usage of multi volume support
509 - multi volume options consistency checking added
511 20010509:
512 - summary is now also displayed upon break and terminate
513 - Bugfix: summary overflow
514 - experimental feature: input of multiple volumes
516 20010507:
517 - status messages are now printed to the terminal not to stderr
518 - Bugfix: for output blocksize code
519 - documentation update
520 - new: summary information
521 - experimental feature: output to multiple volumes
523 20010426:
524 - Bugfix: fixed sleep, which limited the performace to 1MB/s
525           (credits go to Padraig Brady <padraig@antefacto.com>)
526 - Bugfix: fixed incorrect display of total datatransfer for >2GB
527 - Cosmetic: on sighup print newline on stderr
528 - added manpage
530 20010208:
531 - Bugfix: option -p did not work
532 - reworked option flags (-h is now -t, -t is now -T)
533 - output is now done with the blocksize of the output stream
534   otherwise direct writing to a tape device failed under Linux
536 20010124:
537 - Bugfix: outputThread terminated too early in certain cases
538 - Fix for correct termination if an error occured
539 - added install rule in Makefile
540 - status messages are now indebendend of other messages
541 - a little bit more verbose debugging info